mirror of
https://github.com/Yawn-Wider/YWPolarisVore.git
synced 2026-07-13 17:16:11 +01:00
refactors most spans
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
|
||||
/obj/structure/alien/hitby(AM as mob|obj)
|
||||
..()
|
||||
visible_message("<span class='danger'>\The [src] was hit by \the [AM].</span>")
|
||||
visible_message(span_danger("\The [src] was hit by \the [AM]."))
|
||||
var/tforce = 0
|
||||
if(ismob(AM))
|
||||
tforce = 10
|
||||
@@ -48,7 +48,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/alien/attack_generic(var/mob/user, var/damage, var/attack_verb)
|
||||
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_verb] the [src]!"))
|
||||
playsound(src, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
user.do_attack_animation(src)
|
||||
health -= damage
|
||||
@@ -61,7 +61,7 @@
|
||||
var/aforce = W.force
|
||||
health = max(0, health - aforce)
|
||||
playsound(src, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
visible_message("<span class='danger'>[user] attacks the [src]!</span>")
|
||||
visible_message(span_danger("[user] attacks the [src]!"))
|
||||
healthcheck()
|
||||
..()
|
||||
return
|
||||
@@ -69,7 +69,7 @@
|
||||
/obj/structure/alien/attack_hand()
|
||||
usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
if (HULK in usr.mutations)
|
||||
visible_message("<span class='warning'>[usr] destroys the [name]!</span>")
|
||||
visible_message(span_warning("[usr] destroys the [name]!"))
|
||||
health = 0
|
||||
else
|
||||
|
||||
@@ -77,18 +77,18 @@
|
||||
if(istype(usr,/mob/living/carbon))
|
||||
var/mob/living/carbon/M = usr
|
||||
if(locate(/obj/item/organ/internal/xenos/hivenode) in M.internal_organs)
|
||||
visible_message ("<span class='warning'>[usr] strokes the [name] and it melts away!</span>", 1)
|
||||
visible_message (span_warning("[usr] strokes the [name] and it melts away!"), 1)
|
||||
health = 0
|
||||
healthcheck()
|
||||
return
|
||||
if(locate(/obj/item/organ/internal/xenos/resinspinner/replicant) in M.internal_organs)
|
||||
if(!do_after(M, 3 SECONDS))
|
||||
return
|
||||
visible_message ("<span class='warning'>[usr] strokes the [name] and it melts away!</span>", 1)
|
||||
visible_message (span_warning("[usr] strokes the [name] and it melts away!"), 1)
|
||||
health = 0
|
||||
healthcheck()
|
||||
return
|
||||
visible_message("<span class='warning'>[usr] claws at the [name]!</span>")
|
||||
visible_message(span_warning("[usr] claws at the [name]!"))
|
||||
health -= rand(5,10)
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
painting = canvas
|
||||
canvas.forceMove(get_turf(src))
|
||||
canvas.layer = layer+0.1
|
||||
user.visible_message("<span class='notice'>[user] puts \the [canvas] on \the [src].</span>","<span class='notice'>You place \the [canvas] on \the [src].</span>")
|
||||
user.visible_message(span_notice("[user] puts \the [canvas] on \the [src]."),span_notice("You place \the [canvas] on \the [src]."))
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -402,40 +402,40 @@
|
||||
/obj/structure/sign/painting/examine(mob/user)
|
||||
. = ..()
|
||||
if(persistence_id)
|
||||
. += "<span class='notice'>Any painting placed here will be archived at the end of the shift.</span>"
|
||||
. += span_notice("Any painting placed here will be archived at the end of the shift.")
|
||||
|
||||
if(current_canvas)
|
||||
current_canvas.tgui_interact(user)
|
||||
. += "<span class='notice'>Use wirecutters to remove the painting.</span>"
|
||||
. += "<span class='notice'>Paintings hung here are curated based on interest. The more often someone EXAMINEs the painting, the longer it will stay in rotation.</span>"
|
||||
. += span_notice("Use wirecutters to remove the painting.")
|
||||
. += span_notice("Paintings hung here are curated based on interest. The more often someone EXAMINEs the painting, the longer it will stay in rotation.")
|
||||
// Painting loaded and persistent frame, give a hint about removal safety
|
||||
if(persistence_id)
|
||||
if(loaded)
|
||||
. += "<span class='warning'>Don't worry, the currently framed painting has already been entered into the archives and can be safely removed. It will still be used on future shifts.</span>"
|
||||
. += span_warning("Don't worry, the currently framed painting has already been entered into the archives and can be safely removed. It will still be used on future shifts.")
|
||||
back_of_the_line(user)
|
||||
else
|
||||
. += "<span class='warning'>This painting has not been entered into the archives yet. Removing it will prevent that from happening.</span>"
|
||||
. += span_warning("This painting has not been entered into the archives yet. Removing it will prevent that from happening.")
|
||||
|
||||
/obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas)
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='notice'>Access lock prevents you from putting a painting into this frame. Ask [curator] for help!</span>")
|
||||
to_chat(user, span_notice("Access lock prevents you from putting a painting into this frame. Ask [curator] for help!"))
|
||||
return
|
||||
if(user.drop_from_inventory(new_canvas, src))
|
||||
current_canvas = new_canvas
|
||||
if(!current_canvas.finalized)
|
||||
current_canvas.finalize(user)
|
||||
to_chat(user,"<span class='notice'>You frame [current_canvas].</span>")
|
||||
to_chat(user,span_notice("You frame [current_canvas]."))
|
||||
update_appearance()
|
||||
|
||||
/obj/structure/sign/painting/proc/unframe_canvas(mob/living/user)
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='notice'>Access lock prevents you from removing paintings from this frame. Ask [curator] ((or admins)) for help!</span>")
|
||||
to_chat(user, span_notice("Access lock prevents you from removing paintings from this frame. Ask [curator] ((or admins)) for help!"))
|
||||
return
|
||||
if(current_canvas)
|
||||
current_canvas.forceMove(drop_location())
|
||||
current_canvas = null
|
||||
loaded = FALSE
|
||||
to_chat(user, "<span class='notice'>You remove the painting from the frame.</span>")
|
||||
to_chat(user, span_notice("You remove the painting from the frame."))
|
||||
update_appearance()
|
||||
|
||||
/obj/structure/sign/painting/proc/try_rename(mob/user)
|
||||
@@ -649,7 +649,7 @@
|
||||
SSpersistence.all_paintings.Remove(list(entry))
|
||||
SSpersistence.all_paintings.Add(list(entry))
|
||||
art_appreciators += user.ckey
|
||||
to_chat(user, "<span class='notice'>Showing interest in this painting renews its position in the curator database.</span>")
|
||||
to_chat(user, span_notice("Showing interest in this painting renews its position in the curator database."))
|
||||
|
||||
/obj/structure/sign/painting/vv_get_dropdown()
|
||||
. = ..()
|
||||
@@ -662,7 +662,7 @@
|
||||
return
|
||||
var/mob/user = usr
|
||||
if(!persistence_id || !current_canvas)
|
||||
to_chat(user,"<span class='warning'>This is not a persistent painting.</span>")
|
||||
to_chat(user,span_warning("This is not a persistent painting."))
|
||||
return
|
||||
var/md5 = md5(lowertext(current_canvas.get_data_string()))
|
||||
var/author = current_canvas.author_ckey
|
||||
@@ -679,4 +679,4 @@
|
||||
QDEL_NULL(P.current_canvas)
|
||||
P.update_appearance()
|
||||
loaded = FALSE
|
||||
log_and_message_admins("<span class='notice'>[key_name_admin(user)] has deleted persistent painting made by [author].</span>")
|
||||
log_and_message_admins(span_notice("[key_name_admin(user)] has deleted persistent painting made by [author]."))
|
||||
|
||||
@@ -35,13 +35,13 @@
|
||||
return //hitting things with the wrong type of stack usually doesn't produce messages, and probably doesn't need to.
|
||||
if(health < maxhealth)
|
||||
if(D.get_amount() < 1)
|
||||
to_chat(user, "<span class='warning'>You need one sheet of [material.display_name] to repair \the [src].</span>")
|
||||
to_chat(user, span_warning("You need one sheet of [material.display_name] to repair \the [src]."))
|
||||
return
|
||||
visible_message("<span class='notice'>[user] begins to repair \the [src].</span>")
|
||||
visible_message(span_notice("[user] begins to repair \the [src]."))
|
||||
if(do_after(user,20) && health < maxhealth)
|
||||
if(D.use(1))
|
||||
health = maxhealth
|
||||
visible_message("<span class='notice'>[user] repairs \the [src].</span>")
|
||||
visible_message(span_notice("[user] repairs \the [src]."))
|
||||
return
|
||||
return
|
||||
else
|
||||
@@ -71,7 +71,7 @@
|
||||
return
|
||||
|
||||
/obj/structure/barricade/attack_generic(var/mob/user, var/damage, var/attack_verb)
|
||||
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_verb] the [src]!"))
|
||||
if(material == get_material_by_name("resin"))
|
||||
playsound(src, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
else if(material == (get_material_by_name(MAT_CLOTH) || get_material_by_name(MAT_SYNCLOTH)))
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
/obj/structure/barricade/proc/dismantle()
|
||||
material.place_dismantled_product(get_turf(src))
|
||||
visible_message("<span class='danger'>\The [src] falls apart!</span>")
|
||||
visible_message(span_danger("\The [src] falls apart!"))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
/obj/structure/barricade/sandbag/dismantle()
|
||||
update_connections(1, src)
|
||||
material.place_dismantled_product(get_turf(src))
|
||||
visible_message("<span class='danger'>\The [src] falls apart!</span>")
|
||||
visible_message(span_danger("\The [src] falls apart!"))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -42,9 +42,9 @@
|
||||
if(!sign_type)
|
||||
return
|
||||
icon_state = sign_type
|
||||
to_chat(user, "<span class='notice'>You change the barsign.</span>")
|
||||
to_chat(user, span_notice("You change the barsign."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
to_chat(user, span_warning("Access denied."))
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -30,9 +30,9 @@ LINEN BINS
|
||||
|
||||
/obj/item/bedsheet/attackby(obj/item/I, mob/user)
|
||||
if(is_sharp(I))
|
||||
user.visible_message("<b>\The [user]</b> begins cutting up [src] with [I].", "<span class='notice'>You begin cutting up [src] with [I].</span>")
|
||||
user.visible_message("<b>\The [user]</b> begins cutting up [src] with [I].", span_notice("You begin cutting up [src] with [I]."))
|
||||
if(do_after(user, 50))
|
||||
to_chat(user, "<span class='notice'>You cut [src] into pieces!</span>")
|
||||
to_chat(user, span_notice("You cut [src] into pieces!"))
|
||||
for(var/i in 1 to rand(2,5))
|
||||
new /obj/item/reagent_containers/glass/rag(drop_location())
|
||||
qdel(src)
|
||||
@@ -194,12 +194,12 @@ LINEN BINS
|
||||
I.loc = src
|
||||
sheets.Add(I)
|
||||
amount++
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
to_chat(user, span_notice("You put [I] in [src]."))
|
||||
else if(amount && !hidden && I.w_class < ITEMSIZE_LARGE) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
hidden = I
|
||||
to_chat(user, "<span class='notice'>You hide [I] among the sheets.</span>")
|
||||
to_chat(user, span_notice("You hide [I] among the sheets."))
|
||||
|
||||
/obj/structure/bedsheetbin/attack_hand(mob/user as mob)
|
||||
if(amount >= 1)
|
||||
@@ -215,11 +215,11 @@ LINEN BINS
|
||||
|
||||
B.loc = user.loc
|
||||
user.put_in_hands(B)
|
||||
to_chat(user, "<span class='notice'>You take [B] out of [src].</span>")
|
||||
to_chat(user, span_notice("You take [B] out of [src]."))
|
||||
|
||||
if(hidden)
|
||||
hidden.loc = user.loc
|
||||
to_chat(user, "<span class='notice'>[hidden] falls out of [B]!</span>")
|
||||
to_chat(user, span_notice("[hidden] falls out of [B]!"))
|
||||
hidden = null
|
||||
|
||||
|
||||
@@ -238,7 +238,7 @@ LINEN BINS
|
||||
B = new /obj/item/bedsheet(loc)
|
||||
|
||||
B.loc = loc
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove [B] from [src].</span>")
|
||||
to_chat(user, span_notice("You telekinetically remove [B] from [src]."))
|
||||
update_icon()
|
||||
|
||||
if(hidden)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
R.use(1)
|
||||
can_buckle = TRUE
|
||||
buckle_require_restraints = TRUE
|
||||
to_chat(user, "<span class='notice'>You add a rod to \the [src].</span>")
|
||||
to_chat(user, span_notice("You add a rod to \the [src]."))
|
||||
var/mutable_appearance/rod_underlay = mutable_appearance('icons/obj/structures.dmi', "bonfire_rod")
|
||||
rod_underlay.pixel_y = 16
|
||||
rod_underlay.appearance_flags = RESET_COLOR|PIXEL_SCALE|TILE_BOUND
|
||||
@@ -51,7 +51,7 @@
|
||||
if("Grill")
|
||||
R.use(1)
|
||||
grill = TRUE
|
||||
to_chat(user, "<span class='notice'>You add a grill to \the [src].</span>")
|
||||
to_chat(user, span_notice("You add a grill to \the [src]."))
|
||||
update_icon()
|
||||
else
|
||||
return ..()
|
||||
@@ -83,7 +83,7 @@
|
||||
user.visible_message("[user] dismantles down \the [src].", "You dismantle \the [src].")
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [src] is still burning. Extinguish it first if you want to dismantle it.</span>")
|
||||
to_chat(user, span_warning("\The [src] is still burning. Extinguish it first if you want to dismantle it."))
|
||||
|
||||
/obj/structure/bonfire/proc/get_fuel_amount()
|
||||
var/F = 0
|
||||
@@ -101,7 +101,7 @@
|
||||
if(get_fuel_amount())
|
||||
var/atom/movable/AM = pop(contents)
|
||||
AM.forceMove(get_turf(src))
|
||||
to_chat(user, "<span class='notice'>You take \the [AM] out of \the [src] before it has a chance to burn away.</span>")
|
||||
to_chat(user, span_notice("You take \the [AM] out of \the [src] before it has a chance to burn away."))
|
||||
update_icon()
|
||||
|
||||
/obj/structure/bonfire/permanent/remove_fuel(mob/user)
|
||||
@@ -109,23 +109,23 @@
|
||||
|
||||
/obj/structure/bonfire/proc/add_fuel(atom/movable/new_fuel, mob/user)
|
||||
if(get_fuel_amount() >= 10)
|
||||
to_chat(user, "<span class='warning'>\The [src] already has enough fuel!</span>")
|
||||
to_chat(user, span_warning("\The [src] already has enough fuel!"))
|
||||
return FALSE
|
||||
if(istype(new_fuel, /obj/item/stack/material/wood) || istype(new_fuel, /obj/item/stack/material/log) )
|
||||
var/obj/item/stack/F = new_fuel
|
||||
var/obj/item/stack/S = F.split(1)
|
||||
if(S)
|
||||
S.forceMove(src)
|
||||
to_chat(user, "<span class='warning'>You add \the [new_fuel] to \the [src].</span>")
|
||||
to_chat(user, span_warning("You add \the [new_fuel] to \the [src]."))
|
||||
update_icon()
|
||||
return TRUE
|
||||
return FALSE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [src] needs raw wood to burn, \a [new_fuel] won't work.</span>")
|
||||
to_chat(user, span_warning("\The [src] needs raw wood to burn, \a [new_fuel] won't work."))
|
||||
return FALSE
|
||||
|
||||
/obj/structure/bonfire/permanent/add_fuel(mob/user)
|
||||
to_chat(user, "<span class='warning'>\The [src] has plenty of fuel and doesn't need more fuel.</span>")
|
||||
to_chat(user, span_warning("\The [src] has plenty of fuel and doesn't need more fuel."))
|
||||
|
||||
/obj/structure/bonfire/proc/consume_fuel(var/obj/item/stack/consumed_fuel)
|
||||
if(!istype(consumed_fuel))
|
||||
@@ -167,7 +167,7 @@
|
||||
burning = TRUE
|
||||
update_icon()
|
||||
START_PROCESSING(SSobj, src)
|
||||
visible_message("<span class='warning'>\The [src] starts burning!</span>")
|
||||
visible_message(span_warning("\The [src] starts burning!"))
|
||||
|
||||
/obj/structure/bonfire/proc/burn()
|
||||
var/turf/current_location = get_turf(src)
|
||||
@@ -305,24 +305,24 @@
|
||||
if(get_fuel_amount())
|
||||
var/atom/movable/AM = pop(contents)
|
||||
AM.forceMove(get_turf(src))
|
||||
to_chat(user, "<span class='notice'>You take \the [AM] out of \the [src] before it has a chance to burn away.</span>")
|
||||
to_chat(user, span_notice("You take \the [AM] out of \the [src] before it has a chance to burn away."))
|
||||
update_icon()
|
||||
|
||||
/obj/structure/fireplace/proc/add_fuel(atom/movable/new_fuel, mob/user)
|
||||
if(get_fuel_amount() >= 10)
|
||||
to_chat(user, "<span class='warning'>\The [src] already has enough fuel!</span>")
|
||||
to_chat(user, span_warning("\The [src] already has enough fuel!"))
|
||||
return FALSE
|
||||
if(istype(new_fuel, /obj/item/stack/material/wood) || istype(new_fuel, /obj/item/stack/material/log) )
|
||||
var/obj/item/stack/F = new_fuel
|
||||
var/obj/item/stack/S = F.split(1)
|
||||
if(S)
|
||||
S.forceMove(src)
|
||||
to_chat(user, "<span class='warning'>You add \the [new_fuel] to \the [src].</span>")
|
||||
to_chat(user, span_warning("You add \the [new_fuel] to \the [src]."))
|
||||
update_icon()
|
||||
return TRUE
|
||||
return FALSE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [src] needs raw wood to burn, \a [new_fuel] won't work.</span>")
|
||||
to_chat(user, span_warning("\The [src] needs raw wood to burn, \a [new_fuel] won't work."))
|
||||
return FALSE
|
||||
|
||||
/obj/structure/fireplace/proc/consume_fuel(var/obj/item/stack/consumed_fuel)
|
||||
@@ -361,7 +361,7 @@
|
||||
burning = TRUE
|
||||
update_icon()
|
||||
START_PROCESSING(SSobj, src)
|
||||
visible_message("<span class='warning'>\The [src] starts burning!</span>")
|
||||
visible_message(span_warning("\The [src] starts burning!"))
|
||||
|
||||
/obj/structure/fireplace/proc/burn()
|
||||
var/turf/current_location = get_turf(src)
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
/obj/structure/catwalk/proc/deconstruct(mob/user)
|
||||
playsound(src, 'sound/items/Welder.ogg', 100, 1)
|
||||
to_chat(user, "<span class='notice'>Slicing \the [src] joints ...</span>")
|
||||
to_chat(user, span_notice("Slicing \the [src] joints ..."))
|
||||
//Lattice would delete itself, but let's save ourselves a new obj
|
||||
if(isopenspace(loc) && user.a_intent == I_HELP)
|
||||
new /obj/structure/lattice/(src.loc)
|
||||
@@ -97,21 +97,21 @@
|
||||
hatch_open = !hatch_open
|
||||
if(hatch_open)
|
||||
playsound(src, 'sound/items/Crowbar.ogg', 100, 2)
|
||||
to_chat(user, "<span class='notice'>You pry open \the [src]'s maintenance hatch.</span>")
|
||||
to_chat(user, span_notice("You pry open \the [src]'s maintenance hatch."))
|
||||
update_falling()
|
||||
else
|
||||
playsound(src, 'sound/items/Deconstruct.ogg', 100, 2)
|
||||
to_chat(user, "<span class='notice'>You shut \the [src]'s maintenance hatch.</span>")
|
||||
to_chat(user, span_notice("You shut \the [src]'s maintenance hatch."))
|
||||
update_icon()
|
||||
return
|
||||
if(istype(C, /obj/item/stack/tile/floor) && !plated_tile)
|
||||
var/obj/item/stack/tile/floor/ST = C
|
||||
to_chat(user, "<span class='notice'>Placing tile...</span>")
|
||||
to_chat(user, span_notice("Placing tile..."))
|
||||
if (!do_after(user, 10))
|
||||
return
|
||||
if(!ST.use(1))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You plate \the [src]</span>")
|
||||
to_chat(user, span_notice("You plate \the [src]"))
|
||||
name = "plated catwalk"
|
||||
plated_tile = C.type
|
||||
src.add_fingerprint(user)
|
||||
@@ -126,7 +126,7 @@
|
||||
/obj/structure/catwalk/take_damage(amount)
|
||||
health -= amount
|
||||
if(health <= 0)
|
||||
visible_message("<span class='warning'>\The [src] breaks down!</span>")
|
||||
visible_message(span_warning("\The [src] breaks down!"))
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 50, 1)
|
||||
new /obj/item/stack/rods(get_turf(src))
|
||||
Destroy()
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
user.drop_from_inventory(coat, src)
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You cannot hang [W] on [src]</span>")
|
||||
to_chat(user, span_notice("You cannot hang [W] on [src]"))
|
||||
return ..()
|
||||
|
||||
/obj/structure/coatrack/CanPass(atom/movable/mover, turf/target)
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
if(is_animating_door)
|
||||
return
|
||||
if(!(opened ? close() : open()))
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
to_chat(user, span_notice("It won't budge!"))
|
||||
return
|
||||
|
||||
// this should probably use dump_contents()
|
||||
@@ -280,11 +280,11 @@
|
||||
user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.")
|
||||
if(do_after(user, 20 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured \the [src]!</span>")
|
||||
to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!"))
|
||||
anchored = !anchored
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't reach the anchoring bolts when the door is closed!</span>")
|
||||
to_chat(user, span_notice("You can't reach the anchoring bolts when the door is closed!"))
|
||||
else if(opened)
|
||||
if(istype(W, /obj/item/grab))
|
||||
var/obj/item/grab/G = W
|
||||
@@ -298,12 +298,12 @@
|
||||
if(!WT.isOn())
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
|
||||
to_chat(user, span_notice("You need more welding fuel to complete this task."))
|
||||
return
|
||||
playsound(src, WT.usesound, 50)
|
||||
new /obj/item/stack/material/steel(loc)
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='notice'>\The [src] has been cut apart by [user] with \the [WT].</span>", 3, "You hear welding.", 2)
|
||||
M.show_message(span_notice("\The [src] has been cut apart by [user] with \the [WT]."), 3, "You hear welding.", 2)
|
||||
qdel(src)
|
||||
return
|
||||
if(istype(W, /obj/item/storage/laundry_basket) && W.contents.len)
|
||||
@@ -311,9 +311,9 @@
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/obj/item/I in LB.contents)
|
||||
LB.remove_from_storage(I, T)
|
||||
user.visible_message("<span class='notice'>[user] empties \the [LB] into \the [src].</span>", \
|
||||
"<span class='notice'>You empty \the [LB] into \the [src].</span>", \
|
||||
"<span class='notice'>You hear rustling of clothes.</span>")
|
||||
user.visible_message(span_notice("[user] empties \the [LB] into \the [src]."), \
|
||||
span_notice("You empty \the [LB] into \the [src]."), \
|
||||
span_notice("You hear rustling of clothes."))
|
||||
return
|
||||
if(isrobot(user))
|
||||
return
|
||||
@@ -333,14 +333,14 @@
|
||||
if(!WT.isOn())
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
|
||||
to_chat(user, span_notice("You need more welding fuel to complete this task."))
|
||||
return
|
||||
if(do_after(user, 20 * S.toolspeed))
|
||||
playsound(src, S.usesound, 50)
|
||||
sealed = !sealed
|
||||
update_icon()
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>[src] has been [sealed?"sealed":"unsealed"] by [user.name].</span>", 3)
|
||||
M.show_message(span_warning("[src] has been [sealed?"sealed":"unsealed"] by [user.name]."), 3)
|
||||
else
|
||||
attack_hand(user)
|
||||
return
|
||||
@@ -362,7 +362,7 @@
|
||||
return
|
||||
step_towards(O, loc)
|
||||
if(user != O)
|
||||
user.show_viewers("<span class='danger'>[user] stuffs [O] into [src]!</span>")
|
||||
user.show_viewers(span_danger("[user] stuffs [O] into [src]!"))
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
@@ -375,7 +375,7 @@
|
||||
return
|
||||
|
||||
if(!open())
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
to_chat(user, span_notice("It won't budge!"))
|
||||
|
||||
/obj/structure/closet/attack_hand(mob/user as mob)
|
||||
add_fingerprint(user)
|
||||
@@ -385,7 +385,7 @@
|
||||
/obj/structure/closet/attack_self_tk(mob/user as mob)
|
||||
add_fingerprint(user)
|
||||
if(!toggle())
|
||||
to_chat(usr, "<span class='notice'>It won't budge!</span>")
|
||||
to_chat(usr, span_notice("It won't budge!"))
|
||||
|
||||
/obj/structure/closet/verb/verb_toggleopen()
|
||||
set src in oview(1)
|
||||
@@ -404,9 +404,9 @@
|
||||
add_fingerprint(usr)
|
||||
toggle(usr)
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>") //VOREStation Addition End
|
||||
to_chat(usr, span_warning("This mob type can't use this verb.")) //VOREStation Addition End
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
|
||||
to_chat(usr, span_warning("This mob type can't use this verb."))
|
||||
|
||||
/obj/structure/closet/update_icon()
|
||||
if(opened)
|
||||
@@ -418,7 +418,7 @@
|
||||
if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD)
|
||||
return
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user] [attack_message] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_message] the [src]!"))
|
||||
dump_contents()
|
||||
spawn(1) qdel(src)
|
||||
return 1
|
||||
@@ -437,9 +437,9 @@
|
||||
escapee.setClickCooldown(100)
|
||||
|
||||
//okay, so the closet is either sealed or locked... resist!!!
|
||||
to_chat(escapee, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)</span>")
|
||||
to_chat(escapee, span_warning("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time] minutes)"))
|
||||
|
||||
visible_message("<span class='danger'>\The [src] begins to shake violently!</span>")
|
||||
visible_message(span_danger("\The [src] begins to shake violently!"))
|
||||
|
||||
breakout = 1 //can't think of a better way to do this right now.
|
||||
for(var/i in 1 to (6*breakout_time * 2)) //minutes * 6 * 5seconds * 2
|
||||
@@ -460,8 +460,8 @@
|
||||
|
||||
//Well then break it!
|
||||
breakout = 0
|
||||
to_chat(escapee, "<span class='warning'>You successfully break out!</span>")
|
||||
visible_message("<span class='danger'>\The [escapee] successfully broke out of \the [src]!</span>")
|
||||
to_chat(escapee, span_warning("You successfully break out!"))
|
||||
visible_message(span_danger("\The [escapee] successfully broke out of \the [src]!"))
|
||||
playsound(src, breakout_sound, 100, 1)
|
||||
break_open()
|
||||
animate_shake()
|
||||
@@ -556,7 +556,7 @@
|
||||
return
|
||||
|
||||
if(!(usr in src.contents))
|
||||
to_chat(usr, "<span class='warning'>You need to be inside \the [src] to do this.</span>")
|
||||
to_chat(usr, span_warning("You need to be inside \the [src] to do this."))
|
||||
return
|
||||
|
||||
var/list/targets = list() //IF IT IS NOT BROKEN. DO NOT FIX IT.
|
||||
@@ -570,7 +570,7 @@
|
||||
targets += L
|
||||
|
||||
if(targets == 0)
|
||||
to_chat(src, "<span class='notice'>No eligible targets found.</span>")
|
||||
to_chat(src, span_notice("No eligible targets found."))
|
||||
return
|
||||
|
||||
var/mob/living/target = tgui_input_list(usr, "Please select a target.", "Victim", targets)
|
||||
@@ -579,11 +579,11 @@
|
||||
return
|
||||
|
||||
if(!istype(target, /mob/living)) //Safety.
|
||||
to_chat(src, "<span class='warning'>You need to select a living target!</span>")
|
||||
to_chat(src, span_warning("You need to select a living target!"))
|
||||
return
|
||||
|
||||
if (get_dist(src,target) >= 1 || get_dist(src,usr) >= 1) //in case they leave the locker
|
||||
to_chat(src, "<span class='warning'>You are no longer both in \the [src].</span>")
|
||||
to_chat(src, span_warning("You are no longer both in \the [src]."))
|
||||
return
|
||||
|
||||
playsound(src, vore_sound, 25)
|
||||
|
||||
@@ -25,15 +25,15 @@
|
||||
|
||||
/obj/structure/closet/grave/attack_hand(mob/user as mob)
|
||||
if(opened)
|
||||
visible_message("<span class='notice'>[user] starts to climb into \the [src.name].</span>", \
|
||||
"<span class='notice'>You start to lower yourself into \the [src.name].</span>")
|
||||
visible_message(span_notice("[user] starts to climb into \the [src.name]."), \
|
||||
span_notice("You start to lower yourself into \the [src.name]."))
|
||||
if(do_after(user, 50))
|
||||
user.forceMove(src.loc)
|
||||
visible_message("<span class='notice'>[user] climbs into \the [src.name].</span>", \
|
||||
"<span class='notice'>You climb into \the [src.name].</span>")
|
||||
visible_message(span_notice("[user] climbs into \the [src.name]."), \
|
||||
span_notice("You climb into \the [src.name]."))
|
||||
else
|
||||
visible_message("<span class='notice'>[user] decides not to climb into \the [src.name].</span>", \
|
||||
"<span class='notice'>You stop climbing into \the [src.name].</span>")
|
||||
visible_message(span_notice("[user] decides not to climb into \the [src.name]."), \
|
||||
span_notice("You stop climbing into \the [src.name]."))
|
||||
return
|
||||
|
||||
/obj/structure/closet/grave/CanPass(atom/movable/mover, turf/target)
|
||||
@@ -43,19 +43,19 @@
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.m_intent == "walk")
|
||||
to_chat(H, "<span class='warning'>You stop at the edge of \the [src.name].</span>")
|
||||
to_chat(H, span_warning("You stop at the edge of \the [src.name]."))
|
||||
return FALSE
|
||||
else
|
||||
to_chat(H, "<span class='warning'>You fall into \the [src.name]!</span>")
|
||||
to_chat(H, span_warning("You fall into \the [src.name]!"))
|
||||
fall_in(H)
|
||||
return TRUE
|
||||
if(isrobot(M))
|
||||
var/mob/living/silicon/robot/R = M
|
||||
if(R.a_intent == I_HELP)
|
||||
to_chat(R, "<span class='warning'>You stop at the edge of \the [src.name].</span>")
|
||||
to_chat(R, span_warning("You stop at the edge of \the [src.name]."))
|
||||
return FALSE
|
||||
else
|
||||
to_chat(R, "<span class='warning'>You enter \the [src.name].</span>")
|
||||
to_chat(R, span_warning("You enter \the [src.name]."))
|
||||
return TRUE
|
||||
return TRUE //Everything else can move over the graves
|
||||
|
||||
@@ -69,17 +69,17 @@
|
||||
/obj/structure/closet/grave/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(src.opened)
|
||||
if(istype(W, /obj/item/shovel))
|
||||
user.visible_message("<span class='notice'>[user] piles dirt into \the [src.name].</span>", \
|
||||
"<span class='notice'>You start to pile dirt into \the [src.name].</span>", \
|
||||
"<span class='notice'>You hear dirt being moved.</span>")
|
||||
user.visible_message(span_notice("[user] piles dirt into \the [src.name]."), \
|
||||
span_notice("You start to pile dirt into \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
user.visible_message("<span class='notice'>[user] pats down the dirt on top of \the [src.name].</span>", \
|
||||
"<span class='notice'>You finish filling in \the [src.name].</span>")
|
||||
user.visible_message(span_notice("[user] pats down the dirt on top of \the [src.name]."), \
|
||||
span_notice("You finish filling in \the [src.name]."))
|
||||
close()
|
||||
return
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] stops filling in \the [src.name].</span>", \
|
||||
"<span class='notice'>You change your mind and stop filling in \the [src.name].</span>")
|
||||
user.visible_message(span_notice("[user] stops filling in \the [src.name]."), \
|
||||
span_notice("You change your mind and stop filling in \the [src.name]."))
|
||||
return
|
||||
if(istype(W, /obj/item/grab))
|
||||
var/obj/item/grab/G = W
|
||||
@@ -92,9 +92,9 @@
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/obj/item/I in LB.contents)
|
||||
LB.remove_from_storage(I, T)
|
||||
user.visible_message("<span class='notice'>[user] empties \the [LB] into \the [src].</span>", \
|
||||
"<span class='notice'>You empty \the [LB] into \the [src].</span>", \
|
||||
"<span class='notice'>You hear rustling of clothes.</span>")
|
||||
user.visible_message(span_notice("[user] empties \the [LB] into \the [src]."), \
|
||||
span_notice("You empty \the [LB] into \the [src]."), \
|
||||
span_notice("You hear rustling of clothes."))
|
||||
return
|
||||
if(isrobot(user))
|
||||
return
|
||||
@@ -106,33 +106,33 @@
|
||||
else
|
||||
if(istype(W, /obj/item/shovel))
|
||||
if(user.a_intent == I_HURT) // Hurt intent means you're trying to kill someone, or just get rid of the grave
|
||||
user.visible_message("<span class='notice'>[user] begins to smoothe out the dirt of \the [src.name].</span>", \
|
||||
"<span class='notice'>You start to smoothe out the dirt of \the [src.name].</span>", \
|
||||
"<span class='notice'>You hear dirt being moved.</span>")
|
||||
user.visible_message(span_notice("[user] begins to smoothe out the dirt of \the [src.name]."), \
|
||||
span_notice("You start to smoothe out the dirt of \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
user.visible_message("<span class='notice'>[user] finishes smoothing out \the [src.name].</span>", \
|
||||
"<span class='notice'>You finish smoothing out \the [src.name].</span>")
|
||||
user.visible_message(span_notice("[user] finishes smoothing out \the [src.name]."), \
|
||||
span_notice("You finish smoothing out \the [src.name]."))
|
||||
if(LAZYLEN(contents))
|
||||
alpha = 40 // If we've got stuff inside, like maybe a person, just make it hard to see us
|
||||
else
|
||||
qdel(src) // Else, go away
|
||||
return
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] stops concealing \the [src.name].</span>", \
|
||||
"<span class='notice'>You stop concealing \the [src.name].</span>")
|
||||
user.visible_message(span_notice("[user] stops concealing \the [src.name]."), \
|
||||
span_notice("You stop concealing \the [src.name]."))
|
||||
return
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] begins to unearth \the [src.name].</span>", \
|
||||
"<span class='notice'>You start to unearth \the [src.name].</span>", \
|
||||
"<span class='notice'>You hear dirt being moved.</span>")
|
||||
user.visible_message(span_notice("[user] begins to unearth \the [src.name]."), \
|
||||
span_notice("You start to unearth \the [src.name]."), \
|
||||
span_notice("You hear dirt being moved."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
user.visible_message("<span class='notice'>[user] reaches the bottom of \the [src.name].</span>", \
|
||||
"<span class='notice'>You finish digging out \the [src.name].</span>")
|
||||
user.visible_message(span_notice("[user] reaches the bottom of \the [src.name]."), \
|
||||
span_notice("You finish digging out \the [src.name]."))
|
||||
break_open()
|
||||
return
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] stops digging out \the [src.name].</span>", \
|
||||
"<span class='notice'>You stop digging out \the [src.name].</span>")
|
||||
user.visible_message(span_notice("[user] stops digging out \the [src.name]."), \
|
||||
span_notice("You stop digging out \the [src.name]."))
|
||||
return
|
||||
return
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
if(large)
|
||||
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>")
|
||||
to_chat(user, span_notice("The locker is too small to stuff [G.affecting] into!"))
|
||||
if(isrobot(user))
|
||||
return
|
||||
if(W.loc != user) // This should stop mounted modules ending up outside the module.
|
||||
@@ -60,7 +60,7 @@
|
||||
var/obj/item/card/id/I = W.GetID()
|
||||
|
||||
if(src.broken)
|
||||
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
|
||||
to_chat(user, span_warning("It appears to be broken."))
|
||||
return
|
||||
if(!I || !I.registered_name) return
|
||||
if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
|
||||
@@ -71,7 +71,7 @@
|
||||
src.registered_name = I.registered_name
|
||||
src.desc = "Owned by [I.registered_name]."
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access Denied</span>")
|
||||
to_chat(user, span_warning("Access Denied"))
|
||||
else if(istype(W, /obj/item/melee/energy/blade))
|
||||
if(emag_act(INFINITY, user, "The locker has been sliced open by [user] with \an [W]!", "You hear metal being sliced and sparks flying."))
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
@@ -80,7 +80,7 @@
|
||||
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
|
||||
playsound(src, "sparks", 50, 1)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access Denied</span>")
|
||||
to_chat(user, span_warning("Access Denied"))
|
||||
update_icon()
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/emag_act(var/remaining_charges, var/mob/user, var/visual_feedback, var/audible_feedback)
|
||||
@@ -90,7 +90,7 @@
|
||||
desc = "It appears to be broken."
|
||||
update_icon()
|
||||
if(visual_feedback)
|
||||
visible_message("<span class='warning'>[visual_feedback]</span>", "<span class='warning'>[audible_feedback]</span>")
|
||||
visible_message(span_warning("[visual_feedback]"), span_warning("[audible_feedback]"))
|
||||
return 1
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/verb/reset()
|
||||
@@ -102,9 +102,9 @@
|
||||
if(ishuman(usr))
|
||||
src.add_fingerprint(usr)
|
||||
if (src.locked || !src.registered_name)
|
||||
to_chat(usr, "<span class='warning'>You need to unlock it first.</span>")
|
||||
to_chat(usr, span_warning("You need to unlock it first."))
|
||||
else if (src.broken)
|
||||
to_chat(usr, "<span class='warning'>It appears to be broken.</span>")
|
||||
to_chat(usr, span_warning("It appears to be broken."))
|
||||
else
|
||||
if (src.opened)
|
||||
if(!src.close())
|
||||
|
||||
@@ -35,23 +35,23 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/proc/togglelock(mob/user as mob)
|
||||
if(opened)
|
||||
to_chat(user, "<span class='notice'>Close the locker first.</span>")
|
||||
to_chat(user, span_notice("Close the locker first."))
|
||||
return
|
||||
if(broken)
|
||||
to_chat(user, "<span class='warning'>The locker appears to be broken.</span>")
|
||||
to_chat(user, span_warning("The locker appears to be broken."))
|
||||
return
|
||||
if(user.loc == src)
|
||||
to_chat(user, "<span class='notice'>You can't reach the lock from inside.</span>")
|
||||
to_chat(user, span_notice("You can't reach the lock from inside."))
|
||||
return
|
||||
if(allowed(user))
|
||||
locked = !locked
|
||||
playsound(src, 'sound/machines/click.ogg', 15, 1, -3)
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
if((O.client && !( O.blinded )))
|
||||
to_chat(O, "<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>")
|
||||
to_chat(O, span_notice("The locker has been [locked ? null : "un"]locked by [user]."))
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Access Denied</span>")
|
||||
to_chat(user, span_notice("Access Denied"))
|
||||
|
||||
/obj/structure/closet/secure_closet/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(W.has_tool_quality(TOOL_WRENCH))
|
||||
@@ -62,11 +62,11 @@
|
||||
user.visible_message("\The [user] begins securing \the [src] to the floor.", "You start securing \the [src] to the floor.")
|
||||
if(do_after(user, 20 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured \the [src]!</span>")
|
||||
to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!"))
|
||||
anchored = !anchored
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't reach the anchoring bolts when the door is closed!</span>")
|
||||
to_chat(user, span_notice("You can't reach the anchoring bolts when the door is closed!"))
|
||||
else if(opened)
|
||||
if(istype(W, /obj/item/storage/laundry_basket))
|
||||
return ..(W,user)
|
||||
@@ -75,7 +75,7 @@
|
||||
if(large)
|
||||
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The locker is too small to stuff [G.affecting] into!</span>")
|
||||
to_chat(user, span_notice("The locker is too small to stuff [G.affecting] into!"))
|
||||
if(isrobot(user))
|
||||
return
|
||||
if(W.loc != user) // This should stop mounted modules ending up outside the module.
|
||||
@@ -84,7 +84,7 @@
|
||||
if(W)
|
||||
W.forceMove(loc)
|
||||
else if(istype(W, /obj/item/melee/energy/blade))
|
||||
if(emag_act(INFINITY, user, "<span class='danger'>The locker has been sliced open by [user] with \an [W]</span>!", "<span class='danger'>You hear metal being sliced and sparks flying.</span>"))
|
||||
if(emag_act(INFINITY, user, span_danger("The locker has been sliced open by [user] with \an [W]!"), span_danger("You hear metal being sliced and sparks flying.")))
|
||||
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
spark_system.set_up(5, 0, loc)
|
||||
spark_system.start()
|
||||
@@ -104,9 +104,9 @@
|
||||
if(visual_feedback)
|
||||
visible_message(visual_feedback, audible_feedback)
|
||||
else if(user && emag_source)
|
||||
visible_message("<span class='warning'>\The [src] has been broken by \the [user] with \an [emag_source]!</span>", "You hear a faint electrical spark.")
|
||||
visible_message(span_warning("\The [src] has been broken by \the [user] with \an [emag_source]!"), "You hear a faint electrical spark.")
|
||||
else
|
||||
visible_message("<span class='warning'>\The [src] sparks and breaks open!</span>", "You hear a faint electrical spark.")
|
||||
visible_message(span_warning("\The [src] sparks and breaks open!"), "You hear a faint electrical spark.")
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
add_fingerprint(usr)
|
||||
togglelock(usr)
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
|
||||
to_chat(usr, span_warning("This mob type can't use this verb."))
|
||||
|
||||
/obj/structure/closet/secure_closet/update_icon()
|
||||
if(opened)
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob)
|
||||
health -= I.force
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user] strikes [src] with [I].</span>")
|
||||
visible_message(span_danger("[user] strikes [src] with [I]."))
|
||||
check_health()
|
||||
|
||||
/obj/structure/closet/statue/MouseDrop_T()
|
||||
@@ -128,5 +128,5 @@
|
||||
if (user)
|
||||
user.dust()
|
||||
dump_contents()
|
||||
visible_message("<span class='warning'>[src] shatters!.</span>")
|
||||
visible_message(span_warning("[src] shatters!."))
|
||||
qdel(src)
|
||||
|
||||
@@ -115,21 +115,21 @@
|
||||
else if(istype(W, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/C = W
|
||||
if(rigged)
|
||||
to_chat(user, "<span class='notice'>[src] is already rigged!</span>")
|
||||
to_chat(user, span_notice("[src] is already rigged!"))
|
||||
return
|
||||
if (C.use(1))
|
||||
to_chat(user , "<span class='notice'>You rig [src].</span>")
|
||||
to_chat(user , span_notice("You rig [src]."))
|
||||
rigged = 1
|
||||
return
|
||||
else if(istype(W, /obj/item/radio/electropack))
|
||||
if(rigged)
|
||||
to_chat(user , "<span class='notice'>You attach [W] to [src].</span>")
|
||||
to_chat(user , span_notice("You attach [W] to [src]."))
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
return
|
||||
else if(W.has_tool_quality(TOOL_WIRECUTTER))
|
||||
if(rigged)
|
||||
to_chat(user , "<span class='notice'>You cut away the wiring.</span>")
|
||||
to_chat(user , span_notice("You cut away the wiring."))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
rigged = 0
|
||||
return
|
||||
@@ -179,15 +179,15 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/proc/togglelock(mob/user as mob)
|
||||
if(src.opened)
|
||||
to_chat(user, "<span class='notice'>Close the crate first.</span>")
|
||||
to_chat(user, span_notice("Close the crate first."))
|
||||
return
|
||||
if(src.broken)
|
||||
to_chat(user, "<span class='warning'>The crate appears to be broken.</span>")
|
||||
to_chat(user, span_warning("The crate appears to be broken."))
|
||||
return
|
||||
if(src.allowed(user))
|
||||
set_locked(!locked, user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Access Denied</span>")
|
||||
to_chat(user, span_notice("Access Denied"))
|
||||
|
||||
/obj/structure/closet/crate/secure/proc/set_locked(var/newlocked, mob/user = null)
|
||||
if(locked == newlocked) return
|
||||
@@ -195,7 +195,7 @@
|
||||
locked = newlocked
|
||||
if(user)
|
||||
for(var/mob/O in viewers(user, 3))
|
||||
O.show_message( "<span class='notice'>The crate has been [locked ? null : "un"]locked by [user].</span>", 1)
|
||||
O.show_message( span_notice("The crate has been [locked ? null : "un"]locked by [user]."), 1)
|
||||
update_icon()
|
||||
|
||||
/obj/structure/closet/crate/secure/verb/verb_togglelock()
|
||||
@@ -210,7 +210,7 @@
|
||||
src.add_fingerprint(usr)
|
||||
src.togglelock(usr)
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>This mob type can't use this verb.</span>")
|
||||
to_chat(usr, span_warning("This mob type can't use this verb."))
|
||||
|
||||
/obj/structure/closet/crate/secure/attack_hand(mob/user as mob)
|
||||
src.add_fingerprint(user)
|
||||
@@ -234,7 +234,7 @@
|
||||
playsound(src, "sparks", 60, 1)
|
||||
locked = 0
|
||||
broken = 1
|
||||
to_chat(user, "<span class='notice'>You unlock \the [src].</span>")
|
||||
to_chat(user, span_notice("You unlock \the [src]."))
|
||||
update_icon()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -18,13 +18,13 @@
|
||||
update_icon()
|
||||
|
||||
/obj/structure/largecrate/attack_hand(mob/user as mob)
|
||||
to_chat(user, "<span class='notice'>You need a crowbar to pry this open!</span>")
|
||||
to_chat(user, span_notice("You need a crowbar to pry this open!"))
|
||||
return
|
||||
|
||||
/obj/structure/largecrate/attackby(obj/item/W as obj, mob/user as mob)
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
to_chat(user, "<span class='notice'>You can't open this here!</span>")
|
||||
to_chat(user, span_notice("You can't open this here!"))
|
||||
if(W.has_tool_quality(TOOL_CROWBAR))
|
||||
new /obj/item/stack/material/wood(src)
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
AMBLINAL.ghostjoin_icon()
|
||||
active_ghost_pods |= AMBLINAL
|
||||
//VOREStation Add End
|
||||
user.visible_message("<span class='notice'>[user] pries \the [src] open.</span>", \
|
||||
"<span class='notice'>You pry open \the [src].</span>", \
|
||||
"<span class='notice'>You hear splitting wood.</span>")
|
||||
user.visible_message(span_notice("[user] pries \the [src] open."), \
|
||||
span_notice("You pry open \the [src]."), \
|
||||
span_notice("You hear splitting wood."))
|
||||
qdel(src)
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
var/turf/T = get_turf(src)
|
||||
for(var/atom/movable/AM in contents)
|
||||
if(AM.simulated) AM.forceMove(T)
|
||||
user.visible_message("<span class='notice'>[user] pries \the [src] open.</span>", \
|
||||
"<span class='notice'>You pry open \the [src].</span>", \
|
||||
"<span class='notice'>You hear splitting wood.</span>")
|
||||
user.visible_message(span_notice("[user] pries \the [src] open."), \
|
||||
span_notice("You pry open \the [src]."), \
|
||||
span_notice("You hear splitting wood."))
|
||||
qdel(src)
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
/obj/structure/vehiclecage/examine(mob/user)
|
||||
. = ..()
|
||||
if(my_vehicle)
|
||||
. += "<span class='notice'>It seems to contain \the [my_vehicle].</span>"
|
||||
. += span_notice("It seems to contain \the [my_vehicle].")
|
||||
|
||||
/obj/structure/vehiclecage/Initialize()
|
||||
. = ..()
|
||||
@@ -24,21 +24,21 @@
|
||||
update_icon()
|
||||
|
||||
/obj/structure/vehiclecage/attack_hand(mob/user as mob)
|
||||
to_chat(user, "<span class='notice'>You need a wrench to take this apart!</span>")
|
||||
to_chat(user, span_notice("You need a wrench to take this apart!"))
|
||||
return
|
||||
|
||||
/obj/structure/vehiclecage/attackby(obj/item/W as obj, mob/user as mob)
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
to_chat(user, "<span class='notice'>You can't open this here!</span>")
|
||||
to_chat(user, span_notice("You can't open this here!"))
|
||||
if(W.has_tool_quality(TOOL_WRENCH) && do_after(user, 60 * W.toolspeed, src))
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
disassemble(W, user)
|
||||
user.visible_message("<span class='notice'>[user] begins loosening \the [src]'s bolts.</span>")
|
||||
user.visible_message(span_notice("[user] begins loosening \the [src]'s bolts."))
|
||||
if(W.has_tool_quality(TOOL_WIRECUTTER) && do_after(user, 70 * W.toolspeed, src))
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
disassemble(W, user)
|
||||
user.visible_message("<span class='notice'>[user] begins cutting \the [src]'s bolts.</span>")
|
||||
user.visible_message(span_notice("[user] begins cutting \the [src]'s bolts."))
|
||||
else
|
||||
return attack_hand(user)
|
||||
|
||||
@@ -72,9 +72,9 @@
|
||||
|
||||
/obj/structure/vehiclecage/proc/load_vehicle(var/obj/vehicle/V, mob/user as mob)
|
||||
if(user)
|
||||
user.visible_message("<span class='notice'>[user] loads \the [V] into \the [src].</span>", \
|
||||
"<span class='notice'>You load \the [V] into \the [src].</span>", \
|
||||
"<span class='notice'>You hear creaking metal.</span>")
|
||||
user.visible_message(span_notice("[user] loads \the [V] into \the [src]."), \
|
||||
span_notice("You load \the [V] into \the [src]."), \
|
||||
span_notice("You hear creaking metal."))
|
||||
|
||||
V.forceMove(src)
|
||||
|
||||
@@ -91,9 +91,9 @@
|
||||
AM.forceMove(T)
|
||||
|
||||
my_vehicle = null
|
||||
user.visible_message("<span class='notice'>[user] release \the [src].</span>", \
|
||||
"<span class='notice'>You finally release \the [src].</span>", \
|
||||
"<span class='notice'>You hear creaking metal.</span>")
|
||||
user.visible_message(span_notice("[user] release \the [src]."), \
|
||||
span_notice("You finally release \the [src]."), \
|
||||
span_notice("You hear creaking metal."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/vehiclecage/spacebike
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/obj/structure/curtain/bullet_act(obj/item/projectile/P, def_zone)
|
||||
if(!P.nodamage)
|
||||
visible_message("<span class='warning'>[P] tears [src] down!</span>")
|
||||
visible_message(span_warning("[P] tears [src] down!"))
|
||||
qdel(src)
|
||||
else
|
||||
..(P, def_zone)
|
||||
@@ -40,9 +40,9 @@
|
||||
/obj/structure/curtain/attackby(obj/item/P, mob/user)
|
||||
if(P.has_tool_quality(TOOL_WIRECUTTER))
|
||||
playsound(src, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You start to cut the shower curtains.</span>")
|
||||
to_chat(user, span_notice("You start to cut the shower curtains."))
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, "<span class='notice'>You cut the shower curtains.</span>")
|
||||
to_chat(user, span_notice("You cut the shower curtains."))
|
||||
new /obj/item/stack/material/plastic(src.loc, 3)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
to_chat(user, span_blue("You unsecure \the [src]."))
|
||||
if(O.has_tool_quality(TOOL_WRENCH))
|
||||
playsound(src, O.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>Now disassembling \the [src]...</span>")
|
||||
to_chat(user, span_notice("Now disassembling \the [src]..."))
|
||||
if(do_after(user, 30 * O.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You dissasembled \the [src]!</span>")
|
||||
to_chat(user, span_notice("You dissasembled \the [src]!"))
|
||||
new /obj/item/stack/material/steel(src.loc, 1)
|
||||
qdel(src)
|
||||
|
||||
@@ -66,16 +66,16 @@
|
||||
/obj/structure/displaycase/attack_hand(mob/user as mob)
|
||||
if (src.destroyed && src.occupied)
|
||||
new /obj/item/gun/energy/captain( src.loc )
|
||||
to_chat(user, "<span class='notice'>You deactivate the hover field built into the case.</span>")
|
||||
to_chat(user, span_notice("You deactivate the hover field built into the case."))
|
||||
src.occupied = 0
|
||||
src.add_fingerprint(user)
|
||||
update_icon()
|
||||
return
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You kick the display case.</span>")
|
||||
to_chat(usr, span_warning("You kick the display case."))
|
||||
for(var/mob/O in oviewers())
|
||||
if ((O.client && !( O.blinded )))
|
||||
to_chat(O, "<span class='warning'>[usr] kicks the display case.</span>")
|
||||
to_chat(O, span_warning("[usr] kicks the display case."))
|
||||
src.health -= 2
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.")
|
||||
if(do_after(user, 4 SECONDS * WT.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "<span class='notice'>You welded the [glass] plating off!</span>")
|
||||
to_chat(user, span_notice("You welded the [glass] plating off!"))
|
||||
var/M = text2path("/obj/item/stack/material/[glass]")
|
||||
new M(src.loc, 2)
|
||||
glass = 0
|
||||
@@ -186,18 +186,18 @@
|
||||
user.visible_message("[user] welds the glass panel out of the airlock assembly.", "You start to weld the glass panel out of the airlock assembly.")
|
||||
if(do_after(user, 4 SECONDS * WT.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "<span class='notice'>You welded the glass panel out!</span>")
|
||||
to_chat(user, span_notice("You welded the glass panel out!"))
|
||||
new /obj/item/stack/material/glass/reinforced(src.loc)
|
||||
glass = 0
|
||||
else if(!anchored)
|
||||
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
|
||||
if(do_after(user, 4 SECONDS * WT.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user, "<span class='notice'>You dissasembled the airlock assembly!</span>")
|
||||
to_chat(user, span_notice("You dissasembled the airlock assembly!"))
|
||||
new /obj/item/stack/material/steel(src.loc, 4)
|
||||
qdel (src)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel.</span>")
|
||||
to_chat(user, span_notice("You need more welding fuel."))
|
||||
return
|
||||
|
||||
else if(W.has_tool_quality(TOOL_WRENCH) && state == 0)
|
||||
@@ -209,19 +209,19 @@
|
||||
|
||||
if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured the airlock assembly!</span>")
|
||||
to_chat(user, span_notice("You [anchored? "un" : ""]secured the airlock assembly!"))
|
||||
anchored = !anchored
|
||||
|
||||
else if(istype(W, /obj/item/stack/cable_coil) && state == 0 && anchored)
|
||||
var/obj/item/stack/cable_coil/C = W
|
||||
if (C.get_amount() < 1)
|
||||
to_chat(user, "<span class='warning'>You need one length of coil to wire the airlock assembly.</span>")
|
||||
to_chat(user, span_warning("You need one length of coil to wire the airlock assembly."))
|
||||
return
|
||||
user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly.")
|
||||
if(do_after(user, 4 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) && state == 0 && anchored)
|
||||
if (C.use(1))
|
||||
src.state = 1
|
||||
to_chat(user, "<span class='notice'>You wire the airlock.</span>")
|
||||
to_chat(user, span_notice("You wire the airlock."))
|
||||
|
||||
else if(W.has_tool_quality(TOOL_WIRECUTTER) && state == 1 )
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
@@ -229,7 +229,7 @@
|
||||
|
||||
if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You cut the airlock wires.!</span>")
|
||||
to_chat(user, span_notice("You cut the airlock wires.!"))
|
||||
new/obj/item/stack/cable_coil(src.loc, 1)
|
||||
src.state = 0
|
||||
|
||||
@@ -241,14 +241,14 @@
|
||||
if(!src) return
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
to_chat(user, "<span class='notice'>You installed the airlock electronics!</span>")
|
||||
to_chat(user, span_notice("You installed the airlock electronics!"))
|
||||
src.state = 2
|
||||
src.electronics = W
|
||||
|
||||
else if(W.has_tool_quality(TOOL_CROWBAR) && state == 2 )
|
||||
//This should never happen, but just in case I guess
|
||||
if (!electronics)
|
||||
to_chat(user, "<span class='notice'>There was nothing to remove.</span>")
|
||||
to_chat(user, span_notice("There was nothing to remove."))
|
||||
src.state = 1
|
||||
return
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
|
||||
if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You removed the airlock electronics!</span>")
|
||||
to_chat(user, span_notice("You removed the airlock electronics!"))
|
||||
src.state = 1
|
||||
electronics.loc = src.loc
|
||||
electronics = null
|
||||
@@ -272,7 +272,7 @@
|
||||
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
|
||||
if(do_after(user, 4 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) && !glass)
|
||||
if (S.use(1))
|
||||
to_chat(user, "<span class='notice'>You installed reinforced glass windows into the airlock assembly.</span>")
|
||||
to_chat(user, span_notice("You installed reinforced glass windows into the airlock assembly."))
|
||||
glass = 1
|
||||
else if(material_name)
|
||||
// Ugly hack, will suffice for now. Need to fix it upstream as well, may rewrite mineral walls. ~Z
|
||||
@@ -284,16 +284,16 @@
|
||||
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
|
||||
if(do_after(user, 4 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE) && !glass)
|
||||
if (S.use(2))
|
||||
to_chat(user, "<span class='notice'>You installed [material_display_name(material_name)] plating into the airlock assembly.</span>")
|
||||
to_chat(user, span_notice("You installed [material_display_name(material_name)] plating into the airlock assembly."))
|
||||
glass = material_name
|
||||
|
||||
else if(W.has_tool_quality(TOOL_SCREWDRIVER) && state == 2 )
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now finishing the airlock.</span>")
|
||||
to_chat(user, span_notice("Now finishing the airlock."))
|
||||
|
||||
if(do_after(user, 4 SECONDS * W.toolspeed, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You finish the airlock!</span>")
|
||||
to_chat(user, span_notice("You finish the airlock!"))
|
||||
var/path
|
||||
if(istext(glass))
|
||||
path = text2path("/obj/machinery/door/airlock/[glass]")
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
visible_message("\The [src] pops open!")
|
||||
else
|
||||
for(var/mob/M in src)
|
||||
to_chat(M, "<span class='danger'>You've landed! Open the hatch if you think it's safe! \The [src] has enough air to last for a while...</span>")
|
||||
to_chat(M, span_danger("You've landed! Open the hatch if you think it's safe! \The [src] has enough air to last for a while..."))
|
||||
|
||||
/obj/structure/drop_pod/proc/open_pod()
|
||||
if(finished)
|
||||
@@ -103,7 +103,7 @@
|
||||
/obj/structure/drop_pod/attack_hand(mob/living/user)
|
||||
if(istype(user) && (Adjacent(user) || (user in src)) && !user.incapacitated())
|
||||
if(finished)
|
||||
to_chat(user, "<span class='warning'>Nothing left to do with it now. Maybe you can break it down into materials.</span>")
|
||||
to_chat(user, span_warning("Nothing left to do with it now. Maybe you can break it down into materials."))
|
||||
else
|
||||
open_pod()
|
||||
user.visible_message("<b>[user]</b> opens \the [src]!","You open \the [src]!")
|
||||
@@ -111,13 +111,13 @@
|
||||
/obj/structure/drop_pod/attackby(obj/item/O, mob/user)
|
||||
if(O.has_tool_quality(TOOL_WRENCH))
|
||||
if(finished)
|
||||
to_chat(user, "<span class='notice'>You start breaking down \the [src].</span>")
|
||||
to_chat(user, span_notice("You start breaking down \the [src]."))
|
||||
if(do_after(user, 10 SECONDS, src, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
new /obj/item/stack/material/plasteel(loc, 10)
|
||||
playsound(user, O.usesound, 50, 1)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [src] hasn't been opened yet. Do that first.</span>")
|
||||
to_chat(user, span_warning("\The [src] hasn't been opened yet. Do that first."))
|
||||
return ..()
|
||||
|
||||
/obj/structure/drop_pod/return_air()
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
else
|
||||
on = 1
|
||||
icon_state = "echair1"
|
||||
to_chat(usr, "<span class='notice'>You switch [on ? "on" : "off"] [src].</span>")
|
||||
to_chat(usr, span_notice("You switch [on ? "on" : "off"] [src]."))
|
||||
return
|
||||
|
||||
/obj/structure/bed/chair/e_chair/rotate_clockwise()
|
||||
@@ -67,11 +67,11 @@
|
||||
if(has_buckled_mobs())
|
||||
for(var/mob/living/L as anything in buckled_mobs)
|
||||
L.burn_skin(85)
|
||||
to_chat(L, "<span class='danger'>You feel a deep shock course through your body!</span>")
|
||||
to_chat(L, span_danger("You feel a deep shock course through your body!"))
|
||||
sleep(1)
|
||||
L.burn_skin(85)
|
||||
L.Stun(600)
|
||||
visible_message("<span class='danger'>The electric chair went off!</span>", "<span class='danger'>You hear a deep sharp shock!</span>")
|
||||
visible_message(span_danger("The electric chair went off!"), span_danger("You hear a deep sharp shock!"))
|
||||
|
||||
A.power_light = light
|
||||
A.update_icon()
|
||||
|
||||
@@ -28,15 +28,15 @@
|
||||
user.remove_from_mob(O)
|
||||
contents += O
|
||||
has_extinguisher = O
|
||||
to_chat(user, "<span class='notice'>You place [O] in [src].</span>")
|
||||
to_chat(user, span_notice("You place [O] in [src]."))
|
||||
else
|
||||
opened = !opened
|
||||
if(O.has_tool_quality(TOOL_WRENCH))
|
||||
if(!has_extinguisher)
|
||||
to_chat(user, "<span class='notice'>You start to unwrench the extinguisher cabinet.</span>")
|
||||
to_chat(user, span_notice("You start to unwrench the extinguisher cabinet."))
|
||||
playsound(src, O.usesound, 50, 1)
|
||||
if(do_after(user, 15 * O.toolspeed))
|
||||
to_chat(user, "<span class='notice'>You unwrench the extinguisher cabinet.</span>")
|
||||
to_chat(user, span_notice("You unwrench the extinguisher cabinet."))
|
||||
new /obj/item/frame/extinguisher_cabinet( src.loc )
|
||||
qdel(src)
|
||||
return
|
||||
@@ -54,11 +54,11 @@
|
||||
if (user.hand)
|
||||
temp = H.organs_by_name["l_hand"]
|
||||
if(temp && !temp.is_usable())
|
||||
to_chat(user, "<span class='notice'>You try to move your [temp.name], but cannot!</span>")
|
||||
to_chat(user, span_notice("You try to move your [temp.name], but cannot!"))
|
||||
return
|
||||
if(has_extinguisher)
|
||||
user.put_in_hands(has_extinguisher)
|
||||
to_chat(user, "<span class='notice'>You take [has_extinguisher] from [src].</span>")
|
||||
to_chat(user, span_notice("You take [has_extinguisher] from [src]."))
|
||||
has_extinguisher = null
|
||||
opened = 1
|
||||
else
|
||||
@@ -68,7 +68,7 @@
|
||||
/obj/structure/extinguisher_cabinet/attack_tk(mob/user)
|
||||
if(has_extinguisher)
|
||||
has_extinguisher.loc = loc
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove [has_extinguisher] from [src].</span>")
|
||||
to_chat(user, span_notice("You telekinetically remove [has_extinguisher] from [src]."))
|
||||
has_extinguisher = null
|
||||
opened = 1
|
||||
else
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
if (isrobot(user) || locked)
|
||||
if(istype(O, /obj/item/multitool))
|
||||
to_chat(user, "<span class='warning'>Resetting circuitry...</span>")
|
||||
to_chat(user, span_warning("Resetting circuitry..."))
|
||||
playsound(src, 'sound/machines/lockreset.ogg', 50, 1)
|
||||
if(do_after(user, 20 * O.toolspeed))
|
||||
locked = 0
|
||||
@@ -50,7 +50,7 @@
|
||||
else
|
||||
playsound(src, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time
|
||||
if(W.force < 15)
|
||||
to_chat(user, "<span class='notice'>The cabinet's protective glass glances off the hit.</span>")
|
||||
to_chat(user, span_notice("The cabinet's protective glass glances off the hit."))
|
||||
else
|
||||
hitstaken++
|
||||
if(hitstaken == 4)
|
||||
@@ -68,7 +68,7 @@
|
||||
fireaxe = O
|
||||
user.remove_from_mob(O)
|
||||
contents += O
|
||||
to_chat(user, "<span class='notice'>You place the fire axe back in the [name].</span>")
|
||||
to_chat(user, span_notice("You place the fire axe back in the [name]."))
|
||||
update_icon()
|
||||
else
|
||||
if(smashed)
|
||||
@@ -85,7 +85,7 @@
|
||||
flick("[icon_state]closing", src)
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Resetting circuitry...</span>")
|
||||
to_chat(user, span_warning("Resetting circuitry..."))
|
||||
playsound(src, 'sound/machines/lockenable.ogg', 50, 1)
|
||||
if(do_after(user,20 * O.toolspeed))
|
||||
locked = 1
|
||||
@@ -101,14 +101,14 @@
|
||||
// hasaxe = 1
|
||||
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>The cabinet won't budge!</span>")
|
||||
to_chat(user, span_warning("The cabinet won't budge!"))
|
||||
return
|
||||
|
||||
if(open)
|
||||
if(fireaxe)
|
||||
user.put_in_hands(fireaxe)
|
||||
fireaxe = null
|
||||
to_chat (user, "<span class='notice'>You take the fire axe from the [name].</span>")
|
||||
to_chat (user, span_notice("You take the fire axe from the [name]."))
|
||||
add_fingerprint(user)
|
||||
update_icon()
|
||||
else
|
||||
@@ -123,7 +123,7 @@
|
||||
/obj/structure/fireaxecabinet/attack_tk(mob/user as mob)
|
||||
if(open && fireaxe)
|
||||
fireaxe.forceMove(loc)
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove the fire axe.</span>")
|
||||
to_chat(user, span_notice("You telekinetically remove the fire axe."))
|
||||
fireaxe = null
|
||||
update_icon()
|
||||
return
|
||||
@@ -144,9 +144,9 @@
|
||||
|
||||
if (isrobot(usr) || locked || smashed)
|
||||
if(locked)
|
||||
to_chat(usr, "<span class='warning'>The cabinet won't budge!</span>")
|
||||
to_chat(usr, span_warning("The cabinet won't budge!"))
|
||||
else if(smashed)
|
||||
to_chat(usr, "<span class='notice'>The protective glass is broken!</span>")
|
||||
to_chat(usr, span_notice("The protective glass is broken!"))
|
||||
return
|
||||
|
||||
toggle_close_open()
|
||||
@@ -163,23 +163,23 @@
|
||||
if(fireaxe)
|
||||
usr.put_in_hands(fireaxe)
|
||||
fireaxe = null
|
||||
to_chat(usr, "<span class='notice'>You take the Fire axe from the [name].</span>")
|
||||
to_chat(usr, span_notice("You take the Fire axe from the [name]."))
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>The [name] is empty.</span>")
|
||||
to_chat(usr, span_notice("The [name] is empty."))
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>The [name] is closed.</span>")
|
||||
to_chat(usr, span_notice("The [name] is closed."))
|
||||
update_icon()
|
||||
|
||||
/obj/structure/fireaxecabinet/attack_ai(mob/user as mob)
|
||||
if(smashed)
|
||||
to_chat(user, "<span class='warning'>The security of the cabinet is compromised.</span>")
|
||||
to_chat(user, span_warning("The security of the cabinet is compromised."))
|
||||
return
|
||||
else
|
||||
locked = !locked
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>Cabinet locked.</span>")
|
||||
to_chat(user, span_warning("Cabinet locked."))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Cabinet unlocked.</span>")
|
||||
to_chat(user, span_notice("Cabinet unlocked."))
|
||||
return
|
||||
|
||||
/obj/structure/fireaxecabinet/update_icon() //Template: fireaxe[has fireaxe][is opened][hits taken][is smashed]. If you want the opening or closing animations, add "opening" or "closing" right after the numbers
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
..()
|
||||
return
|
||||
if(user.nutrition < 20)
|
||||
to_chat(user, "<span class='warning'>You need more energy to use the punching bag. Go eat something.</span>")
|
||||
to_chat(user, span_warning("You need more energy to use the punching bag. Go eat something."))
|
||||
else
|
||||
if(user.a_intent == I_HURT)
|
||||
user.setClickCooldown(user.get_attack_speed())
|
||||
@@ -23,7 +23,7 @@
|
||||
playsound(src, 'sound/effects/woodhit.ogg', 25, 1, -1)
|
||||
user.do_attack_animation(src)
|
||||
user.nutrition = user.nutrition - 5
|
||||
to_chat(user, "<span class='warning'>You [pick(hit_message)] \the [src].</span>")
|
||||
to_chat(user, span_warning("You [pick(hit_message)] \the [src]."))
|
||||
|
||||
/obj/structure/fitness/weightlifter
|
||||
name = "weightlifting machine"
|
||||
@@ -43,13 +43,13 @@
|
||||
if(!istype(user))
|
||||
return
|
||||
if(user.loc != src.loc)
|
||||
to_chat(user, "<span class='warning'>You must be on the weight machine to use it.</span>")
|
||||
to_chat(user, span_warning("You must be on the weight machine to use it."))
|
||||
return
|
||||
if(user.nutrition < 50)
|
||||
to_chat(user, "<span class='warning'>You need more energy to lift weights. Go eat something.</span>")
|
||||
to_chat(user, span_warning("You need more energy to lift weights. Go eat something."))
|
||||
return
|
||||
if(being_used)
|
||||
to_chat(user, "<span class='warning'>The weight machine is already in use by somebody else.</span>")
|
||||
to_chat(user, span_warning("The weight machine is already in use by somebody else."))
|
||||
return
|
||||
else
|
||||
being_used = 1
|
||||
@@ -59,8 +59,8 @@
|
||||
if(do_after(user, 20 + (weight * 10)))
|
||||
playsound(src, 'sound/effects/weightdrop.ogg', 25, 1)
|
||||
user.adjust_nutrition(weight * -10)
|
||||
to_chat(user, "<span class='notice'>You lift the weights [qualifiers[weight]].</span>")
|
||||
to_chat(user, span_notice("You lift the weights [qualifiers[weight]]."))
|
||||
being_used = 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Against your previous judgement, perhaps working out is not for you.</span>")
|
||||
to_chat(user, span_notice("Against your previous judgement, perhaps working out is not for you."))
|
||||
being_used = 0
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
if(!can_climb(user))
|
||||
return
|
||||
|
||||
usr.visible_message("<span class='warning'>[user] starts climbing onto \the [src]!</span>")
|
||||
usr.visible_message(span_warning("[user] starts climbing onto \the [src]!"))
|
||||
LAZYDISTINCTADD(climbers, user)
|
||||
|
||||
if(!do_after(user,(issmall(user) ? 20 : 34)))
|
||||
@@ -43,7 +43,7 @@
|
||||
else
|
||||
usr.forceMove(get_turf(src))
|
||||
|
||||
usr.visible_message("<span class='warning'>[user] climbed over \the [src]!</span>")
|
||||
usr.visible_message(span_warning("[user] climbed over \the [src]!"))
|
||||
LAZYREMOVE(climbers, user)
|
||||
|
||||
/obj/structure/fitness/boxing_ropes/can_climb(var/mob/living/user, post_climb_check=0) //Sets it to keep people from climbing over into the next turf if it is occupied.
|
||||
@@ -53,7 +53,7 @@
|
||||
if(get_turf(user) == get_turf(src))
|
||||
var/obj/occupied = neighbor_turf_impassable()
|
||||
if(occupied)
|
||||
to_chat(user, "<span class='danger'>You can't climb there, there's \a [occupied] in the way.</span>")
|
||||
to_chat(user, span_danger("You can't climb there, there's \a [occupied] in the way."))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
@@ -71,4 +71,4 @@
|
||||
/turf/simulated/fitness
|
||||
name = "Mat"
|
||||
icon = 'icons/turf/floors_vr.dmi'
|
||||
icon_state = "fit_mat"
|
||||
icon_state = "fit_mat"
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
. += span_notice("\The [src] can be removed with \a [initial(tool.name)].")
|
||||
|
||||
/obj/structure/flora/proc/get_harvestable_desc()
|
||||
return "<span class='notice'>\The [src] seems to have something hanging from it.</span>"
|
||||
return span_notice("\The [src] seems to have something hanging from it.")
|
||||
|
||||
/obj/structure/flora/attackby(var/obj/item/W, var/mob/living/user)
|
||||
|
||||
@@ -282,18 +282,18 @@
|
||||
/obj/structure/flora/pottedplant/examine(mob/user)
|
||||
. = ..()
|
||||
if(in_range(user, src) && stored_item)
|
||||
. += "<span class='filter_notice'><i>You can see something in there...</i></span>"
|
||||
. += span_filter_notice("<i>You can see something in there...</i>")
|
||||
|
||||
/obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user)
|
||||
if(issilicon(user))
|
||||
return // Don't try to put modules in here, you're a borg. TODO: Inventory refactor to not be ass.
|
||||
|
||||
if(stored_item)
|
||||
to_chat(user, "<span class='notice'>[I] won't fit in. There already appears to be something in here...</span>")
|
||||
to_chat(user, span_notice("[I] won't fit in. There already appears to be something in here..."))
|
||||
return
|
||||
|
||||
if(I.w_class > ITEMSIZE_TINY)
|
||||
to_chat(user, "<span class='notice'>[I] is too big to fit inside [src].</span>")
|
||||
to_chat(user, span_notice("[I] is too big to fit inside [src]."))
|
||||
return
|
||||
|
||||
if(do_after(user, 10))
|
||||
@@ -303,15 +303,15 @@
|
||||
src.visible_message("[icon2html(src,viewers(src))] [icon2html(I,viewers(src))] [user] places [I] into [src].")
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You refrain from putting things into the plant pot.</span>")
|
||||
to_chat(user, span_notice("You refrain from putting things into the plant pot."))
|
||||
return
|
||||
|
||||
/obj/structure/flora/pottedplant/attack_hand(mob/user)
|
||||
if(!stored_item)
|
||||
to_chat(user, "<span class='filter_notice'><b>You see nothing of interest in [src]...</b></span>")
|
||||
to_chat(user, span_filter_notice("<b>You see nothing of interest in [src]...</b>"))
|
||||
else
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, "<span class='filter_notice'>You find [icon2html(stored_item, user.client)] [stored_item] in [src]!</span>")
|
||||
to_chat(user, span_filter_notice("You find [icon2html(stored_item, user.client)] [stored_item] in [src]!"))
|
||||
stored_item.forceMove(get_turf(src))
|
||||
stored_item = null
|
||||
..()
|
||||
@@ -598,7 +598,7 @@
|
||||
. = ..()
|
||||
|
||||
/obj/structure/flora/sif/tendrils/get_harvestable_desc()
|
||||
return "<span class='notice'>\The [src] seems to be growing over something.</span>"
|
||||
return span_notice("\The [src] seems to be growing over something.")
|
||||
|
||||
/datum/category_item/catalogue/flora/frostbelle
|
||||
name = "Sivian Flora - Frostbelle"
|
||||
@@ -639,7 +639,7 @@
|
||||
icon_state = initial(icon_state)
|
||||
|
||||
/obj/structure/flora/sif/frostbelle/get_harvestable_desc()
|
||||
return "<span class='notice'>\The [src] seems to be budding.</span>"
|
||||
return span_notice("\The [src] seems to be budding.")
|
||||
|
||||
//Start of underwater plants
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
visible_message("<span class='danger'>\The [user] hits \the [src] with \the [W]!</span>")
|
||||
visible_message(span_danger("\The [user] hits \the [src] with \the [W]!"))
|
||||
|
||||
var/damage_to_do = W.force
|
||||
if(!W.sharp && !W.edge)
|
||||
@@ -64,7 +64,7 @@
|
||||
if(damage_to_do > 5 && !indestructable)
|
||||
adjust_health(-damage_to_do)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [W] is ineffective at harming \the [src].</span>")
|
||||
to_chat(user, span_warning("\The [W] is ineffective at harming \the [src]."))
|
||||
|
||||
hit_animation()
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
@@ -103,7 +103,7 @@
|
||||
if(product && product_amount) // Make wooden logs.
|
||||
var/obj/item/stack/material/M = new product(get_turf(src), product_amount)
|
||||
M.update_icon()
|
||||
visible_message("<span class='danger'>\The [src] is felled!</span>")
|
||||
visible_message(span_danger("\The [src] is felled!"))
|
||||
stump()
|
||||
|
||||
// Makes the tree into a mostly non-interactive stump.
|
||||
|
||||
@@ -18,17 +18,17 @@
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Description for new larva, so they understand what to expect.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Xenomorph Larva</b>, freshly slithered out of their egg to serve the hive.</span>")
|
||||
to_chat(M, "<span class='notice'><b>Be sure to carefully listen to your queen, as xenomorph egg spawns may act different to loner xenomorph spawns.</b></span>")
|
||||
to_chat(M, "<span class='warning'><b>Remember, you are technically a antagonist. Be sure to learn the context of your existence via IC or ahelp to prevent headaches, and follow the orders of your queen to the letter.</b></span>")
|
||||
to_chat(M, "<span class='notice'> Your life for the hive!</span>")
|
||||
to_chat(M, span_notice("You are a <b>Xenomorph Larva</b>, freshly slithered out of their egg to serve the hive."))
|
||||
to_chat(M, span_notice("<b>Be sure to carefully listen to your queen, as xenomorph egg spawns may act different to loner xenomorph spawns.</b>"))
|
||||
to_chat(M, span_warning("<b>Remember, you are technically a antagonist. Be sure to learn the context of your existence via IC or ahelp to prevent headaches, and follow the orders of your queen to the letter.</b>"))
|
||||
to_chat(M, span_notice(" Your life for the hive!"))
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>\the [src] peels open, and a fresh larva slithers out!</span>")
|
||||
visible_message(span_warning("\the [src] peels open, and a fresh larva slithers out!"))
|
||||
..()
|
||||
|
||||
/obj/structure/ghost_pod/automatic/xenomorph_egg/proc/healthcheck()
|
||||
if(health <=0)
|
||||
visible_message("<span class='warning'>\the [src] splatters everywhere as it cracks open!</span>")
|
||||
visible_message(span_warning("\the [src] splatters everywhere as it cracks open!"))
|
||||
playsound(src, 'sound/effects/slime_squish.ogg', 50, 1)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
var/finalized = "No"
|
||||
|
||||
if(jobban_isbanned(M, JOB_GHOSTROLES))
|
||||
to_chat(M, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
to_chat(M, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles."))
|
||||
reset_ghostpod()
|
||||
return
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
while(finalized != "Yes" && M.client)
|
||||
choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", possible_mobs)
|
||||
if(!choice) //We probably pushed the cancel button on the mob selection. Let's just put the ghost pod back in the list.
|
||||
to_chat(M, "<span class='notice'>No mob selected, cancelling.</span>")
|
||||
to_chat(M, span_notice("No mob selected, cancelling."))
|
||||
reset_ghostpod()
|
||||
return
|
||||
|
||||
@@ -111,10 +111,10 @@
|
||||
to_chat(M, "<span class='notice'>You are <b>[newPred]</b>, somehow having gotten aboard the station in search of food. \
|
||||
You are wary of environment around you, but you do feel rather peckish. Stick around dark, secluded places to avoid danger or, \
|
||||
if you are cute enough, try to make friends with this place's inhabitants.</span>")
|
||||
to_chat(M, "<span class='critical'>Please be advised, this role is NOT AN ANTAGONIST.</span>")
|
||||
to_chat(M, "<span class='warning'>You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.</span>")
|
||||
to_chat(M, span_critical("Please be advised, this role is NOT AN ANTAGONIST."))
|
||||
to_chat(M, span_warning("You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind."))
|
||||
newPred.ckey = M.ckey
|
||||
newPred.visible_message("<span class='warning'>[newPred] emerges from somewhere!</span>")
|
||||
newPred.visible_message(span_warning("[newPred] emerges from somewhere!"))
|
||||
log_and_message_admins("successfully entered \a [src] and became a [newPred].")
|
||||
qdel(src)
|
||||
|
||||
@@ -150,11 +150,11 @@
|
||||
to_chat(M, "<span class='notice'>You can use shift + click on objects to disguise yourself as them, but your strikes are nearly useless when you are disguised. \
|
||||
You can undisguise yourself by shift + clicking yourself, but disguise being switched, or turned on and off has a short cooldown. You can also ventcrawl, \
|
||||
by using alt + click on the vent or scrubber.</span>")
|
||||
to_chat(M, "<span class='critical'>Please be advised, this role is NOT AN ANTAGONIST.</span>")
|
||||
to_chat(M, "<span class='warning'>You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.</span>")
|
||||
to_chat(M, span_critical("Please be advised, this role is NOT AN ANTAGONIST."))
|
||||
to_chat(M, span_warning("You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind."))
|
||||
|
||||
newMorph.ckey = M.ckey
|
||||
newMorph.visible_message("<span class='warning'>A morph appears to crawl out of somewhere.</span>")
|
||||
newMorph.visible_message(span_warning("A morph appears to crawl out of somewhere."))
|
||||
log_and_message_admins("successfully entered \a [src] and became a Morph.")
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
/obj/structure/ghost_pod/ghost_activated/attack_ghost(var/mob/observer/dead/user)
|
||||
//VOREStation Add Start
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
to_chat(user, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles."))
|
||||
return
|
||||
|
||||
//No OOC notes
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
//VOREStation Add End
|
||||
if(used)
|
||||
to_chat(user, "<span class='warning'>Another spirit appears to have gotten to \the [src] before you. Sorry.</span>")
|
||||
to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry."))
|
||||
return
|
||||
|
||||
var/choice = tgui_alert(user, "Are you certain you wish to activate this pod?", "Control Pod", list("Yes", "No"))
|
||||
@@ -106,7 +106,7 @@
|
||||
return
|
||||
|
||||
else if(used)
|
||||
to_chat(user, "<span class='warning'>Another spirit appears to have gotten to \the [src] before you. Sorry.</span>")
|
||||
to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry."))
|
||||
return
|
||||
|
||||
create_occupant(user)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
/obj/structure/ghost_pod/manual/attack_ghost(var/mob/observer/dead/user)
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
to_chat(user, span_warning("You cannot inhabit this creature because you are banned from playing ghost roles."))
|
||||
return
|
||||
|
||||
//No OOC notes
|
||||
@@ -23,11 +23,11 @@
|
||||
return
|
||||
|
||||
if(!activated)
|
||||
to_chat(user, "<span class='warning'>\The [src] has not yet been activated. Sorry.</span>")
|
||||
to_chat(user, span_warning("\The [src] has not yet been activated. Sorry."))
|
||||
return
|
||||
|
||||
if(used)
|
||||
to_chat(user, "<span class='warning'>Another spirit appears to have gotten to \the [src] before you. Sorry.</span>")
|
||||
to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry."))
|
||||
return
|
||||
|
||||
busy = TRUE
|
||||
@@ -38,7 +38,7 @@
|
||||
return
|
||||
|
||||
else if(used)
|
||||
to_chat(user, "<span class='warning'>Another spirit appears to have gotten to \the [src] before you. Sorry.</span>")
|
||||
to_chat(user, span_warning("Another spirit appears to have gotten to \the [src] before you. Sorry."))
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
|
||||
@@ -45,11 +45,11 @@
|
||||
H.adjustCloneLoss(rand(1,5))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(H)
|
||||
to_chat(M, "<span class='notice'>You are a [occupant_type]!</span>")
|
||||
to_chat(M, span_notice("You are a [occupant_type]!"))
|
||||
if(make_antag)
|
||||
to_chat(M, "<span class='warning'>Your intent may not be completely beneficial.</span>")
|
||||
to_chat(M, span_warning("Your intent may not be completely beneficial."))
|
||||
H.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the pipes on \the [src] surge, before it grows dark.</span>")
|
||||
visible_message(span_warning("As \the [src] opens, the pipes on \the [src] surge, before it grows dark."))
|
||||
log_and_message_admins("successfully opened \a [src] and became a [occupant_type].")
|
||||
|
||||
var/list/uniform_options
|
||||
@@ -124,7 +124,7 @@
|
||||
if(allow_appearance_change)
|
||||
H.change_appearance(APPEARANCE_ALL, H, check_species_whitelist = 1)
|
||||
|
||||
// visible_message("<span class='aliem'>\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!</span>")
|
||||
// visible_message(span_alien("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!"))
|
||||
|
||||
qdel(src)
|
||||
|
||||
@@ -173,11 +173,11 @@
|
||||
H.adjustCloneLoss(rand(1,5))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(H)
|
||||
to_chat(M, "<span class='notice'>You are a [occupant_type]!</span>")
|
||||
to_chat(M, span_notice("You are a [occupant_type]!"))
|
||||
if(make_antag)
|
||||
to_chat(M, "<span class='warning'>Your intent may not be completely beneficial.</span>")
|
||||
to_chat(M, span_warning("Your intent may not be completely beneficial."))
|
||||
H.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the pipes on \the [src] surge, before it grows dark.</span>")
|
||||
visible_message(span_warning("As \the [src] opens, the pipes on \the [src] surge, before it grows dark."))
|
||||
log_and_message_admins("successfully opened \a [src] and got a [occupant_type].")
|
||||
|
||||
var/list/uniform_options
|
||||
@@ -246,4 +246,4 @@
|
||||
if(allow_appearance_change)
|
||||
H.change_appearance(APPEARANCE_ALL, H, check_species_whitelist = 1)
|
||||
|
||||
visible_message("<span class='aliem'>\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!</span>")
|
||||
visible_message(span_alien("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!"))
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
confirm_before_open = TRUE
|
||||
|
||||
/obj/structure/ghost_pod/manual/corgi/trigger()
|
||||
..("<span class='warning'>\The [usr] places their hand on the rune!</span>", "is attempting to summon a corgi.")
|
||||
..(span_warning("\The [usr] places their hand on the rune!"), "is attempting to summon a corgi.")
|
||||
|
||||
/obj/structure/ghost_pod/manual/corgi/create_occupant(var/mob/M)
|
||||
lightning_strike(get_turf(src), cosmetic = TRUE)
|
||||
@@ -18,9 +18,9 @@
|
||||
var/mob/living/simple_mob/animal/passive/dog/corgi/R = new(get_turf(src))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
to_chat(M, "<span class='notice'>You are a <b>Corgi</b>! Woof!</span>")
|
||||
to_chat(M, span_notice("You are a <b>Corgi</b>! Woof!"))
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>With a bright flash of light, \the [src] disappears, and in its place stands a small corgi.</span>")
|
||||
visible_message(span_warning("With a bright flash of light, \the [src] disappears, and in its place stands a small corgi."))
|
||||
log_and_message_admins("successfully touched \a [src] and summoned a corgi.")
|
||||
..()
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
confirm_before_open = TRUE
|
||||
|
||||
/obj/structure/ghost_pod/manual/cursedblade/trigger()
|
||||
..("<span class='warning'>\The [usr] attempts to pull out the sword!</span>", "is activating a cursed blade.")
|
||||
..(span_warning("\The [usr] attempts to pull out the sword!"), "is activating a cursed blade.")
|
||||
|
||||
/obj/structure/ghost_pod/manual/cursedblade/create_occupant(var/mob/M)
|
||||
density = FALSE
|
||||
@@ -45,6 +45,6 @@
|
||||
your body was reduced to ashes and your soul was cursed to remain trapped in the blade forever. \
|
||||
Now it is up to you to decide whether you want to be a faithful companion, or a bitter prisoner of the blade.</span>")
|
||||
R.ghost_inhabit(M)
|
||||
visible_message("<span class='warning'>The blade shines brightly for a brief moment as [usr] pulls it out of the stone!</span>")
|
||||
visible_message(span_warning("The blade shines brightly for a brief moment as [usr] pulls it out of the stone!"))
|
||||
log_and_message_admins("successfully acquired a cursed sword.")
|
||||
..()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
needscharger = TRUE
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/trigger()
|
||||
..("<span class='notice'>\The [src] appears to be attempting to restart the robot contained inside.</span>", "is attempting to open \a [src].")
|
||||
..(span_notice("\The [src] appears to be attempting to restart the robot contained inside."), "is attempting to open \a [src].")
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/create_occupant(var/mob/M)
|
||||
density = FALSE
|
||||
@@ -30,7 +30,7 @@
|
||||
definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \
|
||||
from the pod is not a crewmember.</span>")
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the eyes of the robot flicker as it is activated.</span>")
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
log_and_message_admins("successfully opened \a [src] and got a Lost Drone.")
|
||||
..()
|
||||
@@ -52,11 +52,11 @@
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Gravekeeper Drone</b>, activated once again to tend to the restful dead.</span>")
|
||||
to_chat(M, span_notice("You are a <b>Gravekeeper Drone</b>, activated once again to tend to the restful dead."))
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
definiton of 'your gravesite' is where your pod is.</span>")
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the eyes of the robot flicker as it is activated.</span>")
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
..()
|
||||
|
||||
@@ -75,16 +75,16 @@
|
||||
var/mob/living/silicon/robot/drone/swarm/R = new drone_type(get_turf(src))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
to_chat(M, "<span class='cult'>You are <b>[R]</b>, the remnant of some distant species, mechanical or flesh, living or dead.</span>")
|
||||
to_chat(M, span_cult("You are <b>[R]</b>, the remnant of some distant species, mechanical or flesh, living or dead."))
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='cult'>As \the [src] shudders, it glows before lifting itself with three shimmering limbs!</span>")
|
||||
visible_message(span_cult("As \the [src] shudders, it glows before lifting itself with three shimmering limbs!"))
|
||||
spawn(3 SECONDS)
|
||||
to_chat(R,"<span class='notice'>Many of your tools are standard drone devices, however others provide you with particular benefits.</span>")
|
||||
to_chat(R,"<span class='notice'>Unlike standard drones, you are capable of utilizing 'zero point wells', found in your 'spells' tab.</span>")
|
||||
to_chat(R,"<span class='notice'>Here you will also find your replication ability(s), depending on the type of drone you are.</span>")
|
||||
to_chat(R,"<span class='notice'>Gunners have a special anti-personnel gun capable of shocking or punching through armor with low damage.</span>")
|
||||
to_chat(R,"<span class='notice'>Impalers have an energy-lance.</span>")
|
||||
to_chat(R,"<span class='notice'>General drones have the unique ability to produce one of each of these two types of shells per generation.</span>")
|
||||
to_chat(R,span_notice("Many of your tools are standard drone devices, however others provide you with particular benefits."))
|
||||
to_chat(R,span_notice("Unlike standard drones, you are capable of utilizing 'zero point wells', found in your 'spells' tab."))
|
||||
to_chat(R,span_notice("Here you will also find your replication ability(s), depending on the type of drone you are."))
|
||||
to_chat(R,span_notice("Gunners have a special anti-personnel gun capable of shocking or punching through armor with low damage."))
|
||||
to_chat(R,span_notice("Impalers have an energy-lance."))
|
||||
to_chat(R,span_notice("General drones have the unique ability to produce one of each of these two types of shells per generation."))
|
||||
if(!QDELETED(src))
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \
|
||||
from the pod is not a crewmember.</span>")
|
||||
R.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the eyes of the robot flicker as it is activated.</span>")
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
log_and_message_admins("successfully opened \a [src] and got a Lost Drone.")
|
||||
used = TRUE
|
||||
return TRUE
|
||||
return TRUE
|
||||
|
||||
@@ -64,9 +64,9 @@
|
||||
var/mob/living/carbon/human/H = new(src)
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(H)
|
||||
to_chat(M, "<span class='notice'>You are a [occupant_type]!</span>")
|
||||
to_chat(M, span_notice("You are a [occupant_type]!"))
|
||||
H.ckey = M.ckey
|
||||
visible_message("<span class='warning'>As \the [src] opens, the pipes on \the [src] surge, before it grows dark.</span>")
|
||||
visible_message(span_warning("As \the [src] opens, the pipes on \the [src] surge, before it grows dark."))
|
||||
log_and_message_admins("successfully opened \a [src] and got a [occupant_type].")
|
||||
|
||||
var/list/uniform_options
|
||||
@@ -144,4 +144,4 @@
|
||||
if(allow_appearance_change)
|
||||
H.change_appearance(APPEARANCE_ALL, H, check_species_whitelist = 1)
|
||||
|
||||
visible_message("<span class='aliem'>\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!</span>")
|
||||
visible_message(span_alien("\The [src] [pick("gurgles", "seizes", "clangs")] before releasing \the [H]!"))
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
if(damage < STRUCTURE_MIN_DAMAGE_THRESHOLD)
|
||||
return 0
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user] [attack_message] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_message] the [src]!"))
|
||||
spawn(1) dismantle()
|
||||
return 1
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
damage = round(new_damage)
|
||||
Proj.damage = outgoing_damage
|
||||
|
||||
visible_message("<span class='danger'>\The [src] reflects \the [Proj]!</span>")
|
||||
visible_message(span_danger("\The [src] reflects \the [Proj]!"))
|
||||
|
||||
// Find a turf near or on the original location to bounce to
|
||||
var/new_x = Proj.starting.x + pick(0, 0, 0, -1, 1, -2, 2)
|
||||
@@ -149,58 +149,58 @@
|
||||
if(W.has_tool_quality(TOOL_WRENCH) && state == 0)
|
||||
if(anchored && !reinf_material)
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now disassembling the girder...</span>")
|
||||
to_chat(user, span_notice("Now disassembling the girder..."))
|
||||
if(do_after(user,(35 + round(max_health/50)) * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You dissasembled the girder!</span>")
|
||||
to_chat(user, span_notice("You dissasembled the girder!"))
|
||||
dismantle()
|
||||
else if(!anchored)
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now securing the girder...</span>")
|
||||
to_chat(user, span_notice("Now securing the girder..."))
|
||||
if(do_after(user, 40 * W.toolspeed, src))
|
||||
to_chat(user, "<span class='notice'>You secured the girder!</span>")
|
||||
to_chat(user, span_notice("You secured the girder!"))
|
||||
reset_girder()
|
||||
|
||||
else if(istype(W, /obj/item/pickaxe/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
|
||||
to_chat(user, span_notice("Now slicing apart the girder..."))
|
||||
if(do_after(user,30 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
|
||||
to_chat(user, span_notice("You slice apart the girder!"))
|
||||
dismantle()
|
||||
|
||||
else if(istype(W, /obj/item/pickaxe/diamonddrill))
|
||||
to_chat(user, "<span class='notice'>You drill through the girder!</span>")
|
||||
to_chat(user, span_notice("You drill through the girder!"))
|
||||
dismantle()
|
||||
|
||||
else if(W.has_tool_quality(TOOL_SCREWDRIVER))
|
||||
if(state == 2)
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now unsecuring support struts...</span>")
|
||||
to_chat(user, span_notice("Now unsecuring support struts..."))
|
||||
if(do_after(user,40 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You unsecured the support struts!</span>")
|
||||
to_chat(user, span_notice("You unsecured the support struts!"))
|
||||
state = 1
|
||||
else if(anchored && !reinf_material)
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
reinforcing = !reinforcing
|
||||
to_chat(user, "<span class='notice'>\The [src] can now be [reinforcing? "reinforced" : "constructed"]!</span>")
|
||||
to_chat(user, span_notice("\The [src] can now be [reinforcing? "reinforced" : "constructed"]!"))
|
||||
|
||||
else if(W.has_tool_quality(TOOL_WIRECUTTER) && state == 1)
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now removing support struts...</span>")
|
||||
to_chat(user, span_notice("Now removing support struts..."))
|
||||
if(do_after(user,40 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You removed the support struts!</span>")
|
||||
to_chat(user, span_notice("You removed the support struts!"))
|
||||
reinf_material.place_dismantled_product(get_turf(src))
|
||||
reinf_material = null
|
||||
reset_girder()
|
||||
|
||||
else if(W.has_tool_quality(TOOL_CROWBAR) && state == 0 && anchored)
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now dislodging the girder...</span>")
|
||||
to_chat(user, span_notice("Now dislodging the girder..."))
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You dislodged the girder!</span>")
|
||||
to_chat(user, span_notice("You dislodged the girder!"))
|
||||
displace()
|
||||
|
||||
else if(istype(W, /obj/item/stack/material))
|
||||
@@ -225,7 +225,7 @@
|
||||
/obj/structure/girder/proc/construct_wall(obj/item/stack/material/S, mob/user)
|
||||
var/amount_to_use = reinf_material ? 1 : 2
|
||||
if(S.get_amount() < amount_to_use)
|
||||
to_chat(user, "<span class='notice'>There isn't enough material here to construct a wall.</span>")
|
||||
to_chat(user, span_notice("There isn't enough material here to construct a wall."))
|
||||
return 0
|
||||
|
||||
var/datum/material/M = name_to_material[S.default_type]
|
||||
@@ -236,18 +236,18 @@
|
||||
add_hiddenprint(usr)
|
||||
|
||||
if(M.integrity < 50)
|
||||
to_chat(user, "<span class='notice'>This material is too soft for use in wall construction.</span>")
|
||||
to_chat(user, span_notice("This material is too soft for use in wall construction."))
|
||||
return 0
|
||||
|
||||
to_chat(user, "<span class='notice'>You begin adding the plating...</span>")
|
||||
to_chat(user, span_notice("You begin adding the plating..."))
|
||||
|
||||
if(!do_after(user,40) || !S.use(amount_to_use))
|
||||
return 1 //once we've gotten this far don't call parent attackby()
|
||||
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='notice'>You added the plating!</span>")
|
||||
to_chat(user, span_notice("You added the plating!"))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You create a false wall! Push on it to open or close the passage.</span>")
|
||||
to_chat(user, span_notice("You create a false wall! Push on it to open or close the passage."))
|
||||
wall_fake = 1
|
||||
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
@@ -262,11 +262,11 @@
|
||||
|
||||
/obj/structure/girder/proc/reinforce_with_material(obj/item/stack/material/S, mob/user) //if the verb is removed this can be renamed.
|
||||
if(reinf_material)
|
||||
to_chat(user, "<span class='notice'>\The [src] is already reinforced.</span>")
|
||||
to_chat(user, span_notice("\The [src] is already reinforced."))
|
||||
return 0
|
||||
|
||||
if(S.get_amount() < 1)
|
||||
to_chat(user, "<span class='notice'>There isn't enough material here to reinforce the girder.</span>")
|
||||
to_chat(user, span_notice("There isn't enough material here to reinforce the girder."))
|
||||
return 0
|
||||
|
||||
var/datum/material/M = name_to_material[S.default_type]
|
||||
@@ -274,10 +274,10 @@
|
||||
to_chat(user, "You cannot reinforce \the [src] with that; it is too soft.")
|
||||
return 0
|
||||
|
||||
to_chat(user, "<span class='notice'>Now reinforcing...</span>")
|
||||
to_chat(user, span_notice("Now reinforcing..."))
|
||||
if (!do_after(user,40) || !S.use(1))
|
||||
return 1 //don't call parent attackby() past this point
|
||||
to_chat(user, "<span class='notice'>You added reinforcement!</span>")
|
||||
to_chat(user, span_notice("You added reinforcement!"))
|
||||
|
||||
reinf_material = M
|
||||
reinforce_girder()
|
||||
@@ -296,7 +296,7 @@
|
||||
|
||||
/obj/structure/girder/attack_hand(mob/user as mob)
|
||||
if (HULK in user.mutations)
|
||||
visible_message("<span class='danger'>[user] smashes [src] apart!</span>")
|
||||
visible_message(span_danger("[user] smashes [src] apart!"))
|
||||
dismantle()
|
||||
return
|
||||
return ..()
|
||||
@@ -341,19 +341,19 @@
|
||||
/obj/structure/girder/cult/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(W.has_tool_quality(TOOL_WRENCH))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now disassembling the girder...</span>")
|
||||
to_chat(user, span_notice("Now disassembling the girder..."))
|
||||
if(do_after(user,40 * W.toolspeed))
|
||||
to_chat(user, "<span class='notice'>You dissasembled the girder!</span>")
|
||||
to_chat(user, span_notice("You dissasembled the girder!"))
|
||||
dismantle()
|
||||
|
||||
else if(istype(W, /obj/item/pickaxe/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>Now slicing apart the girder...</span>")
|
||||
to_chat(user, span_notice("Now slicing apart the girder..."))
|
||||
if(do_after(user,30 * W.toolspeed))
|
||||
to_chat(user, "<span class='notice'>You slice apart the girder!</span>")
|
||||
to_chat(user, span_notice("You slice apart the girder!"))
|
||||
dismantle()
|
||||
|
||||
else if(istype(W, /obj/item/pickaxe/diamonddrill))
|
||||
to_chat(user, "<span class='notice'>You drill through the girder!</span>")
|
||||
to_chat(user, span_notice("You drill through the girder!"))
|
||||
new /obj/effect/decal/remains/human(get_turf(src))
|
||||
dismantle()
|
||||
|
||||
|
||||
@@ -87,11 +87,11 @@
|
||||
/obj/structure/gravemarker/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
visible_message("<span class='danger'>\The [src] is blown apart!</span>")
|
||||
visible_message(span_danger("\The [src] is blown apart!"))
|
||||
qdel(src)
|
||||
return
|
||||
if(2.0)
|
||||
visible_message("<span class='danger'>\The [src] is blown apart!</span>")
|
||||
visible_message(span_danger("\The [src] is blown apart!"))
|
||||
if(prob(50))
|
||||
dismantle()
|
||||
else
|
||||
@@ -101,7 +101,7 @@
|
||||
/obj/structure/gravemarker/proc/damage(var/damage)
|
||||
health -= damage
|
||||
if(health <= 0)
|
||||
visible_message("<span class='danger'>\The [src] falls apart!</span>")
|
||||
visible_message(span_danger("\The [src] falls apart!"))
|
||||
dismantle()
|
||||
|
||||
/obj/structure/gravemarker/proc/dismantle()
|
||||
|
||||
@@ -103,8 +103,8 @@
|
||||
if(!shock(user, 90))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
anchored = !anchored
|
||||
user.visible_message("<span class='notice'>[user] [anchored ? "fastens" : "unfastens"] the grille.</span>", \
|
||||
"<span class='notice'>You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor.</span>")
|
||||
user.visible_message(span_notice("[user] [anchored ? "fastens" : "unfastens"] the grille."), \
|
||||
span_notice("You have [anchored ? "fastened the grille to" : "unfastened the grille from"] the floor."))
|
||||
return
|
||||
|
||||
//window placing begin //TODO CONVERT PROPERLY TO MATERIAL DATUM
|
||||
@@ -129,23 +129,23 @@
|
||||
else
|
||||
dir_to_set = 4
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't reach.</span>")
|
||||
to_chat(user, span_notice("You can't reach."))
|
||||
return //Only works for cardinal direcitons, diagonals aren't supposed to work like this.
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
if(WINDOW.dir == dir_to_set)
|
||||
to_chat(user, "<span class='notice'>There is already a window facing this way there.</span>")
|
||||
to_chat(user, span_notice("There is already a window facing this way there."))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start placing the window.</span>")
|
||||
to_chat(user, span_notice("You start placing the window."))
|
||||
if(do_after(user,20))
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
if(WINDOW.dir == dir_to_set)//checking this for a 2nd time to check if a window was made while we were waiting.
|
||||
to_chat(user, "<span class='notice'>There is already a window facing this way there.</span>")
|
||||
to_chat(user, span_notice("There is already a window facing this way there."))
|
||||
return
|
||||
|
||||
var/wtype = ST.material.created_window
|
||||
if (ST.use(1))
|
||||
var/obj/structure/window/WD = new wtype(loc, dir_to_set, 1)
|
||||
to_chat(user, "<span class='notice'>You place the [WD] on [src].</span>")
|
||||
to_chat(user, span_notice("You place the [WD] on [src]."))
|
||||
WD.update_icon()
|
||||
return
|
||||
//window placing end
|
||||
@@ -213,7 +213,7 @@
|
||||
..()
|
||||
|
||||
/obj/structure/grille/attack_generic(var/mob/user, var/damage, var/attack_verb)
|
||||
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_verb] the [src]!"))
|
||||
user.do_attack_animation(src)
|
||||
health -= damage
|
||||
spawn(1) healthcheck()
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
return
|
||||
|
||||
if(!anchored)
|
||||
to_chat(user,"<span class='warning'>\The [src] must be anchored before activation!</span>")
|
||||
to_chat(user,span_warning("\The [src] must be anchored before activation!"))
|
||||
return
|
||||
|
||||
if(!plant)
|
||||
@@ -103,4 +103,4 @@
|
||||
/obj/machinery/holoplant/shipped
|
||||
anchored = FALSE
|
||||
/obj/machinery/holoplant/shipped/Initialize()
|
||||
. = ..()
|
||||
. = ..()
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
if(!istype(W)) return
|
||||
|
||||
if (can_puncture(W))
|
||||
visible_message("<span class='danger'>[user] pierces [src] with [W]!</span>")
|
||||
visible_message(span_danger("[user] pierces [src] with [W]!"))
|
||||
puncture()
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
hit(W.force)
|
||||
@@ -95,7 +95,7 @@
|
||||
|
||||
/obj/item/inflatable/proc/inflate(var/mob/user,var/location)
|
||||
playsound(location, 'sound/items/zip.ogg', 75, 1)
|
||||
to_chat(user, "<span class='notice'>You inflate [src].</span>")
|
||||
to_chat(user, span_notice("You inflate [src]."))
|
||||
var/obj/structure/inflatable/R = new deploy_path(location)
|
||||
src.transfer_fingerprints_to(R)
|
||||
R.add_fingerprint(user)
|
||||
@@ -103,7 +103,7 @@
|
||||
|
||||
/obj/structure/inflatable/proc/deflate()
|
||||
playsound(src, 'sound/machines/hiss.ogg', 75, 1)
|
||||
//to_chat(user, "<span class='notice'>You slowly deflate the inflatable wall.</span>")
|
||||
//to_chat(user, span_notice("You slowly deflate the inflatable wall."))
|
||||
visible_message("[src] slowly deflates.")
|
||||
spawn(50)
|
||||
var/obj/item/inflatable/R = new /obj/item/inflatable(loc)
|
||||
@@ -132,16 +132,16 @@
|
||||
health -= damage
|
||||
user.do_attack_animation(src)
|
||||
if(health <= 0)
|
||||
user.visible_message("<span class='danger'>[user] [attack_verb] open the [src]!</span>")
|
||||
user.visible_message(span_danger("[user] [attack_verb] open the [src]!"))
|
||||
spawn(1) puncture()
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] [attack_verb] at [src]!</span>")
|
||||
user.visible_message(span_danger("[user] [attack_verb] at [src]!"))
|
||||
return 1
|
||||
|
||||
/obj/structure/inflatable/take_damage(var/damage)
|
||||
health -= damage
|
||||
if(health <= 0)
|
||||
visible_message("<span class='danger'>The [src] deflates!</span>")
|
||||
visible_message(span_danger("The [src] deflates!"))
|
||||
spawn(1) puncture()
|
||||
return 1
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
icon_state = "folded_wall_torn"
|
||||
|
||||
/obj/item/inflatable/torn/attack_self(mob/user)
|
||||
to_chat(user, "<span class='notice'>The inflatable wall is too torn to be inflated!</span>")
|
||||
to_chat(user, span_notice("The inflatable wall is too torn to be inflated!"))
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/inflatable/door/torn
|
||||
@@ -258,7 +258,7 @@
|
||||
icon_state = "folded_door_torn"
|
||||
|
||||
/obj/item/inflatable/door/torn/attack_self(mob/user)
|
||||
to_chat(user, "<span class='notice'>The inflatable door is too torn to be inflated!</span>")
|
||||
to_chat(user, span_notice("The inflatable door is too torn to be inflated!"))
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/storage/briefcase/inflatable
|
||||
|
||||
@@ -36,37 +36,37 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
))
|
||||
|
||||
if(!is_type_in_typecache(I, equippable_item_whitelist))
|
||||
to_chat(user, "<span class='warning'>There's no room in [src] for [I].</span>")
|
||||
to_chat(user, span_warning("There's no room in [src] for [I]."))
|
||||
return FALSE
|
||||
|
||||
if(!user.canUnEquip(I))
|
||||
to_chat(user, "<span class='warning'>[I] is stuck to your hand.</span>")
|
||||
to_chat(user, span_warning("[I] is stuck to your hand."))
|
||||
return FALSE
|
||||
|
||||
if(istype(I, /obj/item/storage/bag/trash))
|
||||
if(mybag)
|
||||
to_chat(user, "<span class='warning'>[src] already has \an [I].</span>")
|
||||
to_chat(user, span_warning("[src] already has \an [I]."))
|
||||
return FALSE
|
||||
mybag = I
|
||||
setTguiIcon("mybag", mybag)
|
||||
|
||||
else if(istype(I, /obj/item/mop) || istype(I, /obj/item/mop/advanced))
|
||||
if(mymop)
|
||||
to_chat(user, "<span class='warning'>[src] already has \an [I].</span>")
|
||||
to_chat(user, span_warning("[src] already has \an [I]."))
|
||||
return FALSE
|
||||
mymop = I
|
||||
setTguiIcon("mymop", mymop)
|
||||
|
||||
else if(istype(I, /obj/item/reagent_containers/spray))
|
||||
if(myspray)
|
||||
to_chat(user, "<span class='warning'>[src] already has \an [I].</span>")
|
||||
to_chat(user, span_warning("[src] already has \an [I]."))
|
||||
return FALSE
|
||||
myspray = I
|
||||
setTguiIcon("myspray", myspray)
|
||||
|
||||
else if(istype(I, /obj/item/lightreplacer))
|
||||
if(myreplacer)
|
||||
to_chat(user, "<span class='warning'>[src] already has \an [I].</span>")
|
||||
to_chat(user, span_warning("[src] already has \an [I]."))
|
||||
return FALSE
|
||||
myreplacer = I
|
||||
setTguiIcon("myreplacer", myreplacer)
|
||||
@@ -76,17 +76,17 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
signs++
|
||||
setTguiIcon("signs", I)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] can't hold any more signs.</span>")
|
||||
to_chat(user, span_notice("[src] can't hold any more signs."))
|
||||
return FALSE
|
||||
else
|
||||
// This may look like duplicate code, but it's important that we don't call unEquip *and* warn the user if
|
||||
// something horrible goes wrong. (this else is never supposed to happen)
|
||||
to_chat(user, "<span class='warning'>There's no room in [src] for [I].</span>")
|
||||
to_chat(user, span_warning("There's no room in [src] for [I]."))
|
||||
return FALSE
|
||||
|
||||
user.drop_from_inventory(I, src)
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
to_chat(user, span_notice("You put [I] into [src]."))
|
||||
return TRUE
|
||||
|
||||
/obj/structure/janitorialcart/proc/setTguiIcon(key, atom/A)
|
||||
@@ -139,15 +139,15 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if (mybucket)
|
||||
if(I.reagents.total_volume < I.reagents.maximum_volume)
|
||||
if(mybucket.reagents.total_volume < 1)
|
||||
to_chat(user, "<span class='notice'>[mybucket] is empty!</span>")
|
||||
to_chat(user, span_notice("[mybucket] is empty!"))
|
||||
else
|
||||
mybucket.reagents.trans_to_obj(I, 5) //
|
||||
to_chat(user, "<span class='notice'>You wet [I] in [mybucket].</span>")
|
||||
to_chat(user, span_notice("You wet [I] in [mybucket]."))
|
||||
playsound(src, 'sound/effects/slosh.ogg', 25, 1)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[I] can't absorb anymore liquid!</span>")
|
||||
to_chat(user, span_notice("[I] can't absorb anymore liquid!"))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There is no bucket mounted here to dip [I] into!</span>")
|
||||
to_chat(user, span_notice("There is no bucket mounted here to dip [I] into!"))
|
||||
return 1
|
||||
|
||||
else if (istype(I, /obj/item/reagent_containers/glass/bucket) && mybucket)
|
||||
@@ -232,7 +232,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if("bag")
|
||||
if(mybag)
|
||||
usr.put_in_hands(mybag)
|
||||
to_chat(usr, "<span class='notice'>You take [mybag] from [src].</span>")
|
||||
to_chat(usr, span_notice("You take [mybag] from [src]."))
|
||||
mybag = null
|
||||
nullTguiIcon("mybag")
|
||||
else if(is_type_in_typecache(I, equippable_item_whitelist))
|
||||
@@ -240,7 +240,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if("mop")
|
||||
if(mymop)
|
||||
usr.put_in_hands(mymop)
|
||||
to_chat(usr, "<span class='notice'>You take [mymop] from [src].</span>")
|
||||
to_chat(usr, span_notice("You take [mymop] from [src]."))
|
||||
mymop = null
|
||||
nullTguiIcon("mymop")
|
||||
else if(is_type_in_typecache(I, equippable_item_whitelist))
|
||||
@@ -248,7 +248,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if("spray")
|
||||
if(myspray)
|
||||
usr.put_in_hands(myspray)
|
||||
to_chat(usr, "<span class='notice'>You take [myspray] from [src].</span>")
|
||||
to_chat(usr, span_notice("You take [myspray] from [src]."))
|
||||
myspray = null
|
||||
nullTguiIcon("myspray")
|
||||
else if(is_type_in_typecache(I, equippable_item_whitelist))
|
||||
@@ -256,7 +256,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if("replacer")
|
||||
if(myreplacer)
|
||||
usr.put_in_hands(myreplacer)
|
||||
to_chat(usr, "<span class='notice'>You take [myreplacer] from [src].</span>")
|
||||
to_chat(usr, span_notice("You take [myreplacer] from [src]."))
|
||||
myreplacer = null
|
||||
nullTguiIcon("myreplacer")
|
||||
else if(is_type_in_typecache(I, equippable_item_whitelist))
|
||||
@@ -268,20 +268,20 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
var/obj/item/clothing/suit/caution/sign = locate() in src
|
||||
if(sign)
|
||||
usr.put_in_hands(sign)
|
||||
to_chat(usr, "<span class='notice'>You take \a [sign] from [src].</span>")
|
||||
to_chat(usr, span_notice("You take \a [sign] from [src]."))
|
||||
signs--
|
||||
if(!signs)
|
||||
nullTguiIcon("signs")
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>[src] doesn't have any signs left.</span>")
|
||||
to_chat(usr, span_notice("[src] doesn't have any signs left."))
|
||||
if("bucket")
|
||||
if(mybucket)
|
||||
mybucket.forceMove(get_turf(usr))
|
||||
to_chat(usr, "<span class='notice'>You unmount [mybucket] from [src].</span>")
|
||||
to_chat(usr, span_notice("You unmount [mybucket] from [src]."))
|
||||
mybucket = null
|
||||
nullTguiIcon("mybucket")
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>((Drag and drop a mop bucket onto [src] to equip it.))</span>")
|
||||
to_chat(usr, span_notice("((Drag and drop a mop bucket onto [src] to equip it.))"))
|
||||
return FALSE
|
||||
else
|
||||
return FALSE
|
||||
@@ -402,14 +402,14 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if(istype(I, /obj/item/mop))
|
||||
if(reagents.total_volume > 1)
|
||||
reagents.trans_to_obj(I, 2)
|
||||
to_chat(user, "<span class='notice'>You wet [I] in the [callme].</span>")
|
||||
to_chat(user, span_notice("You wet [I] in the [callme]."))
|
||||
playsound(src, 'sound/effects/slosh.ogg', 25, 1)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>This [callme] is out of water!</span>")
|
||||
to_chat(user, span_notice("This [callme] is out of water!"))
|
||||
else if(istype(I, /obj/item/key))
|
||||
to_chat(user, "Hold [I] in one of your hands while you drive this [callme].")
|
||||
else if(istype(I, /obj/item/storage/bag/trash))
|
||||
to_chat(user, "<span class='notice'>You hook the trashbag onto the [callme].</span>")
|
||||
to_chat(user, span_notice("You hook the trashbag onto the [callme]."))
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
mybag = I
|
||||
@@ -431,7 +431,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
step(src, direction)
|
||||
update_mob()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You'll need the keys in one of your hands to drive this [callme].</span>")
|
||||
to_chat(user, span_notice("You'll need the keys in one of your hands to drive this [callme]."))
|
||||
|
||||
|
||||
/obj/structure/bed/chair/janicart/post_buckle_mob(mob/living/M)
|
||||
@@ -490,7 +490,7 @@ GLOBAL_LIST_BOILERPLATE(all_janitorial_carts, /obj/structure/janitorialcart)
|
||||
if(prob(85))
|
||||
var/mob/living/L = pick(buckled_mobs)
|
||||
return L.bullet_act(Proj)
|
||||
visible_message("<span class='warning'>[Proj] ricochets off the [callme]!</span>")
|
||||
visible_message(span_warning("[Proj] ricochets off the [callme]!"))
|
||||
|
||||
|
||||
/obj/item/key
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
qdel(G)
|
||||
qdel(M)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>They are too big for the spike, try something smaller!</span>")
|
||||
to_chat(user, span_danger("They are too big for the spike, try something smaller!"))
|
||||
|
||||
/obj/structure/kitchenspike/proc/spike(var/mob/living/victim)
|
||||
if(!istype(victim))
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
var/obj/item/weldingtool/WT = C.get_welder()
|
||||
if(WT.welding == 1)
|
||||
if(WT.remove_fuel(0, user))
|
||||
to_chat(user, "<span class='notice'>Slicing lattice joints ...</span>")
|
||||
to_chat(user, span_notice("Slicing lattice joints ..."))
|
||||
new /obj/item/stack/rods(src.loc, 1) //VOREstation Edit: Return the same amount of rods used to build this.
|
||||
qdel(src)
|
||||
return
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
//Vorestation Edit: Moves upgrading lattices to their own proc for other stuff to call. Also makes them instant.
|
||||
/obj/structure/lattice/proc/upgrade(obj/item/stack/rods/R, mob/user)
|
||||
to_chat(user, "<span class='notice'>You start connecting \the [R.name] to \the [src.name] ...</span>")
|
||||
to_chat(user, span_notice("You start connecting \the [R.name] to \the [src.name] ..."))
|
||||
R.use(1)
|
||||
src.alpha = 0 // Note: I don't know why this is set, Eris did it, just trusting for now. ~Leshana
|
||||
new /obj/structure/catwalk(src.loc)
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
if(!can_climb(user))
|
||||
return
|
||||
|
||||
usr.visible_message("<span class='warning'>[user] starts climbing onto \the [src]!</span>")
|
||||
usr.visible_message(span_warning("[user] starts climbing onto \the [src]!"))
|
||||
LAZYDISTINCTADD(climbers, user)
|
||||
|
||||
if(!do_after(user,(issmall(user) ? 20 : 34)))
|
||||
@@ -70,7 +70,7 @@
|
||||
else
|
||||
usr.forceMove(get_turf(src))
|
||||
|
||||
usr.visible_message("<span class='warning'>[user] climbed over \the [src]!</span>")
|
||||
usr.visible_message(span_warning("[user] climbed over \the [src]!"))
|
||||
LAZYREMOVE(climbers, user)
|
||||
|
||||
/obj/structure/ledge/can_climb(var/mob/living/user, post_climb_check=0)
|
||||
@@ -80,6 +80,6 @@
|
||||
if(get_turf(user) == get_turf(src))
|
||||
var/obj/occupied = neighbor_turf_impassable()
|
||||
if(occupied)
|
||||
to_chat(user, "<span class='danger'>You can't climb there, there's \a [occupied] in the way.</span>")
|
||||
to_chat(user, span_danger("You can't climb there, there's \a [occupied] in the way."))
|
||||
return 0
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -51,29 +51,29 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
var/mob/living/L = user
|
||||
|
||||
if(busy)
|
||||
to_chat(L, "<span class='warning'>\The [src] is already being searched.</span>")
|
||||
to_chat(L, span_warning("\The [src] is already being searched."))
|
||||
return
|
||||
|
||||
L.visible_message("[user] searches through \the [src].","<span class='notice'>You search through \the [src].</span>")
|
||||
L.visible_message("[user] searches through \the [src].",span_notice("You search through \the [src]."))
|
||||
|
||||
//Do the searching
|
||||
busy = TRUE
|
||||
if(do_after(user,rand(4 SECONDS,6 SECONDS),src))
|
||||
// The loot's all gone.
|
||||
if(loot_depletion && loot_left <= 0)
|
||||
to_chat(L, "<span class='warning'>\The [src] has been picked clean.</span>")
|
||||
to_chat(L, span_warning("\The [src] has been picked clean."))
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
//You already searched this one
|
||||
if( (user.ckey in searched_by) && !allow_multiple_looting)
|
||||
to_chat(L, "<span class='warning'>You can't find anything else vaguely useful in \the [src]. Another set of eyes might, however.</span>")
|
||||
to_chat(L, span_warning("You can't find anything else vaguely useful in \the [src]. Another set of eyes might, however."))
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
// You got unlucky.
|
||||
if(chance_nothing && prob(chance_nothing))
|
||||
to_chat(L, "<span class='warning'>Nothing in this pile really catches your eye...</span>")
|
||||
to_chat(L, span_warning("Nothing in this pile really catches your eye..."))
|
||||
searched_by |= user.ckey
|
||||
busy = FALSE
|
||||
return
|
||||
@@ -104,11 +104,19 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
if(loot)
|
||||
searched_by |= user.ckey
|
||||
loot.forceMove(get_turf(src))
|
||||
to_chat(L, "<span class='[span]'>You found \a [loot]!</span>")
|
||||
var/final_message = "You found \a [loot]!"
|
||||
switch(span)
|
||||
if("notice")
|
||||
final_message = span_notice(final_message)
|
||||
if("cult")
|
||||
final_message = span_cult(final_message)
|
||||
if("alium")
|
||||
final_message = span_alium(final_message)
|
||||
to_chat(L, span_info(final_message))
|
||||
if(loot_depletion)
|
||||
loot_left--
|
||||
if(loot_left <= 0)
|
||||
to_chat(L, "<span class='warning'>You seem to have gotten the last of the spoils inside \the [src].</span>")
|
||||
to_chat(L, span_warning("You seem to have gotten the last of the spoils inside \the [src]."))
|
||||
if(delete_on_depletion)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -62,15 +62,15 @@
|
||||
. = ..()
|
||||
|
||||
if(health == material.integrity)
|
||||
to_chat(user, "<span class='notice'>It seems to be in fine condition.</span>")
|
||||
to_chat(user, span_notice("It seems to be in fine condition."))
|
||||
else
|
||||
var/dam = health / material.integrity
|
||||
if(dam <= 0.3)
|
||||
to_chat(user, "<span class='notice'>It's got a few dents and scratches.</span>")
|
||||
to_chat(user, span_notice("It's got a few dents and scratches."))
|
||||
else if(dam <= 0.7)
|
||||
to_chat(user, "<span class='warning'>A few pieces of panelling have fallen off.</span>")
|
||||
to_chat(user, span_warning("A few pieces of panelling have fallen off."))
|
||||
else
|
||||
to_chat(user, "<span class='danger'>It's nearly falling to pieces.</span>")
|
||||
to_chat(user, span_danger("It's nearly falling to pieces."))
|
||||
|
||||
/obj/structure/low_wall/attackby(var/obj/item/W, var/mob/user, var/hit_modifier, var/click_parameters)
|
||||
src.add_fingerprint(user)
|
||||
@@ -89,15 +89,15 @@
|
||||
if(W.has_tool_quality(TOOL_WRENCH))
|
||||
for(var/obj/structure/S in loc)
|
||||
if(istype(S, /obj/structure/window))
|
||||
to_chat(user, "<span class='notice'>There is still a window on the low wall!</span>")
|
||||
to_chat(user, span_notice("There is still a window on the low wall!"))
|
||||
return
|
||||
else if(istype(S, /obj/structure/grille))
|
||||
to_chat(user, "<span class='notice'>There is still a grille on the low wall!</span>")
|
||||
to_chat(user, span_notice("There is still a grille on the low wall!"))
|
||||
return
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
|
||||
to_chat(user, "<span class='notice'>Now disassembling the low wall...</span>")
|
||||
to_chat(user, span_notice("Now disassembling the low wall..."))
|
||||
if(do_after(user, 40, src))
|
||||
to_chat(user, "<span class='notice'>You dissasembled the low wall!</span>")
|
||||
to_chat(user, span_notice("You dissasembled the low wall!"))
|
||||
dismantle()
|
||||
return
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
if(istype(O, /obj/structure/window))
|
||||
var/obj/structure/window/W = O
|
||||
if(Adjacent(W) && !W.anchored)
|
||||
to_chat(user, "<span class='notice'>You hoist [W] up onto [src].</span>")
|
||||
to_chat(user, span_notice("You hoist [W] up onto [src]."))
|
||||
W.forceMove(loc)
|
||||
return
|
||||
if(isrobot(user))
|
||||
@@ -163,16 +163,16 @@
|
||||
|
||||
/obj/structure/low_wall/proc/handle_rod_use(mob/user, obj/item/stack/rods/R)
|
||||
if(!grille_type)
|
||||
to_chat(user, "<span class='notice'>This type of wall frame doesn't support grilles.</span>")
|
||||
to_chat(user, span_notice("This type of wall frame doesn't support grilles."))
|
||||
return
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
if(WINDOW.dir == get_dir(src, user))
|
||||
to_chat(user, "<span class='notice'>There is a window in the way.</span>")
|
||||
to_chat(user, span_notice("There is a window in the way."))
|
||||
return
|
||||
if(R.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two rods to do this.</span>")
|
||||
to_chat(user, span_warning("You need at least two rods to do this."))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>Assembling grille...</span>")
|
||||
to_chat(user, span_notice("Assembling grille..."))
|
||||
if(!do_after(user, 1 SECONDS, R, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
return
|
||||
if(!R.use(2))
|
||||
@@ -183,16 +183,16 @@
|
||||
/obj/structure/low_wall/proc/handle_glass_use(mob/user, obj/item/stack/material/glass/G)
|
||||
var/window_type = get_window_build_type(user, G)
|
||||
if(!window_type)
|
||||
to_chat(user, "<span class='notice'>You can't build that type of window on this type of low wall.</span>")
|
||||
to_chat(user, span_notice("You can't build that type of window on this type of low wall."))
|
||||
return
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
if(WINDOW.dir == get_dir(src, user))
|
||||
to_chat(user, "<span class='notice'>There is already a window here.</span>")
|
||||
to_chat(user, span_notice("There is already a window here."))
|
||||
return
|
||||
if(G.get_amount() < 4)
|
||||
to_chat(user, "<span class='warning'>You need at least four sheets of glass to do this.</span>")
|
||||
to_chat(user, span_warning("You need at least four sheets of glass to do this."))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>Assembling window...</span>")
|
||||
to_chat(user, span_notice("Assembling window..."))
|
||||
if(!do_after(user, 4 SECONDS, G, exclusive = TASK_ALL_EXCLUSIVE))
|
||||
return
|
||||
if(!G.use(4))
|
||||
@@ -277,7 +277,7 @@
|
||||
dismantle()
|
||||
|
||||
/obj/structure/low_wall/attack_generic(var/mob/user, var/damage, var/attack_verb)
|
||||
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_verb] the [src]!"))
|
||||
user.do_attack_animation(src)
|
||||
take_damage(damage)
|
||||
return ..()
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
qdel(tank)
|
||||
if(breather)
|
||||
breather.remove_from_mob(contained)
|
||||
src.visible_message("<span class='notice'>The mask rapidly retracts just before /the [src] is destroyed!</span>")
|
||||
src.visible_message(span_notice("The mask rapidly retracts just before /the [src] is destroyed!"))
|
||||
qdel(contained)
|
||||
contained = null
|
||||
breather = null
|
||||
@@ -133,12 +133,12 @@
|
||||
update_icon()
|
||||
return
|
||||
usr.visible_message("<b>\The [usr]</b> begins carefully placing the mask onto [target].",
|
||||
"<span class='notice'>You begin carefully placing the mask onto [target].</span>")
|
||||
span_notice("You begin carefully placing the mask onto [target]."))
|
||||
if(!do_mob(usr, target, 100) || !can_apply_to_target(target, usr))
|
||||
return
|
||||
// place mask and add fingerprints
|
||||
usr.visible_message("<span class='notice'>\The [usr] has placed \the mask on [target]'s mouth.</span>",
|
||||
"<span class='notice'>You have placed \the mask on [target]'s mouth.</span>")
|
||||
usr.visible_message(span_notice("\The [usr] has placed \the mask on [target]'s mouth."),
|
||||
span_notice("You have placed \the mask on [target]'s mouth."))
|
||||
if(attach_mask(target))
|
||||
src.add_fingerprint(usr)
|
||||
update_icon()
|
||||
@@ -152,14 +152,14 @@
|
||||
attached = null
|
||||
else if(ishuman(target))
|
||||
usr.visible_message("<b>\The [usr]</b> begins inserting needle into [target]'s vein.",
|
||||
"<span class='notice'>You begin inserting needle into [target]'s vein.</span>")
|
||||
span_notice("You begin inserting needle into [target]'s vein."))
|
||||
if(!do_mob(usr, target, 50))
|
||||
usr.visible_message("<span class='notice'>\The [usr]'s hand slips and pricks \the [target].</span>",
|
||||
"<span class='notice'>Your hand slips and pricks \the [target].</span>")
|
||||
usr.visible_message(span_notice("\The [usr]'s hand slips and pricks \the [target]."),
|
||||
span_notice("Your hand slips and pricks \the [target]."))
|
||||
target.apply_damage(3, BRUTE, pick(BP_R_ARM, BP_L_ARM))
|
||||
return
|
||||
usr.visible_message("<b>\The [usr]</b> hooks \the [target] up to \the [src].",
|
||||
"<span class='notice'>You hook \the [target] up to \the [src].</span>")
|
||||
span_notice("You hook \the [target] up to \the [src]."))
|
||||
attached = target
|
||||
START_PROCESSING(SSobj,src)
|
||||
update_icon()
|
||||
@@ -181,7 +181,7 @@
|
||||
switch (action_type)
|
||||
if ("Remove tank")
|
||||
if (!tank)
|
||||
to_chat(user, "<span class='warning'>There is no tank in \the [src]!</span>")
|
||||
to_chat(user, span_warning("There is no tank in \the [src]!"))
|
||||
return
|
||||
else if (tank && is_loosen)
|
||||
user.visible_message("<b>\The [user]</b> removes \the [tank] from \the [src].", "<span class='warning'>You remove \the [tank] from \the [src].</span</span>>")
|
||||
@@ -194,12 +194,12 @@
|
||||
return
|
||||
if ("Toggle valve")
|
||||
if (!tank)
|
||||
to_chat(user, "<span class='warning'>There is no tank in \the [src]!</span>")
|
||||
to_chat(user, span_warning("There is no tank in \the [src]!"))
|
||||
return
|
||||
else
|
||||
if (valve_opened)
|
||||
src.visible_message("<b>\The [user]</b> closes valve on \the [src]!",
|
||||
"<span class='notice'>You close valve on \the [src].</span>")
|
||||
span_notice("You close valve on \the [src]."))
|
||||
if(breather)
|
||||
breather.internals?.icon_state = "internal0"
|
||||
breather.internal = null
|
||||
@@ -207,7 +207,7 @@
|
||||
update_icon()
|
||||
else
|
||||
src.visible_message("<b>\The [user]</b> opens valve on \the [src]!",
|
||||
"<span class='notice'>You open valve on \the [src].</span>")
|
||||
span_notice("You open valve on \the [src]."))
|
||||
if(breather)
|
||||
breather.internal = tank
|
||||
breather.internals?.icon_state = "internal1"
|
||||
@@ -227,7 +227,7 @@
|
||||
set src in view(1)
|
||||
|
||||
if(!istype(usr, /mob/living))
|
||||
to_chat(usr, "<span class='warning'>You can't do that.</span>")
|
||||
to_chat(usr, span_warning("You can't do that."))
|
||||
return
|
||||
|
||||
if(usr.incapacitated())
|
||||
@@ -257,42 +257,42 @@
|
||||
user = target
|
||||
// Check target validity
|
||||
if(!istype(target))
|
||||
to_chat(user, "<span class='warning'>\The [target] not compatible with machine.</span>")
|
||||
to_chat(user, span_warning("\The [target] not compatible with machine."))
|
||||
return
|
||||
if(!target.organs_by_name[BP_HEAD])
|
||||
to_chat(user, "<span class='warning'>\The [target] doesn't have a head.</span>")
|
||||
to_chat(user, span_warning("\The [target] doesn't have a head."))
|
||||
return
|
||||
if(!target.check_has_mouth())
|
||||
to_chat(user, "<span class='warning'>\The [target] doesn't have a mouth.</span>")
|
||||
to_chat(user, span_warning("\The [target] doesn't have a mouth."))
|
||||
return
|
||||
if(target.wear_mask && target != breather)
|
||||
to_chat(user, "<span class='warning'>\The [target] is already wearing a mask.</span>")
|
||||
to_chat(user, span_warning("\The [target] is already wearing a mask."))
|
||||
return
|
||||
if(target.head && (target.head.body_parts_covered & FACE))
|
||||
to_chat(user, "<span class='warning'>Remove their [target.head] first.</span>")
|
||||
to_chat(user, span_warning("Remove their [target.head] first."))
|
||||
return
|
||||
if(!tank)
|
||||
to_chat(user, "<span class='warning'>There is no tank in \the [src].</span>")
|
||||
to_chat(user, span_warning("There is no tank in \the [src]."))
|
||||
return
|
||||
if(is_loosen)
|
||||
to_chat(user, "<span class='warning'>Tighten \the nut with a wrench first.</span>")
|
||||
to_chat(user, span_warning("Tighten \the nut with a wrench first."))
|
||||
return
|
||||
if(!Adjacent(target))
|
||||
return
|
||||
//when there is a breather:
|
||||
if(breather && target != breather)
|
||||
to_chat(user, "<span class='warning'>\The [src] is already in use.</span>")
|
||||
to_chat(user, span_warning("\The [src] is already in use."))
|
||||
return
|
||||
//Checking if breather is still valid
|
||||
if(target == breather && target.wear_mask != contained)
|
||||
to_chat(user, "<span class='warning'>\The [target] is not using the supplied mask.</span>")
|
||||
to_chat(user, span_warning("\The [target] is not using the supplied mask."))
|
||||
return
|
||||
return 1
|
||||
|
||||
/obj/structure/medical_stand/attackby(var/obj/item/W, var/mob/user)
|
||||
if(istype (W, /obj/item/tool))
|
||||
if (valve_opened)
|
||||
to_chat(user, "<span class='warning'>Close the valve first.</span>")
|
||||
to_chat(user, span_warning("Close the valve first."))
|
||||
return
|
||||
if (tank)
|
||||
if(!W.has_tool_quality(TOOL_WRENCH))
|
||||
@@ -304,22 +304,22 @@
|
||||
if (valve_opened)
|
||||
START_PROCESSING(SSobj,src)
|
||||
user.visible_message(
|
||||
"<span class='notice'>The [user] [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place.</span>",
|
||||
"<span class='notice'>You [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place.</span>")
|
||||
span_notice("The [user] [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place."),
|
||||
span_notice("You [is_loosen == TRUE ? "loosen" : "tighten"] the nut holding [tank] in place."))
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There is no tank in \the [src].</span>")
|
||||
to_chat(user, span_warning("There is no tank in \the [src]."))
|
||||
|
||||
else if(istype(W, /obj/item/tank))
|
||||
if(tank)
|
||||
to_chat(user, "<span class='warning'>\The [src] already has a tank installed!</span>")
|
||||
to_chat(user, span_warning("\The [src] already has a tank installed!"))
|
||||
else if(!is_loosen)
|
||||
to_chat(user, "<span class='warning'>Loosen the nut with a wrench first.</span>")
|
||||
to_chat(user, span_warning("Loosen the nut with a wrench first."))
|
||||
else
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
tank = W
|
||||
user.visible_message("<b>\The [user]</b> attaches \the [tank] to \the [src].", "<span class='notice'>You attach \the [tank] to \the [src].</span>")
|
||||
user.visible_message("<b>\The [user]</b> attaches \the [tank] to \the [src].", span_notice("You attach \the [tank] to \the [src]."))
|
||||
src.add_fingerprint(user)
|
||||
update_icon()
|
||||
|
||||
@@ -345,12 +345,12 @@
|
||||
. += "The IV drip is [mode ? "injecting" : "taking blood"]."
|
||||
. += "It is set to transfer [transfer_amount]u of chemicals per cycle."
|
||||
if(beaker.reagents && beaker.reagents.total_volume)
|
||||
. += "<span class='notice'>Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.</span>"
|
||||
. += span_notice("Attached is \a [beaker] with [beaker.reagents.total_volume] units of liquid.")
|
||||
else
|
||||
. += "<span class='notice'>Attached is an empty [beaker].</span>"
|
||||
. += "<span class='notice'>[attached ? attached : "No one"] is hooked up to it.</span>"
|
||||
. += span_notice("Attached is an empty [beaker].")
|
||||
. += span_notice("[attached ? attached : "No one"] is hooked up to it.")
|
||||
else
|
||||
. += "<span class='notice'>There is no vessel.</span>"
|
||||
. += span_notice("There is no vessel.")
|
||||
|
||||
if(tank)
|
||||
if (!is_loosen)
|
||||
@@ -359,7 +359,7 @@
|
||||
if (tank.distribute_pressure == 0)
|
||||
. += "Use wrench to replace tank."
|
||||
else
|
||||
. += "<span class='notice'>There is no tank.</span>"
|
||||
. += span_notice("There is no tank.")
|
||||
|
||||
/obj/structure/medical_stand/process()
|
||||
//Gas Stuff
|
||||
@@ -441,4 +441,3 @@
|
||||
spawn_type = /obj/item/tank/anesthetic
|
||||
mask_type = /obj/item/clothing/mask/breath/medical
|
||||
is_loosen = FALSE
|
||||
|
||||
|
||||
@@ -54,20 +54,20 @@
|
||||
if(!glass)
|
||||
playsound(src, I.usesound, 50, 1)
|
||||
if(do_after(user, 20 * I.toolspeed))
|
||||
to_chat(user, "<span class='notice'>You unfasten the frame.</span>")
|
||||
to_chat(user, span_notice("You unfasten the frame."))
|
||||
new /obj/item/frame/mirror( src.loc )
|
||||
qdel(src)
|
||||
return
|
||||
if(I.has_tool_quality(TOOL_WRENCH))
|
||||
if(shattered && glass)
|
||||
to_chat(user, "<span class='notice'>The broken glass falls out.</span>")
|
||||
to_chat(user, span_notice("The broken glass falls out."))
|
||||
icon_state = "mirror_frame"
|
||||
glass = !glass
|
||||
new /obj/item/material/shard( src.loc )
|
||||
return
|
||||
if(!shattered && glass)
|
||||
playsound(src, I.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the glass.</span>")
|
||||
to_chat(user, span_notice("You remove the glass."))
|
||||
glass = !glass
|
||||
icon_state = "mirror_frame"
|
||||
new /obj/item/stack/material/glass( src.loc, 2 )
|
||||
@@ -77,15 +77,15 @@
|
||||
if(!glass)
|
||||
var/obj/item/stack/material/glass/G = I
|
||||
if (G.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two sheets of glass to add them to the frame.</span>")
|
||||
to_chat(user, span_warning("You need two sheets of glass to add them to the frame."))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start to add the glass to the frame.</span>")
|
||||
to_chat(user, span_notice("You start to add the glass to the frame."))
|
||||
if(do_after(user, 20))
|
||||
if (G.use(2))
|
||||
shattered = 0
|
||||
glass = 1
|
||||
icon_state = "mirror"
|
||||
to_chat(user, "<span class='notice'>You add the glass to the frame.</span>")
|
||||
to_chat(user, span_notice("You add the glass to the frame."))
|
||||
return
|
||||
|
||||
if(shattered && glass)
|
||||
@@ -93,11 +93,11 @@
|
||||
return
|
||||
|
||||
if(prob(I.force * 2))
|
||||
visible_message("<span class='warning'>[user] smashes [src] with [I]!</span>")
|
||||
visible_message(span_warning("[user] smashes [src] with [I]!"))
|
||||
if(glass)
|
||||
shatter()
|
||||
else
|
||||
visible_message("<span class='warning'>[user] hits [src] with [I]!</span>")
|
||||
visible_message(span_warning("[user] hits [src] with [I]!"))
|
||||
playsound(src, 'sound/effects/Glasshit.ogg', 70, 1)
|
||||
|
||||
/obj/structure/mirror/attack_generic(var/mob/user, var/damage)
|
||||
@@ -108,11 +108,11 @@
|
||||
return 0
|
||||
|
||||
if(damage)
|
||||
user.visible_message("<span class='danger'>[user] smashes [src]!</span>")
|
||||
user.visible_message(span_danger("[user] smashes [src]!"))
|
||||
if(glass)
|
||||
shatter()
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] hits [src] and bounces off!</span>")
|
||||
user.visible_message(span_danger("[user] hits [src] and bounces off!"))
|
||||
return 1
|
||||
|
||||
// The following mirror is ~special~.
|
||||
@@ -141,4 +141,4 @@
|
||||
vox.name = vox.real_name
|
||||
raiders.update_access(vox)
|
||||
qdel(user)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -24,8 +24,8 @@ GLOBAL_LIST_BOILERPLATE(all_mopbuckets, /obj/structure/mopbucket)
|
||||
/obj/structure/mopbucket/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/mop) || istype(I, /obj/item/soap) || istype(I, /obj/item/reagent_containers/glass/rag)) //VOREStation Edit - "Allows soap and rags to be used on mopbuckets"
|
||||
if(reagents.total_volume < 1)
|
||||
to_chat(user, "<span class='warning'>\The [src] is out of water!</span>")
|
||||
to_chat(user, span_warning("\The [src] is out of water!"))
|
||||
else
|
||||
reagents.trans_to_obj(I, 5)
|
||||
to_chat(user, "<span class='notice'>You wet \the [I] in \the [src].</span>")
|
||||
to_chat(user, span_notice("You wet \the [I] in \the [src]."))
|
||||
playsound(src, 'sound/effects/slosh.ogg', 25, 1)
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
if (user != O)
|
||||
for(var/mob/B in viewers(user, 3))
|
||||
if ((B.client && !( B.blinded )))
|
||||
to_chat(B, "<span class='warning'>\The [user] stuffs [O] into [src]!</span>")
|
||||
to_chat(B, span_warning("\The [user] stuffs [O] into [src]!"))
|
||||
return
|
||||
|
||||
|
||||
@@ -220,7 +220,7 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
|
||||
|
||||
/obj/structure/morgue/crematorium/attack_hand(mob/user as mob)
|
||||
if (cremating)
|
||||
to_chat(usr, "<span class='warning'>It's locked.</span>")
|
||||
to_chat(usr, span_warning("It's locked."))
|
||||
return
|
||||
if ((src.connected) && (src.locked == 0))
|
||||
for(var/atom/movable/A as mob|obj in src.connected.loc)
|
||||
@@ -284,7 +284,7 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
|
||||
|
||||
if(contents.len <= 0)
|
||||
for (var/mob/M in viewers(src))
|
||||
to_chat(M, "<span class='warning'>You hear a hollow crackle.</span>")
|
||||
to_chat(M, span_warning("You hear a hollow crackle."))
|
||||
return
|
||||
|
||||
else
|
||||
@@ -293,7 +293,7 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
|
||||
return
|
||||
|
||||
for (var/mob/M in viewers(src))
|
||||
to_chat(M, "<span class='warning'>You hear a roar as the crematorium activates.</span>")
|
||||
to_chat(M, span_warning("You hear a roar as the crematorium activates."))
|
||||
|
||||
cremating = 1
|
||||
locked = 1
|
||||
@@ -348,4 +348,4 @@ GLOBAL_LIST_BOILERPLATE(all_crematoriums, /obj/structure/morgue/crematorium)
|
||||
if (!C.cremating)
|
||||
C.cremate(user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
to_chat(user, span_warning("Access denied."))
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
if(contents.len <= 0)
|
||||
for (var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>You hear a hollow crackle.</span>", 1)
|
||||
M.show_message(span_warning("You hear a hollow crackle."), 1)
|
||||
return
|
||||
else
|
||||
if(!isemptylist(src.search_contents_for(/obj/item/disk/nuclear)))
|
||||
@@ -20,17 +20,17 @@
|
||||
|
||||
for(var/I in contents)
|
||||
if(!(I in allowed_items))
|
||||
to_chat(user, "<span class='notice'>\The [src] cannot cremate while there are items inside!</span>")
|
||||
to_chat(user, span_notice("\The [src] cannot cremate while there are items inside!"))
|
||||
return
|
||||
if(istype(I, /mob/living))
|
||||
var/mob/living/cremated = I
|
||||
for(var/Z in cremated.contents)
|
||||
if(!(Z in allowed_items))
|
||||
to_chat(user, "<span class='notice'>\The [src] cannot cremate while there are items inside!</span>")
|
||||
to_chat(user, span_notice("\The [src] cannot cremate while there are items inside!"))
|
||||
return
|
||||
|
||||
for (var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>You hear a roar as the crematorium activates.</span>", 1)
|
||||
M.show_message(span_warning("You hear a roar as the crematorium activates."), 1)
|
||||
|
||||
cremating = 1
|
||||
locked = 1
|
||||
@@ -56,4 +56,4 @@
|
||||
cremating = 0
|
||||
locked = 0
|
||||
playsound(src, 'sound/machines/ding.ogg', 50, 1)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
/obj/item/bedsheet/pillow/attackby(var/obj/item/component, mob/user as mob)
|
||||
if (istype(component,src))
|
||||
to_chat(user, "<span class='notice'>You assemble a pillow pile!</span>")
|
||||
to_chat(user, span_notice("You assemble a pillow pile!"))
|
||||
user.drop_item()
|
||||
qdel(component)
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -29,7 +29,7 @@
|
||||
user.drop_from_inventory(src)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't assemble a pillow pile out of mismatched stuff, it'd look hideous!</span>")
|
||||
to_chat(user, span_notice("You can't assemble a pillow pile out of mismatched stuff, it'd look hideous!"))
|
||||
|
||||
//Pillow Piles, they're piles of pillows! layer = BELOW_MOB_LAYER
|
||||
|
||||
@@ -62,18 +62,18 @@
|
||||
return
|
||||
|
||||
/obj/structure/bed/pillowpile/attack_hand(mob/user)
|
||||
to_chat(user, "<span class='notice'>Now disassembling the large pillow pile...</span>")
|
||||
to_chat(user, span_notice("Now disassembling the large pillow pile..."))
|
||||
if(do_after(user, 30))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You dissasembled the large pillow pile!</span>")
|
||||
to_chat(user, span_notice("You dissasembled the large pillow pile!"))
|
||||
new sourcepillow(src.loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/bed/pillowpilefront/attack_hand(mob/user)
|
||||
to_chat(user, "<span class='notice'>Now disassembling the front of the pillow pile...</span>")
|
||||
to_chat(user, span_notice("Now disassembling the front of the pillow pile..."))
|
||||
if(do_after(user, 30))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You dissasembled the the front of the pillow pile!</span>")
|
||||
to_chat(user, span_notice("You dissasembled the the front of the pillow pile!"))
|
||||
new sourcepillow(src.loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -257,4 +257,3 @@
|
||||
)
|
||||
time = 60
|
||||
category = CAT_MISC
|
||||
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
/obj/structure/plasticflaps/attackby(obj/item/P, mob/user)
|
||||
if(P.has_tool_quality(TOOL_WIRECUTTER))
|
||||
playsound(src, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You start to cut the plastic flaps.</span>")
|
||||
to_chat(user, span_notice("You start to cut the plastic flaps."))
|
||||
if(do_after(user, 10 * P.toolspeed))
|
||||
to_chat(user, "<span class='notice'>You cut the plastic flaps.</span>")
|
||||
to_chat(user, span_notice("You cut the plastic flaps."))
|
||||
new /obj/item/stack/material/plastic(src.loc, 4)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -65,4 +65,4 @@
|
||||
name = "airtight plastic flaps"
|
||||
desc = "Heavy duty, airtight, plastic flaps. Have extra safety installed, preventing passage of living beings."
|
||||
can_atmos_pass = ATMOS_PASS_NO
|
||||
can_pass_lying = FALSE
|
||||
can_pass_lying = FALSE
|
||||
|
||||
@@ -25,19 +25,19 @@
|
||||
name = "alien dispenser"
|
||||
desc = "This looks like it dispenses... something?"
|
||||
icon_state = "dispenser"
|
||||
interaction_message = "<span class='warning'>You don't see any mechanism to operate this. Probably for the best.</span>"
|
||||
interaction_message = span_warning("You don't see any mechanism to operate this. Probably for the best.")
|
||||
|
||||
/obj/structure/prop/alien/pod
|
||||
name = "alien pod"
|
||||
desc = "This seems to be a container for something."
|
||||
icon_state = "experiment"
|
||||
interaction_message = "<span class='warning'>You don't see any mechanism to open this thing. Probably for the best.</span>"
|
||||
interaction_message = span_warning("You don't see any mechanism to open this thing. Probably for the best.")
|
||||
|
||||
/obj/structure/prop/alien/pod/open
|
||||
name = "opened alien pod"
|
||||
desc = "At one point, this probably contained something interesting..."
|
||||
icon_state = "experiment-open"
|
||||
interaction_message = "<span class='warning'>You don't see any mechanism to close this thing.</span>"
|
||||
interaction_message = span_warning("You don't see any mechanism to close this thing.")
|
||||
|
||||
|
||||
// Obtained by scanning both a void core and void cell.
|
||||
@@ -89,7 +89,7 @@
|
||||
name = "void core"
|
||||
icon_state = "core"
|
||||
desc = "An alien machine that seems to be producing energy seemingly out of nowhere."
|
||||
interaction_message = "<span class='warning'>Messing with something that makes energy out of nowhere seems very unwise.</span>"
|
||||
interaction_message = span_warning("Messing with something that makes energy out of nowhere seems very unwise.")
|
||||
catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_void_core)
|
||||
|
||||
/obj/item/prop/alien
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
desc = "The console flashes what appear to be symbols you've never seen before, intermixed with human writing moving too fast to comprehend."
|
||||
icon = 'icons/obj/abductor_vr.dmi'
|
||||
icon_state = "console-c"
|
||||
interaction_message = "<span class='warning'>The screen flashes an 'access denied' message at you. Perhaps for the best.</span>"
|
||||
interaction_message = span_warning("The screen flashes an 'access denied' message at you. Perhaps for the best.")
|
||||
|
||||
/obj/structure/prop/alien/pod/hybrid
|
||||
name = "hybrid pod"
|
||||
desc = "This seems to be a container for something."
|
||||
icon = 'icons/obj/abductor_vr.dmi'
|
||||
icon_state = "experiment"
|
||||
interaction_message = "<span class='warning'>You don't see any mechanism to open this thing. Probably for the best.</span>"
|
||||
interaction_message = span_warning("You don't see any mechanism to open this thing. Probably for the best.")
|
||||
|
||||
/obj/structure/prop/alien/dispenser/twoway
|
||||
icon = 'icons/obj/abductor_vr.dmi'
|
||||
icon_state = "dispenser_2way"
|
||||
icon_state = "dispenser_2way"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
var/dialID = null
|
||||
var/obj/structure/prop/prismcontrol/remote_dial = null
|
||||
|
||||
interaction_message = "<span class='notice'>The prismatic turret seems to be able to rotate.</span>"
|
||||
interaction_message = span_notice("The prismatic turret seems to be able to rotate.")
|
||||
|
||||
/obj/structure/prop/prism/Initialize()
|
||||
if(degrees_from_north)
|
||||
@@ -44,17 +44,17 @@
|
||||
..()
|
||||
|
||||
if(rotation_lock)
|
||||
to_chat(user, "<span class='warning'>\The [src] is locked at its current bearing.</span>")
|
||||
to_chat(user, span_warning("\The [src] is locked at its current bearing."))
|
||||
return
|
||||
if(external_control_lock)
|
||||
to_chat(user, "<span class='warning'>\The [src]'s motors resist your efforts to rotate it. You may need to find some form of controller.</span>")
|
||||
to_chat(user, span_warning("\The [src]'s motors resist your efforts to rotate it. You may need to find some form of controller."))
|
||||
return
|
||||
|
||||
var/confirm = tgui_alert(usr, "Do you want to try to rotate \the [src]?", "[name]", list("Yes", "No"))
|
||||
if(confirm != "Yes")
|
||||
visible_message(\
|
||||
"<span class='notice'>[user.name] decides not to try turning \the [src].</span>",\
|
||||
"<span class='notice'>You decide not to try turning \the [src].</span>")
|
||||
span_notice("[user.name] decides not to try turning \the [src]."),\
|
||||
span_notice("You decide not to try turning \the [src]."))
|
||||
return
|
||||
|
||||
var/new_bearing
|
||||
@@ -62,7 +62,7 @@
|
||||
new_bearing = tgui_input_number(usr, "What bearing do you want to rotate \the [src] to?", "[name]", 0, 360, 0)
|
||||
new_bearing = round(new_bearing)
|
||||
if(new_bearing <= -1 || new_bearing > 360)
|
||||
to_chat(user, "<span class='warning'>Rotating \the [src] [new_bearing] degrees would be a waste of time.</span>")
|
||||
to_chat(user, span_warning("Rotating \the [src] [new_bearing] degrees would be a waste of time."))
|
||||
return
|
||||
else
|
||||
var/choice = tgui_input_list(usr, "What point do you want to set \the [src] to?", "[name]", compass_directions)
|
||||
@@ -118,7 +118,7 @@
|
||||
|
||||
/obj/structure/prop/prism/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(istype(Proj, redirect_type))
|
||||
visible_message("<span class='danger'>\The [src] redirects \the [Proj]!</span>")
|
||||
visible_message(span_danger("\The [src] redirects \the [Proj]!"))
|
||||
flick("[initial(icon_state)]+glow", src)
|
||||
|
||||
var/new_x = (1 * round(10 * cos(degrees_from_north - 90))) + x //Vectors vectors vectors.
|
||||
@@ -149,7 +149,7 @@
|
||||
density = FALSE
|
||||
anchored = TRUE
|
||||
|
||||
interaction_message = "<span class='notice'>The dial pulses as your hand nears it.</span>"
|
||||
interaction_message = span_notice("The dial pulses as your hand nears it.")
|
||||
var/list/my_turrets = list()
|
||||
var/dialID = null
|
||||
|
||||
@@ -159,12 +159,12 @@
|
||||
var/confirm = tgui_alert(usr, "Do you want to try to rotate \the [src]?", "[name]", list("Yes", "No"))
|
||||
if(confirm != "Yes")
|
||||
visible_message(\
|
||||
"<span class='notice'>[user.name] decides not to try turning \the [src].</span>",\
|
||||
"<span class='notice'>You decide not to try turning \the [src].</span>")
|
||||
span_notice("[user.name] decides not to try turning \the [src]."),\
|
||||
span_notice("You decide not to try turning \the [src]."))
|
||||
return
|
||||
|
||||
if(!my_turrets || !my_turrets.len)
|
||||
to_chat(user, "<span class='notice'>\The [src] doesn't seem to do anything.</span>")
|
||||
to_chat(user, span_notice("\The [src] doesn't seem to do anything."))
|
||||
return
|
||||
|
||||
var/free_rotate = 1
|
||||
@@ -179,7 +179,7 @@
|
||||
new_bearing = tgui_input_number(usr, "What bearing do you want to rotate \the [src] to?", "[name]", 0, 360, 0)
|
||||
new_bearing = round(new_bearing)
|
||||
if(new_bearing <= -1 || new_bearing > 360)
|
||||
to_chat(user, "<span class='warning'>Rotating \the [src] [new_bearing] degrees would be a waste of time.</span>")
|
||||
to_chat(user, span_warning("Rotating \the [src] [new_bearing] degrees would be a waste of time."))
|
||||
return
|
||||
else
|
||||
var/choice = tgui_input_list(usr, "What point do you want to set \the [src] to?", "[name]", compass_directions)
|
||||
@@ -188,11 +188,11 @@
|
||||
confirm = tgui_alert(usr, "Are you certain you want to rotate \the [src]?", "[name]", list("Yes", "No"))
|
||||
if(confirm != "Yes")
|
||||
visible_message(\
|
||||
"<span class='notice'>[user.name] decides not to try turning \the [src].</span>",\
|
||||
"<span class='notice'>You decide not to try turning \the [src].</span>")
|
||||
span_notice("[user.name] decides not to try turning \the [src]."),\
|
||||
span_notice("You decide not to try turning \the [src]."))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>\The [src] clicks into place.</span>")
|
||||
to_chat(user, span_notice("\The [src] clicks into place."))
|
||||
for(var/obj/structure/prop/prism/P in my_turrets)
|
||||
P.rotate_auto(new_bearing)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "bonfire"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
interaction_message = "<span class='warning'>You feel like you shouldn't be sticking your nose into a wild animal's den.</span>"
|
||||
interaction_message = span_warning("You feel like you shouldn't be sticking your nose into a wild animal's den.")
|
||||
|
||||
var/disturbance_spawn_chance = 20
|
||||
var/last_spawn
|
||||
@@ -54,7 +54,7 @@
|
||||
var/mob/living/L = new spawn_choice(spawnpoint)
|
||||
if(den_faction)
|
||||
L.faction = den_faction
|
||||
visible_message("<span class='warning'>\The [L] crawls out of \the [src].</span>")
|
||||
visible_message(span_warning("\The [L] crawls out of \the [src]."))
|
||||
den_mobs += L
|
||||
tally++
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
var/timing = 0
|
||||
var/time_limit = 1500 // In ticks. Ten is one second.
|
||||
|
||||
interaction_message = "<span class='notice'>The object remains inert to your touch.</span>"
|
||||
interaction_message = span_notice("The object remains inert to your touch.")
|
||||
|
||||
/obj/structure/prop/lock/projectile/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(!istype(Proj, projectile_key) || timing)
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
if(istype(Proj, /obj/item/projectile/beam/heavylaser/cannon) || istype(Proj, /obj/item/projectile/beam/emitter) || (Proj.damage >= 80 && Proj.damtype == BURN))
|
||||
toggle_lock()
|
||||
visible_message("<span class='notice'>\The [src] [enabled ? "disengages" : "engages"] its locking mechanism.</span>")
|
||||
visible_message(span_notice("\The [src] [enabled ? "disengages" : "engages"] its locking mechanism."))
|
||||
|
||||
if(timed)
|
||||
timing = 1
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
|
||||
/obj/machinery/door/blast/puzzle/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(!istype(Proj, /obj/item/projectile/test))
|
||||
visible_message("<span class='cult'>\The [src] is completely unaffected by \the [Proj].</span>")
|
||||
visible_message(span_cult("\The [src] is completely unaffected by \the [Proj]."))
|
||||
qdel(Proj) //No piercing. No.
|
||||
|
||||
/obj/machinery/door/blast/puzzle/ex_act(severity)
|
||||
visible_message("<span class='cult'>\The [src] is completely unaffected by the blast.</span>")
|
||||
visible_message(span_cult("\The [src] is completely unaffected by the blast."))
|
||||
return
|
||||
|
||||
/obj/machinery/door/blast/puzzle/Initialize()
|
||||
@@ -57,7 +57,7 @@
|
||||
if(check_locks())
|
||||
force_toggle(1, user)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>\The [src] does not respond to your touch.</span>")
|
||||
to_chat(user, span_notice("\The [src] does not respond to your touch."))
|
||||
|
||||
/obj/machinery/door/blast/puzzle/attackby(obj/item/C as obj, mob/user as mob)
|
||||
if(istype(C, /obj/item))
|
||||
@@ -65,14 +65,14 @@
|
||||
if(istype(C,/obj/item/material/twohanded/fireaxe))
|
||||
var/obj/item/material/twohanded/fireaxe/F = C
|
||||
if(!F.wielded)
|
||||
to_chat(user, "<span class='warning'>You need to be wielding \the [F] to do that.</span>")
|
||||
to_chat(user, span_warning("You need to be wielding \the [F] to do that."))
|
||||
return
|
||||
|
||||
if(check_locks())
|
||||
force_toggle(1, user)
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src]'s arcane workings resist your effort.</span>")
|
||||
to_chat(user, span_notice("[src]'s arcane workings resist your effort."))
|
||||
return
|
||||
|
||||
else if(src.density && (user.a_intent == I_HURT))
|
||||
@@ -80,10 +80,10 @@
|
||||
user.setClickCooldown(user.get_attack_speed(W))
|
||||
if(W.damtype == BRUTE || W.damtype == BURN)
|
||||
user.do_attack_animation(src)
|
||||
user.visible_message("<span class='danger'>\The [user] hits \the [src] with \the [W] with no visible effect.</span>")
|
||||
user.visible_message(span_danger("\The [user] hits \the [src] with \the [W] with no visible effect."))
|
||||
|
||||
else if(istype(C, /obj/item/plastique))
|
||||
to_chat(user, "<span class='danger'>On contacting \the [src], a flash of light envelops \the [C] as it is turned to ash. Oh.</span>")
|
||||
to_chat(user, span_danger("On contacting \the [src], a flash of light envelops \the [C] as it is turned to ash. Oh."))
|
||||
qdel(C)
|
||||
return 0
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
/obj/structure/cult/pylon/swarm/pylonhit(var/damage)
|
||||
if(!isbroken)
|
||||
if(prob(1 + damage * 3))
|
||||
visible_message("<span class='danger'>[shatter_message]</span>")
|
||||
visible_message(span_danger("[shatter_message]"))
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
playsound(src,shatter_sound, 75, 1)
|
||||
isbroken = 1
|
||||
@@ -47,8 +47,8 @@
|
||||
if(!isbroken)
|
||||
if(prob(1 + damage * 3))
|
||||
user.visible_message(
|
||||
"<span class='danger'>[user] smashed \the [src]!</span>",
|
||||
"<span class='warning'>You hit \the [src], and its crystal breaks apart!</span>",
|
||||
span_danger("[user] smashed \the [src]!"),
|
||||
span_warning("You hit \the [src], and its crystal breaks apart!"),
|
||||
"You hear a tinkle of crystalline shards."
|
||||
)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
@@ -115,7 +115,7 @@
|
||||
/obj/structure/cult/pylon/swarm/defender/pylonhit(var/damage)
|
||||
if(!isbroken)
|
||||
if(prob(1 + damage * 3) && damage >= 25)
|
||||
visible_message("<span class='danger'>[shatter_message]</span>")
|
||||
visible_message(span_danger("[shatter_message]"))
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
playsound(src,shatter_sound, 75, 1)
|
||||
isbroken = 1
|
||||
@@ -127,8 +127,8 @@
|
||||
if(!isbroken)
|
||||
if(prob(1 + damage * 2) && damage >= 15)
|
||||
user.visible_message(
|
||||
"<span class='danger'>[user] smashed \the [src]!</span>",
|
||||
"<span class='warning'>You hit \the [src], and its crystal breaks apart!</span>",
|
||||
span_danger("[user] smashed \the [src]!"),
|
||||
span_warning("You hit \the [src], and its crystal breaks apart!"),
|
||||
"You hear a tinkle of crystalline shards."
|
||||
)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
@@ -60,16 +60,16 @@
|
||||
if(health < maxhealth)
|
||||
switch(health / maxhealth)
|
||||
if(0.0 to 0.5)
|
||||
. += "<span class='warning'>It looks severely damaged!</span>"
|
||||
. += span_warning("It looks severely damaged!")
|
||||
if(0.25 to 0.5)
|
||||
. += "<span class='warning'>It looks damaged!</span>"
|
||||
. += span_warning("It looks damaged!")
|
||||
if(0.5 to 1.0)
|
||||
. += "<span class='notice'>It has a few scrapes and dents.</span>"
|
||||
. += span_notice("It has a few scrapes and dents.")
|
||||
|
||||
/obj/structure/railing/take_damage(amount)
|
||||
health -= amount
|
||||
if(health <= 0)
|
||||
visible_message("<span class='warning'>\The [src] breaks down!</span>")
|
||||
visible_message(span_warning("\The [src] breaks down!"))
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 50, 1)
|
||||
new /obj/item/stack/rods(get_turf(src))
|
||||
qdel(src)
|
||||
@@ -205,7 +205,7 @@
|
||||
if(W.has_tool_quality(TOOL_WRENCH) && !anchored)
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
if(do_after(user, 20, src))
|
||||
user.visible_message("<b>\The [user]</b> dismantles \the [src].", "<span class='notice'>You dismantle \the [src].</span>")
|
||||
user.visible_message("<b>\The [user]</b> dismantles \the [src].", span_notice("You dismantle \the [src]."))
|
||||
new /obj/item/stack/material/steel(get_turf(usr), 2)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -216,7 +216,7 @@
|
||||
if(F.welding)
|
||||
playsound(src, F.usesound, 50, 1)
|
||||
if(do_after(user, 20, src))
|
||||
user.visible_message("<b>\The [user]</b> repairs some damage to \the [src].", "<span class='notice'>You repair some damage to \the [src].</span>")
|
||||
user.visible_message("<b>\The [user]</b> repairs some damage to \the [src].", span_notice("You repair some damage to \the [src]."))
|
||||
health = min(health+(maxhealth/5), maxhealth) // 20% repair per application
|
||||
return
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
user.visible_message(anchored ? "<b>\The [user]</b> begins unscrewing \the [src]." : "<b>\The [user]</b> begins fasten \the [src]." )
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
if(do_after(user, 10, src))
|
||||
to_chat(user, (anchored ? "<span class='notice'>You have unfastened \the [src] from the floor.</span>" : "<span class='notice'>You have fastened \the [src] to the floor.</span>"))
|
||||
to_chat(user, (anchored ? span_notice("You have unfastened \the [src] from the floor.") : span_notice("You have fastened \the [src] to the floor.")))
|
||||
anchored = !anchored
|
||||
update_icon()
|
||||
return
|
||||
@@ -237,17 +237,17 @@
|
||||
var/mob/living/M = G.affecting
|
||||
var/obj/occupied = turf_is_crowded()
|
||||
if(occupied)
|
||||
to_chat(user, "<span class='danger'>There's \a [occupied] in the way.</span>")
|
||||
to_chat(user, span_danger("There's \a [occupied] in the way."))
|
||||
return
|
||||
if (G.state < 2)
|
||||
if(user.a_intent == I_HURT)
|
||||
if (prob(15)) M.Weaken(5)
|
||||
M.apply_damage(8,def_zone = "head")
|
||||
take_damage(8)
|
||||
visible_message("<span class='danger'>[G.assailant] slams [G.affecting]'s face against \the [src]!</span>")
|
||||
visible_message(span_danger("[G.assailant] slams [G.affecting]'s face against \the [src]!"))
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 50, 1)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>You need a better grip to do that!</span>")
|
||||
to_chat(user, span_danger("You need a better grip to do that!"))
|
||||
return
|
||||
else
|
||||
if (get_turf(G.affecting) == get_turf(src))
|
||||
@@ -255,7 +255,7 @@
|
||||
else
|
||||
G.affecting.forceMove(get_turf(src))
|
||||
G.affecting.Weaken(5)
|
||||
visible_message("<span class='danger'>[G.assailant] throws [G.affecting] over \the [src]!</span>")
|
||||
visible_message(span_danger("[G.assailant] throws [G.affecting] over \the [src]!"))
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
@@ -285,7 +285,7 @@
|
||||
if(!can_climb(user))
|
||||
return
|
||||
|
||||
usr.visible_message("<span class='warning'>[user] starts climbing onto \the [src]!</span>")
|
||||
usr.visible_message(span_warning("[user] starts climbing onto \the [src]!"))
|
||||
LAZYDISTINCTADD(climbers, user)
|
||||
|
||||
if(!do_after(user,(issmall(user) ? 20 : 34)))
|
||||
@@ -301,7 +301,7 @@
|
||||
else
|
||||
usr.forceMove(get_turf(src))
|
||||
|
||||
usr.visible_message("<span class='warning'>[user] climbed over \the [src]!</span>")
|
||||
usr.visible_message(span_warning("[user] climbed over \the [src]!"))
|
||||
if(!anchored) take_damage(maxhealth) // Fatboy
|
||||
LAZYREMOVE(climbers, user)
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
if(get_turf(user) == get_turf(src))
|
||||
var/obj/occupied = neighbor_turf_impassable()
|
||||
if(occupied)
|
||||
to_chat(user, "<span class='danger'>You can't climb there, there's \a [occupied] in the way.</span>")
|
||||
to_chat(user, span_danger("You can't climb there, there's \a [occupied] in the way."))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -44,9 +44,9 @@ FLOOR SAFES
|
||||
/obj/structure/safe/proc/check_unlocked(mob/user as mob, canhear)
|
||||
if(user && canhear)
|
||||
if(tumbler_1_pos == tumbler_1_open)
|
||||
to_chat(user, "<span class='notice'>You hear a [pick("tonk", "krunk", "plunk")] from \the [src].</span>")
|
||||
to_chat(user, span_notice("You hear a [pick("tonk", "krunk", "plunk")] from \the [src]."))
|
||||
if(tumbler_2_pos == tumbler_2_open)
|
||||
to_chat(user, "<span class='notice'>You hear a [pick("tink", "krink", "plink")] from \the [src].</span>")
|
||||
to_chat(user, span_notice("You hear a [pick("tink", "krink", "plink")] from \the [src]."))
|
||||
if(tumbler_1_pos == tumbler_1_open && tumbler_2_pos == tumbler_2_open)
|
||||
if(user) visible_message("<b>[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!</b>")
|
||||
return 1
|
||||
@@ -97,13 +97,13 @@ FLOOR SAFES
|
||||
|
||||
if(href_list["open"])
|
||||
if(check_unlocked())
|
||||
to_chat(user, "<span class='notice'>You [open ? "close" : "open"] [src].</span>")
|
||||
to_chat(user, span_notice("You [open ? "close" : "open"] [src]."))
|
||||
open = !open
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You can't [open ? "close" : "open"] [src], the lock is engaged!</span>")
|
||||
to_chat(user, span_notice("You can't [open ? "close" : "open"] [src], the lock is engaged!"))
|
||||
return
|
||||
|
||||
if(href_list["decrement"])
|
||||
@@ -111,11 +111,11 @@ FLOOR SAFES
|
||||
if(dial == tumbler_1_pos + 1 || dial == tumbler_1_pos - 71)
|
||||
tumbler_1_pos = decrement(tumbler_1_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='notice'>You hear a [pick("clack", "scrape", "clank")] from \the [src].</span>")
|
||||
to_chat(user, span_notice("You hear a [pick("clack", "scrape", "clank")] from \the [src]."))
|
||||
if(tumbler_1_pos == tumbler_2_pos + 37 || tumbler_1_pos == tumbler_2_pos - 35)
|
||||
tumbler_2_pos = decrement(tumbler_2_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='notice'>You hear a [pick("click", "chink", "clink")] from \the [src].</span>")
|
||||
to_chat(user, span_notice("You hear a [pick("click", "chink", "clink")] from \the [src]."))
|
||||
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
||||
check_unlocked(user, canhear)
|
||||
|
||||
@@ -127,11 +127,11 @@ FLOOR SAFES
|
||||
if(dial == tumbler_1_pos - 1 || dial == tumbler_1_pos + 71)
|
||||
tumbler_1_pos = increment(tumbler_1_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='notice'>You hear a [pick("clack", "scrape", "clank")] from \the [src].</span>")
|
||||
to_chat(user, span_notice("You hear a [pick("clack", "scrape", "clank")] from \the [src]."))
|
||||
if(tumbler_1_pos == tumbler_2_pos - 37 || tumbler_1_pos == tumbler_2_pos + 35)
|
||||
tumbler_2_pos = increment(tumbler_2_pos)
|
||||
if(canhear)
|
||||
to_chat(user, "<span class='notice'>You hear a [pick("click", "chink", "clink")] from \the [src].</span>")
|
||||
to_chat(user, span_notice("You hear a [pick("click", "chink", "clink")] from \the [src]."))
|
||||
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
||||
check_unlocked(user, canhear)
|
||||
updateUsrDialog()
|
||||
@@ -153,11 +153,11 @@ FLOOR SAFES
|
||||
space += I.w_class
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
to_chat(user, "<span class='notice'>You put [I] in \the [src].</span>")
|
||||
to_chat(user, span_notice("You put [I] in \the [src]."))
|
||||
updateUsrDialog()
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[I] won't fit in \the [src].</span>")
|
||||
to_chat(user, span_notice("[I] won't fit in \the [src]."))
|
||||
return
|
||||
else
|
||||
if(istype(I, /obj/item/clothing/accessory/stethoscope))
|
||||
|
||||
@@ -19,11 +19,11 @@
|
||||
var/actual_time = I.toolspeed * 170
|
||||
user.visible_message( \
|
||||
"<b>\The [user]</b> begins salvaging from \the [src].", \
|
||||
"<span class='notice'>You start salvaging from \the [src].</span>")
|
||||
span_notice("You start salvaging from \the [src]."))
|
||||
if(do_after(user, actual_time, target = src))
|
||||
user.visible_message( \
|
||||
"<span class='notice'>\The [user] has salvaged \the [src].</span>", \
|
||||
"<span class='notice'>You salvage \the [src].</span>")
|
||||
span_notice("\The [user] has salvaged \the [src]."), \
|
||||
span_notice("You salvage \the [src]."))
|
||||
dismantle()
|
||||
qdel(src)
|
||||
return TRUE
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
else if(user.a_intent == I_HURT)
|
||||
src.visible_message("<span class='warning'>[user] hammers on \the [src]!</span>", "<span class='warning'>Someone hammers loudly on \the [src]!</span>")
|
||||
src.visible_message(span_warning("[user] hammers on \the [src]!"), span_warning("Someone hammers loudly on \the [src]!"))
|
||||
src.add_fingerprint(user)
|
||||
playsound(src, knock_hammer_sound, 50, 0, 3)
|
||||
else if(user.a_intent == I_HELP)
|
||||
@@ -102,7 +102,7 @@
|
||||
if(!material.can_open_material_door(user))
|
||||
return
|
||||
if(locked && state == 0)
|
||||
to_chat(M,"<span class='warning'>It's locked!</span>")
|
||||
to_chat(M,span_warning("It's locked!"))
|
||||
return
|
||||
if(world.time - user.last_bumped <= 60)
|
||||
return
|
||||
@@ -157,23 +157,23 @@
|
||||
if(istype(W,/obj/item/simple_key))
|
||||
var/obj/item/simple_key/key = W
|
||||
if(state)
|
||||
to_chat(user,"<span class='notice'>\The [src] must be closed in order for you to lock it.</span>")
|
||||
to_chat(user,span_notice("\The [src] must be closed in order for you to lock it."))
|
||||
else if(key.key_id != src.lock_id)
|
||||
to_chat(user,"<span class='warning'>The [key] doesn't fit \the [src]'s lock!</span>")
|
||||
to_chat(user,span_warning("The [key] doesn't fit \the [src]'s lock!"))
|
||||
else if(key.key_id == src.lock_id)
|
||||
visible_message("<span class='notice'>[user] [key.keyverb] \the [key] and [locked ? "unlocks" : "locks"] \the [src].</span>")
|
||||
visible_message(span_notice("[user] [key.keyverb] \the [key] and [locked ? "unlocks" : "locks"] \the [src]."))
|
||||
locked = !locked
|
||||
playsound(src, keysound,100, 1)
|
||||
return
|
||||
if(istype(W,/obj/item/pickaxe) && breakable)
|
||||
var/obj/item/pickaxe/digTool = W
|
||||
visible_message("<span class='danger'>[user] starts digging [src]!</span>")
|
||||
visible_message(span_danger("[user] starts digging [src]!"))
|
||||
if(do_after(user,digTool.digspeed*hardness) && src)
|
||||
visible_message("<span class='danger'>[user] finished digging [src]!</span>")
|
||||
visible_message(span_danger("[user] finished digging [src]!"))
|
||||
Dismantle()
|
||||
else if(istype(W,/obj/item) && breakable) //not sure, can't not just weapons get passed to this proc?
|
||||
hardness -= W.force/10
|
||||
visible_message("<span class='danger'>[user] hits [src] with [W]!</span>")
|
||||
visible_message(span_danger("[user] hits [src] with [W]!"))
|
||||
if(material == get_material_by_name("resin"))
|
||||
playsound(src, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
else if(material == (get_material_by_name(MAT_WOOD) || get_material_by_name(MAT_SIFWOOD) || get_material_by_name(MAT_HARDWOOD)))
|
||||
@@ -198,7 +198,7 @@
|
||||
CheckHardness()
|
||||
|
||||
/obj/structure/simple_door/attack_generic(var/mob/user, var/damage, var/attack_verb)
|
||||
visible_message("<span class='danger'>[user] [attack_verb] the [src]!</span>")
|
||||
visible_message(span_danger("[user] [attack_verb] the [src]!"))
|
||||
if(material == get_material_by_name("resin"))
|
||||
playsound(src, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
else if(material == (get_material_by_name(MAT_WOOD) || get_material_by_name(MAT_SIFWOOD) || get_material_by_name(MAT_HARDWOOD)))
|
||||
@@ -215,7 +215,7 @@
|
||||
|
||||
/obj/structure/simple_door/proc/Dismantle(devastated = 0)
|
||||
material.place_dismantled_product(get_turf(src))
|
||||
visible_message("<span class='danger'>The [src] is destroyed!</span>")
|
||||
visible_message(span_danger("The [src] is destroyed!"))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/simple_door/ex_act(severity = 1)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
/obj/structure/snowman/attack_hand(mob/user as mob)
|
||||
if(user.a_intent == I_HURT)
|
||||
to_chat(user, "<span class='notice'>In one hit, [src] easily crumples into a pile of snow. You monster.</span>")
|
||||
to_chat(user, span_notice("In one hit, [src] easily crumples into a pile of snow. You monster."))
|
||||
var/turf/simulated/floor/F = get_turf(src)
|
||||
if (istype(F))
|
||||
new /obj/item/stack/material/snow(F)
|
||||
@@ -21,4 +21,4 @@
|
||||
/obj/structure/snowman/spider
|
||||
name = "snow spider"
|
||||
icon_state = "snowspider"
|
||||
desc = "An impressively crafted snow spider. Not nearly as creepy as the real thing."
|
||||
desc = "An impressively crafted snow spider. Not nearly as creepy as the real thing."
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
if(buckled_mob.buckled == src)
|
||||
if(buckled_mob != user)
|
||||
buckled_mob.visible_message(\
|
||||
"<span class='notice'>[user.name] pulls [buckled_mob.name] free from the sticky nest!</span>",\
|
||||
"<span class='notice'>[user.name] pulls you free from the gelatinous resin.</span>",\
|
||||
"<span class='notice'>You hear squelching...</span>")
|
||||
span_notice("[user.name] pulls [buckled_mob.name] free from the sticky nest!"),\
|
||||
span_notice("[user.name] pulls you free from the gelatinous resin."),\
|
||||
span_notice("You hear squelching..."))
|
||||
buckled_mob.pixel_y = 0
|
||||
buckled_mob.old_y = 0
|
||||
unbuckle_mob(buckled_mob)
|
||||
@@ -27,9 +27,9 @@
|
||||
return
|
||||
buckled_mob.last_special = world.time
|
||||
buckled_mob.visible_message(\
|
||||
"<span class='warning'>[buckled_mob.name] struggles to break free of the gelatinous resin...</span>",\
|
||||
"<span class='warning'>You struggle to break free from the gelatinous resin...</span>",\
|
||||
"<span class='notice'>You hear squelching...</span>")
|
||||
span_warning("[buckled_mob.name] struggles to break free of the gelatinous resin..."),\
|
||||
span_warning("You struggle to break free from the gelatinous resin..."),\
|
||||
span_notice("You hear squelching..."))
|
||||
spawn(NEST_RESIST_TIME)
|
||||
if(user && buckled_mob && user.buckled == src)
|
||||
buckled_mob.last_special = world.time
|
||||
@@ -60,9 +60,9 @@
|
||||
return
|
||||
else
|
||||
M.visible_message(\
|
||||
"<span class='notice'>[user.name] secretes a thick vile goo, securing [M.name] into [src]!</span>",\
|
||||
"<span class='warning'>[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!</span>",\
|
||||
"<span class='notice'>You hear squelching...</span>")
|
||||
span_notice("[user.name] secretes a thick vile goo, securing [M.name] into [src]!"),\
|
||||
span_warning("[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!"),\
|
||||
span_notice("You hear squelching..."))
|
||||
M.buckled = src
|
||||
M.loc = src.loc
|
||||
M.set_dir(src.dir)
|
||||
@@ -78,7 +78,7 @@
|
||||
health = max(0, health - aforce)
|
||||
playsound(src, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
for(var/mob/M in viewers(src, 7))
|
||||
M.show_message("<span class='warning'>[user] hits [src] with [W]!</span>", 1)
|
||||
M.show_message(span_warning("[user] hits [src] with [W]!"), 1)
|
||||
healthcheck()
|
||||
|
||||
/obj/structure/bed/nest/proc/healthcheck()
|
||||
|
||||
@@ -132,23 +132,23 @@
|
||||
W.pixel_x = 10 //make sure they reach the pillow
|
||||
W.pixel_y = -6
|
||||
if(istype(W, /obj/item/disk))
|
||||
user.visible_message("<span class='notice'>[src] sleeps soundly. Sleep tight, disky.</span>")
|
||||
user.visible_message(span_notice("[src] sleeps soundly. Sleep tight, disky."))
|
||||
|
||||
else if(istype(W, /obj/item/grab))
|
||||
var/obj/item/grab/G = W
|
||||
var/mob/living/affecting = G.affecting
|
||||
if(has_buckled_mobs()) //Handles trying to buckle someone else to a chair when someone else is on it
|
||||
to_chat(user, "<span class='notice'>\The [src] already has someone buckled to it.</span>")
|
||||
to_chat(user, span_notice("\The [src] already has someone buckled to it."))
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] attempts to buckle [affecting] into \the [src]!</span>")
|
||||
user.visible_message(span_notice("[user] attempts to buckle [affecting] into \the [src]!"))
|
||||
if(do_after(user, 20, G.affecting))
|
||||
affecting.loc = loc
|
||||
spawn(0)
|
||||
if(buckle_mob(affecting))
|
||||
affecting.visible_message(\
|
||||
"<span class='danger'>[affecting.name] is buckled to [src] by [user.name]!</span>",\
|
||||
"<span class='danger'>You are buckled to [src] by [user.name]!</span>",\
|
||||
"<span class='notice'>You hear metal clanking.</span>")
|
||||
span_danger("[affecting.name] is buckled to [src] by [user.name]!"),\
|
||||
span_danger("You are buckled to [src] by [user.name]!"),\
|
||||
span_notice("You hear metal clanking."))
|
||||
qdel(W)
|
||||
else
|
||||
..()
|
||||
@@ -256,7 +256,7 @@
|
||||
if(istype(W,/obj/item/roller_holder))
|
||||
var/obj/item/roller_holder/RH = W
|
||||
if(!RH.held)
|
||||
to_chat(user, "<span class='notice'>You collect the roller bed.</span>")
|
||||
to_chat(user, span_notice("You collect the roller bed."))
|
||||
src.loc = RH
|
||||
RH.held = src
|
||||
return
|
||||
@@ -285,10 +285,10 @@
|
||||
/obj/item/roller_holder/attack_self(mob/user as mob)
|
||||
|
||||
if(!held)
|
||||
to_chat(user, "<span class='notice'>The rack is empty.</span>")
|
||||
to_chat(user, span_notice("The rack is empty."))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You deploy the roller bed.</span>")
|
||||
to_chat(user, span_notice("You deploy the roller bed."))
|
||||
var/obj/structure/bed/roller/R = new held.bedtype(user.loc)
|
||||
R.add_fingerprint(user)
|
||||
qdel(held)
|
||||
@@ -378,10 +378,10 @@
|
||||
|
||||
if(do_after(user, 20 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user, "<span class='notice'>You [anchored? "un" : ""]secured \the [src]!</span>")
|
||||
to_chat(user, span_notice("You [anchored? "un" : ""]secured \the [src]!"))
|
||||
anchored = !anchored
|
||||
return
|
||||
|
||||
if(!anchored)
|
||||
to_chat(user,"<span class='notice'> The bed isn't secured.</span>")
|
||||
to_chat(user,span_notice(" The bed isn't secured."))
|
||||
return
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
if(!padding_material && istype(W, /obj/item/assembly/shock_kit))
|
||||
var/obj/item/assembly/shock_kit/SK = W
|
||||
if(!SK.status)
|
||||
to_chat(user, "<span class='notice'>\The [SK] is not ready to be attached!</span>")
|
||||
to_chat(user, span_notice("\The [SK] is not ready to be attached!"))
|
||||
return
|
||||
user.drop_item()
|
||||
var/obj/structure/bed/chair/e_chair/E = new (src.loc, material.name)
|
||||
@@ -255,7 +255,7 @@
|
||||
victim.apply_effect(6, WEAKEN, blocked)
|
||||
victim.apply_effect(6, STUTTER, blocked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, blocked, soaked)
|
||||
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||
occupant.visible_message(span_danger("[occupant] crashed into \the [A]!"))
|
||||
|
||||
/obj/structure/bed/chair/office/light
|
||||
icon_state = "officechair_white"
|
||||
|
||||
@@ -73,7 +73,7 @@ var/global/list/stool_cache = list() //haha stool
|
||||
|
||||
/obj/item/stool/attack(mob/M as mob, mob/user as mob)
|
||||
if (prob(5) && istype(M,/mob/living))
|
||||
user.visible_message("<span class='danger'>[user] breaks [src] over [M]'s back!</span>")
|
||||
user.visible_message(span_danger("[user] breaks [src] over [M]'s back!"))
|
||||
user.setClickCooldown(user.get_attack_speed())
|
||||
user.do_attack_animation(M)
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
if(user==pulling)
|
||||
pulling = null
|
||||
user.pulledby = null
|
||||
to_chat(user, "<span class='warning'>You lost your grip!</span>")
|
||||
to_chat(user, span_warning("You lost your grip!"))
|
||||
return
|
||||
if(has_buckled_mobs() && pulling && (user in buckled_mobs))
|
||||
if(pulling.stat || pulling.stunned || pulling.weakened || pulling.paralysis || pulling.lying || pulling.restrained())
|
||||
@@ -83,10 +83,10 @@
|
||||
if(user==pulling)
|
||||
return
|
||||
if(pulling && (get_dir(src.loc, pulling.loc) == direction))
|
||||
to_chat(user, "<span class='warning'>You cannot go there.</span>")
|
||||
to_chat(user, span_warning("You cannot go there."))
|
||||
return
|
||||
if(pulling && has_buckled_mobs() && (user in buckled_mobs))
|
||||
to_chat(user, "<span class='warning'>You cannot drive while being pushed.</span>")
|
||||
to_chat(user, span_warning("You cannot drive while being pushed."))
|
||||
return
|
||||
|
||||
// Let's roll
|
||||
@@ -140,7 +140,7 @@
|
||||
unbuckle_mob()
|
||||
if (pulling && (get_dist(src, pulling) > 1))
|
||||
pulling.pulledby = null
|
||||
to_chat(pulling, "<span class='warning'>You lost your grip!</span>")
|
||||
to_chat(pulling, span_warning("You lost your grip!"))
|
||||
pulling = null
|
||||
else
|
||||
if (occupant && (src.loc != occupant.loc))
|
||||
@@ -159,7 +159,7 @@
|
||||
if(in_range(src, user))
|
||||
if(!ishuman(user)) return
|
||||
if(has_buckled_mobs() && (user in buckled_mobs))
|
||||
to_chat(user, "<span class='warning'>You realize you are unable to push the wheelchair you sit in.</span>")
|
||||
to_chat(user, span_warning("You realize you are unable to push the wheelchair you sit in."))
|
||||
return
|
||||
if(!pulling)
|
||||
pulling = user
|
||||
@@ -205,11 +205,11 @@
|
||||
victim.apply_effect(6, STUTTER, blocked)
|
||||
victim.apply_damage(10, BRUTE, def_zone, soaked)
|
||||
if(pulling)
|
||||
occupant.visible_message("<span class='danger'>[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!</span>")
|
||||
occupant.visible_message(span_danger("[pulling] has thrusted \the [name] into \the [A], throwing \the [occupant] out of it!"))
|
||||
|
||||
add_attack_logs(pulling,occupant,"Crashed their [name] into [A]")
|
||||
else
|
||||
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||
occupant.visible_message(span_danger("[occupant] crashed into \the [A]!"))
|
||||
|
||||
/obj/structure/bed/chair/wheelchair/proc/create_track()
|
||||
var/obj/effect/decal/cleanable/blood/tracks/B = new(loc)
|
||||
|
||||
@@ -75,25 +75,25 @@
|
||||
full = TRUE
|
||||
else if(I.has_tool_quality(TOOL_WRENCH))
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='notice'>You lean down and unwrench [src].</span>")
|
||||
to_chat(user, span_notice("You lean down and unwrench [src]."))
|
||||
anchored = FALSE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You wrench [src] into place.</span>")
|
||||
to_chat(user, span_notice("You wrench [src] into place."))
|
||||
anchored = TRUE
|
||||
return
|
||||
else if(user.a_intent != I_HURT)
|
||||
to_chat(user, "<span class='notice'>[I] does not fit into [src].</span>")
|
||||
to_chat(user, span_notice("[I] does not fit into [src]."))
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
if(full)
|
||||
to_chat(user, "<span class='notice'>[src] can't hold any more of [I].</span>")
|
||||
to_chat(user, span_notice("[src] can't hold any more of [I]."))
|
||||
return
|
||||
|
||||
if(!user.unEquip(I, target = src))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
to_chat(user, span_notice("You put [I] in [src]."))
|
||||
update_icon()
|
||||
|
||||
#undef TANK_DISPENSER_CAPACITY
|
||||
|
||||
@@ -101,11 +101,11 @@
|
||||
/obj/structure/transit_tube/Bumped(mob/AM as mob|obj)
|
||||
var/obj/structure/transit_tube/T = locate() in AM.loc
|
||||
if(T)
|
||||
to_chat(AM, "<span class='warning'>The tube's support pylons block your way.</span>")
|
||||
to_chat(AM, span_warning("The tube's support pylons block your way."))
|
||||
return ..()
|
||||
else
|
||||
AM.loc = src.loc
|
||||
to_chat(AM, "<span class='info'>You slip under the tube.</span>")
|
||||
to_chat(AM, span_info("You slip under the tube."))
|
||||
|
||||
|
||||
/obj/structure/transit_tube/station/New(loc)
|
||||
@@ -117,7 +117,7 @@
|
||||
if(!pod_moving && icon_state == "open" && istype(AM, /mob))
|
||||
for(var/obj/structure/transit_tube_pod/pod in loc)
|
||||
if(pod.contents.len)
|
||||
to_chat(AM, "<span class='notice'>The pod is already occupied.</span>")
|
||||
to_chat(AM, span_notice("The pod is already occupied."))
|
||||
return
|
||||
else if(!pod.moving && (pod.dir in directions()))
|
||||
AM.loc = pod
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
/obj/structure/trash_pile/attackby(obj/item/W as obj, mob/user as mob)
|
||||
var/w_type = W.type
|
||||
if(w_type in allocated_gamma)
|
||||
to_chat(user,"<span class='notice'>You feel \the [W] slip from your hand, and disappear into the trash pile.</span>")
|
||||
to_chat(user,span_notice("You feel \the [W] slip from your hand, and disappear into the trash pile."))
|
||||
user.unEquip(W)
|
||||
W.forceMove(src)
|
||||
allocated_gamma -= w_type
|
||||
@@ -84,12 +84,12 @@
|
||||
|
||||
/obj/structure/trash_pile/attack_ghost(mob/observer/user as mob)
|
||||
if(config.disable_player_mice)
|
||||
to_chat(user, "<span class='warning'>Spawning as a mouse is currently disabled.</span>")
|
||||
to_chat(user, span_warning("Spawning as a mouse is currently disabled."))
|
||||
return
|
||||
|
||||
//VOREStation Add Start
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot become a mouse because you are banned from playing ghost roles.</span>")
|
||||
to_chat(user, span_warning("You cannot become a mouse because you are banned from playing ghost roles."))
|
||||
return
|
||||
//VOREStation Add End
|
||||
|
||||
@@ -98,14 +98,14 @@
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T || (T.z in using_map.admin_levels))
|
||||
to_chat(user, "<span class='warning'>You may not spawn as a mouse on this Z-level.</span>")
|
||||
to_chat(user, span_warning("You may not spawn as a mouse on this Z-level."))
|
||||
return
|
||||
|
||||
var/timedifference = world.time - user.client.time_died_as_mouse
|
||||
if(user.client.time_died_as_mouse && timedifference <= mouse_respawn_time * 600)
|
||||
var/timedifference_text
|
||||
timedifference_text = time2text(mouse_respawn_time * 600 - timedifference,"mm:ss")
|
||||
to_chat(user, "<span class='warning'>You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left.</span>")
|
||||
to_chat(user, span_warning("You may only spawn again as a mouse more than [mouse_respawn_time] minutes after your death. You have [timedifference_text] left."))
|
||||
return
|
||||
|
||||
var/response = tgui_alert(user, "Are you -sure- you want to become a mouse?","Are you sure you want to squeek?",list("Squeek!","Nope!"))
|
||||
@@ -119,7 +119,7 @@
|
||||
host.universal_understand = 0
|
||||
announce_ghost_joinleave(src, 0, "They are now a mouse.")
|
||||
host.ckey = user.ckey
|
||||
to_chat(host, "<span class='info'>You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent.</span>")
|
||||
to_chat(host, span_info("You are now a mouse. Try to avoid interaction with players, and do not give hints away that you are more than a simple rodent."))
|
||||
|
||||
var/atom/A = get_holder_at_turf_level(src)
|
||||
A.visible_message("[host] crawls out of \the [src].")
|
||||
@@ -129,23 +129,23 @@
|
||||
//Human mob
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.visible_message("[user] searches through \the [src].","<span class='notice'>You search through \the [src].</span>")
|
||||
H.visible_message("[user] searches through \the [src].",span_notice("You search through \the [src]."))
|
||||
if(hider)
|
||||
to_chat(hider,"<span class='warning'>[user] is searching the trash pile you're in!</span>")
|
||||
to_chat(hider,span_warning("[user] is searching the trash pile you're in!"))
|
||||
|
||||
//Do the searching
|
||||
if(do_after(user,rand(4 SECONDS,6 SECONDS),src))
|
||||
|
||||
//If there was a hider, chance to reveal them
|
||||
if(hider && prob(50))
|
||||
to_chat(hider,"<span class='danger'>You've been discovered!</span>")
|
||||
to_chat(hider,span_danger("You've been discovered!"))
|
||||
hider.forceMove(get_turf(src))
|
||||
hider = null
|
||||
to_chat(user,"<span class='danger'>Some sort of creature leaps out of \the [src]!</span>")
|
||||
to_chat(user,span_danger("Some sort of creature leaps out of \the [src]!"))
|
||||
|
||||
//You already searched this one bruh
|
||||
else if(user.ckey in searchedby)
|
||||
to_chat(H,"<span class='warning'>There's nothing else for you in \the [src]!</span>")
|
||||
to_chat(H,span_warning("There's nothing else for you in \the [src]!"))
|
||||
|
||||
//You found an item!
|
||||
else
|
||||
@@ -170,7 +170,7 @@
|
||||
if(I)
|
||||
searchedby += user.ckey
|
||||
I.forceMove(get_turf(src))
|
||||
to_chat(H,"<span class='notice'>You found \a [I]!</span>")
|
||||
to_chat(H,span_notice("You found \a [I]!"))
|
||||
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
/obj/structure/undies_wardrobe/attack_hand(var/mob/user)
|
||||
if(!human_who_can_use_underwear(user))
|
||||
to_chat(user, "<span class='warning'>Sadly there's nothing in here for you to wear.</span>")
|
||||
to_chat(user, span_warning("Sadly there's nothing in here for you to wear."))
|
||||
return
|
||||
interact(user)
|
||||
|
||||
@@ -86,4 +86,4 @@
|
||||
|
||||
if(.)
|
||||
H.update_underwear()
|
||||
interact(H)
|
||||
interact(H)
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
/obj/structure/toilet/attack_hand(mob/living/user as mob)
|
||||
if(swirlie)
|
||||
usr.setClickCooldown(user.get_attack_speed())
|
||||
usr.visible_message("<span class='danger'>[user] slams the toilet seat onto [swirlie.name]'s head!</span>", "<span class='notice'>You slam the toilet seat onto [swirlie.name]'s head!</span>", "You hear reverberating porcelain.")
|
||||
usr.visible_message(span_danger("[user] slams the toilet seat onto [swirlie.name]'s head!"), span_notice("You slam the toilet seat onto [swirlie.name]'s head!"), "You hear reverberating porcelain.")
|
||||
swirlie.adjustBruteLoss(5)
|
||||
return
|
||||
|
||||
if(cistern && !open)
|
||||
if(!contents.len)
|
||||
to_chat(user, "<span class='notice'>The cistern is empty.</span>")
|
||||
to_chat(user, span_notice("The cistern is empty."))
|
||||
return
|
||||
else
|
||||
var/obj/item/I = pick(contents)
|
||||
@@ -33,7 +33,7 @@
|
||||
user.put_in_hands(I)
|
||||
else
|
||||
I.loc = get_turf(src)
|
||||
to_chat(user, "<span class='notice'>You find \an [I] in the cistern.</span>")
|
||||
to_chat(user, span_notice("You find \an [I] in the cistern."))
|
||||
w_items -= I.w_class
|
||||
return
|
||||
|
||||
@@ -45,10 +45,10 @@
|
||||
|
||||
/obj/structure/toilet/attackby(obj/item/I as obj, mob/living/user as mob)
|
||||
if(I.has_tool_quality(TOOL_CROWBAR))
|
||||
to_chat(user, "<span class='notice'>You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"].</span>")
|
||||
to_chat(user, span_notice("You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]."))
|
||||
playsound(src, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
|
||||
if(do_after(user, 30))
|
||||
user.visible_message("<span class='notice'>[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!</span>", "<span class='notice'>You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!</span>", "You hear grinding porcelain.")
|
||||
user.visible_message(span_notice("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!"), span_notice("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"), "You hear grinding porcelain.")
|
||||
cistern = !cistern
|
||||
update_icon()
|
||||
return
|
||||
@@ -62,28 +62,28 @@
|
||||
|
||||
if(G.state>1)
|
||||
if(!GM.loc == get_turf(src))
|
||||
to_chat(user, "<span class='notice'>[GM.name] needs to be on the toilet.</span>")
|
||||
to_chat(user, span_notice("[GM.name] needs to be on the toilet."))
|
||||
return
|
||||
if(open && !swirlie)
|
||||
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
|
||||
user.visible_message(span_danger("[user] starts to give [GM.name] a swirlie!"), span_notice("You start to give [GM.name] a swirlie!"))
|
||||
swirlie = GM
|
||||
if(do_after(user, 30, GM))
|
||||
user.visible_message("<span class='danger'>[user] gives [GM.name] a swirlie!</span>", "<span class='notice'>You give [GM.name] a swirlie!</span>", "You hear a toilet flushing.")
|
||||
user.visible_message(span_danger("[user] gives [GM.name] a swirlie!"), span_notice("You give [GM.name] a swirlie!"), "You hear a toilet flushing.")
|
||||
if(!GM.internal)
|
||||
GM.adjustOxyLoss(5)
|
||||
swirlie = null
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
||||
user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!"))
|
||||
GM.adjustBruteLoss(5)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need a tighter grip.</span>")
|
||||
to_chat(user, span_notice("You need a tighter grip."))
|
||||
|
||||
if(cistern && !istype(user,/mob/living/silicon/robot)) //STOP PUTTING YOUR MODULES IN THE TOILET.
|
||||
if(I.w_class > 3)
|
||||
to_chat(user, "<span class='notice'>\The [I] does not fit.</span>")
|
||||
to_chat(user, span_notice("\The [I] does not fit."))
|
||||
return
|
||||
if(w_items + I.w_class > 5)
|
||||
to_chat(user, "<span class='notice'>The cistern is full.</span>")
|
||||
to_chat(user, span_notice("The cistern is full."))
|
||||
return
|
||||
user.drop_item()
|
||||
I.loc = src
|
||||
@@ -108,21 +108,21 @@
|
||||
|
||||
if(G.state>1)
|
||||
if(!GM.loc == get_turf(src))
|
||||
to_chat(user, "<span class='notice'>[GM.name] needs to be on the toilet.</span>")
|
||||
to_chat(user, span_notice("[GM.name] needs to be on the toilet."))
|
||||
return
|
||||
if(open && !swirlie)
|
||||
user.visible_message("<span class='danger'>[user] starts to give [GM.name] a swirlie!</span>", "<span class='notice'>You start to give [GM.name] a swirlie!</span>")
|
||||
user.visible_message(span_danger("[user] starts to give [GM.name] a swirlie!"), span_notice("You start to give [GM.name] a swirlie!"))
|
||||
swirlie = GM
|
||||
if(do_after(user, 30, GM))
|
||||
user.visible_message("<span class='danger'>[user] gives [GM.name] a swirlie!</span>", "<span class='notice'>You give [GM.name] a swirlie!</span>", "You hear a toilet flushing.")
|
||||
user.visible_message(span_danger("[user] gives [GM.name] a swirlie!"), span_notice("You give [GM.name] a swirlie!"), "You hear a toilet flushing.")
|
||||
if(!GM.internal)
|
||||
GM.adjustOxyLoss(5)
|
||||
swirlie = null
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
||||
user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!"))
|
||||
GM.adjustBruteLoss(5)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need a tighter grip.</span>")
|
||||
to_chat(user, span_notice("You need a tighter grip."))
|
||||
|
||||
/obj/structure/urinal
|
||||
name = "urinal"
|
||||
@@ -139,12 +139,12 @@
|
||||
var/mob/living/GM = G.affecting
|
||||
if(G.state>1)
|
||||
if(!GM.loc == get_turf(src))
|
||||
to_chat(user, "<span class='notice'>[GM.name] needs to be on the urinal.</span>")
|
||||
to_chat(user, span_notice("[GM.name] needs to be on the urinal."))
|
||||
return
|
||||
user.visible_message("<span class='danger'>[user] slams [GM.name] into the [src]!</span>", "<span class='notice'>You slam [GM.name] into the [src]!</span>")
|
||||
user.visible_message(span_danger("[user] slams [GM.name] into the [src]!"), span_notice("You slam [GM.name] into the [src]!"))
|
||||
GM.adjustBruteLoss(8)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need a tighter grip.</span>")
|
||||
to_chat(user, span_notice("You need a tighter grip."))
|
||||
|
||||
|
||||
|
||||
@@ -199,14 +199,14 @@
|
||||
|
||||
/obj/machinery/shower/attackby(obj/item/I as obj, mob/user as mob)
|
||||
if(I.type == /obj/item/analyzer)
|
||||
to_chat(user, "<span class='notice'>The water temperature seems to be [watertemp].</span>")
|
||||
to_chat(user, span_notice("The water temperature seems to be [watertemp]."))
|
||||
if(I.has_tool_quality(TOOL_WRENCH))
|
||||
var/newtemp = tgui_input_list(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve", temperature_settings)
|
||||
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I].</span>")
|
||||
to_chat(user, span_notice("You begin to adjust the temperature valve with \the [I]."))
|
||||
playsound(src, I.usesound, 50, 1)
|
||||
if(do_after(user, 50 * I.toolspeed))
|
||||
watertemp = newtemp
|
||||
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>", "<span class='notice'>You adjust the shower with \the [I].</span>")
|
||||
user.visible_message(span_notice("[user] adjusts the shower with \the [I]."), span_notice("You adjust the shower with \the [I]."))
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up
|
||||
@@ -286,9 +286,9 @@
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(temperature >= H.species.heat_level_1)
|
||||
to_chat(H, "<span class='danger'>The water is searing hot!</span>")
|
||||
to_chat(H, span_danger("The water is searing hot!"))
|
||||
else if(temperature <= H.species.cold_level_1)
|
||||
to_chat(H, "<span class='warning'>The water is freezing cold!</span>")
|
||||
to_chat(H, span_warning("The water is freezing cold!"))
|
||||
|
||||
/obj/item/bikehorn/rubberducky
|
||||
name = "rubber ducky"
|
||||
@@ -376,7 +376,7 @@
|
||||
/obj/item/bikehorn/rubberducky/pink/attack_self(mob/user as mob)
|
||||
if(spam_flag == 0)
|
||||
if(!user.devourable)
|
||||
to_chat(user, "<span class='vnotice'>You can't bring yourself to squeeze it...</span>")
|
||||
to_chat(user, span_vnotice("You can't bring yourself to squeeze it..."))
|
||||
return
|
||||
spam_flag = 1
|
||||
playsound(src, honk_sound, 50, 1)
|
||||
@@ -385,14 +385,14 @@
|
||||
src.add_fingerprint(user)
|
||||
user.drop_item()
|
||||
user.forceMove(src)
|
||||
to_chat(user, "<span class='vnotice'>You have been swallowed alive by the rubber ducky. Your entire body compacted up and squeezed into the tiny space that makes up the oddly realistic and not at all rubbery stomach. The walls themselves are kneading over you, grinding some sort of fluids into your trapped body. You can even hear the sound of bodily functions echoing around you...</span>")
|
||||
to_chat(user, span_vnotice("You have been swallowed alive by the rubber ducky. Your entire body compacted up and squeezed into the tiny space that makes up the oddly realistic and not at all rubbery stomach. The walls themselves are kneading over you, grinding some sort of fluids into your trapped body. You can even hear the sound of bodily functions echoing around you..."))
|
||||
spawn(20)
|
||||
spam_flag = 0
|
||||
return
|
||||
|
||||
/obj/item/bikehorn/rubberducky/pink/container_resist(var/mob/living/escapee)
|
||||
escapee.forceMove(get_turf(src))
|
||||
to_chat(escapee, "<span class='vnotice'>You managed to crawl out of the rubber ducky!</span>")
|
||||
to_chat(escapee, span_vnotice("You managed to crawl out of the rubber ducky!"))
|
||||
|
||||
/obj/item/bikehorn/rubberducky/grey
|
||||
name = "rubber ducky"
|
||||
@@ -522,7 +522,7 @@
|
||||
if(!usr.Adjacent(src))
|
||||
return ..()
|
||||
if(!thing.reagents || thing.reagents.total_volume == 0)
|
||||
to_chat(usr, "<span class='warning'>\The [thing] is empty.</span>")
|
||||
to_chat(usr, span_warning("\The [thing] is empty."))
|
||||
return
|
||||
// Clear the vessel.
|
||||
visible_message("<b>\The [usr]</b> tips the contents of \the [thing] into \the [src].")
|
||||
@@ -536,7 +536,7 @@
|
||||
if (H.hand)
|
||||
temp = H.organs_by_name["l_hand"]
|
||||
if(temp && !temp.is_usable())
|
||||
to_chat(user, "<span class='notice'>You try to move your [temp.name], but cannot!</span>")
|
||||
to_chat(user, span_notice("You try to move your [temp.name], but cannot!"))
|
||||
return
|
||||
|
||||
if(isrobot(user) || isAI(user))
|
||||
@@ -546,16 +546,16 @@
|
||||
return
|
||||
|
||||
if(busy)
|
||||
to_chat(user, "<span class='warning'>Someone's already washing here.</span>")
|
||||
to_chat(user, span_warning("Someone's already washing here."))
|
||||
return
|
||||
|
||||
to_chat(usr, "<span class='notice'>You start washing your hands.</span>")
|
||||
to_chat(usr, span_notice("You start washing your hands."))
|
||||
playsound(src, 'sound/effects/sink_long.ogg', 75, 1)
|
||||
|
||||
busy = 1
|
||||
if(!do_after(user, 40, src))
|
||||
busy = 0
|
||||
to_chat(usr, "<span class='notice'>You stop washing your hands.</span>")
|
||||
to_chat(usr, span_notice("You stop washing your hands."))
|
||||
return
|
||||
busy = 0
|
||||
|
||||
@@ -563,17 +563,17 @@
|
||||
if(ishuman(user))
|
||||
user:update_inv_gloves()
|
||||
for(var/mob/V in viewers(src, null))
|
||||
V.show_message("<span class='notice'>[user] washes their hands using \the [src].</span>")
|
||||
V.show_message(span_notice("[user] washes their hands using \the [src]."))
|
||||
|
||||
/obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob)
|
||||
if(busy)
|
||||
to_chat(user, "<span class='warning'>Someone's already washing here.</span>")
|
||||
to_chat(user, span_warning("Someone's already washing here."))
|
||||
return
|
||||
|
||||
var/obj/item/reagent_containers/RG = O
|
||||
if (istype(RG) && RG.is_open_container())
|
||||
RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
|
||||
user.visible_message("<span class='notice'>[user] fills \the [RG] using \the [src].</span>","<span class='notice'>You fill \the [RG] using \the [src].</span>")
|
||||
user.visible_message(span_notice("[user] fills \the [RG] using \the [src]."),span_notice("You fill \the [RG] using \the [src]."))
|
||||
playsound(src, 'sound/effects/sink.ogg', 75, 1)
|
||||
return 1
|
||||
|
||||
@@ -592,12 +592,12 @@
|
||||
B.deductcharge(B.hitcost)
|
||||
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
|
||||
user.visible_message( \
|
||||
"<span class='danger'>[user] was stunned by [TU.his] wet [O]!</span>", \
|
||||
"<span class='userdanger'>[user] was stunned by [TU.his] wet [O]!</span>")
|
||||
span_danger("[user] was stunned by [TU.his] wet [O]!"), \
|
||||
span_userdanger("[user] was stunned by [TU.his] wet [O]!"))
|
||||
return 1
|
||||
else if(istype(O, /obj/item/mop))
|
||||
O.reagents.add_reagent("water", 5)
|
||||
to_chat(user, "<span class='notice'>You wet \the [O] in \the [src].</span>")
|
||||
to_chat(user, span_notice("You wet \the [O] in \the [src]."))
|
||||
playsound(src, 'sound/effects/slosh.ogg', 25, 1)
|
||||
return
|
||||
|
||||
@@ -607,20 +607,20 @@
|
||||
var/obj/item/I = O
|
||||
if(!I || !istype(I,/obj/item)) return
|
||||
|
||||
to_chat(usr, "<span class='notice'>You start washing \the [I].</span>")
|
||||
to_chat(usr, span_notice("You start washing \the [I]."))
|
||||
|
||||
busy = 1
|
||||
if(!do_after(user, 40, src))
|
||||
busy = 0
|
||||
to_chat(usr, "<span class='notice'>You stop washing \the [I].</span>")
|
||||
to_chat(usr, span_notice("You stop washing \the [I]."))
|
||||
return
|
||||
busy = 0
|
||||
|
||||
O.clean_blood()
|
||||
O.water_act(rand(1,10))
|
||||
user.visible_message( \
|
||||
"<span class='notice'>[user] washes \a [I] using \the [src].</span>", \
|
||||
"<span class='notice'>You wash \a [I] using \the [src].</span>")
|
||||
span_notice("[user] washes \a [I] using \the [src]."), \
|
||||
span_notice("You wash \a [I] using \the [src]."))
|
||||
|
||||
/obj/structure/sink/kitchen
|
||||
name = "kitchen sink"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if(istype(I) && !I.anchored)
|
||||
bowl_contents += I
|
||||
if(bowl_contents.len)
|
||||
user.visible_message("<span class='notice'>[user] flushes the toilet.</span>", "<span class='notice'>You flush the toilet.</span>")
|
||||
user.visible_message(span_notice("[user] flushes the toilet."), span_notice("You flush the toilet."))
|
||||
playsound(src, 'sound/vore/death7.ogg', 50, 1) //Got lazy about getting new sound files. Have a sick remix lmao.
|
||||
playsound(src, 'sound/effects/bubbles.ogg', 50, 1)
|
||||
playsound(src, 'sound/mecha/powerup.ogg', 30, 1)
|
||||
|
||||
@@ -95,14 +95,14 @@
|
||||
|
||||
if(do_after(user, 40 * WT.toolspeed))
|
||||
if(!src || !WT.isOn()) return
|
||||
to_chat(user,"<span class='notice'>You disassembled the windoor assembly!</span>")
|
||||
to_chat(user,span_notice("You disassembled the windoor assembly!"))
|
||||
if(secure)
|
||||
new /obj/item/stack/material/glass/reinforced(get_turf(src), 2)
|
||||
else
|
||||
new /obj/item/stack/material/glass(get_turf(src), 2)
|
||||
qdel(src)
|
||||
else
|
||||
to_chat(user,"<span class='notice'>You need more welding fuel to disassemble the windoor assembly.</span>")
|
||||
to_chat(user,span_notice("You need more welding fuel to disassemble the windoor assembly."))
|
||||
return
|
||||
|
||||
//Wrenching an unsecure assembly anchors it in place. Step 4 complete
|
||||
@@ -112,7 +112,7 @@
|
||||
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user,"<span class='notice'>You've secured the windoor assembly!</span>")
|
||||
to_chat(user,span_notice("You've secured the windoor assembly!"))
|
||||
src.anchored = TRUE
|
||||
step = 0
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
if(!src) return
|
||||
to_chat(user,"<span class='notice'>You've unsecured the windoor assembly!</span>")
|
||||
to_chat(user,span_notice("You've unsecured the windoor assembly!"))
|
||||
src.anchored = FALSE
|
||||
step = null
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
var/obj/item/stack/cable_coil/CC = W
|
||||
if(do_after(user, 40))
|
||||
if (CC.use(1))
|
||||
to_chat(user,"<span class='notice'>You wire the windoor!</span>")
|
||||
to_chat(user,span_notice("You wire the windoor!"))
|
||||
src.state = "02"
|
||||
step = 1
|
||||
else
|
||||
@@ -150,7 +150,7 @@
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
if(!src) return
|
||||
|
||||
to_chat(user,"<span class='notice'>You cut the windoor wires.!</span>")
|
||||
to_chat(user,span_notice("You cut the windoor wires.!"))
|
||||
new/obj/item/stack/cable_coil(get_turf(user), 1)
|
||||
src.state = "01"
|
||||
step = 0
|
||||
@@ -165,7 +165,7 @@
|
||||
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
to_chat(user,"<span class='notice'>You've installed the airlock electronics!</span>")
|
||||
to_chat(user,span_notice("You've installed the airlock electronics!"))
|
||||
step = 2
|
||||
src.electronics = W
|
||||
else
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
if(do_after(user, 40 * W.toolspeed))
|
||||
if(!src || !src.electronics) return
|
||||
to_chat(user,"<span class='notice'>You've removed the airlock electronics!</span>")
|
||||
to_chat(user,span_notice("You've removed the airlock electronics!"))
|
||||
step = 1
|
||||
var/obj/item/airlock_electronics/ae = electronics
|
||||
electronics = null
|
||||
@@ -187,10 +187,10 @@
|
||||
//Crowbar to complete the assembly, Step 7 complete.
|
||||
else if(W.has_tool_quality(TOOL_CROWBAR))
|
||||
if(!src.electronics)
|
||||
to_chat(usr,"<span class='warning'>The assembly is missing electronics.</span>")
|
||||
to_chat(usr,span_warning("The assembly is missing electronics."))
|
||||
return
|
||||
if(src.electronics && istype(src.electronics, /obj/item/circuitboard/broken))
|
||||
to_chat(usr,"<span class='warning'>The assembly has broken airlock electronics.</span>")
|
||||
to_chat(usr,span_warning("The assembly has broken airlock electronics."))
|
||||
return
|
||||
usr << browse(null, "window=windoor_access") //Not sure what this actually does... -Ner
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
@@ -201,7 +201,7 @@
|
||||
if(!src) return
|
||||
|
||||
density = TRUE //Shouldn't matter but just incase
|
||||
to_chat(user,"<span class='notice'>You finish the windoor!</span>")
|
||||
to_chat(user,span_notice("You finish the windoor!"))
|
||||
|
||||
if(secure)
|
||||
var/obj/machinery/door/window/brigdoor/windoor = new /obj/machinery/door/window/brigdoor(src.loc)
|
||||
|
||||
@@ -28,24 +28,24 @@
|
||||
. = ..()
|
||||
|
||||
if(health == maxhealth)
|
||||
. += "<span class='notice'>It looks fully intact.</span>"
|
||||
. += span_notice("It looks fully intact.")
|
||||
else
|
||||
var/perc = health / maxhealth
|
||||
if(perc > 0.75)
|
||||
. += "<span class='notice'>It has a few cracks.</span>"
|
||||
. += span_notice("It has a few cracks.")
|
||||
else if(perc > 0.5)
|
||||
. += "<span class='warning'>It looks slightly damaged.</span>"
|
||||
. += span_warning("It looks slightly damaged.")
|
||||
else if(perc > 0.25)
|
||||
. += "<span class='warning'>It looks moderately damaged.</span>"
|
||||
. += span_warning("It looks moderately damaged.")
|
||||
else
|
||||
. += "<span class='danger'>It looks heavily damaged.</span>"
|
||||
. += span_danger("It looks heavily damaged.")
|
||||
if(silicate)
|
||||
if (silicate < 30)
|
||||
. += "<span class='notice'>It has a thin layer of silicate.</span>"
|
||||
. += span_notice("It has a thin layer of silicate.")
|
||||
else if (silicate < 70)
|
||||
. += "<span class='notice'>It is covered in silicate.</span>"
|
||||
. += span_notice("It is covered in silicate.")
|
||||
else
|
||||
. += "<span class='notice'>There is a thick layer of silicate covering it.</span>"
|
||||
. += span_notice("There is a thick layer of silicate covering it.")
|
||||
|
||||
/obj/structure/window/examine_icon()
|
||||
return icon(icon=initial(icon),icon_state=initial(icon_state))
|
||||
@@ -158,7 +158,7 @@
|
||||
|
||||
/obj/structure/window/hitby(AM as mob|obj)
|
||||
..()
|
||||
visible_message("<span class='danger'>[src] was hit by [AM].</span>")
|
||||
visible_message(span_danger("[src] was hit by [AM]."))
|
||||
var/tforce = 0
|
||||
if(ismob(AM))
|
||||
tforce = 40
|
||||
@@ -174,14 +174,14 @@
|
||||
take_damage(tforce)
|
||||
|
||||
/obj/structure/window/attack_tk(mob/user as mob)
|
||||
user.visible_message("<span class='notice'>Something knocks on [src].</span>")
|
||||
user.visible_message(span_notice("Something knocks on [src]."))
|
||||
playsound(src, 'sound/effects/Glasshit.ogg', 50, 1)
|
||||
|
||||
/obj/structure/window/attack_hand(mob/user as mob)
|
||||
user.setClickCooldown(user.get_attack_speed())
|
||||
if(HULK in user.mutations)
|
||||
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
|
||||
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>")
|
||||
user.visible_message(span_danger("[user] smashes through [src]!"))
|
||||
user.do_attack_animation(src)
|
||||
shatter()
|
||||
|
||||
@@ -195,8 +195,8 @@
|
||||
|
||||
playsound(src, 'sound/effects/glassknock.ogg', 80, 1)
|
||||
user.do_attack_animation(src)
|
||||
user.visible_message("<span class='danger'>\The [user] bangs against \the [src]!</span>",
|
||||
"<span class='danger'>You bang against \the [src]!</span>",
|
||||
user.visible_message(span_danger("\The [user] bangs against \the [src]!"),
|
||||
span_danger("You bang against \the [src]!"),
|
||||
"You hear a banging sound.")
|
||||
else
|
||||
playsound(src, 'sound/effects/glassknock.ogg', 80, 1)
|
||||
@@ -210,7 +210,7 @@
|
||||
if(!damage)
|
||||
return
|
||||
if(damage >= STRUCTURE_MIN_DAMAGE_THRESHOLD)
|
||||
visible_message("<span class='danger'>[user] smashes into [src]!</span>")
|
||||
visible_message(span_danger("[user] smashes into [src]!"))
|
||||
if(reinf)
|
||||
damage = damage / 2
|
||||
take_damage(damage)
|
||||
@@ -227,15 +227,15 @@
|
||||
var/obj/item/weldingtool/WT = W.get_welder()
|
||||
if(health < maxhealth)
|
||||
if(WT.remove_fuel(1 ,user))
|
||||
to_chat(user, "<span class='notice'>You begin repairing [src]...</span>")
|
||||
to_chat(user, span_notice("You begin repairing [src]..."))
|
||||
playsound(src, WT.usesound, 50, 1)
|
||||
if(do_after(user, 40 * WT.toolspeed, target = src))
|
||||
health = maxhealth
|
||||
// playsound(src, 'sound/items/Welder.ogg', 50, 1)
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You repair [src].</span>")
|
||||
to_chat(user, span_notice("You repair [src]."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is already in good condition!</span>")
|
||||
to_chat(user, span_warning("[src] is already in good condition!"))
|
||||
return
|
||||
|
||||
// Slamming.
|
||||
@@ -247,17 +247,17 @@
|
||||
qdel(W) //gotta delete it here because if window breaks, it won't get deleted
|
||||
switch (state)
|
||||
if(1)
|
||||
M.visible_message("<span class='warning'>[user] slams [M] against \the [src]!</span>")
|
||||
M.visible_message(span_warning("[user] slams [M] against \the [src]!"))
|
||||
M.apply_damage(7)
|
||||
hit(10)
|
||||
if(2)
|
||||
M.visible_message("<span class='danger'>[user] bashes [M] against \the [src]!</span>")
|
||||
M.visible_message(span_danger("[user] bashes [M] against \the [src]!"))
|
||||
if (prob(50))
|
||||
M.Weaken(1)
|
||||
M.apply_damage(10)
|
||||
hit(25)
|
||||
if(3)
|
||||
M.visible_message("<span class='danger'><big>[user] crushes [M] against \the [src]!</big></span>")
|
||||
M.visible_message(span_danger("<big>[user] crushes [M] against \the [src]!</big>"))
|
||||
M.Weaken(5)
|
||||
M.apply_damage(20)
|
||||
hit(50)
|
||||
@@ -270,31 +270,31 @@
|
||||
state = 3 - state
|
||||
update_nearby_icons()
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
to_chat(user, "<span class='notice'>You have [state == 1 ? "un" : ""]fastened the window [state ? "from" : "to"] the frame.</span>")
|
||||
to_chat(user, span_notice("You have [state == 1 ? "un" : ""]fastened the window [state ? "from" : "to"] the frame."))
|
||||
else if(reinf && state == 0)
|
||||
anchored = !anchored
|
||||
update_nearby_tiles(need_rebuild=1)
|
||||
update_nearby_icons()
|
||||
update_verbs()
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
to_chat(user, "<span class='notice'>You have [anchored ? "" : "un"]fastened the frame [anchored ? "to" : "from"] the floor.</span>")
|
||||
to_chat(user, span_notice("You have [anchored ? "" : "un"]fastened the frame [anchored ? "to" : "from"] the floor."))
|
||||
else if(!reinf)
|
||||
anchored = !anchored
|
||||
update_nearby_tiles(need_rebuild=1)
|
||||
update_nearby_icons()
|
||||
update_verbs()
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
to_chat(user, "<span class='notice'>You have [anchored ? "" : "un"]fastened the window [anchored ? "to" : "from"] the floor.</span>")
|
||||
to_chat(user, span_notice("You have [anchored ? "" : "un"]fastened the window [anchored ? "to" : "from"] the floor."))
|
||||
else if(W.has_tool_quality(TOOL_CROWBAR) && reinf && state <= 1)
|
||||
state = 1 - state
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
to_chat(user, "<span class='notice'>You have pried the window [state ? "into" : "out of"] the frame.</span>")
|
||||
to_chat(user, span_notice("You have pried the window [state ? "into" : "out of"] the frame."))
|
||||
else if(W.has_tool_quality(TOOL_WRENCH) && !anchored && (!state || !reinf))
|
||||
if(!glasstype)
|
||||
to_chat(user, "<span class='notice'>You're not sure how to dismantle \the [src] properly.</span>")
|
||||
to_chat(user, span_notice("You're not sure how to dismantle \the [src] properly."))
|
||||
else
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
visible_message("<span class='notice'>[user] dismantles \the [src].</span>")
|
||||
visible_message(span_notice("[user] dismantles \the [src]."))
|
||||
var/obj/item/stack/material/mats = new glasstype(loc)
|
||||
if(is_fulltile())
|
||||
mats.set_amount(4)
|
||||
@@ -305,7 +305,7 @@
|
||||
playsound(src, 'sound/effects/sparks1.ogg', 75, 1)
|
||||
user.visible_message( \
|
||||
"<b>\The [user]</b> begins to wire \the [src] for electrochromic tinting.", \
|
||||
"<span class='notice'>You begin to wire \the [src] for electrochromic tinting.</span>", \
|
||||
span_notice("You begin to wire \the [src] for electrochromic tinting."), \
|
||||
"You hear sparks.")
|
||||
if(do_after(user, 20 * C.toolspeed, src) && state == 0)
|
||||
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
|
||||
@@ -609,7 +609,7 @@
|
||||
if(istype(MT.connectable, /obj/machinery/button/windowtint))
|
||||
var/obj/machinery/button/windowtint/buffered_button = MT.connectable
|
||||
src.id = buffered_button.id
|
||||
to_chat(user, "<span class='notice'>\The [src] is linked to \the [buffered_button] with ID '[id]'.</span>")
|
||||
to_chat(user, span_notice("\The [src] is linked to \the [buffered_button] with ID '[id]'."))
|
||||
return TRUE
|
||||
// Otherwise fall back to asking them... and remind them what the current ID is.
|
||||
if(id)
|
||||
@@ -617,7 +617,7 @@
|
||||
var/t = sanitizeSafe(input(user, "Enter the new ID for the window.", src.name, null), MAX_NAME_LEN)
|
||||
if(t && in_range(src, user))
|
||||
src.id = t
|
||||
to_chat(user, "<span class='notice'>The new ID of \the [src] is '[id]'.</span>")
|
||||
to_chat(user, span_notice("The new ID of \the [src] is '[id]'."))
|
||||
return TRUE
|
||||
. = ..()
|
||||
|
||||
@@ -677,10 +677,10 @@
|
||||
var/t = sanitizeSafe(tgui_input_text(user, "Enter an ID for \the [src].", src.name, null, MAX_NAME_LEN), MAX_NAME_LEN)
|
||||
if (t && in_range(src, user))
|
||||
src.id = t
|
||||
to_chat(user, "<span class='notice'>The new ID of \the [src] is '[id]'. To reset this, rebuild the control.</span>")
|
||||
to_chat(user, span_notice("The new ID of \the [src] is '[id]'. To reset this, rebuild the control."))
|
||||
if(id)
|
||||
// It already has an ID (or they just set one), buffer it for copying to windows.
|
||||
to_chat(user, "<span class='notice'>You store \the [src] ID ('[id]') in \the [MT]'s buffer!</span>")
|
||||
to_chat(user, span_notice("You store \the [src] ID ('[id]') in \the [MT]'s buffer!"))
|
||||
MT.connectable = src
|
||||
MT.update_icon()
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user