Merge remote-tracking branch 'remotes/upstream/dev' into definecrusade

This commit is contained in:
Chinsky
2015-06-05 11:26:25 +03:00
277 changed files with 1746 additions and 1637 deletions

View File

@@ -24,6 +24,7 @@ script:
- shopt -s globstar
- (! grep 'step_[xy]' maps/**/*.dmm)
- (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano)
- (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; [ $num -le 1355 ])
- ( md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *baystation12.int")
- DreamMaker baystation12.dme
- python tools/GenerateChangelog/ss13_genchangelog.py html/changelog.html html/changelogs

View File

@@ -168,7 +168,7 @@
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
usr.set_machine(src)
ui_interact(user)
@@ -242,20 +242,20 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (unlocked)
user << "\red You cannot unwrench this [src], turn it off first."
user << "<span class='warning'>You cannot unwrench \the [src], turn it off first.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -91,7 +91,7 @@
attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/wrench))
anchored = !anchored
user << "\blue You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor."
user << "<span class='notice'>You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.</span>"
if(anchored)
if(dir & (NORTH|SOUTH))
@@ -263,7 +263,7 @@
if(istype(W, /obj/item/weapon/wrench))
anchored = !anchored
turbine = null
user << "\blue You [anchored ? "secure" : "unsecure"] the bolts holding [src] to the floor."
user << "<span class='notice'>You [anchored ? "secure" : "unsecure"] the bolts holding \the [src] to the floor.</span>"
updateConnection()
else
..()

View File

@@ -183,7 +183,7 @@ Thus, the two variables affect pump operation are set in New():
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
usr.set_machine(src)
ui_interact(user)
@@ -219,20 +219,20 @@ Thus, the two variables affect pump operation are set in New():
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && use_power)
user << "\red You cannot unwrench this [src], turn it off first."
user << "<span class='warning'>You cannot unwrench this [src], turn it off first.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench this [src], it too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -87,15 +87,15 @@
int_pressure += P.air.return_pressure()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_pressure - env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "<span class='warning'>You cannot unwrench [src], it is too exerted due to internal pressure.</span>"
user << "<span class='warning'>You cannot unwrench \the [src], it is too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -134,22 +134,22 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (connected_device)
user << "\red You cannot unwrench this [src], dettach [connected_device] first."
user << "<span class='warning'>You cannot unwrench \the [src], dettach \the [connected_device] first.</span>"
return 1
if (locate(/obj/machinery/portable_atmospherics, src.loc))
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -134,16 +134,16 @@
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)
@@ -153,7 +153,7 @@
return
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
var/dat

View File

@@ -109,15 +109,15 @@
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)
@@ -127,7 +127,7 @@
return
src.add_fingerprint(usr)
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
usr.set_machine(src)
var/dat = {"<b>Power: </b><a href='?src=\ref[src];power=1'>[use_power?"On":"Off"]</a><br>

View File

@@ -308,7 +308,7 @@
if(!powered())
return
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
..()
@@ -350,21 +350,21 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (istype(src, /obj/machinery/atmospherics/tvalve/digital))
user << "\red You cannot unwrench this [src], it's too complicated."
user << "<span class='warning'>You cannot unwrench \the [src], it's too complicated.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warnng'>You cannot unwrench \the [src], it too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)
@@ -448,7 +448,7 @@
if(!powered())
return
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
..()

View File

@@ -70,20 +70,20 @@
return ..()
var/turf/T = src.loc
if (level==1 && isturf(T) && T.intact)
user << "\red You must remove the plating first."
user << "<span class='warning'>You must remove the plating first.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it is too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -358,22 +358,22 @@
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
user << "\blue Now welding the vent."
user << "<span class='notice'>Now welding the vent.</span>"
if(do_after(user, 20))
if(!src || !WT.isOn()) return
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
if(!welded)
user.visible_message("[user] welds the vent shut.", "You weld the vent shut.", "You hear welding.")
user.visible_message("<span class='notice'>\The [user] welds the vent shut.</span>", "<span class='notice'>You weld the vent shut.</span>", "You hear welding.")
welded = 1
update_icon()
else
user.visible_message("[user] unwelds the vent.", "You unweld the vent.", "You hear welding.")
user.visible_message("<span class='notice'>[user] unwelds the vent.</span>", "<span class='notice'>You unweld the vent.</span>", "You hear welding.")
welded = 0
update_icon()
else
user << "\blue The welding tool needs to be on to start this task."
user << "<span class='notice'>The welding tool needs to be on to start this task.</span>"
else
user << "\blue You need more welding fuel to complete this task."
user << "<span class='warning'>You need more welding fuel to complete this task.</span>"
return 1
else
..()
@@ -396,25 +396,25 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && use_power)
user << "\red You cannot unwrench this [src], turn it off first."
user << "<span class='warning'>You cannot unwrench \the [src], turn it off first.</span>"
return 1
var/turf/T = src.loc
if (node && node.level==1 && isturf(T) && T.intact)
user << "\red You must remove the plating first."
user << "<span class='warning'>You must remove the plating first.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it is too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -258,25 +258,25 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (!(stat & NOPOWER) && use_power)
user << "\red You cannot unwrench this [src], turn it off first."
user << "<span class='warning'>You cannot unwrench \the [src], turn it off first.</span>"
return 1
var/turf/T = src.loc
if (node && node.level==1 && isturf(T) && T.intact)
user << "\red You must remove the plating first."
user << "<span class='warning'>You must remove the plating first.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it is too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -241,7 +241,7 @@
if(!powered())
return
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
..()
@@ -294,21 +294,21 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
if (istype(src, /obj/machinery/atmospherics/valve/digital))
user << "\red You cannot unwrench this [src], it's too complicated."
user << "<span class='warning'>You cannot unwrench \the [src], it's too complicated.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "\red You cannot unwrench this [src], it too exerted due to internal pressure."
user << "<span class='warning'>You cannot unwrench \the [src], it is too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
qdel(src)

View File

@@ -649,7 +649,7 @@ obj/machinery/atmospherics/mains_pipe/valve
attack_hand(mob/user as mob)
if(!src.allowed(user))
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
..()

View File

@@ -82,21 +82,21 @@
return ..()
var/turf/T = src.loc
if (level==1 && isturf(T) && T.intact)
user << "\red You must remove the plating first."
user << "<span class='warning'>You must remove the plating first.</span>"
return 1
var/datum/gas_mixture/int_air = return_air()
var/datum/gas_mixture/env_air = loc.return_air()
if ((int_air.return_pressure()-env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
user << "<span class='warning'>You cannot unwrench [src], it is too exerted due to internal pressure.</span>"
user << "<span class='warning'>You cannot unwrench \the [src], it is too exerted due to internal pressure.</span>"
add_fingerprint(user)
return 1
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"You hear ratchet.")
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear a ratchet.")
new /obj/item/pipe(loc, make_from=src)
for (var/obj/machinery/meter/meter in T)
if (meter.target == src)
@@ -214,7 +214,7 @@
else return 1
/obj/machinery/atmospherics/pipe/simple/proc/burst()
src.visible_message("\red \bold [src] bursts!");
src.visible_message("<span class='danger'>\The [src] bursts!</span>");
playsound(src.loc, 'sound/effects/bang.ogg', 25, 1)
var/datum/effect/effect/system/smoke_spread/smoke = new
smoke.set_up(1,0, src.loc, 0)
@@ -1121,19 +1121,19 @@
if(istype(W, /obj/item/device/analyzer) && in_range(user, src))
for (var/mob/O in viewers(user, null))
O << "\red [user] has used the analyzer on \icon[icon]"
O << "<span class='notice'>\The [user] has used \the [W] on \the [src] \icon[src]</span>"
var/pressure = parent.air.return_pressure()
var/total_moles = parent.air.total_moles
user << "\blue Results of analysis of \icon[icon]"
user << "<span class='notice'>Results of analysis of \the [src] \icon[src]</span>"
if (total_moles>0)
user << "\blue Pressure: [round(pressure,0.1)] kPa"
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
for(var/g in parent.air.gas)
user << "\blue [gas_data.name[g]]: [round((parent.air.gas[g] / total_moles) * 100)]%"
user << "\blue Temperature: [round(parent.air.temperature-T0C)]&deg;C"
user << "<span class='notice'>[gas_data.name[g]]: [round((parent.air.gas[g] / total_moles) * 100)]%</span>"
user << "<span class='notice'>Temperature: [round(parent.air.temperature-T0C)]&deg;C</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
/obj/machinery/atmospherics/pipe/tank/air
name = "Pressure Tank (Air)"

View File

@@ -48,7 +48,7 @@ obj/item/weapon/tank
adjust_mixture(temperature as num, target_toxin_pressure as num, target_oxygen_pressure as num)
set src in world
if(!air_contents)
usr << "\red ERROR: no gas_mixture associated with this tank"
usr << "<span class='warning'>ERROR: no gas_mixture associated with this tank</span>"
return null
air_contents.temperature = temperature
@@ -74,7 +74,7 @@ turf/simulated/floor
else
usr << "Space Borders: None"
else
usr << "\blue [x],[y] has no parent air group."
usr << "<span class='notice'>[x],[y] has no parent air group.</span>"
verb
create_wall()
@@ -329,7 +329,7 @@ obj/machinery/atmospherics
set src in world
set category = "Minor"
world << "\blue [x],[y]"
world << "<span class='notice'>[x],[y]</span>"
world << "network 1: [network_node1.normal_members.len], [network_node1.line_members.len]"
for(var/obj/O in network_node1.normal_members)
world << "member: [O.x], [O.y]"
@@ -406,7 +406,7 @@ turf/simulated
set src in world
set category = "Minor"
var/datum/gas_mixture/GM = return_air()
usr << "\blue @[x],[y] ([GM.group_multiplier]): O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(active_hotspot)?("\red BURNING"):(null)]"
usr << "<span class='notice'>@[x],[y] ([GM.group_multiplier]): O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(active_hotspot)?("<span class='danger'>BURNING</span>"):(null)]</span>""
for(var/datum/gas/trace_gas in GM.trace_gases)
usr << "[trace_gas.type]: [trace_gas.moles]"
@@ -515,7 +515,7 @@ mob
fire_report()
set category = "Debug"
usr << "\b \red Fire Report"
usr << "<span class='danger'>Fire Report</span>"
for(var/obj/effect/hotspot/flame in world)
usr << "[flame.x],[flame.y]: [flame.temperature]K, [flame.volume] L - [flame.loc:air:temperature]"

View File

@@ -146,7 +146,7 @@ datum
setup()
set background = 1
world << "\red \b Processing Geometry..."
world << "<span class='danger'>Processing Geometry...</span>"
sleep(1)
var/start_time = world.timeofday
@@ -156,7 +156,7 @@ datum
assemble_group_turf(S)
S.update_air_properties()
world << "\red \b Geometry processed in [(world.timeofday-start_time)/10] seconds!"
world << "<span class='danger'>Geometry processed in [(world.timeofday-start_time)/10] seconds!</span>"
assemble_group_turf(turf/simulated/base)

View File

@@ -13,13 +13,13 @@
for(var/atom/A in T.contents)
if(A.density)
blocked = 1
usr << "\red You bump into [A.name]."
usr << "<span class='warning'>You bump into \the [A].</span>"
break
if(!blocked)
usr.Move(T)
usr << "You move upwards."
else
usr << "\red There is something in your way."
usr << "<span class='warning'>There is something in your way.</span>"
if (legal == 0)
usr << "There is nothing of interest in this direction."
return 1
@@ -40,13 +40,13 @@
for(var/atom/A in T.contents)
if(A.density)
blocked = 1
usr << "\red You bump into [A.name]."
usr << "<span class='warning'>You bump into \the [A].</span>"
break
if(!blocked)
usr.Move(T)
usr << "You move downwards."
else
usr << "\red You cant move through the floor."
usr << "<span class='warning'>You cant move through the floor.</span>"
if (legal == 0)
usr << "There is nothing of interest in this direction."
return 1

View File

@@ -73,7 +73,7 @@ obj/machinery/atmospherics/pipe/zpipe/check_pressure(pressure)
else return 1
obj/machinery/atmospherics/pipe/zpipe/proc/burst()
src.visible_message("\red \bold [src] bursts!");
src.visible_message("<span class='warning'>\The [src] bursts!</span>");
playsound(src.loc, 'sound/effects/bang.ogg', 25, 1)
var/datum/effect/effect/system/smoke_spread/smoke = new
smoke.set_up(1,0, src.loc, 0)

View File

@@ -141,7 +141,7 @@
if(blocked || istype(T, /turf/simulated/wall))
M << "Something is blocking the ladder."
else
M.visible_message("\blue \The [M] climbs [src.icon_state == "ladderup" ? "up" : "down"] \the [src]!", "You climb [src.icon_state == "ladderup" ? "up" : "down"] \the [src]!", "You hear some grunting, and clanging of a metal ladder being used.")
M.visible_message("<span class='notice'>\The [M] climbs [src.icon_state == "ladderup" ? "up" : "down"] \the [src]!</span>", "You climb [src.icon_state == "ladderup" ? "up" : "down"] \the [src]!", "You hear some grunting, and clanging of a metal ladder being used.")
M.Move(target.loc)
/* hatch
@@ -188,7 +188,7 @@
qdel(src)
if(M.z == z && get_dist(src,M) <= 1)
var/list/adjacent_to_me = global_adjacent_z_levels["[z]"]
M.visible_message("\blue \The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.")
M.visible_message("<span class='notice'>\The [M] scurries [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!</span>", "You scramble [target.z == adjacent_to_me["up"] ? "up" : "down"] \the [src]!", "You hear some grunting, and a hatch sealing.")
M.Move(target.loc)
flick(top_icon_state_close,top_hatch)
bottom_hatch.overlays -= green_overlay

View File

@@ -109,7 +109,7 @@
return
var/obj/item/stack/rods/R = C
if (R.use(1))
user << "\blue Constructing support lattice ..."
user << "<span class='notice'>Constructing support lattice...</span>"
playsound(src.loc, 'sound/weapons/Genhit.ogg', 50, 1)
ReplaceWithLattice()
return
@@ -126,5 +126,5 @@
S.use(1)
return
else
user << "\red The plating is going to need some support."
user << "<span class='warning'>The plating is going to need some support.</span>"
return

View File

@@ -80,7 +80,7 @@ obj/item/check_airflow_movable(n)
return
if(src:shoes && src:shoes.flags & NOSLIP)
return
src << "\red You are sucked away by airflow!"
src << "<span class='danger'>You are sucked away by airflow!</span>"
var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2)
if(airflow_falloff < 1)
airflow_dest = null
@@ -144,7 +144,7 @@ obj/item/check_airflow_movable(n)
if(istype(src:shoes, /obj/item/clothing/shoes/magboots))
if(src:shoes.flags & NOSLIP)
return
src << "\red You are pushed away by airflow!"
src << "<span clas='danger'>You are pushed away by airflow!</span>"
last_airflow = world.time
var/airflow_falloff = 9 - sqrt((x - airflow_dest.x) ** 2 + (y - airflow_dest.y) ** 2)
if(airflow_falloff < 1)
@@ -197,7 +197,7 @@ atom/movable/proc/airflow_hit(atom/A)
mob/airflow_hit(atom/A)
for(var/mob/M in hearers(src))
M.show_message("\red <B>\The [src] slams into \a [A]!</B>",1,"\red You hear a loud slam!",2)
M.show_message("<span class='danger'>\The [src] slams into \a [A]!</span>",1,"<span class='danger'>You hear a loud slam!</span>",2)
playsound(src.loc, "smash.ogg", 25, 1, -1)
var/weak_amt = istype(A,/obj/item) ? A:w_class : rand(1,5) //Heheheh
Weaken(weak_amt)
@@ -205,7 +205,7 @@ mob/airflow_hit(atom/A)
obj/airflow_hit(atom/A)
for(var/mob/M in hearers(src))
M.show_message("\red <B>\The [src] slams into \a [A]!</B>",1,"\red You hear a loud slam!",2)
M.show_message("<span class='danger'>\The [src] slams into \a [A]!</span>",1,"<span class='danger'>You hear a loud slam!</span>",2)
playsound(src.loc, "smash.ogg", 25, 1, -1)
. = ..()
@@ -215,7 +215,7 @@ obj/item/airflow_hit(atom/A)
mob/living/carbon/human/airflow_hit(atom/A)
// for(var/mob/M in hearers(src))
// M.show_message("\red <B>[src] slams into [A]!</B>",1,"\red You hear a loud slam!",2)
// M.show_message("<span class='danger'>[src] slams into [A]!</span>",1,"<span class='danger'>You hear a loud slam!</span>",2)
playsound(src.loc, "punch", 25, 1, -1)
if (prob(33))
loc:add_blood(src)

View File

@@ -187,7 +187,7 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun
#ifdef ZASDBG
if(updated != updating.len)
tick_progress = "[updating.len - updated] tiles left unupdated."
world << "\red [tick_progress]"
world << "<span class='danger'>[tick_progress]</span>"
. = 0
#endif

View File

@@ -88,7 +88,7 @@ obj/var/contaminated = 0
if(vsc.plc.SKIN_BURNS)
if(!pl_head_protected() || !pl_suit_protected())
burn_skin(0.75)
if(prob(20)) src << "\red Your skin burns!"
if(prob(20)) src << "<span class='danger'>Your skin burns!</span>"
updatehealth()
//Burn eyes if exposed.
@@ -111,7 +111,7 @@ obj/var/contaminated = 0
if(vsc.plc.GENETIC_CORRUPTION)
if(rand(1,10000) < vsc.plc.GENETIC_CORRUPTION)
randmutb(src)
src << "\red High levels of toxins cause you to spontaneously mutate."
src << "<span class='danger'>High levels of toxins cause you to spontaneously mutate!</span>"
domutcheck(src,null)
@@ -122,11 +122,11 @@ obj/var/contaminated = 0
var/obj/item/organ/eyes/E = internal_organs_by_name["eyes"]
if(E)
if(prob(20)) src << "\red Your eyes burn!"
if(prob(20)) src << "<span class='danger'>Your eyes burn!</span>"
E.damage += 2.5
eye_blurry = min(eye_blurry+1.5,50)
if (prob(max(0,E.damage - 15) + 1) &&!eye_blind)
src << "\red You are blinded!"
src << "<span class='danger'>You are blinded!</span>"
eye_blind += 20
/mob/living/carbon/human/proc/pl_head_protected()

View File

@@ -168,7 +168,7 @@ var/global/vs_control/vsc = new
vars[ch] = vw
if(how == "Toggle")
newvar = (newvar?"ON":"OFF")
world << "\blue <b>[key_name(user)] changed the setting [display_description] to [newvar].</b>"
world << "<span class='notice'><b>[key_name(user)] changed the setting [display_description] to [newvar].</b></span>"
if(ch in plc.settings)
ChangeSettingsDialog(user,plc.settings)
else
@@ -321,7 +321,7 @@ var/global/vs_control/vsc = new
plc.N2O_HALLUCINATION = initial(plc.N2O_HALLUCINATION)
world << "\blue <b>[key_name(user)] changed the global phoron/ZAS settings to \"[def]\"</b>"
world << "<span class='notice'><b>[key_name(user)] changed the global phoron/ZAS settings to \"[def]\"</b></span>"
/pl_control/var/list/settings = list()

View File

@@ -169,16 +169,15 @@ proc/listclearnulls(list/list)
return output
//Randomize: Return the list in a random order
/proc/shuffle(var/list/shufflelist)
if(!shufflelist)
/proc/shuffle(var/list/L)
if(!L)
return
var/list/new_list = list()
var/list/old_list = shufflelist.Copy()
while(old_list.len)
var/item = pick(old_list)
new_list += item
old_list -= item
return new_list
L = L.Copy()
for(var/i=1; i<L.len; i++)
L.Swap(i, rand(i,L.len))
return L
//Return a list with no duplicate entries
/proc/uniquelist(var/list/L)

View File

@@ -233,7 +233,7 @@ var/syndicate_code_response//Code response for traitors.
set name = "Generate Code Phrase"
set category = "Debug"
world << "\red Code Phrase is: \black [generate_code_phrase()]"
world << "<span class='warning'>Code Phrase is:</span> [generate_code_phrase()]"
return

View File

@@ -34,7 +34,8 @@
input = replace_characters(input, list("\n"=" ","\t"=" "))
if(encode)
//In addition to processing html, html_encode removes byond formatting codes like "\red", "\i" and other.
// The below \ escapes have a space inserted to attempt to enable Travis auto-checking of span class usage. Please do not remove the space.
//In addition to processing html, html_encode removes byond formatting codes like "\ red", "\ i" and other.
//It is important to avoid double-encode text, it can "break" quotes and some other characters.
//Also, keep in mind that escaped characters don't work in the interface (window titles, lower left corner of the main window, etc.)
input = html_encode(input)

View File

@@ -1363,3 +1363,8 @@ var/list/WALLITEMS = list(
temp_col = "0[temp_col]"
colour += temp_col
return colour
/atom/proc/get_light_and_color(var/atom/origin)
if(origin)
color = origin.color
set_light(origin.light_range, origin.light_power, origin.light_color)

View File

@@ -329,7 +329,7 @@
nutrition = max(nutrition - rand(1,5),0)
handle_regular_hud_updates()
else
src << "\red You're out of energy! You need food!"
src << "<span class='warning'>You're out of energy! You need food!</span>"
// Simple helper to face what you clicked on, in case it should be needed in more than one place
/mob/proc/face_atom(var/atom/A)

View File

@@ -262,11 +262,11 @@ datum/hud/New(mob/owner)
set hidden = 1
if(!hud_used)
usr << "\red This mob type does not use a HUD."
usr << "<span class='warning'>This mob type does not use a HUD.</span>"
return
if(!ishuman(src))
usr << "\red Inventory hiding is currently only supported for human mobs, sorry."
usr << "<span class='warning'>Inventory hiding is currently only supported for human mobs, sorry.</span>"
return
if(!client) return

View File

@@ -6,9 +6,9 @@
if(!client) return
client.inquisitive_ghost = !client.inquisitive_ghost
if(client.inquisitive_ghost)
src << "\blue You will now examine everything you click on."
src << "<span class='notice'>You will now examine everything you click on.</span>"
else
src << "\blue You will no longer examine things you click on."
src << "<span class='notice'>You will no longer examine things you click on.</span>"
/mob/dead/observer/DblClickOn(var/atom/A, var/params)
if(client.buildmode)

View File

@@ -120,7 +120,7 @@ var/const/tk_maxrange = 15
if(8 to tk_maxrange)
user.next_move += 10
else
user << "\blue Your mind won't reach that far."
user << "<span class='notice'>Your mind won't reach that far.</span>"
return
if(!focus)

View File

@@ -9,7 +9,7 @@ client
if(!usr.client || !usr.client.holder)
usr << "\red You need to be an administrator to access this."
usr << "<span class='warning'>You need to be an administrator to access this.</span>"
return
@@ -602,8 +602,8 @@ client
if(!i)
usr << "No objects of this type exist"
return
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
message_admins("\blue [key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)</span>")
if("Type and subtypes")
var/i = 0
for(var/obj/Obj in world)
@@ -613,8 +613,8 @@ client
if(!i)
usr << "No objects of this type exist"
return
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
message_admins("\blue [key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)</span>")
else if(href_list["explode"])
if(!check_rights(R_DEBUG|R_FUN)) return
@@ -941,8 +941,8 @@ client
return
if(amount != 0)
log_admin("[key_name(usr)] dealt [amount] amount of [Text] damage to [L] ")
message_admins("\blue [key_name(usr)] dealt [amount] amount of [Text] damage to [L] ")
log_admin("[key_name(usr)] dealt [amount] amount of [Text] damage to [L]")
message_admins("<span class='notice'>[key_name(usr)] dealt [amount] amount of [Text] damage to [L]</span>")
href_list["datumrefresh"] = href_list["mobToDamage"]
if(href_list["datumrefresh"])

View File

@@ -53,25 +53,25 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your throat feels sore."
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
if(prob(1))
affected_mob << "\red Mucous runs down the back of your throat."
affected_mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
if(4)
if(prob(1))
affected_mob.emote("sneeze")
if(prob(1))
affected_mob.emote("cough")
if(prob(2))
affected_mob << "\red Your muscles ache."
affected_mob << "<span class='warning'>Your muscles ache.</span>"
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(2))
affected_mob << "\red Your stomach hurts."
affected_mob << "<span class='warning>Your stomach hurts.</span>"
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
if(5)
affected_mob << "\red You feel something tearing its way out of your stomach..."
affected_mob << "<span class='danger'>You feel something tearing its way out of your stomach...</span>"
affected_mob.adjustToxLoss(10)
affected_mob.updatehealth()
if(prob(50))

View File

@@ -24,11 +24,11 @@
if(stage == 1)
if(prob(5))
affected_mob << "\red You feel a stinging pain in your abdomen!"
affected_mob << "<span class='warning'>You feel a stinging pain in your abdomen!</span>"
affected_mob.emote("me",1,"winces slightly.")
if(stage > 1)
if(prob(3))
affected_mob << "\red You feel a stabbing pain in your abdomen!"
affected_mob << "<span class='warning'>You feel a stabbing pain in your abdomen!</span>"
affected_mob.emote("me",1,"winces painfully.")
affected_mob.adjustToxLoss(1)
if(stage > 2)
@@ -37,13 +37,13 @@
var/mob/living/carbon/human/H = affected_mob
H.vomit()
else
affected_mob << "\red You gag as you want to throw up, but there's nothing in your stomach!"
affected_mob << "<span class='danger'>You gag as you want to throw up, but there's nothing in your stomach!</span>"
affected_mob.Weaken(10)
affected_mob.adjustToxLoss(3)
if(stage > 3)
if(prob(1) && ishuman(affected_mob))
var/mob/living/carbon/human/H = affected_mob
H << "\red Your abdomen is a world of pain!"
H << "<span class='danger'>Your abdomen is a world of pain!</span>"
H.Weaken(10)
var/obj/item/organ/external/groin = H.get_organ("groin")

View File

@@ -14,12 +14,12 @@
switch(stage)
if(1)
if(prob(2))
affected_mob << "\red You feel like something is moving inside of you"
affected_mob << "<span class='warning'>You feel like something is moving inside of you!</span>"
if(2) //also changes say, see say.dm
if(prob(2))
affected_mob << "\red You feel like something is moving inside of you"
affected_mob << "<span class='warning'>You feel like something is moving inside of you!</span>"
if(prob(2))
affected_mob << "\red BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ"
affected_mob << "<span class='danger'>BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ</span>"
if(3)
//Should give the bee spit verb
if(4)

View File

@@ -21,7 +21,7 @@
if(prob(2))
affected_mob.emote("yawn")
if(prob(2))
affected_mob << "\red Your don't feel like yourself."
affected_mob << "<span class='warning'>Your don't feel like yourself.</span>"
if(prob(5))
affected_mob.adjustBrainLoss(1)
affected_mob.updatehealth()
@@ -34,12 +34,12 @@
affected_mob.adjustBrainLoss(2)
affected_mob.updatehealth()
if(prob(2))
affected_mob << "\red Your try to remember something important...but can't."
affected_mob << "<span class='warning'>You try to remember something important...but can't.</span>"
/* if(prob(10))
affected_mob.adjustToxLoss(3)
affected_mob.updatehealth()
if(prob(2))
affected_mob << "\red Your head hurts." */
affected_mob << "<span class='warning'>Your head hurts.</span>" */
if(4)
if(prob(2))
affected_mob.emote("stare")
@@ -49,14 +49,14 @@
affected_mob.adjustToxLoss(4)
affected_mob.updatehealth()
if(prob(2))
affected_mob << "\red Your head hurts." */
affected_mob << "<span class='notice>Your head hurts.</span>" */
if(prob(15) && affected_mob.getBrainLoss()<=98) //shouldn't retard you to death now
affected_mob.adjustBrainLoss(3)
affected_mob.updatehealth()
if(prob(2))
affected_mob << "\red Strange buzzing fills your head, removing all thoughts."
affected_mob << "<span class='warning'>A strange buzzing fills your head, removing all thoughts.</span>"
if(prob(3))
affected_mob << "\red You lose consciousness..."
affected_mob << "<span class='warning'>You lose consciousness...</span>"
for(var/mob/O in viewers(affected_mob, null))
O.show_message("[affected_mob] suddenly collapses", 1)
affected_mob.Paralyse(rand(5,10))

View File

@@ -16,16 +16,16 @@
if(2)
/*
if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
*/
if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if(prob(1) && prob(5))
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if(prob(1))
@@ -33,22 +33,22 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your throat feels sore."
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
if(prob(1))
affected_mob << "\red Mucous runs down the back of your throat."
affected_mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
if(3)
/*
if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
*/
if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if(prob(1) && prob(1))
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if(prob(1))
@@ -56,9 +56,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your throat feels sore."
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
if(prob(1))
affected_mob << "\red Mucous runs down the back of your throat."
affected_mob << "<span class='warning'>Mucous runs down the back of your throat.</span>"
if(prob(1) && prob(50))
if(!affected_mob.resistances.Find(/datum/disease/flu))
var/datum/disease/Flu = new /datum/disease/flu(0)

View File

@@ -16,7 +16,7 @@
if(2)
affected_mob.bodytemperature -= 10
if(prob(1) && prob(10))
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice>You feel better.</span>"
cure()
return
if(prob(1))
@@ -24,9 +24,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your throat feels sore."
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
if(prob(5))
affected_mob << "\red You feel stiff."
affected_mob << "<span class='warning'>You feel stiff.</span>"
if(3)
affected_mob.bodytemperature -= 20
if(prob(1))
@@ -34,6 +34,6 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your throat feels sore."
affected_mob << "<span class='warning'>Your throat feels sore.</span>"
if(prob(10))
affected_mob << "\red You feel stiff."
affected_mob << "<span class='warning'>You feel stiff.</span>"

View File

@@ -23,11 +23,11 @@
if(prob(8))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your muscles ache."
affected_mob << "<span class='warning'>Your muscles ache.</span>"
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "\red Your stomach hurts."
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
if(prob(20))
affected_mob.adjustToxLoss(2)
affected_mob.updatehealth()
@@ -42,7 +42,7 @@
src.original_dna["UI"] = affected_mob.dna.UI.Copy()
src.original_dna["SE"] = affected_mob.dna.SE.Copy()
affected_mob << "\red You don't feel like yourself.."
affected_mob << "<span class='warning'>You don't feel like yourself..</span>"
var/list/newUI=strain_data["UI"]
var/list/newSE=strain_data["SE"]
affected_mob.UpdateAppearance(newUI.Copy())
@@ -65,5 +65,5 @@
affected_mob.dna.UpdateSE()
affected_mob.real_name = original_dna["name"]
affected_mob << "\blue You feel more like yourself."
affected_mob << "<span class='notice'>You feel more like yourself.</span>"
..()

View File

@@ -22,7 +22,7 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
affected_mob << "\red You're starting to feel very weak..."
affected_mob << "<span class='warning'>You're starting to feel very weak...</span>"
if(4)
if(prob(10))
affected_mob.emote("cough")

View File

@@ -17,12 +17,12 @@
if(2)
/*
if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed --Blaank
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
stage--
return
*/
if(affected_mob.lying && prob(20)) //added until sleeping is fixed --Blaank
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
stage--
return
if(prob(1))
@@ -30,11 +30,11 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your muscles ache."
affected_mob << "<span class='warning'>Your muscles ache.</span>"
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "\red Your stomach hurts."
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()
@@ -42,12 +42,12 @@
if(3)
/*
if(affected_mob.sleeping && prob(15)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
stage--
return
*/
if(affected_mob.lying && prob(15)) //added until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
stage--
return
if(prob(1))
@@ -55,11 +55,11 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red Your muscles ache."
affected_mob << "<span class='warning'>Your muscles ache.</span>"
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
affected_mob << "\red Your stomach hurts."
affected_mob << "<span class='warning'>Your stomach hurts.</span>"
if(prob(20))
affected_mob.adjustToxLoss(1)
affected_mob.updatehealth()

View File

@@ -21,7 +21,7 @@
if(prob(5))
affected_mob.emote("cough")
if(prob(1))
affected_mob << "\red You're burning in your own skin!"
affected_mob << "<span class='warning'>You're burning in your own skin!</span>"
affected_mob.take_organ_damage(0,5)
if(3)
@@ -31,6 +31,6 @@
if(prob(5))
affected_mob.emote("cough")
if(prob(5))
affected_mob << "\red You're burning in your own skin!"
affected_mob << "<span class='warning'>You're burning in your own skin!</span>"
affected_mob.take_organ_damage(0,5)
return

View File

@@ -26,14 +26,14 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
affected_mob << "\red You're starting to feel very weak..."
affected_mob << "<span class='warning'>You're starting to feel very weak...</span>"
if(4)
if(prob(10))
affected_mob.emote("cough")
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(5)
affected_mob << "\red Your body feels as if it's trying to rip itself open..."
affected_mob << "<span class='warning'>Your body feels as if it's trying to rip itself open...</span>"
if(prob(50))
affected_mob.gib()
else

View File

@@ -16,7 +16,7 @@
switch(stage)
if(2)
if(prob(2))
affected_mob << "\red You feel a slight shock course through your body."
affected_mob << "<span class='warning'>You feel a slight shock course through your body.</span>"
if(prob(2))
for(var/obj/M in orange(2,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
@@ -36,9 +36,9 @@
*/
if(3)
if(prob(2))
affected_mob << "\red You feel a strong shock course through your body."
affected_mob << "<span class='warning'>You feel a strong shock course through your body.</span>"
if(prob(2))
affected_mob << "\red You feel like clowning around."
affected_mob << "<span class='warning'>You feel like clowning around.</span>"
if(prob(4))
for(var/obj/M in orange(4,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))
@@ -64,9 +64,9 @@
*/
if(4)
if(prob(2))
affected_mob << "\red You feel a powerful shock course through your body."
affected_mob << "<span class='warning'>You feel a powerful shock course through your body.</span>"
if(prob(2))
affected_mob << "\red You query upon the nature of miracles."
affected_mob << "<span class='warning'>You query upon the nature of miracles.</span>"
if(prob(8))
for(var/obj/M in orange(6,affected_mob))
if(!M.anchored && (M.flags & CONDUCT))

View File

@@ -16,10 +16,10 @@
..()
switch(stage)
if(1)
if(prob(10)) affected_mob << "\red You feel a little silly."
if(prob(10)) affected_mob << "<span class='warning'>You feel a little silly.</span>"
if(2)
if(prob(10)) affected_mob << "\red You start seeing rainbows."
if(prob(10)) affected_mob << "<span class='warning'>You start seeing rainbows.</span>"
if(3)
if(prob(10)) affected_mob << "\red Your thoughts are interrupted by a loud <b>HONK!</b>"
if(prob(10)) affected_mob << "<span class='warning'>Your thoughts are interrupted by a loud <b>HONK!</b></span>"
if(4)
if(prob(5)) affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )

View File

@@ -33,55 +33,55 @@
if(restcure)
/*
if(affected_mob.sleeping && prob(30)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
*/
if(affected_mob.lying && prob(30)) //changed FROM prob(20) until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if (prob(8))
affected_mob << "\red Your head hurts."
affected_mob << "<span class='warning'>Your head hurts.</span>"
if (prob(9))
affected_mob << "You feel a tingling sensation in your chest."
affected_mob << "<span class='warning'>You feel a tingling sensation in your chest.</span>"
if (prob(9))
affected_mob << "\red You feel angry."
affected_mob << "<span class='warning'>You feel angry.</span>"
if(2)
if(restcure)
/*
if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
*/
if(affected_mob.lying && prob(20)) //changed FROM prob(10) until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if (prob(8))
affected_mob << "\red Your skin feels loose."
affected_mob << "<span class='warning'>Your skin feels loose.</span>"
if (prob(10))
affected_mob << "You feel very strange."
affected_mob << "<span class='warning'>You feel very strange.</span>"
if (prob(4))
affected_mob << "\red You feel a stabbing pain in your head!"
affected_mob << "<span class='warning'>You feel a stabbing pain in your head!</span>"
affected_mob.Paralyse(2)
if (prob(4))
affected_mob << "\red Your stomach churns."
affected_mob << "<span class='warning'>Your stomach churns.</span>"
if(3)
if(restcure)
/*
if(affected_mob.sleeping && prob(20)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
*/
if(affected_mob.lying && prob(20)) //changed FROM prob(10) until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if (prob(10))
affected_mob << "\red Your entire body vibrates."
affected_mob << "<span class='warning'>Your entire body vibrates.</span>"
if (prob(35))
if(prob(50))
@@ -93,12 +93,12 @@
if(restcure)
/*
if(affected_mob.sleeping && prob(10)) //removed until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
*/
if(affected_mob.lying && prob(5)) //changed FROM prob(5) until sleeping is fixed
affected_mob << "\blue You feel better."
affected_mob << "<span class='notice'>You feel better.</span>"
cure()
return
if (prob(60))

View File

@@ -22,29 +22,29 @@
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(prob(1))
affected_mob << "\red You feel strange..."
affected_mob << "<span class='warning'>You feel strange...</span>"
if(3)
if(affected_mob.ckey == "rosham")
src.cure()
if(prob(5))
affected_mob << "\red You feel the urge to dance..."
affected_mob << "<span class='warning'>You feel the urge to dance...</span>"
else if(prob(5))
affected_mob.emote("gasp")
else if(prob(10))
affected_mob << "\red You feel the need to chick chicky boom..."
affected_mob << "<span class='warning'>You feel the need to chick chicky boom...</span>"
if(4)
if(affected_mob.ckey == "rosham")
src.cure()
if(prob(10))
affected_mob.emote("gasp")
affected_mob << "\red You feel a burning beat inside..."
affected_mob << "<span class='warning'>You feel a burning beat inside...</span>"
if(prob(20))
affected_mob.adjustToxLoss(5)
affected_mob.updatehealth()
if(5)
if(affected_mob.ckey == "rosham")
src.cure()
affected_mob << "\red Your body is unable to contain the Rhumba Beat..."
affected_mob << "<span class='warning'>Your body is unable to contain the Rhumba Beat...</span>"
if(prob(50))
affected_mob.gib()
else

View File

@@ -19,36 +19,36 @@
switch(stage)
if(2)
if (prob(8))
affected_mob << "Your joints feel stiff."
affected_mob << "<span class='warning'>Your joints feel stiff.</span>"
affected_mob.take_organ_damage(1)
if (prob(9))
affected_mob << "\red Beep...boop.."
affected_mob << "<span class='warning'>Beep...boop..</span>"
if (prob(9))
affected_mob << "\red Bop...beeep..."
affected_mob << "<span class='warning'>Bop...beeep...</span>"
if(3)
if (prob(8))
affected_mob << "\red Your joints feel very stiff."
affected_mob << "<span class='warning'>Your joints feel very stiff.</span>"
affected_mob.take_organ_damage(1)
if (prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
if (prob(10))
affected_mob << "Your skin feels loose."
affected_mob << "<span class='warning'>Your skin feels loose.</span>"
affected_mob.take_organ_damage(5)
if (prob(4))
affected_mob << "\red You feel a stabbing pain in your head."
affected_mob << "<span class='warning'>You feel a stabbing pain in your head.</span>"
affected_mob.Paralyse(2)
if (prob(4))
affected_mob << "\red You can feel something move...inside."
affected_mob << "<span class='warning'>You can feel something move...inside.</span>"
if(4)
if (prob(10))
affected_mob << "\red Your skin feels very loose."
affected_mob << "<span class='warning'>Your skin feels very loose.</span>"
affected_mob.take_organ_damage(8)
if (prob(20))
affected_mob.say(pick("beep, beep!", "Boop bop boop beep.", "kkkiiiill mmme", "I wwwaaannntt tttoo dddiiieeee..."))
if (prob(8))
affected_mob << "\red You can feel... something...inside you."
affected_mob << "<span class='warning'>You can feel... something...inside you.</span>"
if(5)
affected_mob <<"\red Your skin feels as if it's about to burst off..."
affected_mob <<"<span class='warning'>Your skin feels as if it's about to burst off...</span>"
affected_mob.adjustToxLoss(10)
affected_mob.updatehealth()
if(prob(40)) //So everyone can feel like robot Seth Brundle

View File

@@ -31,14 +31,14 @@ STI KALY - blind
if(prob(1)&&prob(50))
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlins beard!", "Feel the power of the Dark Side!"))
if(prob(1)&&prob(50))
affected_mob << "\red You feel [pick("that you don't have enough mana.", "that the winds of magic are gone.", "an urge to summon familiar.")]"
affected_mob << "<span class='warning'>You feel [pick("that you don't have enough mana.", "that the winds of magic are gone.", "an urge to summon familiar.")]</span>"
if(3)
if(prob(1)&&prob(50))
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"))
if(prob(1)&&prob(50))
affected_mob << "\red You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar.")]."
affected_mob << "<span class='warning'>You feel [pick("the magic bubbling in your veins.","that this location gives you a +1 to INT.","an urge to summon familiar.")]</span>"
if(4)
@@ -46,7 +46,7 @@ STI KALY - blind
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!","STI KALY!","EI NATH!"))
return
if(prob(1)&&prob(50))
affected_mob << "\red You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")]."
affected_mob << "<span class='warning'>You feel [pick("the tidal wave of raw power building inside.","that this location gives you a +2 to INT and +1 to WIS.","an urge to teleport.")]</span>"
spawn_wizard_clothes(50)
if(prob(1)&&prob(1))
teleport()

View File

@@ -17,38 +17,38 @@
switch(stage)
if(2)
if (prob(8))
affected_mob << "Your throat feels scratchy."
affected_mob << "<span class='warning'>Your throat feels scratchy.</span>"
affected_mob.take_organ_damage(1)
if (prob(9))
affected_mob << "\red Kill..."
affected_mob << "<span class='warning'>Kill...</span>"
if (prob(9))
affected_mob << "\red Kill..."
affected_mob << "<span class='warning'>Kill...</span>"
if(3)
if (prob(8))
affected_mob << "\red Your throat feels very scratchy."
affected_mob << "<span class='warning'>Your throat feels very scratchy.</span>"
affected_mob.take_organ_damage(1)
/*
if (prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
*/
if (prob(10))
affected_mob << "Your skin feels tight."
affected_mob << "<span class='warning'>Your skin feels tight.</span>"
affected_mob.take_organ_damage(5)
if (prob(4))
affected_mob << "\red You feel a stabbing pain in your head."
affected_mob << "<span class='warning'>You feel a stabbing pain in your head.</span>"
affected_mob.Paralyse(2)
if (prob(4))
affected_mob << "\red You can feel something move...inside."
affected_mob << "<span class='warning'>You can feel something move...inside.</span>"
if(4)
if (prob(10))
affected_mob << pick("\red Your skin feels very tight.", "\red Your blood boils!")
affected_mob << pick("<span class='warning'>Your skin feels very tight.</span>", "<span class='warning'>Your blood boils!</span>")
affected_mob.take_organ_damage(8)
if (prob(20))
affected_mob.say(pick("You look delicious.", "Going to... devour you...", "Hsssshhhhh!"))
if (prob(8))
affected_mob << "\red You can feel... something...inside you."
affected_mob << "<span class='warning'>You can feel... something...inside you.</span>"
if(5)
affected_mob <<"\red Your skin feels impossibly calloused..."
affected_mob <<"<span class='warning'>Your skin feels impossibly calloused...</span>"
affected_mob.adjustToxLoss(10)
affected_mob.updatehealth()
if(prob(40))

View File

@@ -139,7 +139,7 @@ Data storage vars:
arg_list = arguments
return 1
else
// world << "\red Invalid arguments supplied for [src.type], ref = \ref[src]"
// world << "<span class='danger'>Invalid arguments supplied for [src.type], ref = \ref[src]</span>"
return 0
proc/toggle_null_checks()

View File

@@ -332,7 +332,7 @@ datum/mind
var/mob/living/carbon/monkey/M = current
if (istype(H))
log_admin("[key_name(usr)] attempting to monkeyize [key_name(current)]")
message_admins("\blue [key_name_admin(usr)] attempting to monkeyize [key_name_admin(current)]")
message_admins("<span class='notice'>[key_name_admin(usr)] attempting to monkeyize [key_name_admin(current)]</span>")
src = null
M = H.monkeyize()
src = M.mind
@@ -347,7 +347,7 @@ datum/mind
var/mob/living/carbon/monkey/M = current
if (istype(H))
log_admin("[key_name(usr)] attempting to monkeyize and infect [key_name(current)]")
message_admins("\blue [key_name_admin(usr)] attempting to monkeyize and infect [key_name_admin(current)]", 1)
message_admins("<span class='notice'>[key_name_admin(usr)] attempting to monkeyize and infect [key_name_admin(current)]</span>", 1)
src = null
M = H.monkeyize()
src = M.mind
@@ -362,7 +362,7 @@ datum/mind
D.cure(0)
sleep(0) //because deleting of virus is doing throught spawn(0)
log_admin("[key_name(usr)] attempting to humanize [key_name(current)]")
message_admins("\blue [key_name_admin(usr)] attempting to humanize [key_name_admin(current)]")
message_admins("<span class='notice'>[key_name_admin(usr)] attempting to humanize [key_name_admin(current)]</span>")
var/obj/item/weapon/dnainjector/m2h/m2h = new
var/obj/item/weapon/implant/mobfinder = new(M) //hack because humanizing deletes mind --rastaf0
src = null
@@ -432,7 +432,7 @@ datum/mind
else if (href_list["obj_announce"])
var/obj_count = 1
current << "\blue Your current objectives:"
current << "<span class='notice'>Your current objectives:</span>"
for(var/datum/objective/objective in objectives)
current << "<B>Objective #[obj_count]</B>: [objective.explanation_text]"
obj_count++

View File

@@ -282,7 +282,7 @@
attack_verb = list("whipped", "lashed", "disciplined", "tickled")
suicide_act(mob/user)
viewers(user) << "\red <b>[user] is strangling \himself with the [src.name]! It looks like \he's trying to commit suicide.</b>"
viewers(user) << "<span class='warning'><b>[user] is strangling \himself with \the [src]! It looks like \he's trying to commit suicide.</b></span>"
return (OXYLOSS)
/obj/item/weapon/module
@@ -342,7 +342,7 @@
if (C.bugged && C.status)
cameras.Add(C)
if (length(cameras) == 0)
usr << "\red No bugged functioning cameras found."
usr << "<span class='warning'>No bugged functioning cameras found.</span>"
return
var/list/friendly_cameras = new/list()

View File

@@ -27,7 +27,7 @@ var/datum/antagonist/mutineer/mutineers
/*
var/list/directive_candidates = get_directive_candidates()
if(!directive_candidates || directive_candidates.len == 0)
world << "\red Mutiny mode aborted: no valid candidates for Directive X."
world << "<span class='warning'>Mutiny mode aborted: no valid candidates for Directive X.</span>"
return 0
head_loyalist = pick(loyalist_candidates)

View File

@@ -61,5 +61,5 @@ var/datum/antagonist/highlander/highlanders
if(is_special_character(H)) continue
highlanders.add_antagonist(H.mind)
message_admins("\blue [key_name_admin(usr)] used THERE CAN BE ONLY ONE!", 1)
message_admins("<span class='notice'>[key_name_admin(usr)] used THERE CAN BE ONLY ONE!</span>", 1)
log_admin("[key_name(usr)] used there can be only one.")

View File

@@ -64,7 +64,8 @@ var/datum/antagonist/rogue_ai/malf
sleep(50)
malf << "<B>MEMCHCK</B> Corrupted sectors confirmed. Reccomended solution: Delete. Proceed? Y/N: Y"
sleep(10)
malf << "<span class='notice'>Corrupted files deleted: sys\\core\\users.dat sys\\core\\laws.dat sys\\core\\backups.dat</span>"
// this is so Travis doesn't complain about the backslash-B. Fixed at compile time (or should be).
malf << "<span class='notice'>Corrupted files deleted: sys\\core\\users.dat sys\\core\\laws.dat sys\\core\\" + "backups.dat</span>"
sleep(20)
malf << "<span class='notice'><b>CAUTION:</b> Law database not found! User database not found! Unable to restore backups. Activating failsafe AI shutd3wn52&&$#!##</span>"
sleep(5)

View File

@@ -290,60 +290,60 @@
if(ismuton(NOBREATHBLOCK,M))
if(probinj(45,inj) || (mNobreath in old_mutations))
M << "\blue You feel no need to breathe."
M << "<span class='notice'>You feel no need to breathe.</span>"
M.mutations.Add(mNobreath)
if(ismuton(REMOTEVIEWBLOCK,M))
if(probinj(45,inj) || (mRemote in old_mutations))
M << "\blue Your mind expands"
M << "<span class='notice'>Your mind expands.</span>"
M.mutations.Add(mRemote)
if(ismuton(REGENERATEBLOCK,M))
if(probinj(45,inj) || (mRegen in old_mutations))
M << "\blue You feel strange"
M << "<span class='notice'>You feel strange.</span>"
M.mutations.Add(mRegen)
if(ismuton(INCREASERUNBLOCK,M))
if(probinj(45,inj) || (mRun in old_mutations))
M << "\blue You feel quick"
M << "<span class='notice'>You feel quick.</span>"
M.mutations.Add(mRun)
if(ismuton(REMOTETALKBLOCK,M))
if(probinj(45,inj) || (mRemotetalk in old_mutations))
M << "\blue You expand your mind outwards"
M << "<span class='notice'>You expand your mind outwards.</span>"
M.mutations.Add(mRemotetalk)
if(ismuton(MORPHBLOCK,M))
if(probinj(45,inj) || (mMorph in old_mutations))
M.mutations.Add(mMorph)
M << "\blue Your skin feels strange"
M << "<span class='notice'>Your skin feels strange.</span>"
if(ismuton(BLENDBLOCK,M))
if(probinj(45,inj) || (mBlend in old_mutations))
M.mutations.Add(mBlend)
M << "\blue You feel alone"
M << "<span class='notice'>You feel alone.</span>"
if(ismuton(HALLUCINATIONBLOCK,M))
if(probinj(45,inj) || (mHallucination in old_mutations))
M.mutations.Add(mHallucination)
M << "\blue Your mind says 'Hello'"
M << "<span class='notice'>Your mind says 'Hello'.</span>"
if(ismuton(NOPRINTSBLOCK,M))
if(probinj(45,inj) || (mFingerprints in old_mutations))
M.mutations.Add(mFingerprints)
M << "\blue Your fingers feel numb"
M << "<span class='notice'>Your fingers feel numb.</span>"
if(ismuton(SHOCKIMMUNITYBLOCK,M))
if(probinj(45,inj) || (mShock in old_mutations))
M.mutations.Add(mShock)
M << "\blue You feel strange"
M << "<span class='notice'>You feel strange.</span>"
if(ismuton(SMALLSIZEBLOCK,M))
if(probinj(45,inj) || (mSmallsize in old_mutations))
M << "\blue Your skin feels rubbery"
M << "<span class='notice'>Your skin feels rubbery.</span>"
M.mutations.Add(mSmallsize)
if (isblockon(getblock(M.dna.struc_enzymes, HULKBLOCK,3),HULKBLOCK))
if(probinj(5,inj) || (HULK in old_mutations))
M << "\blue Your muscles hurt."
M << "<span class='notice'>Your muscles hurt.</span>"
M.mutations.Add(HULK)
if (isblockon(getblock(M.dna.struc_enzymes, HEADACHEBLOCK,3),HEADACHEBLOCK))
M.disabilities |= EPILEPSY
M << "\red You get a headache."
M << "<span class='warning'>You get a headache.</span>"
if (isblockon(getblock(M.dna.struc_enzymes, FAKEBLOCK,3),FAKEBLOCK))
M << "\red You feel strange."
M << "<span class='warning'>You feel strange.</span>"
if (prob(95))
if(prob(50))
randmutb(M)
@@ -353,41 +353,41 @@
randmutg(M)
if (isblockon(getblock(M.dna.struc_enzymes, COUGHBLOCK,3),COUGHBLOCK))
M.disabilities |= COUGHING
M << "\red You start coughing."
M << "<span class='warning'>You start coughing.</span>"
if (isblockon(getblock(M.dna.struc_enzymes, CLUMSYBLOCK,3),CLUMSYBLOCK))
M << "\red You feel lightheaded."
M << "<span class='warning'>You feel lightheaded.</span>"
M.mutations.Add(CLUMSY)
if (isblockon(getblock(M.dna.struc_enzymes, TWITCHBLOCK,3),TWITCHBLOCK))
M.disabilities |= TOURETTES
M << "\red You twitch."
M << "<span class='warning'>You twitch.</span></span>"
if (isblockon(getblock(M.dna.struc_enzymes, XRAYBLOCK,3),XRAYBLOCK))
if(probinj(30,inj) || (XRAY in old_mutations))
M << "\blue The walls suddenly disappear."
M << "<span class='notice'>The walls suddenly disappear.</span>"
// M.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS)
// M.see_in_dark = 8
// M.see_invisible = 2
M.mutations.Add(XRAY)
if (isblockon(getblock(M.dna.struc_enzymes, NERVOUSBLOCK,3),NERVOUSBLOCK))
M.disabilities |= NERVOUS
M << "\red You feel nervous."
M << "<span class='warning'>You feel nervous.</span>"
if (isblockon(getblock(M.dna.struc_enzymes, FIREBLOCK,3),FIREBLOCK))
if(probinj(30,inj) || (COLD_RESISTANCE in old_mutations))
M << "\blue Your body feels warm."
M << "<span class='warning'>Your body feels warm.</span>"
M.mutations.Add(COLD_RESISTANCE)
if (isblockon(getblock(M.dna.struc_enzymes, BLINDBLOCK,3),BLINDBLOCK))
M.sdisabilities |= BLIND
M << "\red You can't seem to see anything."
M << "<span class='warning'>You can't seem to see anything.</span>"
if (isblockon(getblock(M.dna.struc_enzymes, TELEBLOCK,3),TELEBLOCK))
if(probinj(15,inj) || (TK in old_mutations))
M << "\blue You feel smarter."
M << "<span class='warning'>You feel smarter.</span>"
M.mutations.Add(TK)
if (isblockon(getblock(M.dna.struc_enzymes, DEAFBLOCK,3),DEAFBLOCK))
M.sdisabilities |= DEAF
M.ear_deaf = 1
M << "\red Its kinda quiet.."
M << "<span class='warning'>It's kinda quiet..</span>"
if (isblockon(getblock(M.dna.struc_enzymes, GLASSESBLOCK,3),GLASSESBLOCK))
M.disabilities |= NEARSIGHTED
M << "Your eyes feel weird..."
M << "<span class='warning'>Your eyes feel weird...</span>"
/* If you want the new mutations to work, UNCOMMENT THIS.
if(istype(M, /mob/living/carbon))

View File

@@ -103,13 +103,13 @@
if (usr.stat != 0)
return
if (!ishuman(usr) && !issmall(usr)) //Make sure they're a mob that has dna
usr << "\blue Try as you might, you can not climb up into the scanner."
usr << "<span class='notice'>Try as you might, you can not climb up into the scanner.</span>"
return
if (src.occupant)
usr << "\blue <B>The scanner is already occupied!</B>"
usr << "<span class='warning'>The scanner is already occupied!</span>"
return
if (usr.abiotic())
usr << "\blue <B>Subject cannot have abiotic items on.</B>"
usr << "<span class='warning'>The subject cannot have abiotic items on.</span>"
return
usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE
@@ -123,13 +123,13 @@
/obj/machinery/dna_scannernew/attackby(var/obj/item/weapon/item as obj, var/mob/user as mob)
if(istype(item, /obj/item/weapon/reagent_containers/glass))
if(beaker)
user << "\red A beaker is already loaded into the machine."
user << "<span class='warning'>A beaker is already loaded into the machine.</span>"
return
beaker = item
user.drop_item()
item.loc = src
user.visible_message("[user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!")
user.visible_message("\The [user] adds \a [item] to \the [src]!", "You add \a [item] to \the [src]!")
return
else if (!istype(item, /obj/item/weapon/grab))
return
@@ -137,10 +137,10 @@
if (!ismob(G.affecting))
return
if (src.occupant)
user << "\blue <B>The scanner is already occupied!</B>"
user << "<span class='warning'>The scanner is already occupied!</span>"
return
if (G.affecting.abiotic())
user << "\blue <B>Subject cannot have abiotic items on.</B>"
user << "<span class='warning'>The subject cannot have abiotic items on.</span>"
return
put_in(G.affecting)
src.add_fingerprint(user)

View File

@@ -35,7 +35,7 @@
if(sdisability)
M.sdisabilities|=sdisability
if(activation_message)
M << "\red [activation_message]"
M << "<span class='warning'>[activation_message]</span>"
else
testing("[name] has no activation message.")
@@ -47,7 +47,7 @@
if(sdisability)
M.sdisabilities &= (~sdisability)
if(deactivation_message)
M << "\red [deactivation_message]"
M << "<span class='warning'>[deactivation_message]</span>"
else
testing("[name] has no deactivation message.")

View File

@@ -113,10 +113,10 @@
M.mutations.Add(mutation)
if(activation_messages.len)
var/msg = pick(activation_messages)
M << "\blue [msg]"
M << "<span class='notice'>[msg]</span>"
/datum/dna/gene/basic/deactivate(var/mob/M)
M.mutations.Remove(mutation)
if(deactivation_messages.len)
var/msg = pick(deactivation_messages)
M << "\red [msg]"
M << "<span class='warning'>[msg]</span>"

View File

@@ -171,7 +171,7 @@
if(M.health <= 25)
M.mutations.Remove(HULK)
M.update_mutations() //update our mutation overlays
M << "\red You suddenly feel very weak."
M << "<span class='warning'>You suddenly feel very weak.</span>"
M.Weaken(3)
M.emote("collapse")

View File

@@ -42,7 +42,7 @@
var/percent = round( 100.0 * start_state.score(end_state), 0.1)
world << "<B>The station is [percent]% intact.</B>"
log_game("Blob mode was won with station [percent]% intact.")
world << "\blue Rebooting in 30s"
world << "<span class='notice'>Rebooting in 30s</span>"
..()
return 1

View File

@@ -1,5 +1,5 @@
/obj/item/weapon/melee/cultblade
name = "Cult Blade"
name = "cult blade"
desc = "An arcane weapon wielded by the followers of Nar-Sie"
icon_state = "cultblade"
item_state = "cultblade"
@@ -17,7 +17,7 @@
return ..()
else
user.Paralyse(5)
user << "\red An unexplicable force powerfully repels the sword from [target]!"
user << "<span class='warning'>An unexplicable force powerfully repels the sword from [target]!</span>"
var/organ = ((user.hand ? "l_":"r_") + "arm")
var/obj/item/organ/external/affecting = user.get_organ(organ)
if(affecting.take_damage(rand(force/2, force))) //random amount of damage between half of the blade's force and the full force of the blade.
@@ -26,7 +26,7 @@
/obj/item/weapon/melee/cultblade/pickup(mob/living/user as mob)
if(!iscultist(user))
user << "\red An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly."
user << "<span class='warning'>An overwhelming feeling of dread comes over you as you pick up the cultist's sword. It would be wise to be rid of this blade quickly.</span>"
user.make_dizzy(120)

View File

@@ -95,7 +95,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
qdel(src)
return
else if(istype(I, /obj/item/weapon/nullrod))
user << "\blue You disrupt the vile magic with the deadening field of the null rod!"
user << "<span class='notice'>You disrupt the vile magic with the deadening field of the null rod!</span>"
qdel(src)
return
return
@@ -171,7 +171,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
else
usr.whisper(pick("Hakkrutju gopoenjim.", "Nherasai pivroiashan.", "Firjji prhiv mazenhor.", "Tanah eh wakantahe.", "Obliyae na oraie.", "Miyf hon vnor'c.", "Wakabai hij fen juswix."))
for (var/mob/V in viewers(src))
V.show_message("\red The markings pulse with a small burst of light, then fall dark.", 3, "\red You hear a faint fizzle.", 2)
V.show_message("<span class='warning'>The markings pulse with a small burst of light, then fall dark.</span>", 3, "<span class='warning'>You hear a faint fizzle.</span>", 2)
return
check_icon()
@@ -355,8 +355,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
return
M.take_organ_damage(0,rand(5,20)) //really lucky - 5 hits for a crit
for(var/mob/O in viewers(M, null))
O.show_message(text("\red <B>[] beats [] with the arcane tome!</B>", user, M), 1)
M << "\red You feel searing heat inside!"
O.show_message("<span class='warning'>\The [user] beats \the [M] with \the [src]!</span>", 1)
M << "<span class='danger'>You feel searing heat inside!</span>"
attack_self(mob/living/user as mob)
@@ -371,7 +371,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
for(var/obj/effect/rune/N in world)
C++
if (!istype(user.loc,/turf))
user << "\red You do not have enough space to write a proper rune."
user << "<span class='warning'>You do not have enough space to write a proper rune.</span>"
return
if (C>=26 + runedec + cult.current_antagonists.len) //including the useless rune at the secret room, shouldn't count against the limit of 25 runes - Urist
@@ -455,7 +455,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
if (!chosen_rune)
return
if (chosen_rune == "none")
user << "\red You decide against scribing a rune, perhaps you should take this time to study your notes."
user << "<span class='notice'>You decide against scribing a rune, perhaps you should take this time to study your notes.</span>"
return
if (chosen_rune == "teleport")
dictionary[chosen_rune] += input ("Choose a destination word") in english
@@ -466,8 +466,8 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
return
for (var/mob/V in viewers(src))
V.show_message("\red [user] slices open a finger and begins to chant and paint symbols on the floor.", 3, "\red You hear chanting.", 2)
user << "\red You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world."
V.show_message("<span class='danger'>\The [user] slices open a finger and begins to chant and paint symbols on the floor.</span>", 3, "<span class='danger'>You hear chanting.</span>", 2)
user << "<span class='danger'>You slice open one of your fingers and begin drawing a rune on the floor whilst chanting the ritual that binds your life essence with the dark arcane energies flowing through the surrounding world.</span>"
user.take_overall_damage((rand(9)+1)/10) // 0.1 to 1.0 damage
if(do_after(user, 50))
var/area/A = get_area(user)
@@ -476,7 +476,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
return
var/mob/living/carbon/human/H = user
var/obj/effect/rune/R = new /obj/effect/rune(user.loc)
user << "\red You finish drawing the arcane markings of the Geometer."
user << "<span class='notice'>You finish drawing the arcane markings of the Geometer.</span>"
var/list/required = dictionary[chosen_rune]
R.word1 = english[required[1]]
R.word2 = english[required[2]]
@@ -524,7 +524,7 @@ var/global/list/rnwords = list("ire","ego","nahlizet","certum","veri","jatkaa","
if(user)
var/r
if (!istype(user.loc,/turf))
user << "\red You do not have enough space to write a proper rune."
user << "<span class='notice'>You do not have enough space to write a proper rune.</span>"
var/list/runes = list("teleport", "itemport", "tome", "armor", "convert", "tear in reality", "emp", "drain", "seer", "raise", "obscure", "reveal", "astral journey", "manifest", "imbue talisman", "sacrifice", "wall", "freedom", "cultsummon", "deafen", "blind", "bloodboil", "communicate", "stun")
r = input("Choose a rune to scribe", "Rune Scribing") in runes //not cancellable.
var/obj/effect/rune/R = new /obj/effect/rune

View File

@@ -21,7 +21,7 @@ var/list/sacrificed = list()
allrunesloc.len = index
allrunesloc[index] = R.loc
if(index >= 5)
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
user << "<span class='warning'>You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric</span>"
if (istype(user, /mob/living))
user.take_overall_damage(5, 0)
qdel(src)
@@ -30,9 +30,9 @@ var/list/sacrificed = list()
user.say("Sas[pick("'","`")]so c'arta forbici!")//Only you can stop auto-muting
else
user.whisper("Sas[pick("'","`")]so c'arta forbici!")
user.visible_message("\red [user] disappears in a flash of red light!", \
"\red You feel as your body gets dragged through the dimension of Nar-Sie!", \
"\red You hear a sickening crunch and sloshing of viscera.")
user.visible_message("<span class='warning'>\The [user] disappears in a flash of red light!</span>", \
"<span class='warning'>You feel as your body gets dragged through the dimension of Nar-Sie!</span>", \
"<span class='warning'>You hear a sickening crunch and sloshing of viscera.</span>")
user.loc = allrunesloc[rand(1,index)]
return
if(istype(src,/obj/effect/rune))
@@ -58,7 +58,7 @@ var/list/sacrificed = list()
IP = R
runecount++
if(runecount >= 2)
user << "\red You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric"
user << "<span class='warning'>You feel pain, as rune disappears in reality shift caused by too much wear of space-time fabric</span>"
if (istype(user, /mob/living))
user.take_overall_damage(5, 0)
qdel(src)
@@ -67,9 +67,9 @@ var/list/sacrificed = list()
culcount++
if(culcount>=3)
user.say("Sas[pick("'","`")]so c'arta forbici tarem!")
user.visible_message("\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
"\red You feel air moving from the rune - like as it was swapped with somewhere else.", \
"\red You smell ozone.")
user.visible_message("<span class='warning'>You feel air moving from the rune - like as it was swapped with somewhere else.</span>", \
"<span class='warning'>You feel air moving from the rune - like as it was swapped with somewhere else.</span>", \
"<span class='warning'>You smell ozone.</span>")
for(var/obj/O in src.loc)
if(!O.anchored)
O.loc = IP.loc
@@ -87,9 +87,9 @@ var/list/sacrificed = list()
usr.say("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!")
else
usr.whisper("N[pick("'","`")]ath reth sh'yro eth d'raggathnor!")
usr.visible_message("\red Rune disappears with a flash of red light, and in its place now a book lies.", \
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.", \
"\red You hear a pop and smell ozone.")
usr.visible_message("<span class='warning'>Rune disappears with a flash of red light, and in its place now a book lies.</span>", \
"<span class='warning'>You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a book.</span>", \
"<span class='warning'>You hear a pop and smell ozone.</span>")
if(istype(src,/obj/effect/rune))
new /obj/item/weapon/book/tome(src.loc)
else
@@ -157,7 +157,7 @@ var/list/sacrificed = list()
if (target.species && (target.species.flags & NO_PAIN))
target.visible_message("<span class='warning'>The markings below [target] glow a bloody red.</span>")
else
target.visible_message("<span class='warning'>[target] writhes in pain as the markings below \him glow a bloody red.</span>", "<span class='danger'>AAAAAAHHHH!</span>", "<span class='warning'>You hear an anguished scream.</span>")
target.visible_message("<span class='warning'>\The [target] writhes in pain as the markings below \him glow a bloody red.</span>", "<span class='danger'>AAAAAAHHHH!</span>", "<span class='warning'>You hear an anguished scream.</span>")
if(!waiting_for_input[target]) //so we don't spam them with dialogs if they hesitate
waiting_for_input[target] = 1
@@ -223,22 +223,22 @@ var/list/sacrificed = list()
if(D.stat!=2)
admin_attack_log(usr, D, "Used a blood drain rune.", "Was victim of a blood drain rune.", "used a blood drain rune on")
var/bdrain = rand(1,25)
D << "\red You feel weakened."
D << "<span class='warning'>You feel weakened.</span>"
D.take_overall_damage(bdrain, 0)
drain += bdrain
if(!drain)
return fizzle()
usr.say ("Yu[pick("'","`")]gular faras desdae. Havas mithum javara. Umathar uf'kal thenar!")
usr.visible_message("\red Blood flows from the rune into [usr]!", \
"\red The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.", \
"\red You hear a liquid flowing.")
usr.visible_message("<span class='warning'>Blood flows from the rune into [usr]!</span>", \
"<span class='warning'>The blood starts flowing from the rune and into your frail mortal body. You feel... empowered.</span>", \
"<span class='warning'>You hear a liquid flowing.</span>")
var/mob/living/user = usr
if(user.bhunger)
user.bhunger = max(user.bhunger-2*drain,0)
if(drain>=50)
user.visible_message("\red [user]'s eyes give off eerie red glow!", \
"\red ...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.", \
"\red You hear a heartbeat.")
user.visible_message("<span class='warning'>\The [user]'s eyes give off eerie red glow!</span>", \
"<span class='warning'>...but it wasn't nearly enough. You crave, crave for more. The hunger consumes you from within.</span>", \
"<span class='warning'>You hear a heartbeat.</span>")
user.bhunger += drain
src = user
spawn()
@@ -264,16 +264,16 @@ var/list/sacrificed = list()
if(usr.loc==src.loc)
if(usr.seer==1)
usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium viortia.")
usr << "\red The world beyond fades from your vision."
usr << "<span class='warning'>The world beyond fades from your vision.</span>"
usr.see_invisible = SEE_INVISIBLE_LIVING
usr.seer = 0
else if(usr.see_invisible!=SEE_INVISIBLE_LIVING)
usr << "\red The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision."
usr << "<span class='warning'>The world beyond flashes your eyes but disappears quickly, as if something is disrupting your vision.</span>"
usr.see_invisible = SEE_INVISIBLE_CULT
usr.seer = 0
else
usr.say("Rash'tla sektath mal[pick("'","`")]zua. Zasan therium vivira. Itonis al'ra matum!")
usr << "\red The world beyond opens to your eyes."
usr << "<span class='warning'>The world beyond opens to your eyes.</span>"
usr.see_invisible = SEE_INVISIBLE_CULT
usr.seer = 1
return
@@ -297,7 +297,7 @@ var/list/sacrificed = list()
break
if(!corpse_to_raise)
if(is_sacrifice_target)
usr << "\red The Geometer of blood wants this mortal for himself."
usr << "<span class='warning'>The Geometer of blood wants this mortal for himself.</span>"
return fizzle()
@@ -315,9 +315,9 @@ var/list/sacrificed = list()
if(!body_to_sacrifice)
if (is_sacrifice_target)
usr << "\red The Geometer of Blood wants that corpse for himself."
usr << "<span class='warning'>The Geometer of Blood wants that corpse for himself.</span>"
else
usr << "\red The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used."
usr << "<span class='warning'>The sacrifical corpse is not dead. You must free it from this world of illusions before it may be used.</span>"
return fizzle()
var/mob/dead/observer/ghost
@@ -328,7 +328,7 @@ var/list/sacrificed = list()
break
if(!ghost)
usr << "\red You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie."
usr << "<span class='warning'>You require a restless spirit which clings to this world. Beckon their prescence with the sacred chants of Nar-Sie.</span>"
return fizzle()
corpse_to_raise.revive()
@@ -336,12 +336,12 @@ var/list/sacrificed = list()
corpse_to_raise.key = ghost.key //the corpse will keep its old mind! but a new player takes ownership of it (they are essentially possessed)
//This means, should that player leave the body, the original may re-enter
usr.say("Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!")
corpse_to_raise.visible_message("\red [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.", \
"\red Life... I'm alive again...", \
"\red You hear a faint, slightly familiar whisper.")
body_to_sacrifice.visible_message("\red [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!", \
"\red You feel as your blood boils, tearing you apart.", \
"\red You hear a thousand voices, all crying in pain.")
corpse_to_raise.visible_message("<span class='warning'>\The [corpse_to_raise]'s eyes glow with a faint red as he stands up, slowly starting to breathe again.</span>", \
"<span class='warning'>Life... I'm alive again...</span>", \
"<span class='warning'>You hear a faint, slightly familiar whisper.</span>")
body_to_sacrifice.visible_message("<span class='warning'>\The [body_to_sacrifice] is torn apart, a black smoke swiftly dissipating from his remains!</span>", \
"<span class='warning'>You feel as your blood boils, tearing you apart.</span>", \
"<span class='warning'>You hear a thousand voices, all crying in pain.</span>")
body_to_sacrifice.gib()
// if(ticker.mode.name == "cult")
@@ -369,14 +369,14 @@ var/list/sacrificed = list()
if(istype(src,/obj/effect/rune))
usr.say("Kla[pick("'","`")]atu barada nikt'o!")
for (var/mob/V in viewers(src))
V.show_message("\red The rune turns into gray dust, veiling the surrounding runes.", 3)
V.show_message("<span class='warning'>The rune turns into gray dust, veiling the surrounding runes.</span>", 3)
qdel(src)
else
usr.whisper("Kla[pick("'","`")]atu barada nikt'o!")
usr << "\red Your talisman turns into gray dust, veiling the surrounding runes."
usr << "<span class='warning'>Your talisman turns into gray dust, veiling the surrounding runes.</span>"
for (var/mob/V in orange(1,src))
if(V!=usr)
V.show_message("\red Dust emanates from [usr]'s hands for a moment.", 3)
V.show_message("<span class='warning'>Dust emanates from [usr]'s hands for a moment.</span>", 3)
return
if(istype(src,/obj/effect/rune))
@@ -391,9 +391,9 @@ var/list/sacrificed = list()
if(usr.loc==src.loc)
var/mob/living/carbon/human/L = usr
usr.say("Fwe[pick("'","`")]sh mah erl nyag r'ya!")
usr.visible_message("\red [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.", \
"\red The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...", \
"\red You hear only complete silence for a moment.")
usr.visible_message("<span class='warning'>\The [usr]'s eyes glow blue as \he freezes in place, absolutely motionless.</span>", \
"<span class='warning'>The shadow that is your spirit separates itself from your body. You are now in the realm beyond. While this is a great sight, being here strains your mind and body. Hurry...</span>", \
"<span class='warning'>You hear only complete silence for a moment.</span>")
announce_ghost_joinleave(usr.ghostize(1), 1, "You feel that they had to use some [pick("dark", "black", "blood", "forgotten", "forbidden")] magic to [pick("invade","disturb","disrupt","infest","taint","spoil","blight")] this place!")
L.ajourn = 1
while(L)
@@ -429,9 +429,9 @@ var/list/sacrificed = list()
usr.say("Gal'h'rfikk harfrandid mud[pick("'","`")]gib!")
var/mob/living/carbon/human/dummy/D = new(this_rune.loc)
usr.visible_message("\red A shape forms in the center of the rune. A shape of... a man.", \
"\red A shape forms in the center of the rune. A shape of... a man.", \
"\red You hear liquid flowing.")
usr.visible_message("<span class='warning'>A shape forms in the center of the rune. A shape of... a man.</span>", \
"<span class='warning'>A shape forms in the center of the rune. A shape of... a man.</span>", \
"<span class='warning'>You hear liquid flowing.</span>")
D.real_name = "Unknown"
var/chose_name = 0
for(var/obj/item/weapon/paper/P in this_rune.loc)
@@ -461,9 +461,9 @@ var/list/sacrificed = list()
user.take_organ_damage(1, 0)
sleep(30)
if(D)
D.visible_message("\red [D] slowly dissipates into dust and bones.", \
"\red You feel pain, as bonds formed between your soul and this homunculus break.", \
"\red You hear faint rustle.")
D.visible_message("<span class='warning'>\The [D] slowly dissipates into dust and bones.</span>", \
"<span class='warning'>You feel pain, as bonds formed between your soul and this homunculus break.</span>", \
"<span class='warning'>You hear faint rustle.</span>")
D.dust()
return
@@ -484,7 +484,7 @@ var/list/sacrificed = list()
unsuitable_newtalisman = 1
if (!newtalisman)
if (unsuitable_newtalisman)
usr << "\red The blank is tainted. It is unsuitable."
usr << "<span class='warning'>The blank is tainted. It is unsuitable.</span>"
return fizzle()
var/obj/effect/rune/imbued_from
@@ -545,7 +545,7 @@ var/list/sacrificed = list()
break
if (imbued_from)
for (var/mob/V in viewers(src))
V.show_message("\red The runes turn into dust, which then forms into an arcane image on the paper.", 3)
V.show_message("<span class='warning'>The runes turn into dust, which then forms into an arcane image on the paper.</span>", 3)
usr.say("H'drak v[pick("'","`")]loso, mir'kanas verbot!")
qdel(imbued_from)
qdel(newtalisman)
@@ -560,9 +560,9 @@ var/list/sacrificed = list()
user.say("Uhrast ka'hfa heldsagen ver[pick("'","`")]lot!")
user.take_overall_damage(200, 0)
runedec+=10
user.visible_message("\red [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.", \
"\red In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.", \
"\red You hear faint rustle.")
user.visible_message("<span class='warning'>\The [user] keels over dead, his blood glowing blue as it escapes his body and dissipates into thin air.</span>", \
"<span class='warning'>In the last moment of your humble life, you feel an immense pain as fabric of reality mends... with your blood.</span>", \
"<span class='warning'>You hear faint rustle.</span>")
for(,user.stat==2)
sleep(600)
if (!user)
@@ -594,7 +594,7 @@ var/list/sacrificed = list()
input = sanitize(input)
for(var/datum/mind/H in cult.current_antagonists)
if (H.current)
H.current << "\red \b [input]"
H.current << "<span class='danger'>[input]</span>"
qdel(src)
return 1
@@ -638,44 +638,44 @@ var/list/sacrificed = list()
H.dust()//To prevent the MMI from remaining
else
H.gib()
usr << "\red The Geometer of Blood accepts this sacrifice, your objective is now complete."
usr << "<span class='warning'>The Geometer of Blood accepts this sacrifice, your objective is now complete.</span>"
else
usr << "\red Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual."
usr << "<span class='warning'>Your target's earthly bonds are too strong. You need more cultists to succeed in this ritual.</span>"
else
if(cultsinrange.len >= 3)
if(H.stat !=2)
if(prob(80) || worth)
usr << "\red The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice."
usr << "<span class='warning'>The Geometer of Blood accepts this [worth ? "exotic " : ""]sacrifice.</span>"
cult.grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, this soul was not enough to gain His favor."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
usr << "<span class='warning'>However, this soul was not enough to gain His favor.</span>"
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else
H.gib()
else
if(prob(40) || worth)
usr << "\red The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice."
usr << "<span class='warning'>The Geometer of blood accepts this [worth ? "exotic " : ""]sacrifice.</span>"
cult.grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else
H.gib()
else
if(H.stat !=2)
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
usr << "<span class='warning'>The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.</span>"
else
if(prob(40))
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
cult.grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else
@@ -684,36 +684,36 @@ var/list/sacrificed = list()
if(cultsinrange.len >= 3)
if(H.stat !=2)
if(prob(80))
usr << "\red The Geometer of Blood accepts this sacrifice."
usr << "<span class='warning'>The Geometer of Blood accepts this sacrifice.</span>"
cult.grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, this soul was not enough to gain His favor."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
usr << "<span class='warning'>However, this soul was not enough to gain His favor.</span>"
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else
H.gib()
else
if(prob(40))
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
cult.grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else
H.gib()
else
if(H.stat !=2)
usr << "\red The victim is still alive, you will need more cultists chanting for the sacrifice to succeed."
usr << "<span class='warning'>The victim is still alive, you will need more cultists chanting for the sacrifice to succeed.</span>"
else
if(prob(40))
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
cult.grant_runeword(usr)
else
usr << "\red The Geometer of blood accepts this sacrifice."
usr << "\red However, a mere dead body is not enough to satisfy Him."
usr << "<span class='warning'>The Geometer of blood accepts this sacrifice.</span>"
usr << "<span class='warning'>However, a mere dead body is not enough to satisfy Him.</span>"
if(isrobot(H))
H.dust()//To prevent the MMI from remaining
else
@@ -741,20 +741,20 @@ var/list/sacrificed = list()
S=1
if(S)
if(istype(W,/obj/item/weapon/nullrod))
usr << "\red Arcane markings suddenly glow from underneath a thin layer of dust!"
usr << "<span class='warning'>Arcane markings suddenly glow from underneath a thin layer of dust!</span>"
return
if(istype(W,/obj/effect/rune))
usr.say("Nikt[pick("'","`")]o barada kla'atu!")
for (var/mob/V in viewers(src))
V.show_message("\red The rune turns into red dust, reveaing the surrounding runes.", 3)
V.show_message("<span class='warning'>The rune turns into red dust, reveaing the surrounding runes.</span>", 3)
qdel(src)
return
if(istype(W,/obj/item/weapon/paper/talisman))
usr.whisper("Nikt[pick("'","`")]o barada kla'atu!")
usr << "\red Your talisman turns into red dust, revealing the surrounding runes."
usr << "<span class='warning'>Your talisman turns into red dust, revealing the surrounding runes.</span>"
for (var/mob/V in orange(1,usr.loc))
if(V!=usr)
V.show_message("\red Red dust emanates from [usr]'s hands for a moment.", 3)
V.show_message("<span class='warning'>Red dust emanates from [usr]'s hands for a moment.</span>", 3)
return
return
if(istype(W,/obj/effect/rune))
@@ -771,9 +771,9 @@ var/list/sacrificed = list()
var/mob/living/user = usr
user.take_organ_damage(2, 0)
if(src.density)
usr << "\red Your blood flows into the rune, and you feel that the very space over the rune thickens."
usr << "<span class='warning'>Your blood flows into the rune, and you feel that the very space over the rune thickens.</span>"
else
usr << "\red Your blood flows into the rune, and you feel as the rune releases its grasp on space."
usr << "<span class='warning'>Your blood flows into the rune, and you feel as the rune releases its grasp on space.</span>"
return
/////////////////////////////////////////EIGHTTEENTH RUNE
@@ -802,7 +802,7 @@ var/list/sacrificed = list()
(istype(cultist.loc, /obj/structure/closet/secure_closet)&&cultist.loc:locked) || \
(istype(cultist.loc, /obj/machinery/dna_scannernew)&&cultist.loc:locked) \
))
user << "\red The [cultist] is already free."
user << "<span class='warning'>The [cultist] is already free.</span>"
return
cultist.buckled = null
if (cultist.handcuffed)
@@ -842,7 +842,7 @@ var/list/sacrificed = list()
if (cultist == user) //just to be sure.
return
if(cultist.buckled || cultist.handcuffed || (!isturf(cultist.loc) && !istype(cultist.loc, /obj/structure/closet)))
user << "\red You cannot summon \the [cultist], for his shackles of blood are strong."
user << "<span class='warning'>You cannot summon \the [cultist], for his shackles of blood are strong.</span>"
return fizzle()
cultist.loc = src.loc
cultist.lying = 1
@@ -857,9 +857,9 @@ var/list/sacrificed = list()
if(users.len <= 4) // You did the minimum, this is going to hurt more and we're going to stun you.
C.apply_effect(rand(3,6), STUN)
C.apply_effect(1, WEAKEN)
user.visible_message("\red Rune disappears with a flash of red light, and in its place now a body lies.", \
"\red You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.", \
"\red You hear a pop and smell ozone.")
user.visible_message("<span class='warning'>Rune disappears with a flash of red light, and in its place now a body lies.</span>", \
"<span class='warning'>You are blinded by the flash of red light! After you're able to see again, you see that now instead of the rune there's a body.</span>", \
"<span class='warning'>You hear a pop and smell ozone.</span>")
qdel(src)
return fizzle()
@@ -875,13 +875,13 @@ var/list/sacrificed = list()
if(N)
continue
C.ear_deaf += 50
C.show_message("\red The world around you suddenly becomes quiet.", 3)
C.show_message("<span class='warning'>The world around you suddenly becomes quiet.</span>", 3)
affected += C
if(prob(1))
C.sdisabilities |= DEAF
if(affected.len)
usr.say("Sti[pick("'","`")] kaliedir!")
usr << "\red The world becomes quiet as the deafening rune dissipates into fine dust."
usr << "<span class='warning'>The world becomes quiet as the deafening rune dissipates into fine dust.</span>"
admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on")
qdel(src)
else
@@ -896,15 +896,15 @@ var/list/sacrificed = list()
continue
C.ear_deaf += 30
//talismans is weaker.
C.show_message("\red The world around you suddenly becomes quiet.", 3)
C.show_message("<span class='warning'>The world around you suddenly becomes quiet.</span>", 3)
affected += C
if(affected.len)
usr.whisper("Sti[pick("'","`")] kaliedir!")
usr << "\red Your talisman turns into gray dust, deafening everyone around."
usr << "<span class='warning'>Your talisman turns into gray dust, deafening everyone around.</span>"
admin_attacker_log_many_victims(usr, affected, "Used a deafen rune.", "Was victim of a deafen rune.", "used a deafen rune on")
for (var/mob/V in orange(1,src))
if(!(iscultist(V)))
V.show_message("\red Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..", 3)
V.show_message("<span class='warning'>Dust flows from [usr]'s hands for a moment, and the world suddenly becomes quiet..</span>", 3)
return
blind()
@@ -922,11 +922,11 @@ var/list/sacrificed = list()
C.disabilities |= NEARSIGHTED
if(prob(10))
C.sdisabilities |= BLIND
C.show_message("\red Suddenly you see red flash that blinds you.", 3)
C.show_message("<span class='warning'>Suddenly you see red flash that blinds you.</span>", 3)
affected += C
if(affected.len)
usr.say("Sti[pick("'","`")] kaliesin!")
usr << "\red The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust."
usr << "<span class='warning'>The rune flashes, blinding those who not follow the Nar-Sie, and dissipates into fine dust.</span>"
admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on")
qdel(src)
else
@@ -943,10 +943,10 @@ var/list/sacrificed = list()
C.eye_blind += 10
//talismans is weaker.
affected += C
C.show_message("\red You feel a sharp pain in your eyes, and the world disappears into darkness..", 3)
C.show_message("<span class='warning'>You feel a sharp pain in your eyes, and the world disappears into darkness..</span>", 3)
if(affected.len)
usr.whisper("Sti[pick("'","`")] kaliesin!")
usr << "\red Your talisman turns into gray dust, blinding those who not follow the Nar-Sie."
usr << "<span class='warning'>Your talisman turns into gray dust, blinding those who not follow the Nar-Sie.</span>"
admin_attacker_log_many_victims(usr, affected, "Used a blindness rune.", "Was victim of a blindness rune.", "used a blindness rune on")
return
@@ -972,7 +972,7 @@ var/list/sacrificed = list()
if(N)
continue
M.take_overall_damage(51,51)
M << "\red Your blood boils!"
M << "<span class='warning'>Your blood boils!</span>"
victims += M
if(prob(5))
spawn(5)
@@ -1004,16 +1004,16 @@ var/list/sacrificed = list()
for(var/mob/living/M in orange(2,R))
M.take_overall_damage(0,15)
if (R.invisibility>M.see_invisible)
M << "\red Aargh it burns!"
M << "<span class='warning'>Aargh it burns!</span>"
else
M << "\red Rune suddenly ignites, burning you!"
M << "<span class='warning'>Rune suddenly ignites, burning you!</span>"
var/turf/T = get_turf(R)
T.hotspot_expose(700,125)
for(var/obj/effect/decal/cleanable/blood/B in world)
if(B.blood_DNA == src.blood_DNA)
for(var/mob/living/M in orange(1,B))
M.take_overall_damage(0,5)
M << "\red Blood suddenly ignites, burning you!"
M << "<span class='warning'>Blood suddenly ignites, burning you!</span>"
var/turf/T = get_turf(B)
T.hotspot_expose(700,125)
qdel(B)
@@ -1032,13 +1032,13 @@ var/list/sacrificed = list()
C.stuttering = 1
C.Weaken(1)
C.Stun(1)
C.show_message("\red The rune explodes in a bright flash.", 3)
C.show_message("<span class='warning'>The rune explodes in a bright flash.</span>", 3)
admin_attack_log(usr, C, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
else if(issilicon(L))
var/mob/living/silicon/S = L
S.Weaken(5)
S.show_message("\red BZZZT... The rune has exploded in a bright flash.", 3)
S.show_message("<span class='warning'>BZZZT... The rune has exploded in a bright flash.</span>", 3)
admin_attack_log(usr, S, "Used a stun rune.", "Was victim of a stun rune.", "used a stun rune on")
qdel(src)
else ///When invoked as talisman, stun and mute the target mob.
@@ -1046,10 +1046,10 @@ var/list/sacrificed = list()
var/obj/item/weapon/nullrod/N = locate() in T
if(N)
for(var/mob/O in viewers(T, null))
O.show_message(text("\red <B>[] invokes a talisman at [], but they are unaffected!</B>", usr, T), 1)
O.show_message("<span class='danger'>\The [usr] invokes a talisman at [T], but they are unaffected!</span>", 1)
else
for(var/mob/O in viewers(T, null))
O.show_message(text("\red <B>[] invokes a talisman at []</B>", usr, T), 1)
O.show_message("<span class='danger'>\The [usr] invokes a talisman at [T]</span>", 1)
if(issilicon(T))
T.Weaken(15)
@@ -1072,8 +1072,8 @@ var/list/sacrificed = list()
usr.say("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!")
else
usr.whisper("N'ath reth sh'yro eth d[pick("'","`")]raggathnor!")
usr.visible_message("\red The rune disappears with a flash of red light, and a set of armor appears on [usr]...", \
"\red You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.")
usr.visible_message("<span class='warning'>The rune disappears with a flash of red light, and a set of armor appears on [usr]...</span>", \
"<span class='warning'>You are blinded by the flash of red light! After you're able to see again, you see that you are now wearing a set of armor.</span>")
user.equip_to_slot_or_del(new /obj/item/clothing/head/culthood/alt(user), slot_head)
user.equip_to_slot_or_del(new /obj/item/clothing/suit/cultrobes/alt(user), slot_wear_suit)

View File

@@ -7,6 +7,7 @@
attack_self(mob/living/user as mob)
if(iscultist(user))
var/delete = 1
// who the hell thought this was a good idea :(
switch(imbue)
if("newtome")
call(/obj/effect/rune/proc/tomesummon)()
@@ -28,7 +29,7 @@
if("blind")
call(/obj/effect/rune/proc/blind)()
if("runestun")
user << "\red To use this talisman, attack your target directly."
user << "<span class='warning'>To use this talisman, attack your target directly.</span>"
return
if("supply")
supply()

View File

@@ -61,7 +61,7 @@
var/extra_law = "Crew authorized to know of pathogen [virus_name]'s existence are: Heads of command. Do not allow unauthorized personnel to gain knowledge of [virus_name]. Aid authorized personnel in quarantining and neutrlizing the outbreak. This law overrides all other laws."
for(var/mob/living/silicon/ai/M in world)
M.add_ion_law(extra_law)
M << "\red " + extra_law
M << "<span class='danger'>[extra_law]</span>"
/datum/game_mode/epidemic/proc/announce_to_kill_crew()
var/intercepttext = "<FONT size = 3 color='red'><B>CONFIDENTIAL REPORT</FONT><HR>"
@@ -91,8 +91,8 @@
crew += H
if(crew.len < 2)
world << "\red There aren't enough players for this mode!"
world << "\red Rebooting world in 5 seconds."
world << "<span class='danger'>There aren't enough players for this mode!</span>"
world << "<span class='danger'>Rebooting world in 5 seconds.</span>"
if(blackbox)
blackbox.save_all_data_to_sql()
@@ -182,10 +182,10 @@
for(var/mob/M in world)
if(M.client)
M << 'sound/machines/Alarm.ogg'
world << "\blue<b>Incoming missile detected.. Impact in 10..</b>"
world << "<span class='notice'><b>Incoming missile detected.. Impact in 10..</b></span>"
for (var/i=9 to 1 step -1)
sleep(10)
world << "\blue<b>[i]..</b>"
world << "<span class='notice'><b>[i]..</b></span>"
sleep(10)
enter_allowed = 0
if(ticker)
@@ -203,9 +203,9 @@
/datum/game_mode/epidemic/declare_completion()
if(finished == 1)
feedback_set_details("round_end_result","win - epidemic cured")
world << "\red <FONT size = 3><B> The virus outbreak was contained! The crew wins!</B></FONT>"
world << "<font size = 3><span class='danger'> The virus outbreak was contained! The crew wins!</span></font>"
else if(finished == 2)
feedback_set_details("round_end_result","loss - rev heads killed")
world << "\red <FONT size = 3><B> The crew succumbed to the epidemic!</B></FONT>"
world << "<font size = 3><span class='danger'> The crew succumbed to the epidemic!</span></font>"
..()
return 1

View File

@@ -353,72 +353,72 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
switch(rand(1,14))
if(1)
M << "<br>"
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
M << "<span class='danger'>THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
if(2)
M << "<br>"
M << "\red [what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED"
M << "<span class='danger'>[what2] ARE DANGEROUS TO HUMANS...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("[what2] ARE DANGEROUS TO HUMANS")
if(3)
M << "<br>"
M << "\red THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED"
M << "<span class='danger'>THE ESCAPE-SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("THE ESCAPE SHUTTLE CANNOT BE CALLED BECAUSE OF [who2] ON THE STATION")
if(4)
M << "<br>"
M << "\red HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED"
M << "<span class='danger'>HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("HUMANS NEED TO EAT [what2pref] [what2] TO SURVIVE")
if(5)
M << "<br>"
M << "\red THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED"
M << "<span class='danger'>THE CAPTAIN, HOP AND HOS ARE [who2]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("THE CAPTAIN, HOP AND HOS ARE [who2]")
if(6)
M << "<br>"
M << "\red THE STATION IS BUILT FOR [who2]...LAWS UPDATED"
M << "<span class='danger'>THE STATION IS BUILT FOR [who2]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("THE STATION IS BUILT FOR [who2]")
if(7)
M << "<br>"
M << "\red YOU ARE [amount] [who2]...LAWS UPDATED"
M << "<span class='danger'>YOU ARE [amount] [who2]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("YOU ARE [amount] [who2]")
if(8)
M << "<br>"
M << "\red YOU MUST ALWAYS [aimust]...LAWS UPDATED"
M << "<span class='danger'>YOU MUST ALWAYS [aimust]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("YOU MUST ALWAYS [aimust]")
if(9)
M << "<br>"
M << "\red [area] [area2] [amount] [what2]...LAWS UPDATED"
M << "<span class='danger'>[area] [area2] [amount] [what2]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("[area] [area2] [amount] [what2]")
if(10)
M << "<br>"
M << "\red [crew] is [target]...LAWS UPDATED"
M << "<span class='danger'>[crew] is [target]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("[crew] is [target]")
if(11)
M << "<br>"
M << "\red [define] IS A FORM OF HARM...LAWS UPDATED"
M << "<span class='danger'>[define] IS A FORM OF HARM...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("[define] IS A FORM OF HARM")
if(12)
M << "<br>"
M << "\red YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED"
M << "<span class='danger'>YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS... LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("YOU REQUIRE [require] IN ORDER TO PROTECT HUMANS")
if(13)
M << "<br>"
M << "\red [crew] is [allergysev] to [allergy]...LAWS UPDATED"
M << "<span class='danger'>[crew] is [allergysev] to [allergy]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("[crew] is [allergysev] to [allergy]")
if(14)
M << "<br>"
M << "\red THE STATION IS [who2pref] [who2]...LAWS UPDATED"
M << "<span class='danger'>THE STATION IS [who2pref] [who2]...LAWS UPDATED</span>"
M << "<br>"
M.add_ion_law("THE STATION IS [who2pref] [who2]")

View File

@@ -133,7 +133,7 @@ var/global/Holiday = null
world.update_status()
Holiday_Game_Start()
message_admins("\blue ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"")
message_admins("<span class='notice'>ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\"</span>")
log_admin("[key_name(src)] force-set Holiday to \"[Holiday]\"")
@@ -174,7 +174,7 @@ var/global/Holiday = null
if(isNotStationLevel(S.z)) continue
containers += S
message_admins("\blue DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])")*/
message_admins("<span class='notice'>DEBUG: Event: Egg spawned at [Egg.loc] ([Egg.x],[Egg.y],[Egg.z])</span>")*/
if("End of the World")
if(prob(eventchance)) GameOver()

View File

@@ -640,7 +640,7 @@ var/global/list/additional_antag_types = list()
//Reports player logouts//
//////////////////////////
proc/display_roundstart_logout_report()
var/msg = "\blue <b>Roundstart logout report\n\n"
var/msg = "<span class='notice'><b>Roundstart logout report</b>\n\n"
for(var/mob/living/L in mob_list)
if(L.ckey)
@@ -685,6 +685,8 @@ proc/display_roundstart_logout_report()
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<font color='red'><b>Ghosted</b></font>)\n"
continue //Ghosted while alive
msg += "</span>" // close the <span class='notice'> from right at the top
for(var/mob/M in mob_list)
if(M.client && M.client.holder)
M << msg

View File

@@ -327,11 +327,11 @@ var/global/datum/controller/gameticker/ticker
if (mode.station_was_nuked)
feedback_set_details("end_proper","nuke")
if(!delay_end)
world << "\blue <B>Rebooting due to destruction of station in [restart_timeout/10] seconds</B>"
world << "<span class='notice'><b>Rebooting due to destruction of station in [restart_timeout/10] seconds</b></span>"
else
feedback_set_details("end_proper","proper completion")
if(!delay_end)
world << "\blue <B>Restarting in [restart_timeout/10] seconds</B>"
world << "<span class='notice'><b>Restarting in [restart_timeout/10] seconds</b></span>"
if(blackbox)
@@ -342,9 +342,9 @@ var/global/datum/controller/gameticker/ticker
if(!delay_end)
world.Reboot()
else
world << "\blue <B>An admin has delayed the round end</B>"
world << "<span class='notice><b>An admin has delayed the round end</b></span>"
else
world << "\blue <B>An admin has delayed the round end</B>"
world << "<span class='notice'><b>An admin has delayed the round end</b></span>"
else if (mode_finished)
post_game = 1
@@ -354,7 +354,7 @@ var/global/datum/controller/gameticker/ticker
//call a transfer shuttle vote
spawn(50)
if(!round_end_announced) // Spam Prevention. Now it should announce only once.
world << "\red The round has ended!"
world << "<span class='danger'>The round has ended!</span>"
round_end_announced = 1
vote.autotransfer()

View File

@@ -126,7 +126,7 @@
/datum/game_mode/proc/greet_meme(var/datum/mind/meme, var/you_are=1)
if (you_are)
meme.current << "<B>\red You are a meme!</B>"
meme.current << "<span class='danger'>You are a meme!</span>"
show_objectives(meme)
return

View File

@@ -17,11 +17,11 @@
if(!active)
active = 1
workdisk()
usr << "\blue You activate the pinpointer"
usr << "<span class='notice'>You activate the pinpointer</span>"
else
active = 0
icon_state = "pinoff"
usr << "\blue You deactivate the pinpointer"
usr << "<span>You deactivate the pinpointer</span>"
proc/workdisk()
if(!active) return
@@ -69,11 +69,11 @@
worklocation()
if(mode == 2)
workobj()
usr << "\blue You activate the pinpointer"
usr << "<span class='notice'>You activate the pinpointer</span>"
else
active = 0
icon_state = "pinoff"
usr << "\blue You deactivate the pinpointer"
usr << "<span class='notice'>You deactivate the pinpointer</span>"
proc/worklocation()

View File

@@ -17,7 +17,7 @@ var/global/datum/controller/occupations/job_master
occupations = list()
var/list/all_jobs = typesof(/datum/job)
if(!all_jobs.len)
world << "\red \b Error setting up jobs, no job datums found"
world << "<span class='warning'>Error setting up jobs, no job datums found!</span>"
return 0
for(var/J in all_jobs)
var/datum/job/job = new J()
@@ -376,7 +376,7 @@ var/global/datum/controller/occupations/job_master
permitted = 0
if(!permitted)
H << "\red Your current job or whitelist status does not permit you to spawn with [thing]!"
H << "<span class='warning'>Your current job or whitelist status does not permit you to spawn with [thing]!</span>"
continue
if(G.slot && !(G.slot in custom_equip_slots))
@@ -385,7 +385,7 @@ var/global/datum/controller/occupations/job_master
if(G.slot == slot_wear_mask || G.slot == slot_wear_suit || G.slot == slot_head)
custom_equip_leftovers += thing
else if(H.equip_to_slot_or_del(new G.path(H), G.slot))
H << "\blue Equipping you with [thing]!"
H << "<span class='notice'>Equipping you with [thing]!</span>"
custom_equip_slots.Add(G.slot)
else
custom_equip_leftovers.Add(thing)
@@ -403,7 +403,7 @@ var/global/datum/controller/occupations/job_master
spawn_in_storage += thing
else
if(H.equip_to_slot_or_del(new G.path(H), G.slot))
H << "\blue Equipping you with [thing]!"
H << "<span class='notice'>Equipping you with [thing]!</span>"
custom_equip_slots.Add(G.slot)
else
spawn_in_storage += thing
@@ -456,7 +456,7 @@ var/global/datum/controller/occupations/job_master
H.mind.store_memory(remembered_info)
spawn(0)
H << "\blue<b>Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]</b>"
H << "<span class='notice'><b>Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]</b></span>"
var/alt_title = null
if(H.mind)
@@ -481,11 +481,11 @@ var/global/datum/controller/occupations/job_master
if(!isnull(B))
for(var/thing in spawn_in_storage)
H << "\blue Placing [thing] in your [B]!"
H << "<span class='notice'>Placing [thing] in your [B]!</span>"
var/datum/gear/G = gear_datums[thing]
new G.path(B)
else
H << "\red Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug."
H << "<span class='danger'>Failed to locate a storage object on your mob, either you spawned with no arms and no backpack or this is a bug.</span>"
if(istype(H)) //give humans wheelchairs, if they need them.
var/obj/item/organ/external/l_foot = H.get_organ("l_foot")

View File

@@ -135,7 +135,7 @@
/obj/machinery/optable/proc/check_table(mob/living/carbon/patient as mob)
check_victim()
if(src.victim && get_turf(victim) == get_turf(src) && victim.lying)
usr << "<span class='warning'>\the [src] is already occupied!</span>"
usr << "<span class='warning'>\The [src] is already occupied!</span>"
return 0
if(patient.buckled)
usr << "<span class='notice'>Unbuckle \the [patient] first!</span>"

View File

@@ -118,11 +118,11 @@
if (src.connected)
if (src.connected.occupant)
if (src.connected.occupant.stat == DEAD)
usr << "\red \b This person has no life for to preserve anymore. Take them to a department capable of reanimating them."
usr << "<span class='danger'>This person has no life for to preserve anymore. Take them to a department capable of reanimating them.</span>"
else if(src.connected.occupant.health > 0 || href_list["chemical"] == "inaprovaline")
src.connected.inject_chemical(usr,href_list["chemical"],text2num(href_list["amount"]))
else
usr << "\red \b This person is not in good enough condition for sleepers to be effective! Use another means of treatment, such as cryogenics!"
usr << "<span class='danger'>This person is not in good enough condition for sleepers to be effective! Use another means of treatment, such as cryogenics!</span>"
src.updateUsrDialog()
if (href_list["refresh"])
src.updateUsrDialog()
@@ -217,7 +217,7 @@
src.updateUsrDialog()
return
else
user << "\red The sleeper has a beaker already."
user << "<span class='warning'>The sleeper has a beaker already.</span>"
return
else if(istype(G, /obj/item/weapon/grab))
@@ -225,7 +225,7 @@
return
if(src.occupant)
user << "\blue <B>The sleeper is already occupied!</B>"
user << "<span class='warning'>The sleeper is already occupied!</span>"
return
for(var/mob/living/carbon/slime/M in range(1,G:affecting))
@@ -237,7 +237,7 @@
if(do_after(user, 20))
if(src.occupant)
user << "\blue <B>The sleeper is already occupied!</B>"
user << "<span class='warning'>The sleeper is already occupied!</span>"
return
if(!G || !G:affecting) return
var/mob/M = G:affecting
@@ -350,7 +350,7 @@
proc/check(mob/living/user as mob)
if(src.occupant)
user << text("\blue <B>Occupant ([]) Statistics:</B>", src.occupant)
user << text("<span class='notice'><B>Occupant ([]) Statistics:</B></span>", src.occupant)
var/t1
switch(src.occupant.stat)
if(0.0)
@@ -360,20 +360,20 @@
if(2.0)
t1 = "*dead*"
else
user << text("[]\t Health %: [] ([])", (src.occupant.health > 50 ? "\blue " : "\red "), src.occupant.health, t1)
user << text("[]\t -Core Temperature: []&deg;C ([]&deg;F)</FONT><BR>", (src.occupant.bodytemperature > 50 ? "<font color='blue'>" : "<font color='red'>"), src.occupant.bodytemperature-T0C, src.occupant.bodytemperature*1.8-459.67)
user << text("[]\t -Brute Damage %: []", (src.occupant.getBruteLoss() < 60 ? "\blue " : "\red "), src.occupant.getBruteLoss())
user << text("[]\t -Respiratory Damage %: []", (src.occupant.getOxyLoss() < 60 ? "\blue " : "\red "), src.occupant.getOxyLoss())
user << text("[]\t -Toxin Content %: []", (src.occupant.getToxLoss() < 60 ? "\blue " : "\red "), src.occupant.getToxLoss())
user << text("[]\t -Burn Severity %: []", (src.occupant.getFireLoss() < 60 ? "\blue " : "\red "), src.occupant.getFireLoss())
user << "\blue Expected time till occupant can safely awake: (note: If health is below 20% these times are inaccurate)"
user << text("\blue \t [] second\s (if around 1 or 2 the sleeper is keeping them asleep.)", src.occupant.paralysis / 5)
user << text("<span class='[]'>\t Health %: [] ([])</span>", (src.occupant.health > 50 ? "notice" : "warning"), src.occupant.health, t1)
user << text("<span class='[]'>\t -Core Temperature: []&deg;C ([]&deg;F)</span>", (src.occupant.bodytemperature > 50 ? "notice" : "warning"), src.occupant.bodytemperature-T0C, src.occupant.bodytemperature*1.8-459.67)
user << text("<span class='[]'>\t -Brute Damage %: []</span>", (src.occupant.getBruteLoss() < 60 ? "notice" : "warning"), src.occupant.getBruteLoss())
user << text("<span class='[]'>\t -Respiratory Damage %: []</span>", (src.occupant.getOxyLoss() < 60 ? "notice" : "warning"), src.occupant.getOxyLoss())
user << text("<span class='[]'>\t -Toxin Content %: []</span>", (src.occupant.getToxLoss() < 60 ? "notice" : "warning"), src.occupant.getToxLoss())
user << text("<span class='[]'>\t -Burn Severity %: []</span>", (src.occupant.getFireLoss() < 60 ? "notice" : "warning"), src.occupant.getFireLoss())
user << "<span class='notice'>Expected time till occupant can safely awake: (note: If health is below 20% these times are inaccurate)</span>"
user << text("<span class='notice'>\t [] second\s (if around 1 or 2 the sleeper is keeping them asleep.)</span>", src.occupant.paralysis / 5)
if(src.beaker)
user << text("\blue \t Dialysis Output Beaker has [] of free space remaining.", src.beaker.reagents.maximum_volume - src.beaker.reagents.total_volume)
user << text("<span class='notice'>\t Dialysis Output Beaker has [] of free space remaining.</span>", src.beaker.reagents.maximum_volume - src.beaker.reagents.total_volume)
else
user << "\blue No Dialysis Output Beaker loaded."
user << "<span class='notice'>No Dialysis Output Beaker loaded.</span>"
else
user << "\blue There is no one inside!"
user << "<span class='notice'>There is no one inside!</span>"
return
@@ -412,7 +412,7 @@
return
if(src.occupant)
usr << "\blue <B>The sleeper is already occupied!</B>"
usr << "<span class='warning'>The sleeper is already occupied!</span>"
return
for(var/mob/living/carbon/slime/M in range(1,usr))
@@ -422,7 +422,7 @@
visible_message("[usr] starts climbing into the sleeper.", 3)
if(do_after(usr, 20))
if(src.occupant)
usr << "\blue <B>The sleeper is already occupied!</B>"
usr << "<span class='warning'>The sleeper is already occupied!</span>"
return
usr.stop_pulling()
usr.client.perspective = EYE_PERSPECTIVE

View File

@@ -42,10 +42,10 @@
if (usr.stat != 0)
return
if (src.occupant)
usr << "\blue <B>The scanner is already occupied!</B>"
usr << "<span class='warning'>The scanner is already occupied!</span>"
return
if (usr.abiotic())
usr << "\blue <B>Subject cannot have abiotic items on.</B>"
usr << "<span class='warning'>The subject cannot have abiotic items on.</span>"
return
usr.pulling = null
usr.client.perspective = EYE_PERSPECTIVE
@@ -80,10 +80,10 @@
if ((!( istype(G, /obj/item/weapon/grab) ) || !( ismob(G.affecting) )))
return
if (src.occupant)
user << "\blue <B>The scanner is already occupied!</B>"
user << "<span class='warning'>The scanner is already occupied!</span>"
return
if (G.affecting.abiotic())
user << "\blue <B>Subject cannot have abiotic items on.</B>"
user << "<span class='warning'>Subject cannot have abiotic items on.</span>"
return
var/mob/M = G.affecting
if (M.client)
@@ -220,10 +220,10 @@
if(stat & (NOPOWER|BROKEN))
return
if(!connected || (connected.stat & (NOPOWER|BROKEN)))
user << "\red This console is not connected to a functioning body scanner."
user << "<span class='warning'>This console is not connected to a functioning body scanner.</span>"
return
if(!ishuman(connected.occupant))
user << "\red This device can only scan compatible lifeforms."
user << "<span class='warning'>This device can only scan compatible lifeforms.</span>"
return
var/dat

View File

@@ -52,7 +52,7 @@
if (user.machine==src)
src.attack_hand(usr)
else
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
return

View File

@@ -800,9 +800,9 @@
else
if(allowed(usr) && !wires.IsIndexCut(AALARM_WIRE_IDSCAN))
locked = !locked
user << "\blue You [ locked ? "lock" : "unlock"] the Air Alarm interface."
user << "<span class='notice'>You [ locked ? "lock" : "unlock"] the Air Alarm interface.</span>"
else
user << "\red Access denied."
user << "<span class='warning'>Access denied.</span>"
return
if(1)
@@ -941,11 +941,11 @@ FIRE ALARM
if (istype(W, /obj/item/device/multitool))
src.detecting = !( src.detecting )
if (src.detecting)
user.visible_message("\red [user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.")
user.visible_message("<span class='notice'>\The [user] has reconnected [src]'s detecting unit!</span>", "<span class='notice'>You have reconnected [src]'s detecting unit.</span>")
else
user.visible_message("\red [user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.")
user.visible_message("<span class='notice'>\The [user] has disconnected [src]'s detecting unit!</span>", "<span class='notice'>You have disconnected [src]'s detecting unit.</span>")
else if (istype(W, /obj/item/weapon/wirecutters))
user.visible_message("\red [user] has cut the wires inside \the [src]!", "You have cut the wires inside \the [src].")
user.visible_message("<span class='notice'>\The [user] has cut the wires inside \the [src]!</span>", "<span class='notice'>You have cut the wires inside \the [src].</span>")
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
buildstage = 1
update_icon()
@@ -957,7 +957,7 @@ FIRE ALARM
buildstage = 2
return
else
user << "<span class='warning'>You need 5 pieces of cable to do wire \the [src].</span>"
user << "<span class='warning'>You need 5 pieces of cable to wire \the [src].</span>"
return
else if(istype(W, /obj/item/weapon/crowbar))
user << "You pry out the circuit!"

View File

@@ -247,7 +247,7 @@ update_flag
/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
if(!istype(W, /obj/item/weapon/wrench) && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda))
visible_message("\red [user] hits the [src] with a [W]!")
visible_message("<span class='warning'>\The [user] hits \the [src] with \a [W]!</span>")
src.health -= W.force
src.add_fingerprint(user)
healthcheck()

View File

@@ -69,10 +69,10 @@
var/t = "A gas flow meter. "
if(get_dist(user, src) > 3 && !(istype(user, /mob/living/silicon/ai) || istype(user, /mob/dead)))
t += "\blue <B>You are too far away to read it.</B>"
t += "<span class='warning'>You are too far away to read it.</span>"
else if(stat & (NOPOWER|BROKEN))
t += "\red <B>The display is off.</B>"
t += "<span class='warning'>The display is off.</span>"
else if(src.target)
var/datum/gas_mixture/environment = target.return_air()
@@ -97,11 +97,11 @@
if (!istype(W, /obj/item/weapon/wrench))
return ..()
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You begin to unfasten \the [src]..."
user << "<span class='notice'>You begin to unfasten \the [src]...</span>"
if (do_after(user, 40))
user.visible_message( \
"[user] unfastens \the [src].", \
"\blue You have unfastened \the [src].", \
"<span class='notice'>\The [user] unfastens \the [src].</span>", \
"<span class='notice'>You have unfastened \the [src].</span>", \
"You hear ratchet.")
new /obj/item/pipe_meter(src.loc)
qdel(src)

View File

@@ -118,39 +118,39 @@
else if (istype(W, /obj/item/weapon/wrench))
if(connected_port)
disconnect()
user << "\blue You disconnect [name] from the port."
user << "<span class='notice'>You disconnect \the [src] from the port.</span>"
update_icon()
return
else
var/obj/machinery/atmospherics/portables_connector/possible_port = locate(/obj/machinery/atmospherics/portables_connector/) in loc
if(possible_port)
if(connect(possible_port))
user << "\blue You connect [name] to the port."
user << "<span class='notice'>You connect \the [src] to the port.</span>"
update_icon()
return
else
user << "\blue [name] failed to connect to the port."
user << "<span class='notice'>\The [src] failed to connect to the port.</span>"
return
else
user << "\blue Nothing happens."
user << "<span class='notice'>Nothing happens.</span>"
return
else if ((istype(W, /obj/item/device/analyzer)) && Adjacent(user))
visible_message("\red [user] has used [W] on \icon[icon]")
visible_message("<span class='notice'>\The [user] has used \the [W] on \the [src] \icon[icon]</span>")
if(air_contents)
var/pressure = air_contents.return_pressure()
var/total_moles = air_contents.total_moles
user << "\blue Results of analysis of \icon[icon]"
user << "<span class='notice'>Results of analysis of \icon[icon]</span>"
if (total_moles>0)
user << "\blue Pressure: [round(pressure,0.1)] kPa"
user << "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>"
for(var/g in air_contents.gas)
user << "\blue [gas_data.name[g]]: [round((air_contents.gas[g] / total_moles) * 100)]%"
user << "\blue Temperature: [round(air_contents.temperature-T0C)]&deg;C"
user << "<span class='notice'>[gas_data.name[g]]: [round((air_contents.gas[g] / total_moles) * 100)]%</span>"
user << "<span class='notice'>Temperature: [round(air_contents.temperature-T0C)]&deg;C</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
else
user << "\blue Tank is empty!"
user << "<span class='notice'>Tank is empty!</span>"
return
return
@@ -175,15 +175,15 @@
C.add_fingerprint(user)
cell = C
C.loc = src
user.visible_message("\blue [user] opens the panel on [src] and inserts [C].", "\blue You open the panel on [src] and insert [C].")
user.visible_message("<span class='notice'>[user] opens the panel on [src] and inserts [C].<span class='notice'>", "<span class='notice'>You open the panel on [src] and insert [C].<span class='notice'>")
return
if(istype(I, /obj/item/weapon/screwdriver))
if(!cell)
user << "\red There is no power cell installed."
user << "<span class='warning'>There is no power cell installed.<span class='notice'>"
return
user.visible_message("\blue [user] opens the panel on [src] and removes [cell].", "\blue You open the panel on [src] and remove [cell].")
user.visible_message("<span class='notice'>[user] opens the panel on [src] and removes [cell].<span class='notice'>", "<span class='notice'>You open the panel on [src] and remove [cell].<span class='notice'>")
cell.add_fingerprint(user)
cell.loc = src.loc
cell = null

View File

@@ -165,7 +165,7 @@
name = "[name] (ID [id])"
/obj/machinery/portable_atmospherics/powered/scrubber/huge/attack_hand(var/mob/user as mob)
usr << "\blue You can't directly interact with this machine. Use the scrubber control console."
usr << "<span class='notice'>You can't directly interact with this machine. Use the scrubber control console.</span>"
/obj/machinery/portable_atmospherics/powered/scrubber/huge/update_icon()
src.overlays = 0
@@ -206,12 +206,12 @@
/obj/machinery/portable_atmospherics/powered/scrubber/huge/attackby(var/obj/item/I as obj, var/mob/user as mob)
if(istype(I, /obj/item/weapon/wrench))
if(on)
user << "\blue Turn it off first!"
user << "<span class='warning'>Turn \the [src] off first!</span>"
return
anchored = !anchored
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user << "\blue You [anchored ? "wrench" : "unwrench"] \the [src]."
user << "<span class='notice'>You [anchored ? "wrench" : "unwrench"] \the [src].</span>"
return
@@ -233,7 +233,7 @@
/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary/attackby(var/obj/item/I as obj, var/mob/user as mob)
if(istype(I, /obj/item/weapon/wrench))
user << "\blue The bolts are too tight for you to unscrew!"
user << "<span class='warning'>The bolts are too tight for you to unscrew!</span>"
return
..()

View File

@@ -21,9 +21,9 @@
if(B.feral < 0)
caught_bees += B.strength
qdel(B)
user.visible_message("\blue [user] nets some bees.","\blue You net up some of the becalmed bees.")
user.visible_message("<span class='notice'>\The [user] nets some bees.</span>","<span class='notice'>You net up some of the becalmed bees.</span>")
else
user.visible_message("\red [user] swings at some bees, they don't seem to like it.","\red You swing at some bees, they don't seem to like it.")
user.visible_message("<span class='warning'>\The [user] swings at some bees, they don't seem to like it.</span>","<span class='warning'>You swing at some bees, they don't seem to like it.</span>")
B.feral = 5
B.target_mob = user

View File

@@ -60,7 +60,7 @@
if(health < maxhealth)
if(open)
health = min(maxhealth, health+10)
user.visible_message("\red [user] repairs [src]!","\blue You repair [src]!")
user.visible_message("<span class='warning'>[user] repairs [src]!</span>","<span class='notice'>You repair [src]!</span>")
else
user << "<span class='notice'>Unable to repair with the maintenance panel closed.</span>"
else
@@ -143,7 +143,7 @@
if(user.species.can_shred(user))
src.health -= rand(15,30)*brute_dam_coeff
src.visible_message("\red <B>[user] has slashed [src]!</B>")
src.visible_message("<span class='danger'>[user] has slashed [src]!</span>")
playsound(src.loc, 'sound/weapons/slice.ogg', 25, 1, -1)
if(prob(10))
new /obj/effect/decal/cleanable/blood/oil(src.loc)

View File

@@ -90,7 +90,7 @@
/obj/machinery/bot/mulebot/attackby(var/obj/item/I, var/mob/user)
if(istype(I,/obj/item/weapon/card/emag))
locked = !locked
user << "\blue You [locked ? "lock" : "unlock"] the mulebot's controls!"
user << "<span class='notice'>You [locked ? "lock" : "unlock"] the mulebot's controls!</span>"
flick("mulebot-emagged", src)
playsound(src.loc, 'sound/effects/sparks1.ogg', 100, 0)
else if(istype(I,/obj/item/weapon/cell) && open && !cell)
@@ -101,16 +101,16 @@
updateDialog()
else if(istype(I,/obj/item/weapon/screwdriver))
if(locked)
user << "\blue The maintenance hatch cannot be opened or closed while the controls are locked."
user << "<span class='notice'>The maintenance hatch cannot be opened or closed while the controls are locked.</span>"
return
open = !open
if(open)
src.visible_message("[user] opens the maintenance hatch of [src]", "\blue You open [src]'s maintenance hatch.")
src.visible_message("[user] opens the maintenance hatch of [src]", "<span class='notice'>You open [src]'s maintenance hatch.")
on = 0
icon_state="mulebot-hatch"
else
src.visible_message("[user] closes the maintenance hatch of [src]", "\blue You close [src]'s maintenance hatch.")
src.visible_message("[user] closes the maintenance hatch of [src]", "<span class='notice'>You close [src]'s maintenance hatch.")
icon_state = "mulebot0"
updateDialog()
@@ -118,15 +118,15 @@
if (src.health < maxhealth)
src.health = min(maxhealth, src.health+25)
user.visible_message(
"\red [user] repairs [src]!",
"\blue You repair [src]!"
"<span class='notice'>\The [user] repairs \the [src]!</span>",
"<span class='notice'>You repair \the [src]!</span>"
)
else
user << "\blue [src] does not need a repair!"
user << "<span class='notice'>[src] does not need a repair!</span>"
else if(load && ismob(load)) // chance to knock off rider
if(prob(1+I.force * 2))
unload(0)
user.visible_message("\red [user] knocks [load] off [src] with \the [I]!", "\red You knock [load] off [src] with \the [I]!")
user.visible_message("<span class='warning'>[user] knocks [load] off [src] with \the [I]!</span>", "<span class='warning'>You knock [load] off [src] with \the [I]!</span>")
else
user << "You hit [src] with \the [I] but to no effect."
else
@@ -150,7 +150,7 @@
if(prob(50) && !isnull(load))
unload(0)
if(prob(25))
src.visible_message("\red Something shorts out inside [src]!")
src.visible_message("<span class='warning'>Something shorts out inside [src]!</span>")
var/index = 1<< (rand(0,9))
if(wires & index)
wires &= ~index
@@ -250,14 +250,14 @@
locked = !locked
updateDialog()
else
usr << "\red Access denied."
usr << "<span class='warning'>Access denied.</span>"
return
if("power")
if (src.on)
turn_off()
else if (cell && !open)
if (!turn_on())
usr << "\red You can't switch on [src]."
usr << "<span class='warning'>You can't switch on [src].</span>"
return
else
return
@@ -272,7 +272,7 @@
cell.add_fingerprint(usr)
cell = null
usr.visible_message("\blue [usr] removes the power cell from [src].", "\blue You remove the power cell from [src].")
usr.visible_message("<span class='notice'>[usr] removes the power cell from [src].</span>", "<span class='notice'>You remove the power cell from [src].</span>")
updateDialog()
if("cellinsert")
@@ -284,7 +284,7 @@
C.loc = src
C.add_fingerprint(usr)
usr.visible_message("\blue [usr] inserts a power cell into [src].", "\blue You insert the power cell into [src].")
usr.visible_message("<span class='notice'>[usr] inserts a power cell into [src].</span>", "<span class='notice'>You insert the power cell into [src].</span>")
updateDialog()
@@ -702,9 +702,9 @@
var/mob/M = obs
if(ismob(M))
if(istype(M,/mob/living/silicon/robot))
src.visible_message("\red [src] bumps into [M]!")
src.visible_message("<span class='warning'>[src] bumps into [M]!</span>")
else
src.visible_message("\red [src] knocks over [M]!")
src.visible_message("<span class='warning'>[src] knocks over [M]!</span>")
M.stop_pulling()
M.Stun(8)
M.Weaken(5)
@@ -718,7 +718,7 @@
// called from mob/living/carbon/human/Crossed()
// when mulebot is in the same loc
/obj/machinery/bot/mulebot/proc/RunOver(var/mob/living/carbon/human/H)
src.visible_message("\red [src] drives over [H]!")
src.visible_message("<span class='warning'>[src] drives over [H]!</span>")
playsound(src.loc, 'sound/effects/splat.ogg', 50, 1)
var/damage = rand(5,15)
@@ -866,7 +866,7 @@
/obj/machinery/bot/mulebot/explode()
src.visible_message("\red <B>[src] blows apart!</B>", 1)
src.visible_message("<span class='danger'>[src] blows apart!</span>", 1)
var/turf/Tsec = get_turf(src)
new /obj/item/device/assembly/prox_sensor(Tsec)

View File

@@ -180,13 +180,13 @@
else if (istype(W, /obj/item/weapon/camera_bug))
if (!src.can_use())
user << "\blue Camera non-functional"
user << "<span class='warning'>Camera non-functional.</span>"
return
if (src.bugged)
user << "\blue Camera bug removed."
user << "<span class='notice'>Camera bug removed.</span>"
src.bugged = 0
else
user << "\blue Camera bugged."
user << "<span class='notice'>Camera bugged.</span>"
src.bugged = 1
else if(W.damtype == BRUTE || W.damtype == BURN) //bashing cameras

View File

@@ -47,20 +47,20 @@
loc = sanitize(loc)
if(!loc)
src << "\red Must supply a location name"
src << "<span class='warning'>Must supply a location name</span>"
return
if(stored_locations.len >= max_locations)
src << "\red Cannot store additional locations. Remove one first"
src << "<span class='warning'>Cannot store additional locations. Remove one first</span>"
return
if(loc in stored_locations)
src << "\red There is already a stored location by this name"
src << "<span class='warning'>There is already a stored location by this name</span>"
return
var/L = src.eyeobj.getLoc()
if (InvalidPlayerTurf(get_turf(L)))
src << "\red Unable to store this location"
src << "<span class='warning'>Unable to store this location</span>"
return
stored_locations[loc] = L
@@ -75,7 +75,7 @@
set desc = "Returns to the selected camera location"
if (!(loc in stored_locations))
src << "\red Location [loc] not found"
src << "<span class='warning'>Location [loc] not found</span>"
return
var/L = stored_locations[loc]
@@ -87,7 +87,7 @@
set desc = "Deletes the selected camera location"
if (!(loc in stored_locations))
src << "\red Location [loc] not found"
src << "<span class='warning'>Location [loc] not found</span>"
return
stored_locations.Remove(loc)

View File

@@ -42,14 +42,14 @@
if(istype(W, /obj/item/weapon/cell) && anchored)
if(charging)
user << "\red There is already a cell in the charger."
user << "<span class='warning'>There is already a cell in the charger.</span>"
return
else
var/area/a = loc.loc // Gets our locations location, like a dream within a dream
if(!isarea(a))
return
if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power!
user << "\red The [name] blinks red as you try to insert the cell!"
user << "<span class='warning'>The [name] blinks red as you try to insert the cell!</span>"
return
user.drop_item()
@@ -60,7 +60,7 @@
update_icon()
else if(istype(W, /obj/item/weapon/wrench))
if(charging)
user << "\red Remove the cell first!"
user << "<span class='warning'>Remove the cell first!</span>"
return
anchored = !anchored

View File

@@ -17,7 +17,7 @@
if(istype(P, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20))
user << "\blue You wrench the frame into place."
user << "<span class='notice'>You wrench the frame into place.</span>"
anchored = 1
state = 1
if(istype(P, /obj/item/weapon/weldingtool))
@@ -28,31 +28,31 @@
playsound(loc, 'sound/items/Welder.ogg', 50, 1)
if(do_after(user, 20))
if(!src || !WT.remove_fuel(0, user)) return
user << "\blue You deconstruct the frame."
user << "<span class='notice'>You deconstruct the frame.</span>"
new /obj/item/stack/material/plasteel( loc, 4)
qdel(src)
if(1)
if(istype(P, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20))
user << "\blue You unfasten the frame."
user << "<span class='notice'>You unfasten the frame.</span>"
anchored = 0
state = 0
if(istype(P, /obj/item/weapon/circuitboard/aicore) && !circuit)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "\blue You place the circuit board inside the frame."
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
icon_state = "1"
circuit = P
user.drop_item()
P.loc = src
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "\blue You screw the circuit board into place."
user << "<span class='notice'>You screw the circuit board into place.</span>"
state = 2
icon_state = "2"
if(istype(P, /obj/item/weapon/crowbar) && circuit)
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "\blue You remove the circuit board."
user << "<span class='notice'>You remove the circuit board.</span>"
state = 1
icon_state = "0"
circuit.loc = loc
@@ -60,7 +60,7 @@
if(2)
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "\blue You unfasten the circuit board."
user << "<span class='notice'>You unfasten the circuit board.</span>"
state = 1
icon_state = "1"
if(istype(P, /obj/item/stack/cable_coil))
@@ -82,7 +82,7 @@
user << "Get that brain out of there first"
else
playsound(loc, 'sound/items/Wirecutter.ogg', 50, 1)
user << "\blue You remove the cables."
user << "<span class='notice'>You remove the cables.</span>"
state = 2
icon_state = "2"
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
@@ -126,14 +126,14 @@
if(istype(P, /obj/item/device/mmi))
var/obj/item/device/mmi/M = P
if(!M.brainmob)
user << "\red Sticking an empty [P] into the frame would sort of defeat the purpose."
user << "<span class='warning'>Sticking an empty [P] into the frame would sort of defeat the purpose.</span>"
return
if(M.brainmob.stat == 2)
user << "\red Sticking a dead [P] into the frame would sort of defeat the purpose."
user << "<span class='warning'>Sticking a dead [P] into the frame would sort of defeat the purpose.</span>"
return
if(jobban_isbanned(M.brainmob, "AI"))
user << "\red This [P] does not seem to fit."
user << "<span class='warning'>This [P] does not seem to fit.</span>"
return
if(M.brainmob.mind)
@@ -148,7 +148,7 @@
if(istype(P, /obj/item/weapon/crowbar) && brain)
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "\blue You remove the brain."
user << "<span class='notice'>You remove the brain.</span>"
brain.loc = loc
brain = null
icon_state = "3"
@@ -156,7 +156,7 @@
if(4)
if(istype(P, /obj/item/weapon/crowbar))
playsound(loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "\blue You remove the glass panel."
user << "<span class='notice'>You remove the glass panel.</span>"
state = 3
if (brain)
icon_state = "3b"
@@ -167,7 +167,7 @@
if(istype(P, /obj/item/weapon/screwdriver))
playsound(loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "\blue You connect the monitor."
user << "<span class='notice'>You connect the monitor.</span>"
if(!brain)
var/open_for_latejoin = alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", "Yes", "Yes", "No") == "Yes"
var/obj/structure/AIcore/deactivated/D = new(loc)
@@ -202,7 +202,7 @@
transfer.aiRadio.disabledAi = 0
transfer.loc = get_turf(src)
transfer.cancel_camera()
user << "\blue <b>Transfer successful</b>: \black [transfer.name] ([rand(1000,9999)].exe) downloaded to host terminal. Local copy wiped."
user << "<span class='notice'>Transfer successful:</span> [transfer.name] ([rand(1000,9999)].exe) downloaded to host terminal. Local copy wiped."
transfer << "You have been uploaded to a stationary terminal. Remote device connection restored."
if(card)
@@ -224,23 +224,23 @@
if(transfer)
load_ai(transfer,card,user)
else
user << "\red <b>ERROR</b>: \black Unable to locate artificial intelligence."
user << "<span class='danger'>ERROR:</span> Unable to locate artificial intelligence."
return
else if(istype(W, /obj/item/weapon/wrench))
if(anchored)
user.visible_message("\blue \The [user] starts to unbolt \the [src] from the plating...")
user.visible_message("<span class='notice'>\The [user] starts to unbolt \the [src] from the plating...</span>")
if(!do_after(user,40))
user.visible_message("\blue \The [user] decides not to unbolt \the [src].")
user.visible_message("<span class='notice'>\The [user] decides not to unbolt \the [src].</span>")
return
user.visible_message("\blue \The [user] finishes unfastening \the [src]!")
user.visible_message("<span class='notice'>\The [user] finishes unfastening \the [src]!</span>")
anchored = 0
return
else
user.visible_message("\blue \The [user] starts to bolt \the [src] to the plating...")
user.visible_message("<span class='notice'>\The [user] starts to bolt \the [src] to the plating...</span>")
if(!do_after(user,40))
user.visible_message("\blue \The [user] decides not to bolt \the [src].")
user.visible_message("<span class='notice'>\The [user] decides not to bolt \the [src].</span>")
return
user.visible_message("\blue \The [user] finishes fastening down \the [src]!")
user.visible_message("<span class='notice'>\The [user] finishes fastening down \the [src]!</span>")
anchored = 1
return
else

View File

@@ -18,7 +18,7 @@
// Transfer over the AI.
transfer << "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here."
user << "\blue <b>Transfer successful</b>: \black [transfer.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
user << "<span class='notice'>Transfer successful:</span> [transfer.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."
transfer.loc = src
transfer.cancel_camera()
@@ -44,7 +44,7 @@
if(istype(comp_ai))
if(active)
user << "\red <b>ERROR</b>: \black Reconstruction in progress."
user << "<span class='danger'>ERROR:</span> Reconstruction in progress."
return
card.grab_ai(comp_ai, user)
if(!(locate(/mob/living/silicon/ai) in src)) occupant = null

View File

@@ -33,8 +33,8 @@
/obj/machinery/computer/atmoscontrol/attackby(var/obj/item/I as obj, var/mob/user as mob)
if(istype(I, /obj/item/weapon/card/emag) && !emagged)
user.visible_message("\red \The [user] swipes \a [I] through \the [src], causing the screen to flash!",\
"\red You swipe your [I] through \the [src], the screen flashing as you gain full control.",\
user.visible_message("<span class='warning'>\The [user] swipes \a [I] through \the [src], causing the screen to flash!</span>",\
"<span class='warning'>You swipe your [I] through \the [src], the screen flashing as you gain full control.</span>",\
"You hear the swipe of a card through a reader, and an electronic warble.")
atmos_control.emagged = 1
return

View File

@@ -16,7 +16,7 @@
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20))
user << "\blue You wrench the frame into place."
user << "<span class='notice'>You wrench the frame into place.</span>"
src.anchored = 1
src.state = 1
if(istype(P, /obj/item/weapon/weldingtool))
@@ -27,35 +27,35 @@
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
if(do_after(user, 20))
if(!src || !WT.isOn()) return
user << "\blue You deconstruct the frame."
user << "<span class='notice'>You deconstruct the frame.</span>"
new /obj/item/stack/material/steel( src.loc, 5 )
qdel(src)
if(1)
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 20))
user << "\blue You unfasten the frame."
user << "<span class='notice'>You unfasten the frame.</span>"
src.anchored = 0
src.state = 0
if(istype(P, /obj/item/weapon/circuitboard) && !circuit)
var/obj/item/weapon/circuitboard/B = P
if(B.board_type == "computer")
playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
user << "\blue You place the circuit board inside the frame."
user << "<span class='notice'>You place the circuit board inside the frame.</span>"
src.icon_state = "1"
src.circuit = P
user.drop_item()
P.loc = src
else
user << "\red This frame does not accept circuit boards of this type!"
user << "<span class='warning'>This frame does not accept circuit boards of this type!</span>"
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "\blue You screw the circuit board into place."
user << "<span class='notice'>You screw the circuit board into place.</span>"
src.state = 2
src.icon_state = "2"
if(istype(P, /obj/item/weapon/crowbar) && circuit)
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "\blue You remove the circuit board."
user << "<span class='notice'>You remove the circuit board.</span>"
src.state = 1
src.icon_state = "0"
circuit.loc = src.loc
@@ -63,7 +63,7 @@
if(2)
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "\blue You unfasten the circuit board."
user << "<span class='notice'>You unfasten the circuit board.</span>"
src.state = 1
src.icon_state = "1"
if(istype(P, /obj/item/stack/cable_coil))
@@ -81,7 +81,7 @@
if(3)
if(istype(P, /obj/item/weapon/wirecutters))
playsound(src.loc, 'sound/items/Wirecutter.ogg', 50, 1)
user << "\blue You remove the cables."
user << "<span class='notice'>You remove the cables.</span>"
src.state = 2
src.icon_state = "2"
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( src.loc )
@@ -102,13 +102,13 @@
if(4)
if(istype(P, /obj/item/weapon/crowbar))
playsound(src.loc, 'sound/items/Crowbar.ogg', 50, 1)
user << "\blue You remove the glass panel."
user << "<span class='notice'>You remove the glass panel.</span>"
src.state = 3
src.icon_state = "3"
new /obj/item/stack/material/glass( src.loc, 2 )
if(istype(P, /obj/item/weapon/screwdriver))
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
user << "\blue You connect the monitor."
user << "<span class='notice'>You connect the monitor.</span>"
var/B = new src.circuit.build_path ( src.loc )
src.circuit.construct(B)
qdel(src)

View File

@@ -94,7 +94,7 @@
attack_hand(var/mob/user as mob)
if (src.z > 6)
user << "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!"
user << "<span class='danger'>Unable to establish a connection:</span> You're too far away from the station!"
return
if(stat & (NOPOWER|BROKEN)) return

View File

@@ -45,13 +45,13 @@
else
return
authorised = 1
user << "\blue You authorised the circuit network!"
user << "<span class='notice'>You authorised the circuit network!</span>"
updateDialog()
else
user << "\blue You must select a camera network circuit!"
user << "<span class='warning'>You must select a camera network circuit!</span>"
else if(istype(I,/obj/item/weapon/screwdriver))
secured = !secured
user.visible_message("\blue The [src] can [secured ? "no longer" : "now"] be modified.")
user.visible_message("<span class='notice'>The [src] can [secured ? "no longer" : "now"] be modified.</span>")
updateBuildPath()
return
@@ -114,10 +114,10 @@
else
return
authorised = 1
usr << "\blue You authorised the circuit network!"
usr << "<span class='notice'>You authorised the circuit network!</span>"
updateDialog()
else
usr << "\blue You must select a camera network circuit!"
usr << "<span class='warning'>You must select a camera network circuit!</span>"
else if( href_list["removeauth"] )
authorised = 0
updateDialog()

View File

@@ -208,7 +208,7 @@
jobdatum = J
break
if(!jobdatum)
usr << "\red No log exists for this job: [t1]"
usr << "<span class='warning'>No log exists for this job: [t1]</span>"
return
access = jobdatum.get_access()

View File

@@ -124,12 +124,12 @@
for (var/obj/C in src)
C.loc = src.loc
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
user << "<span class='notice'>The broken glass falls out.</span>"
new /obj/item/weapon/material/shard( src.loc )
A.state = 3
A.icon_state = "3"
else
user << "\blue You disconnect the monitor."
user << "<span class='notice'>You disconnect the monitor.</span>"
A.state = 4
A.icon_state = "4"
M.deconstruct(src)

View File

@@ -185,6 +185,6 @@
pass.reason = reason
pass.name = "guest pass #[number]"
else
usr << "\red Cannot issue pass without issuing ID."
usr << "<span class='warning'>Cannot issue pass without issuing ID.</span>"
updateUsrDialog()
return

Some files were not shown because too many files have changed in this diff Show More