mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 22:17:32 +01:00
Convert most spans to defines (#31080)
* spanish? * aaaagain * keep maptext * Update robot_items.dm * Update span_defines.dm * compiles * Update silicon_mob.dm * compile
This commit is contained in:
@@ -83,7 +83,7 @@
|
||||
/obj/structure/alien/resin/attack_alien(mob/living/carbon/alien/humanoid/user)
|
||||
if(user.a_intent != INTENT_HARM)
|
||||
return
|
||||
to_chat(user, "<span class='noticealien'>We begin tearing down this resin structure.</span>")
|
||||
to_chat(user, SPAN_NOTICEALIEN("We begin tearing down this resin structure."))
|
||||
if(!do_after(user, 40, target = src) || QDELETED(src))
|
||||
return
|
||||
qdel(src)
|
||||
@@ -160,7 +160,7 @@
|
||||
if(!C.handcuffed)
|
||||
operate(bumped_open)
|
||||
return
|
||||
to_chat(user, "<span class='noticealien'>Your lack of connection to the hive prevents the resin door from opening</span>")
|
||||
to_chat(user, SPAN_NOTICEALIEN("Your lack of connection to the hive prevents the resin door from opening"))
|
||||
/*
|
||||
* This 2nd try_to_operate() is needed so that CALLBACK can close the door without having to either call operate() and get bugged when clicked much or
|
||||
* call try_to_operate(atom/user) and not be able to use it due to not having a mob using it
|
||||
@@ -205,7 +205,7 @@
|
||||
if(user.a_intent != INTENT_HARM)
|
||||
try_to_operate(user)
|
||||
return
|
||||
to_chat(user, "<span class='noticealien'>We begin tearing down this resin structure.</span>")
|
||||
to_chat(user, SPAN_NOTICEALIEN("We begin tearing down this resin structure."))
|
||||
if(!do_after(user, 40, target = src) || QDELETED(src))
|
||||
return
|
||||
qdel(src)
|
||||
@@ -483,19 +483,19 @@
|
||||
if(user.get_int_organ(/obj/item/organ/internal/alien/plasmavessel))
|
||||
switch(status)
|
||||
if(BURST)
|
||||
to_chat(user, "<span class='notice'>You clear the hatched egg.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You clear the hatched egg."))
|
||||
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
|
||||
qdel(src)
|
||||
return
|
||||
if(GROWING)
|
||||
to_chat(user, "<span class='notice'>The child is not developed yet.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The child is not developed yet."))
|
||||
return
|
||||
if(GROWN)
|
||||
to_chat(user, "<span class='notice'>You retrieve the child.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You retrieve the child."))
|
||||
burst(FALSE)
|
||||
return
|
||||
else
|
||||
to_chat(user, "<span class='notice'>It feels slimy.</span>")
|
||||
to_chat(user, SPAN_NOTICE("It feels slimy."))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
|
||||
|
||||
|
||||
@@ -109,15 +109,15 @@
|
||||
. = ..()
|
||||
switch(build_stage)
|
||||
if(BARSIGN_FRAME)
|
||||
. += "<span class='notice'>It's missing a <i>circuit board</i> and the <b>bolts</b> are exposed.</span>"
|
||||
. += SPAN_NOTICE("It's missing a <i>circuit board</i> and the <b>bolts</b> are exposed.")
|
||||
if(BARSIGN_CIRCUIT)
|
||||
. += "<span class='notice'>The frame needs <i>wiring</i> and the circuit board could be <b>pried out</b>.</span>"
|
||||
. += SPAN_NOTICE("The frame needs <i>wiring</i> and the circuit board could be <b>pried out</b>.")
|
||||
if(BARSIGN_WIRED)
|
||||
. += "<span class='notice'>The frame lacks a <i>glass screen</i> and is filled with wires that could be <b>cut</b>.</span>"
|
||||
. += SPAN_NOTICE("The frame lacks a <i>glass screen</i> and is filled with wires that could be <b>cut</b>.")
|
||||
if(BARSIGN_COMPLETE)
|
||||
. += "<span class='notice'><b>Alt-Click</b> to toggle its power.</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Click</b> to toggle its power.")
|
||||
if(panel_open)
|
||||
. += "<span class='notice'>It is disabled by its <i>unscrewed</i> maintenance panel that exposes an area from which the screen could be <b>pried out</b>.</span>"
|
||||
. += SPAN_NOTICE("It is disabled by its <i>unscrewed</i> maintenance panel that exposes an area from which the screen could be <b>pried out</b>.")
|
||||
|
||||
/obj/machinery/barsign/proc/is_on()
|
||||
if(power_state == ACTIVE_POWER_USE)
|
||||
@@ -158,16 +158,16 @@
|
||||
if(..())
|
||||
return
|
||||
if(stat & MAINT)
|
||||
to_chat(user, "<span class='warning'>Wait until the repairs are complete!</span>")
|
||||
to_chat(user, SPAN_WARNING("Wait until the repairs are complete!"))
|
||||
return
|
||||
if((stat & (BROKEN|NOPOWER|EMPED)) || build_stage < BARSIGN_COMPLETE)
|
||||
to_chat(user, "<span class='warning'>The controls seem unresponsive.</span>")
|
||||
to_chat(user, SPAN_WARNING("The controls seem unresponsive."))
|
||||
return
|
||||
if(panel_open)
|
||||
to_chat(user, "<span class='warning'>Close the maintenance panel first!</span>")
|
||||
to_chat(user, SPAN_WARNING("Close the maintenance panel first!"))
|
||||
return
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
to_chat(user, SPAN_WARNING("Access denied."))
|
||||
return
|
||||
pick_sign(user)
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
req_access = list(ACCESS_BAR)
|
||||
else
|
||||
req_access = list()
|
||||
to_chat(user, "<span class='notice'>You insert the circuit!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You insert the circuit!"))
|
||||
qdel(electronic)
|
||||
build_stage = BARSIGN_CIRCUIT
|
||||
update_icon()
|
||||
@@ -202,13 +202,13 @@
|
||||
if(BARSIGN_CIRCUIT)
|
||||
if(istype(used, /obj/item/stack/cable_coil))
|
||||
if(!used.use(5))
|
||||
to_chat(user, "<span class='warning'>You need a total of five cables to wire [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need a total of five cables to wire [src]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
stat &= ~EMPED
|
||||
build_stage = BARSIGN_WIRED
|
||||
update_icon()
|
||||
playsound(get_turf(src), used.usesound, 50, TRUE)
|
||||
to_chat(user, "<span class='notice'>You wire [src]!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You wire [src]!"))
|
||||
power_state = IDLE_POWER_USE
|
||||
add_fingerprint(user)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
@@ -216,7 +216,7 @@
|
||||
if(BARSIGN_WIRED)
|
||||
if(istype(used, /obj/item/stack/sheet/glass))
|
||||
if(!used.use(2))
|
||||
to_chat(user, "<span class='warning'>You need at least 2 sheets of glass for this!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least 2 sheets of glass for this!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
build_stage = BARSIGN_COMPLETE
|
||||
playsound(get_turf(src), used.usesound, 50, TRUE)
|
||||
@@ -253,7 +253,7 @@
|
||||
return
|
||||
. = TRUE
|
||||
if(obj_integrity >= max_integrity)
|
||||
to_chat(user, "<span class='notice'>[src] does not need repairs.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] does not need repairs."))
|
||||
return
|
||||
if(I.tool_behaviour != TOOL_WELDER)
|
||||
return
|
||||
@@ -283,10 +283,10 @@
|
||||
if(!panel_open)
|
||||
panel_open = TRUE
|
||||
turn_off()
|
||||
to_chat(user, "<span class='notice'>You open the maintenance panel of [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You open the maintenance panel of [src]."))
|
||||
else
|
||||
panel_open = FALSE
|
||||
to_chat(user, "<span class='notice'>You close the maintenance panel of [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You close the maintenance panel of [src]."))
|
||||
I.play_tool_sound(user, I.tool_volume)
|
||||
add_fingerprint(user)
|
||||
|
||||
@@ -322,10 +322,10 @@
|
||||
var/obj/item/barsign_electronics/electronic
|
||||
electronic = new /obj/item/barsign_electronics
|
||||
if(!emagged)
|
||||
to_chat(user, "<span class='notice'>You pull the electronics out from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You pull the electronics out from [src]."))
|
||||
else
|
||||
// Give fried electronics if the sign is emagged
|
||||
to_chat(user, "<span class='notice'>You pull the fried electronics out from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You pull the fried electronics out from [src]."))
|
||||
electronic.destroyed = TRUE
|
||||
electronic.icon_state = "door_electronics_smoked"
|
||||
if(!length(req_access))
|
||||
@@ -337,14 +337,14 @@
|
||||
// Removing the glass screen
|
||||
else if(build_stage == BARSIGN_COMPLETE)
|
||||
if(!panel_open)
|
||||
to_chat(user, "<span class='warning'>Open the maintenance panel first!</span>")
|
||||
to_chat(user, SPAN_WARNING("Open the maintenance panel first!"))
|
||||
return
|
||||
// Drop a shard if the glass is broken
|
||||
if(stat & BROKEN)
|
||||
to_chat(user, "<span class='notice'>You remove the broken screen from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove the broken screen from [src]."))
|
||||
new /obj/item/shard(get_turf(user))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You pull the glass screen out from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You pull the glass screen out from [src]."))
|
||||
new /obj/item/stack/sheet/glass(get_turf(user), 2)
|
||||
build_stage = BARSIGN_WIRED
|
||||
update_icon()
|
||||
@@ -363,9 +363,9 @@
|
||||
return
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(stat & EMPED)
|
||||
to_chat(user, "<span class='notice'>You remove the burnt wires out from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove the burnt wires out from [src]."))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You cut the wires out from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You cut the wires out from [src]."))
|
||||
new /obj/item/stack/cable_coil(get_turf(user), 5)
|
||||
build_stage = BARSIGN_CIRCUIT
|
||||
update_icon()
|
||||
@@ -375,12 +375,12 @@
|
||||
|
||||
/obj/machinery/barsign/emag_act(mob/user)
|
||||
if(stat & (BROKEN|NOPOWER|EMPED))
|
||||
to_chat(user, "<span class='warning'>[src] cannot be taken over right now!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] cannot be taken over right now!"))
|
||||
return
|
||||
if(emagged)
|
||||
to_chat(user, "<span class='warning'>[src] is already taken over!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is already taken over!"))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You emag the barsign. Takeover in progress...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You emag the barsign. Takeover in progress..."))
|
||||
add_fingerprint(user)
|
||||
addtimer(CALLBACK(src, PROC_REF(post_emag)), 10 SECONDS)
|
||||
return TRUE
|
||||
@@ -427,19 +427,19 @@
|
||||
var/placing_on = get_step(user_turf, user.dir)
|
||||
// Return FALSE if the user isn't facing a wall/window.
|
||||
if(!is_valid_turf(placing_on))
|
||||
to_chat(user, "<span class='warning'>You need to be facing a wall or window to place the [title].</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to be facing a wall or window to place the [title]."))
|
||||
return FALSE
|
||||
// Return FALSE if there isn't space for the entire sign.
|
||||
if((user.dir != NORTH && user.dir != SOUTH) || !is_valid_turf(get_step(placing_on, EAST)))
|
||||
to_chat(user, "<span class='warning'>There is not enough space to place the [title].</span>")
|
||||
to_chat(user, SPAN_WARNING("There is not enough space to place the [title]."))
|
||||
return FALSE
|
||||
// Return FALSE if there's already stuff on the wall.
|
||||
if(gotwallitem(user_turf, FLIP_DIR_VERTICALLY(user.dir)) || gotwallitem(get_step(user_turf, EAST), FLIP_DIR_VERTICALLY(user.dir)))
|
||||
to_chat(user, "<span class='warning'>There's already an item on the wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("There's already an item on the wall!"))
|
||||
return FALSE
|
||||
// Return FALSE if it would cause two bar signs to overlap.
|
||||
if((locate(/obj/machinery/barsign) in get_step(user_turf, WEST)))
|
||||
to_chat(user, "<span class='warning'>There's already a bar sign here!</span>")
|
||||
to_chat(user, SPAN_WARNING("There's already a bar sign here!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -480,14 +480,14 @@
|
||||
|
||||
/obj/item/barsign_electronics/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Use it while in your active hand to toggle the access restrictions.</span>"
|
||||
. += SPAN_NOTICE("Use it while in your active hand to toggle the access restrictions.")
|
||||
|
||||
/obj/item/barsign_electronics/attack_self__legacy__attackchain(mob/user)
|
||||
. = ..()
|
||||
if(destroyed)
|
||||
return
|
||||
restricts_access = !restricts_access
|
||||
to_chat(user, "<span class='notice'>You [restricts_access ? "enable" : "disable"] the access restrictions of [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [restricts_access ? "enable" : "disable"] the access restrictions of [src]."))
|
||||
|
||||
// For the ghost bar since occupants don't have bar access.
|
||||
/obj/machinery/barsign/ghost_bar
|
||||
|
||||
@@ -54,7 +54,7 @@ LINEN BINS
|
||||
var/obj/item/stack/sheet/cloth/C = new (get_turf(src), 3)
|
||||
transfer_fingerprints_to(C)
|
||||
C.add_fingerprint(user)
|
||||
to_chat(user, "<span class='notice'>You tear [src] up.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You tear [src] up."))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/bedsheet/blue
|
||||
@@ -280,23 +280,23 @@ LINEN BINS
|
||||
/obj/structure/bedsheetbin/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(istype(used, /obj/item/bedsheet))
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='notice'>[used] is stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
used.forceMove(src)
|
||||
sheets.Add(used)
|
||||
amount++
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
to_chat(user, "<span class='notice'>You put [used] in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [used] in [src]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(amount && !hidden && used.w_class < WEIGHT_CLASS_BULKY) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
|
||||
if(used.flags & ABSTRACT)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='notice'>[used] is stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
used.forceMove(src)
|
||||
hidden = used
|
||||
to_chat(user, "<span class='notice'>You hide [used] among the sheets.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You hide [used] among the sheets."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
|
||||
@@ -314,11 +314,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
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
|
||||
@@ -338,7 +338,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(UPDATE_ICON_STATE)
|
||||
|
||||
if(hidden)
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
if(user.m_intent != MOVE_INTENT_RUN)
|
||||
return
|
||||
if(!COOLDOWN_FINISHED(user, skittish_cooldown))
|
||||
to_chat(user, "<span class='notice'>Wait a few seconds to do that again.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Wait a few seconds to do that again."))
|
||||
return
|
||||
if(locked && !allowed(user))
|
||||
return
|
||||
@@ -293,7 +293,7 @@
|
||||
|
||||
/obj/structure/closet/proc/toggle(mob/user)
|
||||
if(!(opened ? close(user) : open()))
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
to_chat(user, SPAN_NOTICE("It won't budge!"))
|
||||
|
||||
/obj/structure/closet/proc/bust_open()
|
||||
welded = FALSE //applies to all lockers
|
||||
@@ -322,7 +322,7 @@
|
||||
if(large)
|
||||
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] is too small to stuff [G.affecting] into!</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] is too small to stuff [G.affecting] into!"))
|
||||
if(istype(W, /obj/item/tk_grab))
|
||||
return // passthrough
|
||||
if(user.a_intent != INTENT_HELP) // Stops you from putting your baton in the closet on accident
|
||||
@@ -330,7 +330,7 @@
|
||||
if(isrobot(user) && !istype(W.loc, /obj/item/gripper))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!user.drop_item()) //couldn't drop the item
|
||||
to_chat(user, "<span class='notice'>\The [W] is stuck to your hand, you cannot put it in \the [src]!</span>")
|
||||
to_chat(user, SPAN_NOTICE("\The [W] is stuck to your hand, you cannot put it in \the [src]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(W.loc != user.loc)
|
||||
// It went somewhere else, don't teleport it back.
|
||||
@@ -356,7 +356,7 @@
|
||||
/obj/structure/closet/welder_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!opened && user.loc == src)
|
||||
to_chat(user, "<span class='warning'>You can't weld [src] from inside!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't weld [src] from inside!"))
|
||||
return
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
@@ -368,12 +368,12 @@
|
||||
return
|
||||
else
|
||||
var/adjective = welded ? "open" : "shut"
|
||||
user.visible_message("<span class='notice'>[user] begins welding [src] [adjective]...</span>", "<span class='notice'>You begin welding [src] [adjective]...</span>", "<span class='warning'>You hear welding.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] begins welding [src] [adjective]..."), SPAN_NOTICE("You begin welding [src] [adjective]..."), SPAN_WARNING("You hear welding."))
|
||||
if(I.use_tool(src, user, 15, volume = I.tool_volume))
|
||||
if(opened)
|
||||
to_chat(user, "<span class='notice'>Keep [src] shut while doing that!</span>")
|
||||
to_chat(user, SPAN_NOTICE("Keep [src] shut while doing that!"))
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] welds [src] [adjective]!</span>", "<span class='notice'>You weld [src] [adjective]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] welds [src] [adjective]!"), SPAN_NOTICE("You weld [src] [adjective]!"))
|
||||
welded = !welded
|
||||
update_icon()
|
||||
return
|
||||
@@ -400,7 +400,7 @@
|
||||
return
|
||||
step_towards(O, loc)
|
||||
if(user != O)
|
||||
user.visible_message("<span class='danger'>[user] stuffs [O] into [src]!</span>", "<span class='danger'>You stuff [O] into [src]!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] stuffs [O] into [src]!"), SPAN_DANGER("You stuff [O] into [src]!"))
|
||||
add_fingerprint(user)
|
||||
return TRUE
|
||||
|
||||
@@ -413,7 +413,7 @@
|
||||
return
|
||||
|
||||
if(!open())
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
to_chat(user, SPAN_NOTICE("It won't budge!"))
|
||||
if(!lastbang)
|
||||
lastbang = 1
|
||||
for(var/mob/M in hearers(src, null))
|
||||
@@ -478,9 +478,9 @@
|
||||
// breakout_time++ //Harder to get out of welded lockers than locked lockers
|
||||
|
||||
//okay, so the closet is either welded or locked... resist!!!
|
||||
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)</span>")
|
||||
to_chat(L, SPAN_WARNING("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)"))
|
||||
for(var/mob/O in viewers(usr.loc))
|
||||
O.show_message("<span class='danger'>[src] begins to shake violently!</span>", 1)
|
||||
O.show_message(SPAN_DANGER("[src] begins to shake violently!"), 1)
|
||||
|
||||
|
||||
spawn(0)
|
||||
@@ -495,9 +495,9 @@
|
||||
//Well then break it!
|
||||
welded = FALSE
|
||||
update_icon()
|
||||
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You successfully break out!"))
|
||||
for(var/mob/O in viewers(L.loc))
|
||||
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
|
||||
O.show_message(SPAN_DANGER("\the [usr] successfully broke out of \the [src]!"), 1)
|
||||
if(istype(loc, /obj/structure/big_delivery)) //nullspace ect.. read the comment above
|
||||
var/obj/structure/big_delivery/BD = loc
|
||||
BD.attack_hand(usr)
|
||||
@@ -527,14 +527,14 @@
|
||||
/obj/structure/closet/shove_impact(mob/living/target, mob/living/attacker)
|
||||
if(opened && can_close())
|
||||
target.forceMove(src)
|
||||
visible_message("<span class='danger'>[attacker] shoves [target] inside [src]!</span>", "<span class='warning'>You hear a thud, and something clangs shut.</span>")
|
||||
visible_message(SPAN_DANGER("[attacker] shoves [target] inside [src]!"), SPAN_WARNING("You hear a thud, and something clangs shut."))
|
||||
close(attacker)
|
||||
add_attack_logs(attacker, target, "shoved into [src]")
|
||||
return TRUE
|
||||
|
||||
if(!opened && can_open())
|
||||
open()
|
||||
visible_message("<span class='danger'>[attacker] shoves [target] against [src], knocking it open!</span>")
|
||||
visible_message(SPAN_DANGER("[attacker] shoves [target] against [src], knocking it open!"))
|
||||
target.KnockDown(3 SECONDS)
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
var/obj/item/wirecutters/WC = W
|
||||
new /obj/item/stack/sheet/cardboard(src.loc, amt)
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='notice'>\The [src] has been cut apart by [user] with \the [WC].</span>", 3, "You hear cutting.", 2)
|
||||
M.show_message(SPAN_NOTICE("\The [src] has been cut apart by [user] with \the [WC]."), 3, "You hear cutting.", 2)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(is_pen(W))
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
. = ..()
|
||||
name = "\proper the coffin of [user.mind.name]"
|
||||
desc += "<br>This coffin's owner may not actually have been dear to anyone, or even departed quite yet.<br>\
|
||||
<span class='warning'>It appears impervious to everything but lasers and fire! Especially fire!</span>"
|
||||
[SPAN_WARNING("It appears impervious to everything but lasers and fire! Especially fire!")]"
|
||||
vampire = user
|
||||
|
||||
/obj/structure/closet/coffin/vampire/welder_act(mob/user, obj/item/I)
|
||||
@@ -43,8 +43,8 @@
|
||||
if(!I.tool_use_check(user, 30)) // it's a cursed coffin, you will need something better than a maintenance welder to ignite it
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
igniting = TRUE
|
||||
to_chat(user, "<span class='notice'>You attempt to set [src] on fire with [I].</span>")
|
||||
to_chat(vampire, "<span class='warning'>Your lair is being attacked!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You attempt to set [src] on fire with [I]."))
|
||||
to_chat(vampire, SPAN_WARNING("Your lair is being attacked!"))
|
||||
if(do_after(user, 15 SECONDS, target = src))
|
||||
fire_act()
|
||||
igniting = FALSE
|
||||
@@ -60,19 +60,19 @@
|
||||
. = ..()
|
||||
if(!COOLDOWN_FINISHED(src, fire_act_cooldown))
|
||||
return
|
||||
to_chat(vampire, "<span class='warning'>Your lair is being attacked!</span>")
|
||||
to_chat(vampire, SPAN_WARNING("Your lair is being attacked!"))
|
||||
switch(rand(1, 4))
|
||||
if(1)
|
||||
visible_message("<span class='danger'>The wood howls as fire bursts out from seemingly nowhere!</span>")
|
||||
visible_message(SPAN_DANGER("The wood howls as fire bursts out from seemingly nowhere!"))
|
||||
playsound(src, "sound/goonstation/voice/howl.ogg", 30)
|
||||
if(2 to 3)
|
||||
visible_message("<span class='danger'>The wood hisses as fire bursts out from seemingly nowhere!</span>")
|
||||
visible_message(SPAN_DANGER("The wood hisses as fire bursts out from seemingly nowhere!"))
|
||||
if(prob(50))
|
||||
playsound(src, "sound/effects/unathihiss.ogg", 30)
|
||||
else
|
||||
playsound(src, "sound/effects/tajaranhiss.ogg", 30)
|
||||
if(4)
|
||||
visible_message("<span class='danger'>The wood growls as fire bursts out from seemingly nowhere!</span>")
|
||||
visible_message(SPAN_DANGER("The wood growls as fire bursts out from seemingly nowhere!"))
|
||||
playsound(src, 'sound/goonstation/voice/growl3.ogg', 30)
|
||||
var/turf/new_fire = pick(oview(2, src))
|
||||
new /obj/effect/fire(get_turf(new_fire), T20C, 30 SECONDS, 1)
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
/obj/structure/closet/coffin/vampire/burn()
|
||||
playsound(src, 'sound/hallucinations/wail.ogg', 20, extrarange = SOUND_RANGE_SET(5))
|
||||
visible_message("<span class='danger'>Fire bursts out from [name] as it falls apart!</span>")
|
||||
visible_message(SPAN_DANGER("Fire bursts out from [name] as it falls apart!"))
|
||||
for(var/turf/T in range(1, src))
|
||||
new /obj/effect/fire(T, T20C, 30 SECONDS, 1)
|
||||
..()
|
||||
|
||||
@@ -25,14 +25,14 @@
|
||||
/obj/structure/closet/fireaxecabinet/examine(mob/user)
|
||||
. = ..()
|
||||
if(!smashed)
|
||||
. += "<span class='notice'>Use a multitool to lock/unlock it.</span>"
|
||||
. += SPAN_NOTICE("Use a multitool to lock/unlock it.")
|
||||
else
|
||||
. += "<span class='notice'>It is damaged beyond repair.</span>"
|
||||
. += SPAN_NOTICE("It is damaged beyond repair.")
|
||||
|
||||
/obj/structure/closet/fireaxecabinet/item_interaction(mob/living/user, obj/item/O, list/modifiers)
|
||||
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(user, 'sound/machines/lockreset.ogg', 50, 1)
|
||||
if(do_after(user, 20 * O.toolspeed, target = src))
|
||||
locked = FALSE
|
||||
@@ -50,7 +50,7 @@
|
||||
user.do_attack_animation(src)
|
||||
playsound(user, '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)
|
||||
@@ -64,15 +64,15 @@
|
||||
if(!fireaxe)
|
||||
var/obj/item/fireaxe/F = O
|
||||
if(HAS_TRAIT(F, TRAIT_WIELDED))
|
||||
to_chat(user, "<span class='warning'>Unwield \the [F] first.</span>")
|
||||
to_chat(user, SPAN_WARNING("Unwield \the [F] first."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!user.unequip(F, FALSE))
|
||||
to_chat(user, "<span class='warning'>\The [F] stays stuck to your hands!</span>")
|
||||
to_chat(user, SPAN_WARNING("\The [F] stays stuck to your hands!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
fireaxe = F
|
||||
has_axe = "full"
|
||||
contents += F
|
||||
to_chat(user, "<span class='notice'>You place \the [F] back in the [name].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You place \the [F] back in the [name]."))
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
else
|
||||
if(smashed)
|
||||
@@ -88,7 +88,7 @@
|
||||
operate_panel()
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Resetting circuitry...</span>")
|
||||
to_chat(user, SPAN_WARNING("Resetting circuitry..."))
|
||||
playsound(user, 'sound/machines/lockenable.ogg', 50, 1)
|
||||
if(do_after(user, 20 * O.toolspeed, target = src))
|
||||
locked = TRUE
|
||||
@@ -100,11 +100,11 @@
|
||||
|
||||
/obj/structure/closet/fireaxecabinet/attack_hand(mob/user as mob)
|
||||
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(localopened && fireaxe)
|
||||
user.put_in_hands(fireaxe)
|
||||
to_chat(user, "<span class='notice'>You take \the [fireaxe] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take \the [fireaxe] from [src]."))
|
||||
has_axe = "empty"
|
||||
fireaxe = null
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
/obj/structure/closet/fireaxecabinet/attack_tk(mob/user as mob)
|
||||
if(localopened && fireaxe)
|
||||
fireaxe.forceMove(loc)
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove \the [fireaxe].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You telekinetically remove \the [fireaxe]."))
|
||||
has_axe = "empty"
|
||||
fireaxe = null
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
@@ -131,14 +131,14 @@
|
||||
|
||||
/obj/structure/closet/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."))
|
||||
|
||||
/obj/structure/closet/fireaxecabinet/proc/operate_panel()
|
||||
if(operating)
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/depot/attack_animal(mob/M)
|
||||
if(isanimal_or_basicmob(M) && ("syndicate" in M.faction))
|
||||
to_chat(M, "<span class='warning'>[src] resists your attack!</span>")
|
||||
to_chat(M, SPAN_WARNING("[src] resists your attack!"))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/depot/item_interaction(mob/living/user, obj/item/W, list/modifiers)
|
||||
if(istype(W, /obj/item/rcs))
|
||||
to_chat(user, "<span class='warning'>Bluespace interference prevents [W] from locking onto [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("Bluespace interference prevents [W] from locking onto [src]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
if(!broken)
|
||||
broken = TRUE
|
||||
locked = FALSE
|
||||
to_chat(user, "<span class='notice'>You break the lock on [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You break the lock on [src]."))
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -39,15 +39,15 @@
|
||||
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 ITEM_INTERACT_COMPLETE
|
||||
|
||||
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 ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(W, /obj/item/card/id/guest))
|
||||
to_chat(user, "<span class='warning'>Invalid identification card.</span>")
|
||||
to_chat(user, SPAN_WARNING("Invalid identification card."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
var/obj/item/card/id/I = W
|
||||
@@ -67,6 +67,6 @@
|
||||
desc = "Owned by [I.registered_name]."
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
to_chat(user, SPAN_WARNING("Access denied."))
|
||||
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -33,20 +33,20 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/proc/togglelock(mob/user)
|
||||
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
|
||||
visible_message("<span class='notice'>The locker has been [locked ? null : "un"]locked by [user].</span>")
|
||||
visible_message(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/closed_item_click(mob/user)
|
||||
togglelock(user)
|
||||
@@ -62,7 +62,7 @@
|
||||
broken = TRUE
|
||||
locked = FALSE
|
||||
flick_overlay_view(image(icon, src, "sparking"), src, 1 SECONDS)
|
||||
to_chat(user, "<span class='notice'>You break the lock on [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You break the lock on [src]."))
|
||||
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1 SECONDS) // Update the icon so the lock actually appears broken
|
||||
return TRUE
|
||||
|
||||
@@ -83,9 +83,9 @@
|
||||
return //It's a secure closet, but isn't locked. Easily escapable from, no need to 'resist'
|
||||
|
||||
//okay, so the closet is either welded or locked... resist!!!
|
||||
to_chat(L, "<span class='warning'>You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)</span>")
|
||||
to_chat(L, SPAN_WARNING("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)"))
|
||||
for(var/mob/O in viewers(src))
|
||||
O.show_message("<span class='danger'>[src] begins to shake violently!</span>", 1)
|
||||
O.show_message(SPAN_DANGER("[src] begins to shake violently!"), 1)
|
||||
|
||||
|
||||
spawn(0)
|
||||
@@ -103,9 +103,9 @@
|
||||
locked = FALSE
|
||||
welded = FALSE
|
||||
update_icon()
|
||||
to_chat(usr, "<span class='warning'>You successfully break out!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You successfully break out!"))
|
||||
for(var/mob/O in viewers(L.loc))
|
||||
O.show_message("<span class='danger'>\the [usr] successfully broke out of \the [src]!</span>", 1)
|
||||
O.show_message(SPAN_DANGER("\the [usr] successfully broke out of \the [src]!"), 1)
|
||||
if(istype(loc, /obj/structure/big_delivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace)
|
||||
var/obj/structure/big_delivery/BD = loc
|
||||
BD.attack_hand(usr)
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
if(user)
|
||||
user.dust()
|
||||
dump_contents()
|
||||
visible_message("<span class='warning'>[src] shatters!</span>")
|
||||
visible_message(SPAN_WARNING("[src] shatters!"))
|
||||
|
||||
/obj/structure/closet/statue/indestructible
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
@@ -90,26 +90,26 @@
|
||||
|
||||
/obj/structure/closet/crate/toggle(mob/user, by_hand = FALSE)
|
||||
if(!(opened ? close() : open(by_hand)))
|
||||
to_chat(user, "<span class='notice'>It won't budge!</span>")
|
||||
to_chat(user, SPAN_NOTICE("It won't budge!"))
|
||||
|
||||
/obj/structure/closet/crate/proc/try_rig(obj/item/W, mob/user)
|
||||
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 TRUE
|
||||
if(C.use(15))
|
||||
to_chat(user, "<span class='notice'>You rig [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You rig [src]."))
|
||||
rigged = TRUE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need at least 15 wires to rig [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least 15 wires to rig [src]!"))
|
||||
return TRUE
|
||||
if(istype(W, /obj/item/electropack))
|
||||
if(rigged)
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>[W] seems to be stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_WARNING("[W] seems to be stuck to your hand!"))
|
||||
return TRUE
|
||||
to_chat(user, "<span class='notice'>You attach [W] to [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You attach [W] to [src]."))
|
||||
W.forceMove(src)
|
||||
return TRUE
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
return
|
||||
|
||||
if(I.use_tool(src, user))
|
||||
to_chat(user, "<span class='notice'>You cut away the wiring.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You cut away the wiring."))
|
||||
playsound(loc, I.usesound, 100, 1)
|
||||
rigged = FALSE
|
||||
return TRUE
|
||||
@@ -130,7 +130,7 @@
|
||||
|
||||
/obj/structure/closet/crate/attack_hand(mob/user)
|
||||
if(manifest)
|
||||
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate."))
|
||||
playsound(loc, 'sound/items/poster_ripped.ogg', 75, TRUE)
|
||||
manifest.forceMove(loc)
|
||||
if(ishuman(user))
|
||||
@@ -196,7 +196,7 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/proc/boom(mob/user)
|
||||
if(user)
|
||||
to_chat(user, "<span class='danger'>The crate's anti-tamper system activates!</span>")
|
||||
to_chat(user, SPAN_DANGER("The crate's anti-tamper system activates!"))
|
||||
investigate_log("[key_name(user)] has detonated a [src]", INVESTIGATE_BOMB)
|
||||
add_attack_logs(user, src, "has detonated", ATKLOG_MOST)
|
||||
for(var/atom/movable/AM in src)
|
||||
@@ -209,21 +209,21 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/proc/togglelock(mob/user)
|
||||
if(opened)
|
||||
to_chat(user, "<span class='notice'>Close the crate first.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Close the crate first."))
|
||||
return FALSE
|
||||
if(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 FALSE
|
||||
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 FALSE
|
||||
if(allowed(user))
|
||||
locked = !locked
|
||||
visible_message("<span class='notice'>The crate has been [locked ? null : "un"]locked by [user].</span>")
|
||||
visible_message(SPAN_NOTICE("The crate has been [locked ? null : "un"]locked by [user]."))
|
||||
update_icon()
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Access Denied.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Access Denied."))
|
||||
return FALSE
|
||||
|
||||
/obj/structure/closet/crate/secure/AltClick(mob/user)
|
||||
@@ -237,7 +237,7 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/attack_hand(mob/user)
|
||||
if(manifest)
|
||||
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate."))
|
||||
playsound(loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.forceMove(loc)
|
||||
if(ishuman(user))
|
||||
@@ -259,7 +259,7 @@
|
||||
broken = TRUE
|
||||
update_icon()
|
||||
do_sparks(2, TRUE, src)
|
||||
to_chat(user, "<span class='notice'>You unlock \the [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You unlock \the [src]."))
|
||||
return TRUE
|
||||
|
||||
/obj/structure/closet/crate/secure/emp_act(severity)
|
||||
@@ -317,12 +317,12 @@
|
||||
return ..()
|
||||
|
||||
if(broken)
|
||||
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
|
||||
to_chat(user, SPAN_WARNING("It appears to be broken."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
var/obj/item/card/id/id = I
|
||||
if(!is_usable_id(id))
|
||||
to_chat(user, "<span class='warning'>Invalid identification card.</span>")
|
||||
to_chat(user, SPAN_WARNING("Invalid identification card."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(registered_name && allowed(user))
|
||||
@@ -330,7 +330,7 @@
|
||||
|
||||
if(!registered_name)
|
||||
registered_name = id.registered_name
|
||||
to_chat(user, "<span class='notice'>Crate reserved</span>")
|
||||
to_chat(user, SPAN_NOTICE("Crate reserved"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(registered_name == id.registered_name)
|
||||
@@ -750,7 +750,7 @@
|
||||
if(!istype(keycard))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You swipe [keycard] in [src]'s keycard slot.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You swipe [keycard] in [src]'s keycard slot."))
|
||||
return TRUE
|
||||
|
||||
/obj/item/card/sec_shuttle_ruin
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
/obj/structure/largecrate/attack_hand(mob/user as mob)
|
||||
if(manifest)
|
||||
to_chat(user, "<span class='notice'>You tear the manifest off of the crate.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate."))
|
||||
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
|
||||
manifest.forceMove(loc)
|
||||
if(ishuman(user))
|
||||
@@ -26,7 +26,7 @@
|
||||
update_icon()
|
||||
return
|
||||
else
|
||||
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/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
@@ -39,9 +39,9 @@
|
||||
if(!I.use_tool(src, user, 20, volume = I.tool_volume))
|
||||
return TRUE
|
||||
break_open()
|
||||
user.visible_message("<span class='notice'>[user] pries [src] open.</span>", \
|
||||
"<span class='notice'>You pry open [src].</span>", \
|
||||
"<span class='notice'>You hear splitting wood.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] pries [src] open."), \
|
||||
SPAN_NOTICE("You pry open [src]."), \
|
||||
SPAN_NOTICE("You hear splitting wood."))
|
||||
if(manifest)
|
||||
manifest.forceMove(loc)
|
||||
manifest = null
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
if(!istype(target, /obj/structure/window) && !istype(target, /turf/simulated/wall))
|
||||
return
|
||||
var/on_wall = get_turf(target)
|
||||
to_chat(user, "<span class='notice'>You begin attaching [src] to [on_wall].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin attaching [src] to [on_wall]."))
|
||||
playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE)
|
||||
if(!do_after(user, 3 SECONDS, target = on_wall))
|
||||
return
|
||||
@@ -39,13 +39,13 @@
|
||||
curtain.fingerprintshidden = src.fingerprintshidden
|
||||
curtain.fingerprintslast = src.fingerprintslast
|
||||
|
||||
user.visible_message("<span class='notice'>[user] attaches the [src] to [on_wall].</span>", \
|
||||
"<span class='notice'>You attach the [src] to [on_wall].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] attaches the [src] to [on_wall]."), \
|
||||
SPAN_NOTICE("You attach the [src] to [on_wall]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user)
|
||||
. = ..()
|
||||
to_chat(user, "<span class='notice'>You begin attaching [src] to the ceiling.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin attaching [src] to the ceiling."))
|
||||
playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE)
|
||||
if(!do_after(user, 3 SECONDS, target = get_turf(user)))
|
||||
return
|
||||
@@ -54,22 +54,22 @@
|
||||
curtain.fingerprintshidden = src.fingerprintshidden
|
||||
curtain.fingerprintslast = src.fingerprintslast
|
||||
|
||||
user.visible_message("<span class='notice'>[user] attaches the [src] to the ceiling.</span>", \
|
||||
"<span class='notice'>You attach the [src] to the ceiling.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] attaches the [src] to the ceiling."), \
|
||||
SPAN_NOTICE("You attach the [src] to the ceiling."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/curtain/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
if(!assembled)
|
||||
. += "<span class='notice'>Alt-Click to take it down.</span>"
|
||||
. += SPAN_NOTICE("Alt-Click to take it down.")
|
||||
|
||||
/obj/structure/curtain/AltClick(mob/user)
|
||||
if(assembled)
|
||||
return
|
||||
|
||||
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't do that right now!"))
|
||||
return
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
@@ -86,7 +86,7 @@
|
||||
if(!assembled && istype(used, /obj/item/stack/sheet/cloth)) // Are we putting the cloth onto the assembly on the wall?
|
||||
var/obj/item/stack/sheet/cloth/cloth_used = used
|
||||
if(!cloth_used.use(2))
|
||||
to_chat(user, "<span class='warning'> You need two sheets of cloth to hang the curtains.</span>")
|
||||
to_chat(user, SPAN_WARNING(" You need two sheets of cloth to hang the curtains."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
assembled = TRUE
|
||||
@@ -153,24 +153,24 @@
|
||||
/obj/structure/curtain/screwdriver_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!assembled)
|
||||
to_chat(user, "<span class='notice'>You should probably add some drapes to [src] before anchoring it in place...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You should probably add some drapes to [src] before anchoring it in place..."))
|
||||
return
|
||||
if(!I.tool_start_check(src, user, 0))
|
||||
return
|
||||
if(anchored)
|
||||
user.visible_message("<span class='notice'>[user] unscrews [src] from the floor.</span>", "<span class='notice'>You start to unscrew [src] from the floor...</span>", "You hear rustling noises.")
|
||||
user.visible_message(SPAN_NOTICE("[user] unscrews [src] from the floor."), SPAN_NOTICE("You start to unscrew [src] from the floor..."), "You hear rustling noises.")
|
||||
if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume) && anchored)
|
||||
anchored = FALSE
|
||||
to_chat(user, "<span class='notice'>You unscrew [src] from the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You unscrew [src] from the floor."))
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] screws [src] to the floor.</span>", "<span class='notice'>You start to screw [src] to the floor...</span>", "You hear rustling noises.")
|
||||
user.visible_message(SPAN_NOTICE("[user] screws [src] to the floor."), SPAN_NOTICE("You start to screw [src] to the floor..."), "You hear rustling noises.")
|
||||
if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume) && !anchored)
|
||||
anchored = TRUE
|
||||
to_chat(user, "<span class='notice'>You screw [src] to the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You screw [src] to the floor."))
|
||||
|
||||
/obj/structure/curtain/wirecutter_act(mob/user, obj/item/I)
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>You will need to undo the <b>screws</b> anchoring [src] before removing the drapes.</span>")
|
||||
to_chat(user, SPAN_WARNING("You will need to undo the <b>screws</b> anchoring [src] before removing the drapes."))
|
||||
return TRUE
|
||||
. = TRUE
|
||||
if(!I.tool_start_check(src, user, 0))
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='danger'>You try to screwdriver open [src], but accidentally release some radiation!</span>")
|
||||
to_chat(user, SPAN_DANGER("You try to screwdriver open [src], but accidentally release some radiation!"))
|
||||
if(prob(50))
|
||||
empulse(src, 4, 10)
|
||||
else
|
||||
@@ -50,7 +50,7 @@
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>[src] is too well secured to the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] is too well secured to the floor."))
|
||||
|
||||
/obj/structure/fusionreactor/proc/overload(containment_failure = FALSE, skip_qdel = FALSE)
|
||||
if(has_overloaded)
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
/obj/structure/displaycase/emag_act(mob/user)
|
||||
if(!emagged)
|
||||
to_chat(user, "<span class='warning'>You override the ID lock on [src].</span>")
|
||||
to_chat(user, SPAN_WARNING("You override the ID lock on [src]."))
|
||||
trigger_alarm()
|
||||
|
||||
emagged = TRUE
|
||||
@@ -58,23 +58,23 @@
|
||||
/obj/structure/displaycase/examine(mob/user)
|
||||
. = ..()
|
||||
if(showpiece)
|
||||
. += "<span class='notice'>There's \a [showpiece] displayed inside.</span>"
|
||||
. += SPAN_NOTICE("There's \a [showpiece] displayed inside.")
|
||||
else
|
||||
. += "<span class='notice'>It's empty.</span>"
|
||||
. += SPAN_NOTICE("It's empty.")
|
||||
if(trophy_message)
|
||||
. += "The plaque reads:\n [trophy_message]"
|
||||
if(!openable)
|
||||
. += "<span class='notice'>It seems to be sealed shut, there's no way you're getting that open.</span>"
|
||||
. += SPAN_NOTICE("It seems to be sealed shut, there's no way you're getting that open.")
|
||||
else
|
||||
if(!open)
|
||||
. += "<span class='notice'>The ID lock is active, you need to swipe an ID to open it.</span>"
|
||||
. += SPAN_NOTICE("The ID lock is active, you need to swipe an ID to open it.")
|
||||
else if((broken || open) && showpiece)
|
||||
. += "<span class='notice'>[showpiece] is held in a loose low gravity suspension field. You can take [showpiece] out[broken ? "." : ", or lock [src] with an ID"].</span>"
|
||||
. += SPAN_NOTICE("[showpiece] is held in a loose low gravity suspension field. You can take [showpiece] out[broken ? "." : ", or lock [src] with an ID"].")
|
||||
|
||||
if(alert)
|
||||
. += "<span class='notice'>It is hooked up with an anti-theft system.</span>"
|
||||
. += SPAN_NOTICE("It is hooked up with an anti-theft system.")
|
||||
if(emagged)
|
||||
. += "<span class='warning'>The ID lock has been shorted out.</span>"
|
||||
. += SPAN_WARNING("The ID lock has been shorted out.")
|
||||
|
||||
/obj/structure/displaycase/proc/dump(mob/user)
|
||||
if(showpiece)
|
||||
@@ -112,7 +112,7 @@
|
||||
if(alert && (is_station_contact(z) || force_alarm))
|
||||
var/area/alarmed = get_area(src)
|
||||
alarmed.burglaralert(src)
|
||||
visible_message("<span class='danger'>The burglar alarm goes off!</span>")
|
||||
visible_message(SPAN_DANGER("The burglar alarm goes off!"))
|
||||
// Play the burglar alarm three times
|
||||
for(var/i = 0, i < 4, i++)
|
||||
playsound(src, 'sound/machines/burglar_alarm.ogg', 50, 0)
|
||||
@@ -133,30 +133,30 @@
|
||||
/obj/structure/displaycase/item_interaction(mob/living/user, obj/item/I, list/modifiers)
|
||||
if(I.GetID())
|
||||
if(!openable)
|
||||
to_chat(user, "<span class='warning'>There is no ID scanner, looks like this one is sealed shut.</span>")
|
||||
to_chat(user, SPAN_WARNING("There is no ID scanner, looks like this one is sealed shut."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(broken)
|
||||
to_chat(user, "<span class='warning'>[src] is broken, the ID lock won't do anything.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is broken, the ID lock won't do anything."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(allowed(user) || emagged)
|
||||
to_chat(user, "<span class='notice'>You use [I] to [open ? "close" : "open"] [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You use [I] to [open ? "close" : "open"] [src]."))
|
||||
toggle_lock()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
to_chat(user, SPAN_WARNING("Access denied."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(open && !showpiece)
|
||||
if(!(I.flags & (ABSTRACT | DROPDEL)) && user.drop_item())
|
||||
I.forceMove(src)
|
||||
showpiece = I
|
||||
to_chat(user, "<span class='notice'>You put [I] on display</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [I] on display"))
|
||||
update_icon()
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(istype(I, /obj/item/stack/sheet/glass) && broken)
|
||||
var/obj/item/stack/sheet/glass/G = I
|
||||
if(G.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two glass sheets to fix the case!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need two glass sheets to fix the case!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start fixing [src]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start fixing [src]..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
G.use(2)
|
||||
broken = FALSE
|
||||
@@ -177,7 +177,7 @@
|
||||
return
|
||||
if((open || broken) && user.a_intent == INTENT_HARM)
|
||||
if(showpiece)
|
||||
to_chat(user, "<span class='notice'>Remove the displayed object first.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Remove the displayed object first."))
|
||||
return
|
||||
if(!I.use_tool(src, user, 15, volume = I.tool_volume))
|
||||
return
|
||||
@@ -185,7 +185,7 @@
|
||||
new /obj/item/stack/sheet/glass(drop_location(), 10)
|
||||
else
|
||||
new /obj/item/shard(drop_location())
|
||||
to_chat(user, "<span class='notice'>You start dismantling the case.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start dismantling the case."))
|
||||
var/obj/structure/displaycase_chassis/display = new(loc)
|
||||
if(electronics)
|
||||
electronics.forceMove(display)
|
||||
@@ -193,10 +193,10 @@
|
||||
qdel(src)
|
||||
return
|
||||
if(!alert)
|
||||
to_chat(user, "<span class='notice'>You start to [open ? "close":"open"] [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start to [open ? "close":"open"] [src]."))
|
||||
if(!I.use_tool(src, user, 20, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You [open ? "close":"open"] [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [open ? "close":"open"] [src]."))
|
||||
toggle_lock()
|
||||
|
||||
/obj/structure/displaycase/welder_act(mob/user, obj/item/I)
|
||||
@@ -211,18 +211,18 @@
|
||||
/obj/structure/displaycase/attack_hand(mob/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(showpiece && (broken || open))
|
||||
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."))
|
||||
dump(user)
|
||||
add_fingerprint(user)
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
return
|
||||
if(!open && openable)
|
||||
to_chat(user, "<span class='notice'>The ID lock is active, you'll need to unlock it first.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The ID lock is active, you'll need to unlock it first."))
|
||||
return
|
||||
//prevents remote "kicks" with TK
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
user.visible_message("<span class='danger'>[user] kicks the display case.</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] kicks the display case."))
|
||||
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
|
||||
take_damage(2)
|
||||
|
||||
@@ -236,22 +236,22 @@
|
||||
|
||||
/obj/structure/displaycase_chassis/item_interaction(mob/living/user, obj/item/I, list/modifiers)
|
||||
if(istype(I, /obj/item/airlock_electronics))
|
||||
to_chat(user, "<span class='notice'>You start installing the electronics into [src]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start installing the electronics into [src]..."))
|
||||
playsound(loc, I.usesound, 50, TRUE)
|
||||
if(do_after(user, 30, target = src))
|
||||
var/obj/item/airlock_electronics/new_electronics = I
|
||||
if(user.drop_item() && !new_electronics.is_installed)
|
||||
new_electronics.forceMove(src)
|
||||
electronics = new_electronics
|
||||
to_chat(user, "<span class='notice'>You install the airlock electronics.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You install the airlock electronics."))
|
||||
electronics.is_installed = TRUE
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(istype(I, /obj/item/stack/sheet/glass))
|
||||
var/obj/item/stack/sheet/glass/G = I
|
||||
if(G.get_amount() < 10)
|
||||
to_chat(user, "<span class='warning'>You need ten glass sheets to do this!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need ten glass sheets to do this!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start adding [G] to [src]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding [G] to [src]..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
G.use(10)
|
||||
var/obj/structure/displaycase/display = new(loc)
|
||||
@@ -274,7 +274,7 @@
|
||||
return
|
||||
if(electronics)
|
||||
if(I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
|
||||
new /obj/item/airlock_electronics(drop_location(), 1)
|
||||
electronics.is_installed = FALSE
|
||||
electronics = null
|
||||
@@ -284,7 +284,7 @@
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
if(electronics)
|
||||
to_chat(user, "<span class='notice'>Remove the airlock electronics first.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Remove the airlock electronics first."))
|
||||
return
|
||||
TOOL_ATTEMPT_DISMANTLE_MESSAGE
|
||||
if(!I.use_tool(src, user, 30, volume = I.tool_volume))
|
||||
|
||||
@@ -41,19 +41,19 @@
|
||||
switch(state)
|
||||
if(AIRLOCK_ASSEMBLY_NEEDS_WIRES)
|
||||
if(anchored)
|
||||
. += "<span class='notice'>The anchoring bolts are <b>wrenched</b> in place, but the maintenance panel lacks <i>wiring</i>.</span>"
|
||||
. += SPAN_NOTICE("The anchoring bolts are <b>wrenched</b> in place, but the maintenance panel lacks <i>wiring</i>.")
|
||||
else
|
||||
. += "<span class='notice'>The assembly is <b>welded together</b>, but the anchoring bolts are <i>unwrenched</i>.</span>"
|
||||
. += SPAN_NOTICE("The assembly is <b>welded together</b>, but the anchoring bolts are <i>unwrenched</i>.")
|
||||
if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS)
|
||||
. += "<span class='notice'>The maintenance panel is <b>wired</b>, but the circuit slot is <i>empty</i>.</span>"
|
||||
. += SPAN_NOTICE("The maintenance panel is <b>wired</b>, but the circuit slot is <i>empty</i>.")
|
||||
if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
|
||||
. += "<span class='notice'>The circuit is <b>connected loosely</b> to its slot, but the maintenance panel is <i>unscrewed and open</i>.</span>"
|
||||
. += SPAN_NOTICE("The circuit is <b>connected loosely</b> to its slot, but the maintenance panel is <i>unscrewed and open</i>.")
|
||||
if(glass)
|
||||
. += "<span class='notice'>The assembly has its electrochromic windows <b>[polarized_glass ? "enabled" : "disabled"]</b> and can be <i>configured</i>.</span>"
|
||||
. += SPAN_NOTICE("The assembly has its electrochromic windows <b>[polarized_glass ? "enabled" : "disabled"]</b> and can be <i>configured</i>.")
|
||||
if(!glass && !noglass)
|
||||
. += "<span class='notice'>There is a small <i>paper</i> placard on the assembly[doorname]. There are <i>empty</i> slots for glass windows.</span>"
|
||||
. += SPAN_NOTICE("There is a small <i>paper</i> placard on the assembly[doorname]. There are <i>empty</i> slots for glass windows.")
|
||||
else
|
||||
. += "<span class='notice'>There is a small <i>paper</i> placard on the assembly[doorname].</span>"
|
||||
. += SPAN_NOTICE("There is a small <i>paper</i> placard on the assembly[doorname].")
|
||||
|
||||
/obj/structure/door_assembly/item_interaction(mob/living/user, obj/item/W, list/modifiers)
|
||||
. = ITEM_INTERACT_COMPLETE
|
||||
@@ -68,7 +68,7 @@
|
||||
else if(iscoil(W) && state == AIRLOCK_ASSEMBLY_NEEDS_WIRES && anchored)
|
||||
var/obj/item/stack/cable_coil/coil = W
|
||||
if(coil.get_amount() < 1)
|
||||
to_chat(user, "<span class='warning'>You need one length of cable to wire the airlock assembly!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need one length of cable 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, 40 * coil.toolspeed, target = src))
|
||||
@@ -76,7 +76,7 @@
|
||||
return
|
||||
coil.use(1)
|
||||
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||
to_chat(user, "<span class='notice'>You wire the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You wire the airlock assembly."))
|
||||
|
||||
else if(istype(W, /obj/item/airlock_electronics) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS && !istype(W, /obj/item/airlock_electronics/destroyed))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
@@ -88,7 +88,7 @@
|
||||
return
|
||||
user.drop_item()
|
||||
new_electronics.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You install the airlock electronics.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You install the airlock electronics."))
|
||||
state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER
|
||||
name = "near finished airlock assembly"
|
||||
electronics = new_electronics
|
||||
@@ -107,16 +107,16 @@
|
||||
if(S.get_amount() < 1 || glass)
|
||||
return
|
||||
if(S.type == /obj/item/stack/sheet/rglass)
|
||||
to_chat(user, "<span class='notice'>You install reinforced glass windows into the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You install reinforced glass windows into the airlock assembly."))
|
||||
reinforced_glass = TRUE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You install regular glass windows into the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You install regular glass windows into the airlock assembly."))
|
||||
S.use(1)
|
||||
glass = TRUE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You cannot add [S] to [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot add [S] to [src]!"))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You cannot add [S] to [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot add [S] to [src]!"))
|
||||
else
|
||||
return ..()
|
||||
update_appearance(UPDATE_NAME | UPDATE_OVERLAYS)
|
||||
@@ -130,7 +130,7 @@
|
||||
user.visible_message("[user] is removing the electronics from the airlock assembly...", "You start to remove electronics from the airlock assembly...")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
|
||||
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
|
||||
name = "wired airlock assembly"
|
||||
var/obj/item/airlock_electronics/ae
|
||||
@@ -150,11 +150,11 @@
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
user.visible_message("[user] is finishing the airlock...", \
|
||||
"<span class='notice'>You start finishing the airlock...</span>")
|
||||
SPAN_NOTICE("You start finishing the airlock..."))
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You finish the airlock.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You finish the airlock."))
|
||||
var/obj/machinery/door/airlock/door
|
||||
if(glass || reinforced_glass)
|
||||
door = new glass_type(loc)
|
||||
@@ -187,7 +187,7 @@
|
||||
user.visible_message("[user] is cutting the wires from the airlock assembly...", "You start to cut the wires from airlock assembly...")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You cut the wires from the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You cut the wires from the airlock assembly."))
|
||||
new/obj/item/stack/cable_coil(get_turf(user), 1)
|
||||
state = AIRLOCK_ASSEMBLY_NEEDS_WIRES
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
@@ -204,7 +204,7 @@
|
||||
user.visible_message("[user] is securing the airlock assembly to the floor...", "You start to secure the airlock assembly to the floor...")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_WIRES)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]secure the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure the airlock assembly."))
|
||||
anchored = !anchored
|
||||
|
||||
/obj/structure/door_assembly/welder_act(mob/user, obj/item/I)
|
||||
@@ -212,12 +212,12 @@
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
if(glass)
|
||||
user.visible_message("<span class='notice'>[user] welds the glass panel out of [src].</span>",\
|
||||
"<span class='notice'>You start to weld the glass panel out of the [src]...</span>",\
|
||||
"<span class='warning'>You hear welding.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] welds the glass panel out of [src]."),\
|
||||
SPAN_NOTICE("You start to weld the glass panel out of the [src]..."),\
|
||||
SPAN_WARNING("You hear welding."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You weld the glass panel out.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You weld the glass panel out."))
|
||||
if(reinforced_glass)
|
||||
new /obj/item/stack/sheet/rglass(get_turf(src))
|
||||
reinforced_glass = FALSE
|
||||
@@ -226,12 +226,12 @@
|
||||
glass = FALSE
|
||||
polarized_glass = FALSE
|
||||
else if(!anchored)
|
||||
visible_message("<span class='warning'>[user] disassembles [src].</span>", \
|
||||
"<span class='notice'>You start to disassemble [src]...</span>",\
|
||||
"<span class='warning'>You hear welding.</span>")
|
||||
visible_message(SPAN_WARNING("[user] disassembles [src]."), \
|
||||
SPAN_NOTICE("You start to disassemble [src]..."),\
|
||||
SPAN_WARNING("You hear welding."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You disassemble the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You disassemble the airlock assembly."))
|
||||
deconstruct(TRUE)
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
|
||||
@@ -240,10 +240,10 @@
|
||||
return
|
||||
. = TRUE
|
||||
if(state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
|
||||
to_chat(user, "<span class='notice'>The airlock assembly needs its electronics before you can configure the electrochromic windows.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The airlock assembly needs its electronics before you can configure the electrochromic windows."))
|
||||
return
|
||||
if(!glass && !noglass)
|
||||
to_chat(user, "<span class='notice'>The airlock assembly needs glass before you can configure the electrochromic windows.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The airlock assembly needs glass before you can configure the electrochromic windows."))
|
||||
return
|
||||
|
||||
if(!I.tool_use_check(user, 0))
|
||||
@@ -254,7 +254,7 @@
|
||||
|
||||
polarized_glass = !polarized_glass
|
||||
|
||||
to_chat(user, "<span class='notice'>You [polarized_glass ? "enable" : "disable"] the electrochromic windows in the airlock assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [polarized_glass ? "enable" : "disable"] the electrochromic windows in the airlock assembly."))
|
||||
|
||||
/obj/structure/door_assembly/update_overlays()
|
||||
. = ..()
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
/obj/structure/dresser/wardrobe/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>It's currently [locked ? null : "un"]locked.</span>"
|
||||
. += SPAN_NOTICE("It's currently [locked ? null : "un"]locked.")
|
||||
|
||||
/obj/structure/dresser/wardrobe/AltShiftClick(mob/user)
|
||||
change_undergarments(user)
|
||||
@@ -137,7 +137,7 @@
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
item_to_retrieve.forceMove(loc)
|
||||
to_chat(user, "<span class='notice'>You take [item_to_retrieve] out of [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [item_to_retrieve] out of [src]."))
|
||||
if(issilicon(user))
|
||||
return
|
||||
user.put_in_hands(item_to_retrieve)
|
||||
@@ -151,23 +151,23 @@
|
||||
if(!Adjacent(user))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!is_type_in_list(used, can_hold) || is_type_in_list(used, cant_hold))
|
||||
to_chat(user, "<span class='notice'>You can't put [used] in [src]. It doesn't fit.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You can't put [used] in [src]. It doesn't fit."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>[used] is stuck to you!</span>")
|
||||
to_chat(user, SPAN_WARNING("[used] is stuck to you!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
used.forceMove(src)
|
||||
var/mob/living/carbon/human/H = user
|
||||
add_fingerprint(H)
|
||||
to_chat(user, "<span class='notice'>You put [used] in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [used] in [src]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
/obj/structure/dresser/wardrobe/proc/toggle_lock(mob/user)
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='notice'>Access Denied.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Access Denied."))
|
||||
return
|
||||
locked = !locked
|
||||
visible_message("<span class='notice'>[user] [locked ? null : "un"]lock[user.p_s()] [src].</span>")
|
||||
visible_message(SPAN_NOTICE("[user] [locked ? null : "un"]lock[user.p_s()] [src]."))
|
||||
var/mob/living/carbon/human/H = user
|
||||
add_fingerprint(H)
|
||||
update_appearance(UPDATE_OVERLAYS)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/obj/structure/chair/e_chair/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='warning'>You can <b>Alt-Click</b> [src] to activate it.</span>"
|
||||
. += SPAN_WARNING("You can <b>Alt-Click</b> [src] to activate it.")
|
||||
|
||||
/obj/structure/chair/e_chair/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
@@ -37,16 +37,16 @@
|
||||
part.loc = loc
|
||||
part.master = null
|
||||
part = null
|
||||
visible_message("<span class='warning'>[user] deconstructs [src].</span>")
|
||||
visible_message(SPAN_WARNING("[user] deconstructs [src]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/chair/e_chair/AltClick(mob/user)
|
||||
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
|
||||
return
|
||||
if(last_time + delay_time > world.time)
|
||||
to_chat(user, "<span class='warning'>[src] is not ready yet!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is not ready yet!"))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You activate [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You activate [src]."))
|
||||
shock()
|
||||
|
||||
/obj/structure/chair/e_chair/rotate()
|
||||
@@ -82,11 +82,11 @@
|
||||
|
||||
flick("echair_shock", src)
|
||||
do_sparks(12, 1, src)
|
||||
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!"))
|
||||
if(has_buckled_mobs())
|
||||
for(var/m in buckled_mobs)
|
||||
var/mob/living/buckled_mob = m
|
||||
buckled_mob.electrocute_act(110, src, 1)
|
||||
to_chat(buckled_mob, "<span class='danger'>You feel a deep shock course through your body!</span>")
|
||||
to_chat(buckled_mob, SPAN_DANGER("You feel a deep shock course through your body!"))
|
||||
spawn(1)
|
||||
buckled_mob.electrocute_act(110, src, 1)
|
||||
|
||||
@@ -38,18 +38,18 @@
|
||||
|
||||
/obj/structure/engineeringcart/proc/put_in_cart(obj/item/used, mob/user)
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>[used] is stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
|
||||
return FALSE
|
||||
|
||||
used.loc = src
|
||||
to_chat(user, "<span class='notice'>You put [used] into [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [used] into [src]."))
|
||||
return TRUE
|
||||
|
||||
/obj/structure/engineeringcart/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
. = ITEM_INTERACT_COMPLETE
|
||||
var/fail_msg = "<span class='warning'>There is already one of those in [src]!</span>"
|
||||
var/fail_msg = SPAN_WARNING("There is already one of those in [src]!")
|
||||
if(used.is_robot_module())
|
||||
to_chat(user, "<span class='warning'>You cannot interface your modules with [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot interface your modules with [src]!"))
|
||||
return
|
||||
|
||||
if(istype(used, /obj/item/stack/sheet/glass))
|
||||
@@ -144,9 +144,9 @@
|
||||
tool.play_tool_sound(src, tool.tool_volume)
|
||||
anchored = FALSE
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] loosens [src]'s casters.</span>",
|
||||
"<span class='notice'>You have loosened [src]'s casters.</span>",
|
||||
"<span class='notice'>You hear ratcheting.</span>"
|
||||
SPAN_NOTICE("[user] loosens [src]'s casters."),
|
||||
SPAN_NOTICE("You have loosened [src]'s casters."),
|
||||
SPAN_NOTICE("You hear ratcheting.")
|
||||
)
|
||||
return
|
||||
|
||||
@@ -154,9 +154,9 @@
|
||||
tool.play_tool_sound(src, tool.tool_volume)
|
||||
anchored = TRUE
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] tightens [src]'s casters.</span>",
|
||||
"<span class='notice'>You have tightened [src]'s casters.</span>",
|
||||
"<span class='notice'>You hear ratcheting.</span>"
|
||||
SPAN_NOTICE("[user] tightens [src]'s casters."),
|
||||
SPAN_NOTICE("You have tightened [src]'s casters."),
|
||||
SPAN_NOTICE("You hear ratcheting.")
|
||||
)
|
||||
|
||||
/obj/structure/engineeringcart/attack_hand(mob/user)
|
||||
@@ -190,7 +190,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_glass)
|
||||
to_chat(user, "<span class='notice'>You take [my_glass] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_glass] from [src]."))
|
||||
my_glass = null
|
||||
|
||||
if("Metal")
|
||||
@@ -198,7 +198,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_metal)
|
||||
to_chat(user, "<span class='notice'>You take [my_metal] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_metal] from [src]."))
|
||||
my_metal = null
|
||||
|
||||
if("Plasteel")
|
||||
@@ -206,7 +206,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_plasteel)
|
||||
to_chat(user, "<span class='notice'>You take [my_plasteel] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_plasteel] from [src]."))
|
||||
my_plasteel = null
|
||||
|
||||
if("Flashlight")
|
||||
@@ -214,7 +214,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_flashlight)
|
||||
to_chat(user, "<span class='notice'>You take [my_flashlight] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_flashlight] from [src]."))
|
||||
my_flashlight = null
|
||||
|
||||
if("Mechanical Toolbox")
|
||||
@@ -222,7 +222,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_blue_toolbox)
|
||||
to_chat(user, "<span class='notice'>You take [my_blue_toolbox] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_blue_toolbox] from [src]."))
|
||||
my_blue_toolbox = null
|
||||
|
||||
if("Emergency Toolbox")
|
||||
@@ -230,7 +230,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_red_toolbox)
|
||||
to_chat(user, "<span class='notice'>You take [my_red_toolbox] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_red_toolbox] from [src]."))
|
||||
my_red_toolbox = null
|
||||
|
||||
if("Electrical Toolbox")
|
||||
@@ -238,7 +238,7 @@
|
||||
return
|
||||
|
||||
user.put_in_hands(my_yellow_toolbox)
|
||||
to_chat(user, "<span class='notice'>You take [my_yellow_toolbox] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_yellow_toolbox] from [src]."))
|
||||
my_yellow_toolbox = null
|
||||
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
|
||||
@@ -33,11 +33,11 @@
|
||||
|
||||
/obj/structure/extinguisher_cabinet/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to [opened ? "close":"open"] it.</span>"
|
||||
. += SPAN_NOTICE("Alt-click to [opened ? "close":"open"] it.")
|
||||
|
||||
/obj/structure/extinguisher_cabinet/AltClick(mob/living/user)
|
||||
if(!istype(user) || user.incapacitated())
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't do that right now!"))
|
||||
return
|
||||
if(!in_range(src, user))
|
||||
return
|
||||
@@ -72,7 +72,7 @@
|
||||
contents += O
|
||||
has_extinguisher = O
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
to_chat(user, "<span class='notice'>You place [O] in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You place [O] in [src]."))
|
||||
return TRUE
|
||||
else
|
||||
playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3)
|
||||
@@ -87,10 +87,10 @@
|
||||
|
||||
/obj/structure/extinguisher_cabinet/welder_act(mob/user, obj/item/I)
|
||||
if(has_extinguisher)
|
||||
to_chat(user, "<span class='warning'>You need to remove the extinguisher before deconstructing [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to remove the extinguisher before deconstructing [src]!"))
|
||||
return
|
||||
if(!opened)
|
||||
to_chat(user, "<span class='warning'>Open the cabinet before cutting it apart!</span>")
|
||||
to_chat(user, SPAN_WARNING("Open the cabinet before cutting it apart!"))
|
||||
return
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
/obj/structure/extinguisher_cabinet/attack_hand(mob/user)
|
||||
if(isrobot(user) || isalien(user))
|
||||
to_chat(user, "<span class='notice'>You don't have the dexterity to do this!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You don't have the dexterity to do this!"))
|
||||
return
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -116,7 +116,7 @@
|
||||
if(icon_state == "extinguisher_closed")
|
||||
playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3)
|
||||
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 = TRUE
|
||||
else
|
||||
@@ -129,7 +129,7 @@
|
||||
if(icon_state == "extinguisher_closed")
|
||||
playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3)
|
||||
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 = TRUE
|
||||
else
|
||||
|
||||
@@ -42,14 +42,14 @@
|
||||
var/healthpercent = (obj_integrity/max_integrity) * 100
|
||||
switch(healthpercent)
|
||||
if(100)
|
||||
. += "<span class='notice'>It looks fully intact.</span>"
|
||||
. += SPAN_NOTICE("It looks fully intact.")
|
||||
if(70 to 99)
|
||||
. += "<span class='warning'>It looks slightly damaged.</span>"
|
||||
. += SPAN_WARNING("It looks slightly damaged.")
|
||||
if(40 to 70)
|
||||
. += "<span class='warning'>It looks moderately damaged.</span>"
|
||||
. += SPAN_WARNING("It looks moderately damaged.")
|
||||
if(0 to 40)
|
||||
. += "<span class='danger'>It looks heavily damaged.</span>"
|
||||
. += "<br><span class='notice'>Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer.</span>"
|
||||
. += SPAN_DANGER("It looks heavily damaged.")
|
||||
. += "<br>[SPAN_NOTICE("Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer.")]"
|
||||
|
||||
/obj/structure/falsewall/Destroy()
|
||||
density = FALSE
|
||||
@@ -116,7 +116,7 @@
|
||||
|
||||
/obj/structure/falsewall/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(opening)
|
||||
to_chat(user, "<span class='warning'>You must wait until the door has stopped moving.</span>")
|
||||
to_chat(user, SPAN_WARNING("You must wait until the door has stopped moving."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/gun/energy/plasmacutter) || istype(used, /obj/item/pickaxe/drill/diamonddrill) || istype(used, /obj/item/pickaxe/drill/jackhammer) || istype(used, /obj/item/melee/energy/blade) || istype(used, /obj/item/pyro_claws))
|
||||
@@ -127,24 +127,24 @@
|
||||
. = ..()
|
||||
if(. && M.environment_smash >= env_smash_level)
|
||||
deconstruct(FALSE)
|
||||
to_chat(M, "<span class='notice'>You smash through the wall.</span>")
|
||||
to_chat(M, SPAN_NOTICE("You smash through the wall."))
|
||||
|
||||
/obj/structure/falsewall/screwdriver_act(mob/living/user, obj/item/I)
|
||||
if(opening)
|
||||
to_chat(user, "<span class='warning'>You must wait until the door has stopped moving.</span>")
|
||||
to_chat(user, SPAN_WARNING("You must wait until the door has stopped moving."))
|
||||
return TRUE
|
||||
if(!density)
|
||||
to_chat(user, "<span class='warning'>You can't reach, close it first!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't reach, close it first!"))
|
||||
return TRUE
|
||||
var/turf/T = get_turf(src)
|
||||
if(T.density)
|
||||
to_chat(user, "<span class='warning'>[src] is blocked!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is blocked!"))
|
||||
return TRUE
|
||||
|
||||
if(!isfloorturf(T))
|
||||
to_chat(user, "<span class='warning'>[src] bolts must be tightened on the floor!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] bolts must be tightened on the floor!"))
|
||||
return TRUE
|
||||
user.visible_message("<span class='notice'>[user] tightens some bolts on the wall.</span>", "<span class='warning'>You tighten the bolts on the wall.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] tightens some bolts on the wall."), SPAN_WARNING("You tighten the bolts on the wall."))
|
||||
ChangeToWall()
|
||||
return TRUE
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
dismantle(user, TRUE)
|
||||
|
||||
/obj/structure/falsewall/proc/dismantle(mob/user, disassembled = TRUE)
|
||||
user.visible_message("<span class='notice'>[user] dismantles the false wall.</span>", "<span class='warning'>You dismantle the false wall.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] dismantles the false wall."), SPAN_WARNING("You dismantle the false wall."))
|
||||
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
|
||||
deconstruct(disassembled)
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
|
||||
/obj/structure/falsewall/reinforced/examine_status(mob/user)
|
||||
. = ..()
|
||||
. += "<br><span class='notice'>The outer <b>grille</b> is fully intact.</span>" //not going to fake other states of disassembly
|
||||
. += "<br>[SPAN_NOTICE("The outer <b>grille</b> is fully intact.")]" //not going to fake other states of disassembly
|
||||
|
||||
/obj/structure/falsewall/reinforced/ChangeToWall(delete = 1)
|
||||
var/turf/T = get_turf(src)
|
||||
|
||||
@@ -66,15 +66,15 @@
|
||||
|
||||
var/obj/item/stack/rods/R = used
|
||||
if(R.get_amount() < HOLE_REPAIR)
|
||||
to_chat(user, "<span class='warning'>You need [HOLE_REPAIR] rods to fix this fence!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need [HOLE_REPAIR] rods to fix this fence!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
to_chat(user, "<span class='notice'>You begin repairing the fence...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin repairing the fence..."))
|
||||
if(do_after_once(user, 3 SECONDS * used.toolspeed, target = src) && hole_size != NO_HOLE && R.use(HOLE_REPAIR))
|
||||
playsound(src, used.usesound, 80, 1)
|
||||
hole_size = NO_HOLE
|
||||
obj_integrity = max_integrity
|
||||
to_chat(user, "<span class='notice'>You repair the fence.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You repair the fence."))
|
||||
update_cut_status()
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -84,18 +84,18 @@
|
||||
return
|
||||
|
||||
if(flags & NODECONSTRUCT)
|
||||
to_chat(user, "<span class='warning'>This fence is too strong to cut through!</span>")
|
||||
to_chat(user, SPAN_WARNING("This fence is too strong to cut through!"))
|
||||
return
|
||||
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] starts cutting through [src] with [I].</span>",
|
||||
"<span class='notice'>You start cutting through [src] with [I].</span>"
|
||||
SPAN_WARNING("[user] starts cutting through [src] with [I]."),
|
||||
SPAN_NOTICE("You start cutting through [src] with [I].")
|
||||
)
|
||||
if(!can_have_holes)
|
||||
if(I.use_tool(src, user, FULL_CUT_TIME, volume = I.tool_volume, do_after_once = TRUE))
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] completely dismantles [src].</span>",
|
||||
"<span class='notice'>You completely dismantle [src].</span>"
|
||||
SPAN_WARNING("[user] completely dismantles [src]."),
|
||||
SPAN_NOTICE("You completely dismantle [src].")
|
||||
)
|
||||
deconstruct()
|
||||
return
|
||||
@@ -103,22 +103,22 @@
|
||||
// Required to avoid tool spam from stacking and instantly cutting multiple stages at once.
|
||||
if(!I.use_tool(src, user, CUT_TIME * I.toolspeed, volume = I.tool_volume, do_after_once = TRUE))
|
||||
return
|
||||
|
||||
|
||||
switch(hole_size)
|
||||
if(NO_HOLE)
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] cuts a hole into [src].</span>",
|
||||
"<span class='notice'>You could probably fit yourself through that hole. Although climbing through would be much faster if you made it even bigger...</span>"
|
||||
SPAN_WARNING("[user] cuts a hole into [src]."),
|
||||
SPAN_NOTICE("You could probably fit yourself through that hole. Although climbing through would be much faster if you made it even bigger...")
|
||||
)
|
||||
if(SMALL_HOLE)
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] completely cuts through [src].</span>",
|
||||
"<span class='notice'>The hole in [src] is now big enough to walk through.</span>"
|
||||
SPAN_WARNING("[user] completely cuts through [src]."),
|
||||
SPAN_NOTICE("The hole in [src] is now big enough to walk through.")
|
||||
)
|
||||
if(LARGE_HOLE)
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] completely dismantles [src].</span>",
|
||||
"<span class='notice'>You completely dismantle [src].</span>"
|
||||
SPAN_WARNING("[user] completely dismantles [src]."),
|
||||
SPAN_NOTICE("You completely dismantle [src].")
|
||||
)
|
||||
deconstruct()
|
||||
return
|
||||
@@ -222,7 +222,7 @@
|
||||
|
||||
/obj/structure/fence/door/proc/toggle(mob/user)
|
||||
open = !open
|
||||
visible_message("<span class='notice'>[user] [open ? "opens" : "closes"] [src].</span>")
|
||||
visible_message(SPAN_NOTICE("[user] [open ? "opens" : "closes"] [src]."))
|
||||
update_door_status()
|
||||
playsound(src, 'sound/machines/door_open.ogg', 20, TRUE)
|
||||
|
||||
|
||||
@@ -272,9 +272,9 @@
|
||||
/obj/item/kirbyplants/examine(mob/user)
|
||||
. = ..()
|
||||
if(hideable)
|
||||
. += "<span class='notice'>You can hide behind [src] by picking it up with both hands free.</span>"
|
||||
. += SPAN_NOTICE("You can hide behind [src] by picking it up with both hands free.")
|
||||
else
|
||||
. += "<span class='notice'>It's too small to hide behind.</span>"
|
||||
. += SPAN_NOTICE("It's too small to hide behind.")
|
||||
|
||||
/obj/item/kirbyplants/equipped(mob/living/carbon/user)
|
||||
. = ..()
|
||||
@@ -536,12 +536,12 @@
|
||||
if(istype(I, /obj/item/hatchet) && !stump)
|
||||
if(indestructable)
|
||||
//this bush marks the edge of the map, you can't destroy it
|
||||
to_chat(user, "<span class='warning'>You flail away at the undergrowth, but it's too thick here.</span>")
|
||||
to_chat(user, SPAN_WARNING("You flail away at the undergrowth, but it's too thick here."))
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] begins clearing away [src].</b>","<span class='warning'><b>You begin clearing away [src].</span></span>")
|
||||
user.visible_message(SPAN_DANGER("[user] begins clearing away [src]."), SPAN_WARNING("You begin clearing away [src]."))
|
||||
spawn(rand(15,30))
|
||||
if(get_dist(user,src) < 2)
|
||||
to_chat(user, "<span class='notice'>You clear away [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You clear away [src]."))
|
||||
var/obj/item/stack/sheet/wood/W = new(src.loc)
|
||||
W.amount = rand(3,15)
|
||||
if(prob(50))
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
if(!deconstructible)
|
||||
return FALSE
|
||||
|
||||
user.visible_message("<span class='notice'>[user] starts disassembling [src]...</span>", "<span class='notice'>You start disassembling [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts disassembling [src]..."), SPAN_NOTICE("You start disassembling [src]..."))
|
||||
playsound(loc, I.usesound, 50, TRUE)
|
||||
if(I.use_tool(src, user, 5 SECONDS, 0, 50))
|
||||
user.visible_message("<span class='notice'>[user] disassembles [src]!</span>", "<span class='notice'>You break down [src] into scrap metal.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] disassembles [src]!"), SPAN_NOTICE("You break down [src] into scrap metal."))
|
||||
playsound(user, 'sound/items/deconstruct.ogg', 50, TRUE)
|
||||
new /obj/item/stack/sheet/metal(drop_location())
|
||||
qdel(src)
|
||||
|
||||
@@ -23,18 +23,18 @@
|
||||
. = ..()
|
||||
switch(state)
|
||||
if(GIRDER_REINF)
|
||||
. += "<span class='notice'>The support struts are <b>screwed</b> in place.</span>"
|
||||
. += SPAN_NOTICE("The support struts are <b>screwed</b> in place.")
|
||||
if(GIRDER_REINF_STRUTS)
|
||||
. += "<span class='notice'>The support struts are <i>unscrewed</i> and the inner <b>grille</b> is intact.</span>"
|
||||
. += SPAN_NOTICE("The support struts are <i>unscrewed</i> and the inner <b>grille</b> is intact.")
|
||||
if(GIRDER_NORMAL)
|
||||
. += "<span class='notice'>The bolts are <b>lodged</b> in place.</span>"
|
||||
. += SPAN_NOTICE("The bolts are <b>lodged</b> in place.")
|
||||
if(GIRDER_DISPLACED)
|
||||
. += "<span class='notice'>The bolts are <i>loosened</i>, but the <b>screws</b> are holding [src] together.</span>"
|
||||
. += SPAN_NOTICE("The bolts are <i>loosened</i>, but the <b>screws</b> are holding [src] together.")
|
||||
if(GIRDER_DISASSEMBLED)
|
||||
. += "<span class='notice'>[src] is disassembled! You probably shouldn't be able to see this examine message.</span>"
|
||||
. += "<span class='notice'>Various types of metal sheets can be used on this to create different kinds of walls.</span>"
|
||||
. += SPAN_NOTICE("[src] is disassembled! You probably shouldn't be able to see this examine message.")
|
||||
. += SPAN_NOTICE("Various types of metal sheets can be used on this to create different kinds of walls.")
|
||||
if(can_displace)
|
||||
. += "<span class='notice'>Apply a crowbar to this item to cause any walls to be made to be false walls. Use a wrench on this item to deconstruct it.</span>"
|
||||
. += SPAN_NOTICE("Apply a crowbar to this item to cause any walls to be made to be false walls. Use a wrench on this item to deconstruct it.")
|
||||
|
||||
|
||||
/obj/structure/girder/proc/refundMetal(metalAmount) //refunds metal used in construction when deconstructed
|
||||
@@ -50,82 +50,82 @@
|
||||
/obj/structure/girder/item_interaction(mob/living/user, obj/item/W, list/modifiers)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>You start slicing apart the girder...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start slicing apart the girder..."))
|
||||
if(do_after(user, 40 * W.toolspeed, target = src))
|
||||
if(!src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You slice apart the girder.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You slice apart the girder."))
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
else if(istype(W, /obj/item/pickaxe/drill/diamonddrill))
|
||||
to_chat(user, "<span class='notice'>You drill through the girder!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You drill through the girder!"))
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You disintegrate the girder!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You disintegrate the girder!"))
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
else if(istype(W, /obj/item/pyro_claws))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You melt the girder!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You melt the girder!"))
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
else if(istype(W, /obj/item/stack))
|
||||
if(iswallturf(loc))
|
||||
to_chat(user, "<span class='warning'>There is already a wall present!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a wall present!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!isfloorturf(loc))
|
||||
to_chat(user, "<span class='warning'>A floor must be present to build a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("A floor must be present to build a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(locate(/obj/structure/falsewall) in loc.contents)
|
||||
to_chat(user, "<span class='warning'>There is already a false wall present!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a false wall present!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(islava(loc))
|
||||
to_chat(user, "<span class='warning'>You can't do that while [src] is in lava!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't do that while [src] is in lava!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(istype(W, /obj/item/stack/sheet/runed_metal))
|
||||
to_chat(user, "<span class='warning'>You can't seem to make the metal bend.</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't seem to make the metal bend."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(istype(W, /obj/item/stack/sheet/bamboo)) // pending wall resprite(tm)
|
||||
to_chat(user, "<span class='warning'>The bamboo doesn't seem to fit around the girder.</span>")
|
||||
to_chat(user, SPAN_WARNING("The bamboo doesn't seem to fit around the girder."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(W,/obj/item/stack/rods))
|
||||
var/obj/item/stack/rods/S = W
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 5)
|
||||
to_chat(user, "<span class='warning'>You need at least five rods to create a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least five rods to create a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start building a reinforced false wall...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start building a reinforced false wall..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!loc || !S || S.get_amount() < 5)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(5)
|
||||
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."))
|
||||
var/obj/structure/falsewall/iron/FW = new (loc)
|
||||
transfer_fingerprints_to(FW)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(S.get_amount() < 5)
|
||||
to_chat(user, "<span class='warning'>You need at least five rods to add plating!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least five rods to add plating!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start adding plating...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding plating..."))
|
||||
if(do_after(user, 40, target = src))
|
||||
if(!loc || !S || S.get_amount() < 5)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(5)
|
||||
to_chat(user, "<span class='notice'>You add the plating.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You add the plating."))
|
||||
var/turf/T = get_turf(src)
|
||||
T.ChangeTurf(/turf/simulated/wall/mineral/iron)
|
||||
transfer_fingerprints_to(T)
|
||||
@@ -136,27 +136,27 @@
|
||||
var/obj/item/stack/ore/glass/basalt/A = W
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(A.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two [A] to create a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least two [A] to create a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(do_after(user, 2 SECONDS, target = src))
|
||||
if(!loc || !A || A.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
A.use(2)
|
||||
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."))
|
||||
var/obj/structure/falsewall/rock_ancient/FW = new (loc)
|
||||
transfer_fingerprints_to(FW)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(A.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two [A] to add plating!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least two [A] to add plating!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start adding [A]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding [A]..."))
|
||||
if(do_after(user, 4 SECONDS, target = src))
|
||||
if(!src || !A || A.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
A.use(2)
|
||||
to_chat(user, "<span class='notice'>You add [A].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You add [A]."))
|
||||
var/turf/parent_turf = get_turf(src)
|
||||
parent_turf.ChangeTurf(/turf/simulated/mineral/ancient)
|
||||
for(var/turf/simulated/mineral/X in parent_turf.loc)
|
||||
@@ -169,34 +169,34 @@
|
||||
|
||||
var/obj/item/stack/sheet/S = W
|
||||
if(!S.wall_allowed)
|
||||
to_chat(user, "<span class='warning'>You don't think that is good material for a wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You don't think that is good material for a wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(S, /obj/item/stack/sheet/wood))
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two planks of wood to create a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need two planks of wood to create a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start building a false wall...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start building a false wall..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!loc || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
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."))
|
||||
var/obj/structure/falsewall/wood/falsewood = new(loc)
|
||||
transfer_fingerprints_to(falsewood)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two planks of wood to finish a wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need two planks of wood to finish a wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start adding plating...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding plating..."))
|
||||
if(do_after(user, 40 * W.toolspeed, target = src))
|
||||
if(!src || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
to_chat(user, "<span class='notice'>You add the plating.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You add the plating."))
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall/mineral/wood)
|
||||
for(var/turf/simulated/wall/mineral/wood/X in Tsrc.loc)
|
||||
@@ -207,28 +207,28 @@
|
||||
else if(istype(S, /obj/item/stack/sheet/metal))
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two sheets of metal to create a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need two sheets of metal to create a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start building a false wall...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start building a false wall..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!loc || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
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."))
|
||||
var/obj/structure/falsewall/F = new(loc)
|
||||
transfer_fingerprints_to(F)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need two sheets of metal to finish a wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need two sheets of metal to finish a wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start adding plating...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding plating..."))
|
||||
if(do_after(user, 40 * W.toolspeed, target = src))
|
||||
if(!src || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
to_chat(user, "<span class='notice'>You add the plating.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You add the plating."))
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall)
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
@@ -240,14 +240,14 @@
|
||||
if(istype(S, /obj/item/stack/sheet/plasteel))
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two sheets to create a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least two sheets to create a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start building a reinforced false wall...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start building a reinforced false wall..."))
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!loc || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
to_chat(user, "<span class='notice'>You create a reinforced false wall. Push on it to open or close the passage.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You create a reinforced false wall. Push on it to open or close the passage."))
|
||||
var/obj/structure/falsewall/reinforced/FW = new (loc)
|
||||
transfer_fingerprints_to(FW)
|
||||
qdel(src)
|
||||
@@ -256,12 +256,12 @@
|
||||
if(state == GIRDER_REINF)
|
||||
if(S.get_amount() < 1)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start finalizing the reinforced wall...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start finalizing the reinforced wall..."))
|
||||
if(do_after(user, 50, target = src))
|
||||
if(!src || !S || S.get_amount() < 1)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(1)
|
||||
to_chat(user, "<span class='notice'>You fully reinforce the wall.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You fully reinforce the wall."))
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
@@ -272,12 +272,12 @@
|
||||
else
|
||||
if(S.get_amount() < 1)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start reinforcing the girder...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start reinforcing the girder..."))
|
||||
if(do_after(user,60, target = src))
|
||||
if(!src || !S || S.get_amount() < 1)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(1)
|
||||
to_chat(user, "<span class='notice'>You reinforce the girder.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You reinforce the girder."))
|
||||
var/obj/structure/girder/reinforced/R = new (loc)
|
||||
transfer_fingerprints_to(R)
|
||||
qdel(src)
|
||||
@@ -287,13 +287,13 @@
|
||||
var/M = S.sheettype
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two sheets to create a false wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least two sheets to create a false wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!loc || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
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."))
|
||||
var/F = text2path("/obj/structure/falsewall/[M]")
|
||||
var/obj/structure/FW = new F (loc)
|
||||
transfer_fingerprints_to(FW)
|
||||
@@ -301,14 +301,14 @@
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two sheets to add plating!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least two sheets to add plating!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start adding plating...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding plating..."))
|
||||
if(do_after(user,40, target = src))
|
||||
if(!src || !S || S.get_amount() < 2)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
S.use(2)
|
||||
to_chat(user, "<span class='notice'>You add the plating.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You add the plating."))
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]"))
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
@@ -325,10 +325,10 @@
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start dislodging the girder...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start dislodging the girder..."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_NORMAL)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You dislodge the girder.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You dislodge the girder."))
|
||||
var/obj/structure/girder/displaced/D = new (loc)
|
||||
transfer_fingerprints_to(D)
|
||||
qdel(src)
|
||||
@@ -350,16 +350,16 @@
|
||||
M.add_fingerprint(user)
|
||||
qdel(src)
|
||||
if(GIRDER_REINF)
|
||||
to_chat(user, "<span class='notice'>You start unsecuring support struts...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start unsecuring support struts..."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You unsecure the support struts.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You unsecure the support struts."))
|
||||
state = GIRDER_REINF_STRUTS
|
||||
if(GIRDER_REINF_STRUTS)
|
||||
to_chat(user, "<span class='notice'>You start securing support struts...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start securing support struts..."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF_STRUTS)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You secure the support struts.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You secure the support struts."))
|
||||
state = GIRDER_REINF
|
||||
|
||||
/obj/structure/girder/wirecutter_act(mob/user, obj/item/I)
|
||||
@@ -368,10 +368,10 @@
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start removing the inner grille...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start removing the inner grille..."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF_STRUTS)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You remove the inner grille.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove the inner grille."))
|
||||
new /obj/item/stack/sheet/plasteel(get_turf(src))
|
||||
var/obj/structure/girder/G = new (loc)
|
||||
transfer_fingerprints_to(G)
|
||||
@@ -393,12 +393,12 @@
|
||||
qdel(src)
|
||||
else
|
||||
if(!isfloorturf(loc))
|
||||
to_chat(user, "<span class='warning'>A floor must be present to secure the girder!</span>")
|
||||
to_chat(user, SPAN_WARNING("A floor must be present to secure the girder!"))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start securing the girder...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start securing the girder..."))
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_DISPLACED)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You secure the girder.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You secure the girder."))
|
||||
var/obj/structure/girder/G = new(loc)
|
||||
transfer_fingerprints_to(G)
|
||||
qdel(src)
|
||||
@@ -473,15 +473,15 @@
|
||||
/obj/structure/girder/cult/item_interaction(mob/living/user, obj/item/W, list/modifiers)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) //Cultists can demolish cult girders instantly with their dagger
|
||||
user.visible_message("<span class='warning'>[user] strikes [src] with [W]!</span>", "<span class='notice'>You demolish [src].</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] strikes [src] with [W]!"), SPAN_NOTICE("You demolish [src]."))
|
||||
refundMetal(metalUsed)
|
||||
qdel(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>You start slicing apart the girder...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start slicing apart the girder..."))
|
||||
if(do_after(user, 40* W.toolspeed, target = src))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You slice apart the girder.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You slice apart the girder."))
|
||||
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
|
||||
R.amount = 1
|
||||
transfer_fingerprints_to(R)
|
||||
@@ -489,7 +489,7 @@
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
|
||||
var/obj/item/pickaxe/drill/jackhammer/D = W
|
||||
to_chat(user, "<span class='notice'>Your jackhammer smashes through the girder!</span>")
|
||||
to_chat(user, SPAN_NOTICE("Your jackhammer smashes through the girder!"))
|
||||
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
|
||||
R.amount = 1
|
||||
transfer_fingerprints_to(R)
|
||||
@@ -499,13 +499,13 @@
|
||||
else if(istype(W, /obj/item/stack/sheet/runed_metal))
|
||||
var/obj/item/stack/sheet/runed_metal/R = W
|
||||
if(R.get_amount() < 1)
|
||||
to_chat(user, "<span class='warning'>You need at least one sheet of runed metal to construct a runed wall!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least one sheet of runed metal to construct a runed wall!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
user.visible_message("<span class='notice'>[user] begins laying runed metal on [src]...</span>", "<span class='notice'>You begin constructing a runed wall...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] begins laying runed metal on [src]..."), SPAN_NOTICE("You begin constructing a runed wall..."))
|
||||
if(do_after(user, 10, target = src))
|
||||
if(R.get_amount() < 1 || !R)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
user.visible_message("<span class='notice'>[user] plates [src] with runed metal.</span>", "<span class='notice'>You construct a runed wall.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] plates [src] with runed metal."), SPAN_NOTICE("You construct a runed wall."))
|
||||
R.use(1)
|
||||
var/turf/T = get_turf(src)
|
||||
T.ChangeTurf(/turf/simulated/wall/cult)
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
clonemind.transfer_to(H) //INSTANTLY INTO THE CLONE
|
||||
H.ckey = R.ckey
|
||||
to_chat(H, "<span class='notice'><b>Consciousness slowly creeps over you as your body regenerates.</b><br><i>So this is what cloning feels like?</i></span>")
|
||||
to_chat(H, SPAN_NOTICE("<b>Consciousness slowly creeps over you as your body regenerates.</b><br><i>So this is what cloning feels like?</i>"))
|
||||
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
|
||||
/obj/structure/grille/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>A powered wire underneath this will cause the grille to shock anyone who touches the grill. An electric shock may leap forth if the grill is damaged.</span>"
|
||||
. += "<span class='notice'>Use <b>wirecutters</b> to deconstruct this item.</span>"
|
||||
. += SPAN_NOTICE("A powered wire underneath this will cause the grille to shock anyone who touches the grill. An electric shock may leap forth if the grill is damaged.")
|
||||
. += SPAN_NOTICE("Use <b>wirecutters</b> to deconstruct this item.")
|
||||
if(anchored)
|
||||
. += "<span class='notice'>It's secured in place with <b>screws</b>. The rods look like they could be <b>cut</b> through.</span>"
|
||||
. += SPAN_NOTICE("It's secured in place with <b>screws</b>. The rods look like they could be <b>cut</b> through.")
|
||||
else
|
||||
. += "<span class='notice'>The anchoring screws are <i>unscrewed</i>. The rods look like they could be <b>cut</b> through.</span>"
|
||||
. += SPAN_NOTICE("The anchoring screws are <i>unscrewed</i>. The rods look like they could be <b>cut</b> through.")
|
||||
|
||||
/obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
|
||||
. = ..()
|
||||
@@ -60,7 +60,7 @@
|
||||
if(user.environment_smash >= ENVIRONMENT_SMASH_STRUCTURES)
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE)
|
||||
obj_break()
|
||||
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>", "<span class='notice'>You smash through [src].</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] smashes through [src]!"), SPAN_NOTICE("You smash through [src]."))
|
||||
return
|
||||
|
||||
take_damage(rand(5,10), BRUTE, MELEE, 1)
|
||||
@@ -73,7 +73,7 @@
|
||||
if(attacker.environment_smash >= ENVIRONMENT_SMASH_STRUCTURES)
|
||||
playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE)
|
||||
obj_break()
|
||||
attacker.visible_message("<span class='danger'>[attacker] smashes through [src]!</span>", "<span class='notice'>You smash through [src].</span>")
|
||||
attacker.visible_message(SPAN_DANGER("[attacker] smashes through [src]!"), SPAN_NOTICE("You smash through [src]."))
|
||||
return
|
||||
|
||||
take_damage(rand(5, 10), BRUTE, MELEE, 1)
|
||||
@@ -93,14 +93,14 @@
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
|
||||
user.visible_message("<span class='warning'>[user] hits [src].</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] hits [src]."))
|
||||
if(!shock(user, 70))
|
||||
take_damage(rand(5,10), BRUTE, MELEE, 1)
|
||||
|
||||
/obj/structure/grille/attack_alien(mob/living/user)
|
||||
user.do_attack_animation(src)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='warning'>[user] mangles [src].</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] mangles [src]."))
|
||||
if(!shock(user, 70))
|
||||
take_damage(20, BRUTE, MELEE, 1)
|
||||
|
||||
@@ -134,8 +134,8 @@
|
||||
|
||||
/obj/structure/grille/proc/repair(mob/user, obj/item/stack/rods/R)
|
||||
if(R.get_amount() >= 1)
|
||||
user.visible_message("<span class='notice'>[user] rebuilds the broken grille.</span>",
|
||||
"<span class='notice'>You rebuild the broken grille.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] rebuilds the broken grille."),
|
||||
SPAN_NOTICE("You rebuild the broken grille."))
|
||||
new grille_type(loc)
|
||||
R.use(1)
|
||||
qdel(src)
|
||||
@@ -160,31 +160,31 @@
|
||||
var/support = locate(/obj/structure/lattice) in get_turf(src)
|
||||
if(!support)
|
||||
support = get_turf(src)
|
||||
user.visible_message("<span class='notice'>[user] [anchored ? "fastens" : "unfastens"] [src].</span>", \
|
||||
"<span class='notice'>You [anchored ? "fasten [src] to" : "unfasten [src] from"] \the [support].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] [anchored ? "fastens" : "unfastens"] [src]."), \
|
||||
SPAN_NOTICE("You [anchored ? "fasten [src] to" : "unfasten [src] from"] \the [support]."))
|
||||
|
||||
/obj/structure/grille/proc/build_window(obj/item/stack/sheet/S, mob/user)
|
||||
var/dir_to_set = SOUTHWEST
|
||||
if(!istype(S) || !user)
|
||||
return
|
||||
if(broken)
|
||||
to_chat(user, "<span class='warning'>You must repair or replace [src] first!</span>")
|
||||
to_chat(user, SPAN_WARNING("You must repair or replace [src] first!"))
|
||||
return
|
||||
if(S.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need at least two sheets of glass for that!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least two sheets of glass for that!"))
|
||||
return
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='warning'>[src] needs to be fastened to the floor first!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] needs to be fastened to the floor first!"))
|
||||
return
|
||||
for(var/obj/structure/window/WINDOW in loc)
|
||||
to_chat(user, "<span class='warning'>There is already a window there!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a window 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, target = src))
|
||||
if(!loc || !anchored) //Grille destroyed or unanchored while waiting
|
||||
return
|
||||
for(var/obj/structure/window/WINDOW in loc) //checking this for a 2nd time to check if a window was made while we were waiting.
|
||||
to_chat(user, "<span class='warning'>There is already a window there!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a window there!"))
|
||||
return
|
||||
var/obj/structure/window/W = new S.full_window(drop_location())
|
||||
W.setDir(dir_to_set)
|
||||
@@ -194,7 +194,7 @@
|
||||
W.update_nearby_icons()
|
||||
W.state = WINDOW_OUT_OF_FRAME
|
||||
S.use(2)
|
||||
to_chat(user, "<span class='notice'>You place [W] on [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You place [W] on [src]."))
|
||||
|
||||
|
||||
/obj/structure/grille/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
|
||||
@@ -77,8 +77,8 @@
|
||||
if(GUILLOTINE_BLADE_RAISED)
|
||||
if(has_buckled_mobs())
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.visible_message("<span class='warning'>[user] begins to pull the lever!</span>",
|
||||
"<span class='warning'>You begin to the pull the lever.</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] begins to pull the lever!"),
|
||||
SPAN_WARNING("You begin to the pull the lever."))
|
||||
current_action = GUILLOTINE_ACTION_INUSE
|
||||
|
||||
if(do_after(user, GUILLOTINE_ACTIVATE_DELAY, target = src) && blade_status == GUILLOTINE_BLADE_RAISED)
|
||||
@@ -165,16 +165,16 @@
|
||||
blade_status = GUILLOTINE_BLADE_SHARPENING
|
||||
if(do_after(user, W.toolspeed, target = src))
|
||||
blade_status = GUILLOTINE_BLADE_RAISED
|
||||
user.visible_message("<span class='notice'>[user] sharpens the large blade of the guillotine.</span>",
|
||||
"<span class='notice'>You sharpen the large blade of the guillotine.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] sharpens the large blade of the guillotine."),
|
||||
SPAN_NOTICE("You sharpen the large blade of the guillotine."))
|
||||
blade_sharpness += 1
|
||||
playsound(src, 'sound/items/screwdriver.ogg', 100, 1)
|
||||
else
|
||||
blade_status = GUILLOTINE_BLADE_RAISED
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The blade is sharp enough!</span>")
|
||||
to_chat(user, SPAN_WARNING("The blade is sharp enough!"))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need to raise the blade in order to sharpen it!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to raise the blade in order to sharpen it!"))
|
||||
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -189,11 +189,11 @@
|
||||
current_action = 0
|
||||
return
|
||||
if(has_buckled_mobs())
|
||||
to_chat(user, "<span class='warning'>Can't unfasten, someone's strapped in!</span>")
|
||||
to_chat(user, SPAN_WARNING("Can't unfasten, someone's strapped in!"))
|
||||
return
|
||||
|
||||
current_action = 0
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "un" : ""]secure [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure [src]."))
|
||||
anchored = !anchored
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
dir = SOUTH
|
||||
@@ -216,15 +216,15 @@
|
||||
|
||||
/obj/structure/guillotine/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE)
|
||||
if(!anchored)
|
||||
to_chat(usr, "<span class='warning'>[src] needs to be wrenched to the floor!</span>")
|
||||
to_chat(usr, SPAN_WARNING("[src] needs to be wrenched to the floor!"))
|
||||
return FALSE
|
||||
|
||||
if(!ishuman(M))
|
||||
to_chat(usr, "<span class='warning'>It doesn't look like [M.p_they()] can fit into this properly!</span>")
|
||||
to_chat(usr, SPAN_WARNING("It doesn't look like [M.p_they()] can fit into this properly!"))
|
||||
return FALSE // Can't decapitate non-humans
|
||||
|
||||
if(blade_status != GUILLOTINE_BLADE_RAISED)
|
||||
to_chat(usr, "<span class='warning'>You need to raise the blade before buckling someone in!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You need to raise the blade before buckling someone in!"))
|
||||
return FALSE
|
||||
|
||||
return ..(M, force, FALSE)
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
/obj/item/inflatable/examine(mob/user)
|
||||
. = ..()
|
||||
if(!torn)
|
||||
. += "<span class='notice'><b>Use this item in hand</b> to create an inflatable wall.</span>"
|
||||
. += SPAN_NOTICE("<b>Use this item in hand</b> to create an inflatable wall.")
|
||||
else
|
||||
. += "<span class='warning'>[src] is torn and cannot hold air anymore. It's completely useless now.</span>"
|
||||
. += SPAN_WARNING("[src] is torn and cannot hold air anymore. It's completely useless now.")
|
||||
|
||||
|
||||
/obj/item/inflatable/activate_self(mob/user)
|
||||
@@ -26,11 +26,11 @@
|
||||
/obj/item/inflatable/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
inflate(user, target)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
|
||||
/obj/item/inflatable/proc/inflate(mob/user, atom/target)
|
||||
if(torn)
|
||||
add_fingerprint(user)
|
||||
to_chat(user, "<span class='warning'>[src] is torn and cannot be inflated anymore!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is torn and cannot be inflated anymore!"))
|
||||
return
|
||||
|
||||
var/turf/T = get_turf(target)
|
||||
@@ -38,21 +38,21 @@
|
||||
return
|
||||
|
||||
if((locate(/obj/structure/inflatable) in T) || (locate(/obj/structure/window/full) in T))
|
||||
to_chat(user, "<span class='warning'>There's no room to deploy [src] here!</span>")
|
||||
to_chat(user, SPAN_WARNING("There's no room to deploy [src] here!"))
|
||||
return
|
||||
|
||||
var/obj/machinery/door/airlock = locate(/obj/machinery/door) in T
|
||||
var/obj/structure/mineral_door/mineral_door = locate(/obj/structure/mineral_door) in T
|
||||
if(mineral_door && mineral_door.density)
|
||||
to_chat(user, "<span class='warning'>You need to open [mineral_door] before you can deploy [src] there!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to open [mineral_door] before you can deploy [src] there!"))
|
||||
return
|
||||
|
||||
if(airlock && airlock.density && !istype(airlock, /obj/machinery/door/window))
|
||||
to_chat(user, "<span class='warning'>You need to open [airlock] before you can deploy [src] there!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to open [airlock] before you can deploy [src] there!"))
|
||||
return
|
||||
|
||||
playsound(loc, '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 structure_type(T)
|
||||
src.transfer_fingerprints_to(R)
|
||||
R.add_fingerprint(user)
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
/obj/structure/inflatable/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'><b>Alt-Click</b> to deflate [src].</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Click</b> to deflate [src].")
|
||||
|
||||
/obj/structure/inflatable/Initialize(mapload, location)
|
||||
. = ..()
|
||||
@@ -231,7 +231,7 @@
|
||||
|
||||
/obj/item/inflatable/cyborg/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>As a synthetic, you will synthesise these directly from your cell's energy reserves.</span>"
|
||||
. += SPAN_NOTICE("As a synthetic, you will synthesise these directly from your cell's energy reserves.")
|
||||
|
||||
/obj/item/inflatable/cyborg/activate_self(mob/user)
|
||||
if(!do_after(user, delay, FALSE, user))
|
||||
@@ -247,7 +247,7 @@
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(!useResource(user))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
|
||||
var/mob/living/silicon/robot/R = user
|
||||
if(R.cell.charge < power_cost)
|
||||
to_chat(user, "<span class='warning'>Not enough power!</span>")
|
||||
to_chat(user, SPAN_WARNING("Not enough power!"))
|
||||
return FALSE
|
||||
|
||||
return R.cell.use(power_cost)
|
||||
|
||||
@@ -51,11 +51,11 @@
|
||||
|
||||
/obj/structure/janitorialcart/proc/put_in_cart(mob/user, obj/item/I)
|
||||
if(!user.unequip(I)) // We can do this here because everything below wants to
|
||||
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
|
||||
|
||||
I.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [I] into [src]."))
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
return
|
||||
|
||||
@@ -87,18 +87,18 @@
|
||||
return
|
||||
|
||||
if(robot_module)
|
||||
to_chat(user, "<span class='warning'>You cannot store [used] in [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!"))
|
||||
return
|
||||
|
||||
if(!my_mop)
|
||||
my_mop = attacking_mop
|
||||
put_in_cart(user, attacking_mop)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There is already one of those in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("There is already one of those in [src]."))
|
||||
return
|
||||
|
||||
if(robot_module)
|
||||
to_chat(user, "<span class='warning'>You cannot store [used] in [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!"))
|
||||
return
|
||||
|
||||
if(istype(used, /obj/item/caution))
|
||||
@@ -106,7 +106,7 @@
|
||||
signs++
|
||||
put_in_cart(user, used)
|
||||
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
|
||||
|
||||
if(istype(used, /obj/item/push_broom))
|
||||
@@ -138,7 +138,7 @@
|
||||
item_present = TRUE
|
||||
|
||||
if(item_present)
|
||||
to_chat(user, "<span class='notice'>There is already one of those in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("There is already one of those in [src]."))
|
||||
return
|
||||
|
||||
return FALSE
|
||||
@@ -146,17 +146,17 @@
|
||||
/obj/structure/janitorialcart/crowbar_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] begins to empty the contents of [src].</span>",
|
||||
"<span class='notice'>You begin to empty the contents of [src].</span>",
|
||||
"<span class='warning'>You hear a prying sound.</span>"
|
||||
SPAN_WARNING("[user] begins to empty the contents of [src]."),
|
||||
SPAN_NOTICE("You begin to empty the contents of [src]."),
|
||||
SPAN_WARNING("You hear a prying sound.")
|
||||
)
|
||||
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume))
|
||||
return
|
||||
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] empties the contents of [src]'s bucket onto the floor!</span>",
|
||||
"<span class='notice'>You empty the contents of [src]'s bucket onto the floor.</span>",
|
||||
"<span class='warning'>You hear liquid spilling onto the floor.</span>"
|
||||
SPAN_WARNING("[user] empties the contents of [src]'s bucket onto the floor!"),
|
||||
SPAN_NOTICE("You empty the contents of [src]'s bucket onto the floor."),
|
||||
SPAN_WARNING("You hear liquid spilling onto the floor.")
|
||||
)
|
||||
reagents.reaction(loc)
|
||||
reagents.clear_reagents()
|
||||
@@ -168,9 +168,9 @@
|
||||
return
|
||||
|
||||
user.visible_message( \
|
||||
"<span class='notice'>[user] tightens [src]'s casters.</span>",
|
||||
"<span class='notice'>You have tightened [src]'s casters.</span>",
|
||||
"<span class='notice'>You hear ratcheting.</span>"
|
||||
SPAN_NOTICE("[user] tightens [src]'s casters."),
|
||||
SPAN_NOTICE("You have tightened [src]'s casters."),
|
||||
SPAN_NOTICE("You hear ratcheting.")
|
||||
)
|
||||
anchored = TRUE
|
||||
return
|
||||
@@ -180,9 +180,9 @@
|
||||
return
|
||||
|
||||
user.visible_message( \
|
||||
"<span class='notice'>[user] loosens [src]'s casters.</span>",
|
||||
"<span class='notice'>You have loosened [src]'s casters.</span>",
|
||||
"<span class='notice'>You hear ratcheting.</span>"
|
||||
SPAN_NOTICE("[user] loosens [src]'s casters."),
|
||||
SPAN_NOTICE("You have loosened [src]'s casters."),
|
||||
SPAN_NOTICE("You hear ratcheting.")
|
||||
)
|
||||
anchored = FALSE
|
||||
|
||||
@@ -216,38 +216,38 @@
|
||||
if(!my_bag)
|
||||
return
|
||||
user.put_in_hands(my_bag)
|
||||
to_chat(user, "<span class='notice'>You take [my_bag] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_bag] from [src]."))
|
||||
my_bag = null
|
||||
if("Mop")
|
||||
if(!my_mop)
|
||||
return
|
||||
user.put_in_hands(my_mop)
|
||||
to_chat(user, "<span class='notice'>You take [my_mop] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_mop] from [src]."))
|
||||
my_mop = null
|
||||
if("Broom")
|
||||
if(!my_broom)
|
||||
return
|
||||
user.put_in_hands(my_broom)
|
||||
to_chat(user, "<span class='notice'>You take [my_broom] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_broom] from [src]."))
|
||||
my_broom = null
|
||||
if("Spray Bottle")
|
||||
if(!my_spray)
|
||||
return
|
||||
user.put_in_hands(my_spray)
|
||||
to_chat(user, "<span class='notice'>You take [my_spray] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_spray] from [src]."))
|
||||
my_spray = null
|
||||
if("Light Replacer")
|
||||
if(!my_replacer)
|
||||
return
|
||||
user.put_in_hands(my_replacer)
|
||||
to_chat(user, "<span class='notice'>You take [my_replacer] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [my_replacer] from [src]."))
|
||||
my_replacer = null
|
||||
if("Sign")
|
||||
if(!signs)
|
||||
return
|
||||
if(sign)
|
||||
user.put_in_hands(sign)
|
||||
to_chat(user, "<span class='notice'>You take \a [sign] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take \a [sign] from [src]."))
|
||||
signs--
|
||||
else
|
||||
WARNING("Signs ([signs]) didn't match contents")
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
var/obj/item/stack/rods/R = I
|
||||
if(R.get_amount() >= 4)
|
||||
R.use(4)
|
||||
to_chat(user, "<span class='notice'>You add spikes to the frame.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You add spikes to the frame."))
|
||||
new /obj/structure/kitchenspike(loc)
|
||||
add_fingerprint(user)
|
||||
qdel(src)
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/obj/structure/kitchenspike_frame/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Add metal rods to complete construction, or use a wrench to deconstruct it.</span>"
|
||||
. += SPAN_NOTICE("Add metal rods to complete construction, or use a wrench to deconstruct it.")
|
||||
|
||||
/obj/structure/kitchenspike_frame/deconstruct(disassembled = TRUE)
|
||||
if(disassembled)
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
/obj/structure/kitchenspike/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>To deconstruct, pry out the spikes with a crowbar, then deconstruct the frame with a wrench.</span>"
|
||||
. += SPAN_NOTICE("To deconstruct, pry out the spikes with a crowbar, then deconstruct the frame with a wrench.")
|
||||
|
||||
//ATTACK HAND IGNORING PARENT RETURN VALUE
|
||||
/obj/structure/kitchenspike/attack_hand(mob/user)
|
||||
@@ -82,11 +82,11 @@
|
||||
/obj/structure/kitchenspike/crowbar_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(has_buckled_mobs())
|
||||
to_chat(user, "<span class='notice'>You can't do that while something's on the spike!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You can't do that while something's on the spike!"))
|
||||
return
|
||||
if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You pry the spikes out of the frame.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You pry the spikes out of the frame."))
|
||||
deconstruct(TRUE)
|
||||
|
||||
/obj/structure/kitchenspike/MouseDrop_T(mob/living/victim, mob/living/user)
|
||||
@@ -100,11 +100,11 @@
|
||||
|
||||
/obj/structure/kitchenspike/proc/start_spike(mob/living/victim, mob/user)
|
||||
if(has_buckled_mobs())
|
||||
to_chat(user, "<span class='danger'>The spike already has something on it, finish collecting its meat first!</span>")
|
||||
to_chat(user, SPAN_DANGER("The spike already has something on it, finish collecting its meat first!"))
|
||||
return
|
||||
victim.visible_message(
|
||||
"<span class='danger'>[user] tries to slam [victim] onto the meat spike!</span>",
|
||||
"<span class='userdanger'>[user] tries to slam you onto the meat spike!</span>"
|
||||
SPAN_DANGER("[user] tries to slam [victim] onto the meat spike!"),
|
||||
SPAN_USERDANGER("[user] tries to slam you onto the meat spike!")
|
||||
)
|
||||
if(do_mob(user, victim, impale_time))
|
||||
end_spike(victim, user)
|
||||
@@ -122,9 +122,9 @@
|
||||
victim.forceMove(drop_location())
|
||||
victim.emote("scream")
|
||||
victim.visible_message(
|
||||
"<span class='danger'>[user] slams [victim] onto the meat spike!</span>",
|
||||
"<span class='userdanger'>[user] slams you onto the meat spike!</span>",
|
||||
"<span class='italics'>You hear a squishy wet noise.</span>"
|
||||
SPAN_DANGER("[user] slams [victim] onto the meat spike!"),
|
||||
SPAN_USERDANGER("[user] slams you onto the meat spike!"),
|
||||
SPAN_ITALICS("You hear a squishy wet noise.")
|
||||
)
|
||||
if(ishuman(victim))
|
||||
var/mob/living/carbon/human/H = victim
|
||||
@@ -143,23 +143,23 @@
|
||||
if(buckled_mob)
|
||||
var/mob/living/M = buckled_mob
|
||||
if(M != user)
|
||||
M.visible_message("<span class='notice'>[user] tries to pull [M] free of [src]!</span>",\
|
||||
"<span class='notice'>[user] is trying to pull you off [src], opening up fresh wounds!</span>",\
|
||||
"<span class='italics'>You hear a squishy wet noise.</span>")
|
||||
M.visible_message(SPAN_NOTICE("[user] tries to pull [M] free of [src]!"),\
|
||||
SPAN_NOTICE("[user] is trying to pull you off [src], opening up fresh wounds!"),\
|
||||
SPAN_ITALICS("You hear a squishy wet noise."))
|
||||
if(!do_after(user, 15 SECONDS, target = src))
|
||||
if(M && M.buckled)
|
||||
M.visible_message("<span class='notice'>[user] fails to free [M]!</span>",\
|
||||
"<span class='notice'>[user] fails to pull you off of [src].</span>")
|
||||
M.visible_message(SPAN_NOTICE("[user] fails to free [M]!"),\
|
||||
SPAN_NOTICE("[user] fails to pull you off of [src]."))
|
||||
return
|
||||
|
||||
else
|
||||
M.visible_message("<span class='warning'>[M] struggles to break free from [src]!</span>",\
|
||||
"<span class='notice'>You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)</span>",\
|
||||
"<span class='italics'>You hear a wet squishing noise..</span>")
|
||||
M.visible_message(SPAN_WARNING("[M] struggles to break free from [src]!"),\
|
||||
SPAN_NOTICE("You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)"),\
|
||||
SPAN_ITALICS("You hear a wet squishing noise.."))
|
||||
M.adjustBruteLoss(30)
|
||||
if(!do_after(M, 2 MINUTES, target = src, hidden = TRUE))
|
||||
if(M && M.buckled)
|
||||
to_chat(M, "<span class='warning'>You fail to free yourself!</span>")
|
||||
to_chat(M, SPAN_WARNING("You fail to free yourself!"))
|
||||
return
|
||||
if(!M.buckled)
|
||||
return
|
||||
@@ -167,7 +167,7 @@
|
||||
|
||||
/obj/structure/kitchenspike/proc/release_mob(mob/living/M)
|
||||
M.adjustBruteLoss(30)
|
||||
visible_message(text("<span class='danger'>[M] falls free of [src]!</span>"))
|
||||
visible_message(SPAN_DANGER("[M] falls free of [src]!"))
|
||||
unbuckle_mob(M, force = TRUE)
|
||||
M.emote("scream")
|
||||
M.AdjustWeakened(20 SECONDS)
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
/obj/structure/lattice/examine(mob/user)
|
||||
. = ..()
|
||||
. += deconstruction_hints(user)
|
||||
. += "<span class='notice'>Add a floor tile to build a floor on top of the lattice.</span>"
|
||||
. += SPAN_NOTICE("Add a floor tile to build a floor on top of the lattice.")
|
||||
|
||||
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
|
||||
return "<span class='notice'>The rods look like they could be <b>cut</b>. There's space for more <i>rods</i> or a <i>tile</i>.</span>"
|
||||
return SPAN_NOTICE("The rods look like they could be <b>cut</b>. There's space for more <i>rods</i> or a <i>tile</i>.")
|
||||
|
||||
/obj/structure/lattice/wirecutter_act(mob/living/user, obj/item/wirecutters/wirecutters)
|
||||
if(resistance_flags & INDESTRUCTIBLE)
|
||||
@@ -35,7 +35,7 @@
|
||||
return
|
||||
|
||||
playsound(loc, wirecutters.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>Slicing [name] joints...</span>")
|
||||
to_chat(user, SPAN_NOTICE("Slicing [name] joints..."))
|
||||
deconstruct()
|
||||
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
@@ -75,7 +75,7 @@
|
||||
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CATWALK)
|
||||
|
||||
/obj/structure/lattice/catwalk/deconstruction_hints(mob/user)
|
||||
to_chat(user, "<span class='notice'>The supporting rods look like they could be <b>cut</b>.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The supporting rods look like they could be <b>cut</b>."))
|
||||
|
||||
/obj/structure/lattice/catwalk/Move()
|
||||
var/turf/T = loc
|
||||
@@ -103,5 +103,5 @@
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF
|
||||
|
||||
/obj/structure/lattice/lava/deconstruction_hints(mob/user)
|
||||
to_chat(user, "<span class='notice'>The supporting rods look like they could be <b>cut</b>.</span>, but the <i>heat treatment will shatter off</i>.")
|
||||
to_chat(user, "[SPAN_NOTICE("The supporting rods look like they could be <b>cut</b>.")], but the <i>heat treatment will shatter off</i>.")
|
||||
|
||||
|
||||
@@ -74,8 +74,8 @@ GLOBAL_LIST_EMPTY(tendrils)
|
||||
/obj/effect/collapse/Initialize(mapload)
|
||||
. = ..()
|
||||
emitted_light = new(loc)
|
||||
visible_message("<span class='boldannounceic'>The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!</span>")
|
||||
visible_message("<span class='warning'>Something falls free of the tendril!</span>")
|
||||
visible_message(SPAN_BOLDANNOUNCEIC("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!"))
|
||||
visible_message(SPAN_WARNING("Something falls free of the tendril!"))
|
||||
playsound(loc, 'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE)
|
||||
addtimer(CALLBACK(src, PROC_REF(collapse)), 50)
|
||||
|
||||
@@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(tendrils)
|
||||
for(var/mob/M in range(7, src))
|
||||
shake_camera(M, 15, 1)
|
||||
playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE)
|
||||
visible_message("<span class='boldannounceic'>The tendril falls inward, the ground around it widening into a yawning chasm!</span>")
|
||||
visible_message(SPAN_BOLDANNOUNCEIC("The tendril falls inward, the ground around it widening into a yawning chasm!"))
|
||||
for(var/turf/T in range(LAVALAND_TENDRIL_COLLAPSE_RANGE, src))
|
||||
if(!T.density)
|
||||
T.TerraformTurf(/turf/simulated/floor/chasm/straight_down/lava_land_surface)
|
||||
|
||||
@@ -44,17 +44,17 @@
|
||||
if(!istype(W))
|
||||
return FALSE
|
||||
if(!anchored)
|
||||
user.show_message("<span class='notice'>The loom needs to be wrenched down.</span>", 1)
|
||||
user.show_message(SPAN_NOTICE("The loom needs to be wrenched down."), 1)
|
||||
return FALSE
|
||||
if(W.amount < FABRIC_PER_SHEET)
|
||||
user.show_message("<span class='notice'>You need at least [FABRIC_PER_SHEET] units of fabric before using this.</span>", 1)
|
||||
user.show_message(SPAN_NOTICE("You need at least [FABRIC_PER_SHEET] units of fabric before using this."), 1)
|
||||
return FALSE
|
||||
user.show_message("<span class='notice'>You start weaving [W] through the loom...</span>", 1)
|
||||
user.show_message(SPAN_NOTICE("You start weaving [W] through the loom..."), 1)
|
||||
if(do_after(user, W.pull_effort, target = src))
|
||||
if(W.amount >= FABRIC_PER_SHEET)
|
||||
new W.loom_result(drop_location())
|
||||
W.use(FABRIC_PER_SHEET)
|
||||
user.show_message("<span class='notice'>You weave [W] into a workable fabric.</span>", 1)
|
||||
user.show_message(SPAN_NOTICE("You weave [W] into a workable fabric."), 1)
|
||||
return TRUE
|
||||
|
||||
#undef FABRIC_PER_SHEET
|
||||
|
||||
@@ -28,8 +28,8 @@
|
||||
|
||||
/obj/structure/mineral_door/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>It is held inside its frame by <b>screws</b>.</span>"
|
||||
. += "<span class='notice'>It could be <b>smashed</b> or <b>drilled</b> with a digging tool.</span>"
|
||||
. += SPAN_NOTICE("It is held inside its frame by <b>screws</b>.")
|
||||
. += SPAN_NOTICE("It could be <b>smashed</b> or <b>drilled</b> with a digging tool.")
|
||||
|
||||
/obj/structure/mineral_door/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
/obj/structure/mineral_door/screwdriver_act(mob/living/user, obj/item/I)
|
||||
if(flags & NODECONSTRUCT)
|
||||
to_chat(user, "<span class='warning'>You can't figure out how to deconstruct [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!"))
|
||||
return TRUE
|
||||
|
||||
if(!I.use_tool(src, user, 4 SECONDS * I.toolspeed * hardness, volume = I.tool_volume))
|
||||
@@ -135,12 +135,12 @@
|
||||
/obj/structure/mineral_door/item_interaction(mob/living/user, obj/item/W, list/modifiers)
|
||||
if(istype(W, /obj/item/pickaxe))
|
||||
if(flags & NODECONSTRUCT)
|
||||
to_chat(user, "<span class='warning'>You can't figure out how to deconstruct [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!"))
|
||||
return
|
||||
var/obj/item/pickaxe/digTool = W
|
||||
to_chat(user, "<span class='notice'>You start digging \the [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start digging \the [src]."))
|
||||
if(do_after(user, 4 SECONDS * digTool.toolspeed * hardness, target = src) && src)
|
||||
to_chat(user, "<span class='notice'>You finished digging.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You finished digging."))
|
||||
deconstruct(TRUE)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(user.a_intent != INTENT_HARM)
|
||||
|
||||
@@ -69,14 +69,14 @@
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] begins to unfasten [src].</span>", "<span class='notice'>You begin to unfasten [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] begins to unfasten [src]."), SPAN_NOTICE("You begin to unfasten [src]."))
|
||||
if(!I.use_tool(src, user, 30, volume = I.tool_volume))
|
||||
return
|
||||
if(broken)
|
||||
user.visible_message("<span class='notice'>[user] drops the broken shards to the floor.</span>", "<span class='notice'>You drop the broken shards on the floor.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] drops the broken shards to the floor."), SPAN_NOTICE("You drop the broken shards on the floor."))
|
||||
new /obj/item/shard(get_turf(user))
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] carefully places [src] on the floor.</span>", "<span class='notice'>You carefully place [src] on the floor.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] carefully places [src] on the floor."), SPAN_NOTICE("You carefully place [src] on the floor."))
|
||||
new /obj/item/mounted/mirror(get_turf(user))
|
||||
qdel(src)
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
|
||||
if("Body")
|
||||
if(organ_warn)
|
||||
to_chat(user, "<span class='boldwarning'>Using the mirror will destroy any non biochip implants in you!</span>")
|
||||
to_chat(user, SPAN_BOLDWARNING("Using the mirror will destroy any non biochip implants in you!"))
|
||||
var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask")
|
||||
if(actually_magical)
|
||||
race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask", "Vox", "Plasmaman", "Kidan", "Slime People")
|
||||
|
||||
@@ -63,10 +63,10 @@
|
||||
/obj/structure/signpost/wood/AltClick(mob/living/user)
|
||||
if(!scarf)
|
||||
scarf = TRUE
|
||||
to_chat(user, "<span class='notice'>You tie a memorial wreath around the sign.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You tie a memorial wreath around the sign."))
|
||||
else
|
||||
scarf = FALSE
|
||||
to_chat(user, "<span class='notice'>You untie the memorial wreath from the sign.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You untie the memorial wreath from the sign."))
|
||||
update()
|
||||
|
||||
/obj/structure/signpost/wood/update()
|
||||
@@ -96,14 +96,14 @@
|
||||
playsound(user.loc, 'sound/effects/phasein.ogg', 25, 1)
|
||||
playsound(user.loc, 'sound/effects/sparks2.ogg', 50, 1)
|
||||
new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(user), user.dir)
|
||||
to_chat(user, "<span class='boldnotice'>VOID-Shift</span> translocation successful")
|
||||
to_chat(user, "[SPAN_BOLDNOTICE("VOID-Shift")] translocation successful")
|
||||
|
||||
if("No")
|
||||
to_chat(user, "<span class='danger'>Process aborted!</span>")
|
||||
to_chat(user, SPAN_DANGER("Process aborted!"))
|
||||
return
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='danger'>FĆAL �Rr�R</span>: ŧer nt recgnized, c-cntr-r䣧-ç äcked.")
|
||||
to_chat(user, "[SPAN_DANGER("FĆAL �Rr�R")]: ŧer nt recgnized, c-cntr-r䣧-ç äcked.")
|
||||
|
||||
/obj/structure/respawner
|
||||
name = "\improper Long-Distance Cloning Machine"
|
||||
@@ -184,7 +184,7 @@
|
||||
/obj/structure/ghost_beacon/attack_hand(mob/user)
|
||||
if(!is_admin(user))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You [active ? "disable" : "enable"] \the [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [active ? "disable" : "enable"] \the [src]."))
|
||||
if(active)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
else
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
|
||||
/obj/structure/spawner/sentient/proteon_spawner/examine_status(mob/user)
|
||||
if(IS_CULTIST(user) || !isliving(user))
|
||||
return "<span class='cult'>It's at <b>[round(obj_integrity * 100 / max_integrity)]%</b> stability.</span>"
|
||||
return SPAN_CULT("It's at <b>[round(obj_integrity * 100 / max_integrity)]%</b> stability.")
|
||||
return ..()
|
||||
|
||||
/obj/structure/spawner/sentient/proteon_spawner/examine(mob/user)
|
||||
@@ -149,14 +149,14 @@
|
||||
if(!IS_CULTIST(user) && isliving(user))
|
||||
var/mob/living/living_user = user
|
||||
living_user.adjustBrainLoss(5)
|
||||
. += "<span class='userdanger'>The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away...</span>"
|
||||
. += SPAN_USERDANGER("The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away...")
|
||||
else
|
||||
. += "<span class='cult'>The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead.</span>"
|
||||
. += SPAN_CULT("The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead.")
|
||||
|
||||
/obj/structure/spawner/sentient/proteon_spawner/became_player_controlled(mob/living/simple_animal/hostile/construct/proteon/hostile/proteon)
|
||||
proteon.mind.add_antag_datum(/datum/antagonist/cultist)
|
||||
proteon.add_filter("awoken_proteon", 3, list("type" = "outline", "color" = LIGHT_COLOR_RED, "size" = 2))
|
||||
visible_message("<span class='cult'>[proteon] awakens, glowing an eerie red as it stirs from its stupor!</span>")
|
||||
visible_message(SPAN_CULT("[proteon] awakens, glowing an eerie red as it stirs from its stupor!"))
|
||||
addtimer(CALLBACK(src, PROC_REF(remove_wake_outline), proteon), 8 SECONDS)
|
||||
|
||||
/obj/structure/spawner/sentient/proteon_spawner/proc/remove_wake_outline(mob/proteon)
|
||||
@@ -165,7 +165,7 @@
|
||||
|
||||
/obj/structure/spawner/sentient/proteon_spawner/obj_destruction(damage_flag)
|
||||
playsound(src, 'sound/hallucinations/veryfar_noise.ogg', 75)
|
||||
visible_message("<span class='cult'><b>[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.</b></span>")
|
||||
visible_message(SPAN_CULT("<b>[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.</b>"))
|
||||
return ..()
|
||||
|
||||
/obj/item/gps/internal/proteon
|
||||
|
||||
@@ -49,15 +49,15 @@
|
||||
return
|
||||
|
||||
if(robot_mop)
|
||||
to_chat(user, "<span class='warning'>You cannot store [used] in [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!"))
|
||||
return
|
||||
|
||||
if(stored_mop)
|
||||
to_chat(user, "<span class='notice'>There is already a mop in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("There is already a mop in [src]."))
|
||||
return
|
||||
|
||||
if(!put_in_cart(user, attacking_mop))
|
||||
to_chat(user, "<span class='notice'>[attacking_mop] is stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_NOTICE("[attacking_mop] is stuck to your hand!"))
|
||||
|
||||
/obj/structure/mopbucket/proc/put_in_cart(mob/user, obj/item/mop/I)
|
||||
if(!user.unequip(I))
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
stored_mop = I
|
||||
I.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You put [I] into [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [I] into [src]."))
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
return TRUE
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
. = ..()
|
||||
if(stored_mop)
|
||||
user.put_in_hands(stored_mop)
|
||||
to_chat(user, "<span class='notice'>You take [stored_mop] from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [stored_mop] from [src]."))
|
||||
stored_mop = null
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
return
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
/obj/structure/morgue/wirecutter_act(mob/user)
|
||||
if(name != initial(name))
|
||||
to_chat(user, "<span class='notice'>You cut the tag off the morgue.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You cut the tag off the morgue."))
|
||||
name = initial(name)
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
return TRUE
|
||||
@@ -232,7 +232,7 @@
|
||||
if(CM.stat || CM.restrained())
|
||||
return
|
||||
|
||||
to_chat(CM, "<span class='alert'>You attempt to slide yourself out of \the [src]...</span>")
|
||||
to_chat(CM, SPAN_ALERT("You attempt to slide yourself out of \the [src]..."))
|
||||
src.attack_hand(CM)
|
||||
|
||||
|
||||
@@ -280,7 +280,7 @@
|
||||
O.forceMove(loc)
|
||||
|
||||
if(user != O)
|
||||
user.visible_message("<span class='warning'>[user] stuffs [O] into [src]!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] stuffs [O] into [src]!"))
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -359,7 +359,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
|
||||
/obj/structure/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(connected && !locked)
|
||||
@@ -380,7 +380,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
/obj/structure/crematorium/obj_break(damage_flag)
|
||||
if(broken)
|
||||
return
|
||||
visible_message("<span class='warning'>[src] dims as its paneling collapses and it becomes non-functional.</span>")
|
||||
visible_message(SPAN_WARNING("[src] dims as its paneling collapses and it becomes non-functional."))
|
||||
icon_state = "crema_broke" // this will need a proper sprite when possible, as it's just a shitty codersprite
|
||||
resistance_flags = INDESTRUCTIBLE // prevents it from being destroyed instead of just broken
|
||||
name = "broken crematorium"
|
||||
@@ -395,12 +395,12 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
if(user.a_intent == INTENT_HARM) // if you want to damage it with a welder you should be able to
|
||||
return
|
||||
if(!broken)
|
||||
to_chat(user, "<span class='notice'>The crematorium does not seem to need fixing.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The crematorium does not seem to need fixing."))
|
||||
return TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return TRUE
|
||||
if(repairstate != CREMATOR_IN_REPAIR)
|
||||
to_chat(user, "<span class='notice'>[src] needs a new igniter before you weld the paneling closed.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] needs a new igniter before you weld the paneling closed."))
|
||||
return TRUE
|
||||
WELDER_ATTEMPT_REPAIR_MESSAGE
|
||||
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume))
|
||||
@@ -423,12 +423,12 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(istype(used, /obj/item/assembly/igniter))
|
||||
if(repairstate == CREMATOR_DESTROYED)
|
||||
user.visible_message("<span class='notice'>[user] replaces [src]'s igniter.</span>", "<span class='notice'>You replace [src]'s damaged igniter. Now it just needs its paneling welded.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] replaces [src]'s igniter."), SPAN_NOTICE("You replace [src]'s damaged igniter. Now it just needs its paneling welded."))
|
||||
repairstate = CREMATOR_IN_REPAIR
|
||||
desc = "A broken human incinerator. No longer works well on barbeque nights. It requires its paneling to be welded to function."
|
||||
qdel(used)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[src] does not need its igniter replaced.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] does not need its igniter replaced."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
return ..()
|
||||
|
||||
@@ -464,16 +464,16 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
|
||||
if(!length(contents))
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>You hear a hollow crackle.</span>", EMOTE_VISIBLE)
|
||||
M.show_message(SPAN_WARNING("You hear a hollow crackle."), EMOTE_VISIBLE)
|
||||
|
||||
return
|
||||
for(var/mob/living/M in search_contents_for(/mob/living)) //search for this for funny cling shenaigins first.
|
||||
if(HAS_TRAIT(M, TRAIT_CLING_BURSTING))
|
||||
visible_message("<span class='warning'>The crematorium fails to start, something big is blocking the pipes!</span>")
|
||||
visible_message(SPAN_WARNING("The crematorium fails to start, something big is blocking the pipes!"))
|
||||
return
|
||||
|
||||
for(var/mob/M in viewers(src))
|
||||
M.show_message("<span class='warning'>You hear a roar as the crematorium activates.</span>", EMOTE_VISIBLE)
|
||||
M.show_message(SPAN_WARNING("You hear a roar as the crematorium activates."), EMOTE_VISIBLE)
|
||||
|
||||
cremating = TRUE
|
||||
locked = TRUE
|
||||
@@ -527,7 +527,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
if(CM.stat || CM.restrained())
|
||||
return
|
||||
|
||||
to_chat(CM, "<span class='alert'>You attempt to slide yourself out of \the [src]...</span>")
|
||||
to_chat(CM, SPAN_ALERT("You attempt to slide yourself out of \the [src]..."))
|
||||
attack_hand(CM)
|
||||
|
||||
/obj/structure/crematorium/get_remote_view_fullscreens(mob/user)
|
||||
@@ -570,7 +570,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
return
|
||||
O.forceMove(loc)
|
||||
if(user != O)
|
||||
user.visible_message("<span class='warning'>[user] stuffs [O] into [src]!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] stuffs [O] into [src]!"))
|
||||
//Foreach goto(99)
|
||||
return TRUE
|
||||
|
||||
@@ -606,7 +606,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
return
|
||||
|
||||
if(!(allowed(usr) || user.can_advanced_admin_interact()))
|
||||
to_chat(usr, "<span class='warning'>Access denied.</span>")
|
||||
to_chat(usr, SPAN_WARNING("Access denied."))
|
||||
return
|
||||
|
||||
use_power(400000)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
/obj/structure/nest/examine(mob/user)
|
||||
. = ..()
|
||||
if(!spawn_is_triggered)
|
||||
. += "<span class='warning'>You can hear a cacophony of growling snores from within.</span>"
|
||||
. += SPAN_WARNING("You can hear a cacophony of growling snores from within.")
|
||||
|
||||
/obj/structure/nest/attack_animal(mob/living/simple_animal/M)
|
||||
if(faction_check(faction, M.faction, FALSE) && !M.client)
|
||||
@@ -56,7 +56,7 @@
|
||||
/obj/structure/nest/proc/try_spawn(mob/living/L)
|
||||
var/chosen_mob = pick(spawn_mob_options)
|
||||
|
||||
to_chat(L, "<span class='danger'>As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!</span>")
|
||||
to_chat(L, SPAN_DANGER("As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!"))
|
||||
playsound(src, 'sound/effects/break_stone.ogg', 50, 1)
|
||||
for(var/obj/structure/nest/N in range(spawn_trigger_distance, src))
|
||||
N.spawn_is_triggered = TRUE
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
for(var/i in 1 to spawn_max)
|
||||
var/mob/spawned_mob = new M(get_turf(src))
|
||||
visible_message("<span class='danger'>\A [spawned_mob.name] crawls out of \the [name]!</span>")
|
||||
visible_message(SPAN_DANGER("\A [spawned_mob.name] crawls out of \the [name]!"))
|
||||
|
||||
/obj/structure/nest/lavaland
|
||||
spawn_mob_options = list(
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
usr.put_in_hands(paper)
|
||||
paper.add_fingerprint(usr)
|
||||
notices--
|
||||
to_chat(usr, "<span class='notice'>You take a [paper.name] out of [src].</span>")
|
||||
to_chat(usr, SPAN_NOTICE("You take a [paper.name] out of [src]."))
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
if("showFull")
|
||||
var/obj/item/paper/paper = locate(params["paper"])
|
||||
@@ -106,13 +106,13 @@
|
||||
/obj/structure/noticeboard/item_interaction(mob/living/user, obj/item/I, list/modifiers)
|
||||
if(istype(I, /obj/item/paper))
|
||||
if(notices >= MAX_NOTICES)
|
||||
to_chat(user, "<span class='notice'>You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!user.drop_item())
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
I.forceMove(src)
|
||||
notices++
|
||||
to_chat(user, "<span class='notice'>You pin the paper to the noticeboard.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You pin the paper to the noticeboard."))
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
add_fingerprint(user)
|
||||
SStgui.update_uis(src)
|
||||
|
||||
@@ -12,28 +12,28 @@
|
||||
. = ..()
|
||||
switch(state)
|
||||
if(PLASTIC_FLAPS_NORMAL)
|
||||
. += "<span class='notice'>[src] are <b>screwed</b> to the floor.</span>"
|
||||
. += SPAN_NOTICE("[src] are <b>screwed</b> to the floor.")
|
||||
if(PLASTIC_FLAPS_DETACHED)
|
||||
. += "<span class='notice'>[src] are no longer <i>screwed</i> to the floor, and the flaps can be <b>sliced</b> apart.</span>"
|
||||
. += SPAN_NOTICE("[src] are no longer <i>screwed</i> to the floor, and the flaps can be <b>sliced</b> apart.")
|
||||
|
||||
/obj/structure/plasticflaps/screwdriver_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
if(state == PLASTIC_FLAPS_NORMAL)
|
||||
user.visible_message("<span class='warning'>[user] starts unscrewing [src] from the floor...</span>", "<span class='notice'>You start to unscrew [src] from the floor...</span>", "You hear rustling noises.")
|
||||
user.visible_message(SPAN_WARNING("[user] starts unscrewing [src] from the floor..."), SPAN_NOTICE("You start to unscrew [src] from the floor..."), "You hear rustling noises.")
|
||||
if(!I.use_tool(src, user, 180, volume = I.tool_volume) || state != PLASTIC_FLAPS_NORMAL)
|
||||
return
|
||||
state = PLASTIC_FLAPS_DETACHED
|
||||
anchored = FALSE
|
||||
to_chat(user, "<span class='notice'>You unscrew [src] from the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You unscrew [src] from the floor."))
|
||||
else if(state == PLASTIC_FLAPS_DETACHED)
|
||||
user.visible_message("<span class='warning'>[user] starts screwing [src] to the floor.</span>", "<span class='notice'>You start to screw [src] to the floor...</span>", "You hear rustling noises.")
|
||||
user.visible_message(SPAN_WARNING("[user] starts screwing [src] to the floor."), SPAN_NOTICE("You start to screw [src] to the floor..."), "You hear rustling noises.")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != PLASTIC_FLAPS_DETACHED)
|
||||
return
|
||||
state = PLASTIC_FLAPS_NORMAL
|
||||
anchored = TRUE
|
||||
to_chat(user, "<span class='notice'>You screw [src] to the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You screw [src] to the floor."))
|
||||
|
||||
/obj/structure/plasticflaps/welder_act(mob/user, obj/item/I)
|
||||
if(state != PLASTIC_FLAPS_DETACHED)
|
||||
|
||||
@@ -9,18 +9,18 @@
|
||||
|
||||
/obj/structure/pondering_orb/attack_hand(mob/user)
|
||||
ADD_TRAIT(user, SCRYING, SCRYING_ORB)
|
||||
user.visible_message("<span class='notice'>[user] stares into [src], [user.p_their()] eyes glazing over.</span>",
|
||||
"<span class='danger'>You stare into [src], you can see the entire universe!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] stares into [src], [user.p_their()] eyes glazing over."),
|
||||
SPAN_DANGER("You stare into [src], you can see the entire universe!"))
|
||||
ghost = user.ghostize(ghost_name = "Magic Spirit of [user.name]", ghost_color = COLOR_BLUE)
|
||||
while(!QDELETED(user))
|
||||
if(user.key || QDELETED(src))
|
||||
user.visible_message("<span class='notice'>[user] blinks, returning to the world around [user.p_them()].</span>",
|
||||
"<span class='danger'>You look away from [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] blinks, returning to the world around [user.p_them()]."),
|
||||
SPAN_DANGER("You look away from [src]."))
|
||||
break
|
||||
if(!Adjacent(user))
|
||||
user.grab_ghost()
|
||||
user.visible_message("<span class='notice'>[user]'s focus is forced away from [src].</span>",
|
||||
"<span class='userdanger'>Your vision is ripped away from [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user]'s focus is forced away from [src]."),
|
||||
SPAN_USERDANGER("Your vision is ripped away from [src]."))
|
||||
break
|
||||
sleep(5)
|
||||
if(QDELETED(user))
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/structure/railing/get_climb_text()
|
||||
return "<span class='notice'>You can <b>Click-Drag</b> yourself to [src] to climb over it after a short delay.</span>"
|
||||
return SPAN_NOTICE("You can <b>Click-Drag</b> yourself to [src] to climb over it after a short delay.")
|
||||
|
||||
/// aesthetic corner sharp edges hurt oof ouch
|
||||
/obj/structure/railing/corner
|
||||
@@ -51,26 +51,26 @@
|
||||
. = ..()
|
||||
if(. && M.environment_smash >= ENVIRONMENT_SMASH_WALLS)
|
||||
deconstruct(FALSE)
|
||||
M.visible_message("<span class='danger'>[M] tears apart [src]!</span>", "<span class='notice'>You tear apart [src]!</span>")
|
||||
M.visible_message(SPAN_DANGER("[M] tears apart [src]!"), SPAN_NOTICE("You tear apart [src]!"))
|
||||
|
||||
|
||||
/obj/structure/railing/welder_act(mob/living/user, obj/item/I)
|
||||
if(user.intent != INTENT_HELP)
|
||||
return
|
||||
if(obj_integrity >= max_integrity)
|
||||
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
|
||||
if(!I.tool_start_check(user, amount = 0))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You begin repairing [src]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin repairing [src]..."))
|
||||
if(I.use_tool(src, user, 4 SECONDS, I.tool_volume))
|
||||
obj_integrity = max_integrity
|
||||
to_chat(user, "<span class='notice'>You repair [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You repair [src]."))
|
||||
|
||||
/obj/structure/railing/wirecutter_act(mob/living/user, obj/item/I)
|
||||
if(anchored)
|
||||
return
|
||||
to_chat(user, "<span class='warning'>You cut apart the railing.</span>")
|
||||
to_chat(user, SPAN_WARNING("You cut apart the railing."))
|
||||
I.play_tool_sound(src, 100)
|
||||
deconstruct()
|
||||
return TRUE
|
||||
@@ -85,10 +85,10 @@
|
||||
/obj/structure/railing/wrench_act(mob/living/user, obj/item/I)
|
||||
if(flags & NODECONSTRUCT)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor..."))
|
||||
if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
|
||||
anchored = !anchored
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor."))
|
||||
return TRUE
|
||||
|
||||
/obj/structure/railing/corner/CanPass()
|
||||
@@ -187,13 +187,13 @@
|
||||
|
||||
/obj/structure/railing/proc/can_be_rotated(mob/user)
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>[src] cannot be rotated while it is fastened to the floor!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!"))
|
||||
return FALSE
|
||||
|
||||
var/target_dir = turn(dir, -45)
|
||||
|
||||
if(!valid_window_location(loc, target_dir)) //Expanded to include rails, as well!
|
||||
to_chat(user, "<span class='warning'>[src] cannot be rotated in that direction!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] cannot be rotated in that direction!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
/obj/structure/railing/AltClick(mob/user)
|
||||
if(user.incapacitated())
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't do that right now!"))
|
||||
return
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
if(new_dir && anchored)
|
||||
reflect_turf = get_step(reflect_turf, new_dir)
|
||||
else
|
||||
visible_message("<span class='notice'>[src] is hit by [P]!</span>")
|
||||
visible_message(SPAN_NOTICE("[src] is hit by [P]!"))
|
||||
new_dir = 0
|
||||
return ..() //Hits as normal, explodes or emps or whatever
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
var/obj/item/stack/sheet/S = W
|
||||
if(istype(W, /obj/item/stack/sheet/glass))
|
||||
if(S.get_amount() < 5)
|
||||
to_chat(user, "<span class='warning'>You need five sheets of glass to create a reflector!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need five sheets of glass to create a reflector!"))
|
||||
return
|
||||
else
|
||||
S.use(5)
|
||||
@@ -56,7 +56,7 @@
|
||||
qdel(src)
|
||||
if(istype(W,/obj/item/stack/sheet/rglass))
|
||||
if(S.get_amount() < 10)
|
||||
to_chat(user, "<span class='warning'>You need ten sheets of reinforced glass to create a double reflector!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need ten sheets of reinforced glass to create a double reflector!"))
|
||||
return
|
||||
else
|
||||
S.use(10)
|
||||
@@ -112,7 +112,7 @@
|
||||
return
|
||||
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>You cannot rotate [src] right now. It is fastened to the floor!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot rotate [src] right now. It is fastened to the floor!"))
|
||||
return
|
||||
dir = turn(dir, 90)
|
||||
|
||||
|
||||
@@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
if("Remove Drill")
|
||||
if(drill_timer)
|
||||
to_chat(user, "<span class='warning'>You cannot remove the drill while it's running!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot remove the drill while it's running!"))
|
||||
else if(do_after(user, 2 SECONDS, target = src))
|
||||
user.put_in_hands(drill)
|
||||
drill = null
|
||||
@@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
if(I.flags && ABSTRACT)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(broken && istype(I, /obj/item/safe_internals) && do_after(user, 2 SECONDS, target = src))
|
||||
to_chat(user, "<span class='notice'>You replace the broken mechanism.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You replace the broken mechanism."))
|
||||
qdel(I)
|
||||
broken = FALSE
|
||||
locked = FALSE
|
||||
@@ -200,15 +200,15 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(I.w_class + space <= maxspace)
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>\The [I] is stuck to your hand, you cannot put it in the safe!</span>")
|
||||
to_chat(user, SPAN_WARNING("\The [I] is stuck to your hand, you cannot put it in the safe!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
space += I.w_class
|
||||
I.forceMove(src)
|
||||
to_chat(user, "<span class='notice'>You put [I] in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [I] in [src]."))
|
||||
SStgui.update_uis(src)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[I] won't fit in [src].</span>")
|
||||
to_chat(user, SPAN_WARNING("[I] won't fit in [src]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(istype(I, /obj/item/clothing/neck/stethoscope))
|
||||
@@ -216,10 +216,10 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else if(istype(I, /obj/item/thermal_drill))
|
||||
if(drill)
|
||||
to_chat(user, "<span class='warning'>There is already a drill attached!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a drill attached!"))
|
||||
else if(do_after(user, 2 SECONDS, target = src))
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>[I] is stuck to your hand, you cannot put it in the safe!</span>")
|
||||
to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you cannot put it in the safe!"))
|
||||
return
|
||||
I.forceMove(src)
|
||||
drill = I
|
||||
@@ -227,7 +227,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
update_icon()
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't put [I] into the safe while it is closed!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't put [I] into the safe while it is closed!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
/obj/structure/safe/ui_state(mob/user)
|
||||
@@ -265,7 +265,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
return
|
||||
|
||||
if(!usr.IsAdvancedToolUser() && !isobserver(usr))
|
||||
to_chat(usr, "<span class='warning'>You are not able to operate the safe.</span>")
|
||||
to_chat(usr, SPAN_WARNING("You are not able to operate the safe."))
|
||||
return
|
||||
|
||||
var/canhear = FALSE
|
||||
@@ -281,16 +281,16 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
switch(action)
|
||||
if("open")
|
||||
if(check_unlocked() || open || broken)
|
||||
to_chat(usr, "<span class='notice'>You [open ? "close" : "open"] [src].</span>")
|
||||
to_chat(usr, SPAN_NOTICE("You [open ? "close" : "open"] [src]."))
|
||||
open = !open
|
||||
update_icon()
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>You cannot open [src], as its lock is engaged!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You cannot open [src], as its lock is engaged!"))
|
||||
if("turnright")
|
||||
if(open)
|
||||
return
|
||||
if(broken)
|
||||
to_chat(usr, "<span class='warning'>The dial will not turn, as the mechanism is destroyed!</span>")
|
||||
to_chat(usr, SPAN_WARNING("The dial will not turn, as the mechanism is destroyed!"))
|
||||
return
|
||||
var/ticks = text2num(params["num"])
|
||||
for(var/i = 1 to ticks)
|
||||
@@ -310,7 +310,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
if(open)
|
||||
return
|
||||
if(broken)
|
||||
to_chat(usr, "<span class='warning'>The dial will not turn, as the mechanism is destroyed!</span>")
|
||||
to_chat(usr, SPAN_WARNING("The dial will not turn, as the mechanism is destroyed!"))
|
||||
return
|
||||
var/ticks = text2num(params["num"])
|
||||
for(var/i = 1 to ticks)
|
||||
@@ -384,7 +384,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
/obj/structure/safe/proc/check_unlocked()
|
||||
if(current_tumbler_index > number_of_tumblers)
|
||||
locked = FALSE
|
||||
visible_message("<span class='boldnotice'>[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!</span>")
|
||||
visible_message(SPAN_BOLDNOTICE("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!"))
|
||||
return TRUE
|
||||
locked = TRUE
|
||||
return FALSE
|
||||
@@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
return
|
||||
|
||||
if(current_tick == 2)
|
||||
to_chat(user, "<span class='italics'>The sounds from [src] are too fast and blend together.</span>")
|
||||
to_chat(user, SPAN_ITALICS("The sounds from [src] are too fast and blend together."))
|
||||
if(total_ticks == 1 || prob(SOUND_CHANCE))
|
||||
to_chat(user, "<span class='[correct_sound ? "bolditalics" : "italics"]'>You hear a [pick(sounds)] from [src].</span>")
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
|
||||
return ..()
|
||||
|
||||
if(!COOLDOWN_FINISHED(src, spraypaint_cd))
|
||||
to_chat(user, "<span class='warning'>The paint on [src] is still drying!</span>")
|
||||
to_chat(user, SPAN_WARNING("The paint on [src] is still drying!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
var/cur_idx = GLOB.shelf_colors.Find(shelf_style)
|
||||
@@ -77,7 +77,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
|
||||
if(!I.use_tool(src, user, (2.5 SECONDS) * I.toolspeed, volume = I.tool_volume))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You disassemble [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You disassemble [src]."))
|
||||
deconstruct()
|
||||
|
||||
/obj/structure/shelf/deconstruct(disassembled)
|
||||
@@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
|
||||
if(!I.use_tool(src, user, 2.5 SECONDS, volume = I.tool_volume))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You disassemble [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You disassemble [src]."))
|
||||
deconstruct()
|
||||
|
||||
/obj/structure/gunrack/deconstruct(disassembled)
|
||||
@@ -196,7 +196,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
|
||||
if(!I.use_tool(src, user, 2.5 SECONDS, volume = I.tool_volume))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You disassemble [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You disassemble [src]."))
|
||||
deconstruct()
|
||||
|
||||
/obj/structure/spear_rack/deconstruct(disassembled)
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
S.name = name
|
||||
S.desc = desc
|
||||
S.icon_state = sign_state
|
||||
to_chat(user, "<span class='notice'>You fasten [S] with your [I].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You fasten [S] with your [I]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/sign/double
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
var/turf/T = loc
|
||||
sleep(rand(20,30))
|
||||
if(T == loc)
|
||||
visible_message("<span class='notice'>The planchette slowly moves... and stops at the letter \"[planchette]\".</span>")
|
||||
visible_message(SPAN_NOTICE("The planchette slowly moves... and stops at the letter \"[planchette]\"."))
|
||||
|
||||
|
||||
/obj/structure/spirit_board/proc/spirit_board_checks(mob/M)
|
||||
@@ -60,7 +60,7 @@
|
||||
light_amount = 10
|
||||
|
||||
if(light_amount > 2)
|
||||
to_chat(M, "<span class='warning'>It's too bright here to use [src.name]!</span>")
|
||||
to_chat(M, SPAN_WARNING("It's too bright here to use [src.name]!"))
|
||||
return 0
|
||||
|
||||
//mobs in range check
|
||||
@@ -68,12 +68,12 @@
|
||||
for(var/mob/living/L in orange(1,src))
|
||||
if(L.ckey && L.client)
|
||||
if((world.time - L.client.inactivity) < (world.time - 300) || L.stat != CONSCIOUS || L.restrained())//no playing with braindeads or corpses or handcuffed dudes.
|
||||
to_chat(M, "<span class='warning'>[L] doesn't seem to be paying attention...</span>")
|
||||
to_chat(M, SPAN_WARNING("[L] doesn't seem to be paying attention..."))
|
||||
else
|
||||
users_in_range++
|
||||
|
||||
if(users_in_range < 2)
|
||||
to_chat(M, "<span class='warning'>There aren't enough people to use [src]!</span>")
|
||||
to_chat(M, SPAN_WARNING("There aren't enough people to use [src]!"))
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
@@ -16,12 +16,12 @@
|
||||
if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
playsound(src, W.usesound, 100, 1)
|
||||
user.visible_message("[user] is slicing apart the [name]...", \
|
||||
"<span class='notice'>You are slicing apart the [name]...</span>")
|
||||
SPAN_NOTICE("You are slicing apart the [name]..."))
|
||||
if(do_after(user, 40 * W.toolspeed, target = src))
|
||||
if(!loc)
|
||||
return
|
||||
user.visible_message("[user] slices apart the [name].", \
|
||||
"<span class='notice'>You slice apart the [name].</span>")
|
||||
SPAN_NOTICE("You slice apart the [name]."))
|
||||
deconstruct(TRUE)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
return ..()
|
||||
@@ -41,7 +41,7 @@
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
add_fingerprint(user)
|
||||
user.visible_message("[user] rubs some dust off from the [name]'s surface.", \
|
||||
"<span class='notice'>You rub some dust off from the [name]'s surface.</span>")
|
||||
SPAN_NOTICE("You rub some dust off from the [name]'s surface."))
|
||||
|
||||
/obj/structure/statue/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
@@ -120,9 +120,9 @@
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, volume = I.tool_volume))
|
||||
return
|
||||
user.visible_message("<span class='danger'>[user] sets [src] on fire!</span>",\
|
||||
"<span class='danger'>[src] disintegrates into a cloud of plasma!</span>",\
|
||||
"<span class='warning'>You hear a 'whoompf' and a roar.</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\
|
||||
SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\
|
||||
SPAN_WARNING("You hear a 'whoompf' and a roar."))
|
||||
message_admins("[key_name_admin(user)] ignited a plasma statue at [COORD(loc)]")
|
||||
log_game("[key_name(user)] ignited plasma a statue at [COORD(loc)]")
|
||||
investigate_log("[key_name(user)] ignited a plasma statue at [COORD(loc)]", INVESTIGATE_ATMOS)
|
||||
@@ -268,7 +268,7 @@
|
||||
|
||||
/obj/structure/statue/tranquillite/mime/AltClick(mob/user)//has 4 dirs
|
||||
if(user.incapacitated())
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't do that right now!"))
|
||||
return
|
||||
if(!Adjacent(user))
|
||||
return
|
||||
@@ -323,7 +323,7 @@
|
||||
|
||||
/obj/structure/snowman/built/item_interaction(mob/living/user, obj/item/I, list/modifiers)
|
||||
if(istype(I, /obj/item/snowball) && obj_integrity < max_integrity)
|
||||
to_chat(user, "<span class='notice'>You patch some of the damage on [src] with [I].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You patch some of the damage on [src] with [I]."))
|
||||
obj_integrity = max_integrity
|
||||
qdel(I)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -26,22 +26,22 @@
|
||||
return
|
||||
|
||||
if(M != user)
|
||||
M.visible_message("<span class='notice'>[user.name] pulls [M.name] free from the sticky nest!</span>",\
|
||||
"<span class='notice'>[user.name] pulls you free from the gelatinous resin.</span>",\
|
||||
"<span class='italics'>You hear squelching...</span>")
|
||||
M.visible_message(SPAN_NOTICE("[user.name] pulls [M.name] free from the sticky nest!"),\
|
||||
SPAN_NOTICE("[user.name] pulls you free from the gelatinous resin."),\
|
||||
SPAN_ITALICS("You hear squelching..."))
|
||||
else
|
||||
M.visible_message("<span class='warning'>[M.name] struggles to break free from the gelatinous resin!</span>",\
|
||||
"<span class='notice'>You struggle to break free from the gelatinous resin... (Stay still for two minutes.)</span>",\
|
||||
"<span class='italics'>You hear squelching...</span>")
|
||||
M.visible_message(SPAN_WARNING("[M.name] struggles to break free from the gelatinous resin!"),\
|
||||
SPAN_NOTICE("You struggle to break free from the gelatinous resin... (Stay still for two minutes.)"),\
|
||||
SPAN_ITALICS("You hear squelching..."))
|
||||
if(!do_after(M, 120 SECONDS, target = src, hidden = TRUE))
|
||||
if(M && M.buckled)
|
||||
to_chat(M, "<span class='warning'>You fail to escape \the [src]!</span>")
|
||||
to_chat(M, SPAN_WARNING("You fail to escape \the [src]!"))
|
||||
return
|
||||
if(!M.buckled)
|
||||
return
|
||||
M.visible_message("<span class='warning'>[M.name] breaks free from the gelatinous resin!</span>",\
|
||||
"<span class='notice'>You break free from the gelatinous resin!</span>",\
|
||||
"<span class='italics'>You hear squelching...</span>")
|
||||
M.visible_message(SPAN_WARNING("[M.name] breaks free from the gelatinous resin!"),\
|
||||
SPAN_NOTICE("You break free from the gelatinous resin!"),\
|
||||
SPAN_ITALICS("You hear squelching..."))
|
||||
|
||||
unbuckle_mob(M)
|
||||
add_fingerprint(user)
|
||||
@@ -54,20 +54,20 @@
|
||||
return FALSE
|
||||
|
||||
if(M.get_int_organ(/obj/item/organ/internal/alien/hivenode))
|
||||
to_chat(user, "<span class='noticealien'>[M]'s linkage with the hive prevents you from securing them into [src]</span>")
|
||||
to_chat(user, SPAN_NOTICEALIEN("[M]'s linkage with the hive prevents you from securing them into [src]"))
|
||||
return
|
||||
|
||||
if(!user.get_int_organ(/obj/item/organ/internal/alien/hivenode))
|
||||
to_chat(user, "<span class='noticealien'>Your lack of linkage to the hive prevents you from buckling [M] into [src]</span>")
|
||||
to_chat(user, SPAN_NOTICEALIEN("Your lack of linkage to the hive prevents you from buckling [M] into [src]"))
|
||||
return
|
||||
|
||||
if(has_buckled_mobs())
|
||||
unbuckle_all_mobs()
|
||||
|
||||
if(buckle_mob(M))
|
||||
M.visible_message("<span class='notice'>[user.name] secretes a thick vile goo, securing [M.name] into [src]!</span>",\
|
||||
"<span class='danger'>[user.name] drenches you in a foul-smelling resin, trapping you in [src]!</span>",\
|
||||
"<span class='italics'>You hear squelching...</span>")
|
||||
M.visible_message(SPAN_NOTICE("[user.name] secretes a thick vile goo, securing [M.name] into [src]!"),\
|
||||
SPAN_DANGER("[user.name] drenches you in a foul-smelling resin, trapping you in [src]!"),\
|
||||
SPAN_ITALICS("You hear squelching..."))
|
||||
ghost_timer = addtimer(CALLBACK(src, PROC_REF(ghost_check), user), 15 SECONDS, TIMER_UNIQUE|TIMER_STOPPABLE)
|
||||
|
||||
/obj/structure/bed/nest/proc/ghost_check(mob/user)
|
||||
@@ -79,7 +79,7 @@
|
||||
if(user && !isalien(user))
|
||||
return
|
||||
buckled_mob.throw_alert("ghost_nest", /atom/movable/screen/alert/ghost/xeno)
|
||||
to_chat(buckled_mob, "<span class='ghostalert'>You may now click on the ghost prompt on your screen to leave your body. You will be alerted when you're removed from the nest.</span>")
|
||||
to_chat(buckled_mob, SPAN_GHOSTALERT("You may now click on the ghost prompt on your screen to leave your body. You will be alerted when you're removed from the nest."))
|
||||
if(tgui_alert(buckled_mob, "You may now ghost and keep respawnability, you will be notified if you leave the nest, would you like to do so?", "Ghosting", list("Yes", "No")) != "Yes")
|
||||
return
|
||||
buckled_mob.ghostize()
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/obj/structure/bed/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Click dragging someone to a bed will buckle them in. Functions just like a chair except you can walk over them.</span>"
|
||||
. += SPAN_NOTICE("Click dragging someone to a bed will buckle them in. Functions just like a chair except you can walk over them.")
|
||||
|
||||
/obj/structure/bed/attack_hand(mob/user)
|
||||
if(user.Move_Pulled(src))
|
||||
@@ -52,7 +52,7 @@
|
||||
/obj/structure/bed/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(flags & NODECONSTRUCT)
|
||||
to_chat(user, "<span class='warning'>You can't figure out how to deconstruct [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!"))
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
@@ -103,15 +103,15 @@
|
||||
|
||||
// nighty night
|
||||
target.visible_message(
|
||||
"<span class='danger'>[attacker] puts [target] to bed!</span>",
|
||||
"<span class='userdanger'>[attacker] shoves you under the covers, and you're out like a light!</span>",
|
||||
"<span class='notice'>You hear someone getting into bed.</span>"
|
||||
SPAN_DANGER("[attacker] puts [target] to bed!"),
|
||||
SPAN_USERDANGER("[attacker] shoves you under the covers, and you're out like a light!"),
|
||||
SPAN_NOTICE("You hear someone getting into bed.")
|
||||
)
|
||||
|
||||
if(sleep_ratio > 1)
|
||||
target.visible_message(
|
||||
"<span class='notice'>[target] seems especially cozy...[target.p_they()] probably won't be up for a while.</span>",
|
||||
"<span class='notice'>You feel so cozy, you could probably stay here for a while...</span>"
|
||||
SPAN_NOTICE("[target] seems especially cozy...[target.p_they()] probably won't be up for a while."),
|
||||
SPAN_NOTICE("You feel so cozy, you could probably stay here for a while...")
|
||||
)
|
||||
|
||||
target.forceMove(loc)
|
||||
@@ -169,11 +169,11 @@
|
||||
if(has_buckled_mobs())
|
||||
if(length(buckled_mobs) > 1)
|
||||
unbuckle_all_mobs()
|
||||
user.visible_message("<span class='notice'>[user] unbuckles all creatures from [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] unbuckles all creatures from [src]."))
|
||||
else
|
||||
user_unbuckle_mob(buckled_mobs[1], user)
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] collapses \the [name].</span>", "<span class='notice'>You collapse \the [name].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] collapses \the [name]."), SPAN_NOTICE("You collapse \the [name]."))
|
||||
new folded(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
return
|
||||
if(has_buckled_mobs())
|
||||
return 0
|
||||
usr.visible_message("<span class='notice'>[usr] collapses \the [name].</span>", "<span class='notice'>You collapse \the [name].</span>")
|
||||
usr.visible_message(SPAN_NOTICE("[usr] collapses \the [name]."), SPAN_NOTICE("You collapse \the [name]."))
|
||||
new folded(get_turf(src))
|
||||
qdel(src)
|
||||
return
|
||||
@@ -275,13 +275,13 @@
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(held)
|
||||
to_chat(user, "<span class='warning'>[src] is already full!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is already full!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
var/obj/item/roller/bed = target
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] collects [target].</span>",
|
||||
"<span class='notice'>You collect [target].</span>"
|
||||
SPAN_NOTICE("[user] collects [target]."),
|
||||
SPAN_NOTICE("You collect [target].")
|
||||
)
|
||||
bed.forceMove(src)
|
||||
held = target
|
||||
@@ -292,10 +292,10 @@
|
||||
return
|
||||
|
||||
if(!held)
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is empty!"))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You deploy [held].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You deploy [held]."))
|
||||
var/obj/structure/bed/roller/R = new held.extended(user.loc)
|
||||
R.add_fingerprint(user)
|
||||
QDEL_NULL(held)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
/obj/structure/chair/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You can <b>Alt-Click</b> [src] to rotate it.</span>"
|
||||
. += SPAN_NOTICE("You can <b>Alt-Click</b> [src] to rotate it.")
|
||||
|
||||
/obj/structure/chair/narsie_act()
|
||||
if(prob(20))
|
||||
@@ -39,7 +39,7 @@
|
||||
if(istype(W, /obj/item/assembly/shock_kit))
|
||||
var/obj/item/assembly/shock_kit/SK = W
|
||||
if(!SK.status)
|
||||
to_chat(user, "<span class='notice'>[SK] is not ready to be attached!</span>")
|
||||
to_chat(user, SPAN_NOTICE("[SK] is not ready to be attached!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
user.drop_item()
|
||||
var/obj/structure/chair/e_chair/E = new /obj/structure/chair/e_chair(get_turf(src), SK)
|
||||
@@ -53,7 +53,7 @@
|
||||
/obj/structure/chair/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(flags & NODECONSTRUCT)
|
||||
to_chat(user, "<span class='warning'>Try as you might, you can't figure out how to deconstruct [src].</span>")
|
||||
to_chat(user, SPAN_WARNING("Try as you might, you can't figure out how to deconstruct [src]."))
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
@@ -70,17 +70,17 @@
|
||||
if(!item_chair || has_buckled_mobs())
|
||||
return
|
||||
if(usr.incapacitated())
|
||||
to_chat(usr, "<span class='warning'>You can't do that right now!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You can't do that right now!"))
|
||||
return
|
||||
if(!usr.has_right_hand() && !usr.has_left_hand())
|
||||
to_chat(usr, "<span class='warning'>You try to grab the chair, but you are missing both of your hands!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You try to grab the chair, but you are missing both of your hands!"))
|
||||
return
|
||||
if(usr.get_active_hand() && usr.get_inactive_hand())
|
||||
to_chat(usr, "<span class='warning'>You try to grab the chair, but your hands are already full!</span>")
|
||||
to_chat(usr, SPAN_WARNING("You try to grab the chair, but your hands are already full!"))
|
||||
return
|
||||
if(!ishuman(usr))
|
||||
return
|
||||
usr.visible_message("<span class='notice'>[usr] grabs \the [src.name].</span>", "<span class='notice'>You grab \the [src.name].</span>")
|
||||
usr.visible_message(SPAN_NOTICE("[usr] grabs \the [src.name]."), SPAN_NOTICE("You grab \the [src.name]."))
|
||||
var/C = new item_chair(loc)
|
||||
usr.put_in_hands(C)
|
||||
qdel(src)
|
||||
@@ -271,7 +271,7 @@
|
||||
buckled_mob.Stuttering(12 SECONDS)
|
||||
buckled_mob.take_organ_damage(10)
|
||||
playsound(loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1)
|
||||
buckled_mob.visible_message("<span class='danger'>[buckled_mob] crashed into [A]!</span>")
|
||||
buckled_mob.visible_message(SPAN_DANGER("[buckled_mob] crashed into [A]!"))
|
||||
|
||||
/obj/structure/chair/office/post_buckle_mob(mob/living/M)
|
||||
. = ..()
|
||||
@@ -591,10 +591,10 @@
|
||||
return
|
||||
for(var/obj/A in get_turf(loc))
|
||||
if(istype(A, /obj/structure/chair))
|
||||
to_chat(user, "<span class='warning'>There is already \a [A] here.</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already \a [A] here."))
|
||||
return
|
||||
|
||||
user.visible_message("<span class='notice'>[user] rights [src].</span>", "<span class='notice'>You right [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] rights [src]."), SPAN_NOTICE("You right [src]."))
|
||||
var/obj/structure/chair/C = new origin_type(get_turf(loc))
|
||||
C.setDir(user.dir)
|
||||
qdel(src)
|
||||
@@ -612,7 +612,7 @@
|
||||
|
||||
/obj/item/chair/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
|
||||
if(attack_type == UNARMED_ATTACK && prob(hit_reaction_chance))
|
||||
owner.visible_message("<span class='danger'>[owner] fends off [attack_text] with [src]!</span>")
|
||||
owner.visible_message(SPAN_DANGER("[owner] fends off [attack_text] with [src]!"))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
@@ -621,7 +621,7 @@
|
||||
. = ..()
|
||||
if(!proximity_flag || !prob(break_chance))
|
||||
return
|
||||
user.visible_message("<span class='danger'>[user] smashes \the [src] to pieces against \the [target]</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] smashes \the [src] to pieces against \the [target]"))
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
if(C.health < C.maxHealth*0.5)
|
||||
@@ -635,7 +635,7 @@
|
||||
return FINISH_ATTACK
|
||||
|
||||
if(prob(5) && isliving(target))
|
||||
user.visible_message("<span class='danger'>[user] breaks [src] over [target]'s back!.</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] breaks [src] over [target]'s back!."))
|
||||
user.unequip(src)
|
||||
var/obj/item/stack/sheet/metal/m = new/obj/item/stack/sheet/metal
|
||||
m.loc = get_turf(src)
|
||||
@@ -646,7 +646,7 @@
|
||||
|
||||
/obj/item/chair/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You can <b>Alt-Click</b> [src] to place it down.</span>"
|
||||
. += SPAN_NOTICE("You can <b>Alt-Click</b> [src] to place it down.")
|
||||
|
||||
/obj/item/chair/wood
|
||||
name = "wooden chair"
|
||||
@@ -695,12 +695,12 @@
|
||||
if(!istype(user) || user.incapacitated() || !in_range(src, user))
|
||||
return
|
||||
if(!isprocessing)
|
||||
user.visible_message("<span class='notice'>[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER.</span>", \
|
||||
"<span class='notice'>Automated spinny chairs. The pinnacle of Ratvarian technology.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER."), \
|
||||
SPAN_NOTICE("Automated spinny chairs. The pinnacle of Ratvarian technology."))
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] stops [src]'s uncontrollable spinning.</span>", \
|
||||
"<span class='notice'>You grab [src] and stop its wild spinning.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] stops [src]'s uncontrollable spinning."), \
|
||||
SPAN_NOTICE("You grab [src] and stop its wild spinning."))
|
||||
STOP_PROCESSING(SSfastprocess, src)
|
||||
|
||||
/obj/structure/chair/comfy/cult
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
victim.Stuttering(12 SECONDS)
|
||||
victim.take_organ_damage(10)
|
||||
|
||||
occupant.visible_message("<span class='danger'>[occupant] crashed into \the [A]!</span>")
|
||||
occupant.visible_message(SPAN_DANGER("[occupant] crashed into \the [A]!"))
|
||||
|
||||
/obj/structure/chair/wheelchair/plasteel
|
||||
name = "hardened wheelchair"
|
||||
|
||||
@@ -50,20 +50,20 @@
|
||||
return FALSE
|
||||
|
||||
if(stack.get_amount() < 1)
|
||||
to_chat(user, "<span class='warning'>You need at least one sheet of [stack] to do this!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least one sheet of [stack] to do this!"))
|
||||
return TRUE
|
||||
|
||||
to_chat(user, "<span class='notice'>You start adding [stack] to [src]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start adding [stack] to [src]..."))
|
||||
if(!do_after(user, construction_time, target = src))
|
||||
return TRUE
|
||||
|
||||
if(!stack.use(1))
|
||||
to_chat(user, "<span class='warning'>You need at least one sheet of [stack] to do this!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need at least one sheet of [stack] to do this!"))
|
||||
return TRUE
|
||||
|
||||
var/obj/structure/table/table_already_there = locate(/obj/structure/table) in get_turf(src)
|
||||
if(table_already_there) //check again after to make sure one wasnt added since
|
||||
to_chat(user, "<span class='warning'>There is already [table_already_there] here.</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already [table_already_there] here."))
|
||||
return TRUE
|
||||
|
||||
if(!istype(new_table_type, /obj/structure/table)) //if its something unique, skip the table parts
|
||||
|
||||
@@ -57,12 +57,12 @@
|
||||
. += deconstruction_hints(user)
|
||||
if(can_be_flipped)
|
||||
if(flipped)
|
||||
. += "<span class='notice'><b>Alt-Shift-Click</b> to right the table again.</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Shift-Click</b> to right the table again.")
|
||||
else
|
||||
. += "<span class='notice'><b>Alt-Shift-Click</b> to flip over the table.</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Shift-Click</b> to flip over the table.")
|
||||
|
||||
/obj/structure/table/proc/deconstruction_hints(mob/user)
|
||||
return "<span class='notice'>The top is <b>screwed</b> on, but the main <b>bolts</b> are also visible.</span>"
|
||||
return SPAN_NOTICE("The top is <b>screwed</b> on, but the main <b>bolts</b> are also visible.")
|
||||
|
||||
/obj/structure/table/update_icon(updates=ALL)
|
||||
. = ..()
|
||||
@@ -114,12 +114,16 @@
|
||||
if(length(climbers))
|
||||
for(var/mob/living/climber as anything in climbers)
|
||||
climber.Weaken(4 SECONDS)
|
||||
climber.visible_message("<span class='warning'>[climber.name] has been knocked off the table", "You've been knocked off the table", "You hear [climber.name] get knocked off the table</span>")
|
||||
climber.visible_message(
|
||||
SPAN_WARNING("[climber.name] has been knocked off the table"),
|
||||
SPAN_WARNING("You've been knocked off the table"),
|
||||
SPAN_WARNING("You hear [climber.name] get knocked off the table"),
|
||||
)
|
||||
else if(Adjacent(user) && user.pulling && user.pulling.pass_flags & PASSTABLE)
|
||||
user.Move_Pulled(src)
|
||||
if(user.pulling.loc == loc)
|
||||
user.visible_message("<span class='notice'>[user] places [user.pulling] onto [src].</span>",
|
||||
"<span class='notice'>You place [user.pulling] onto [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] places [user.pulling] onto [src]."),
|
||||
SPAN_NOTICE("You place [user.pulling] onto [src]."))
|
||||
user.stop_pulling()
|
||||
|
||||
/obj/structure/table/attack_tk() // no telehulk sorry
|
||||
@@ -199,26 +203,26 @@
|
||||
|
||||
/obj/structure/table/proc/tablepush(obj/item/grab/G, mob/user)
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='danger'>Throwing [G.affecting] onto the table might hurt them!</span>")
|
||||
to_chat(user, SPAN_DANGER("Throwing [G.affecting] onto the table might hurt them!"))
|
||||
return
|
||||
if(get_dist(src, user) < 2)
|
||||
if(G.affecting.buckled)
|
||||
to_chat(user, "<span class='warning'>[G.affecting] is buckled to [G.affecting.buckled]!</span>")
|
||||
to_chat(user, SPAN_WARNING("[G.affecting] is buckled to [G.affecting.buckled]!"))
|
||||
return FALSE
|
||||
if(G.state < GRAB_AGGRESSIVE)
|
||||
to_chat(user, "<span class='warning'>You need a better grip to do that!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need a better grip to do that!"))
|
||||
return FALSE
|
||||
if(!G.confirm())
|
||||
return FALSE
|
||||
var/blocking_object = density_check()
|
||||
if(blocking_object)
|
||||
to_chat(user, "<span class='warning'>You cannot do this there is \a [blocking_object] in the way!</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot do this there is \a [blocking_object] in the way!"))
|
||||
return FALSE
|
||||
G.affecting.forceMove(get_turf(src))
|
||||
G.affecting.Weaken(4 SECONDS)
|
||||
item_placed(G.affecting)
|
||||
G.affecting.visible_message("<span class='danger'>[G.assailant] pushes [G.affecting] onto [src].</span>", \
|
||||
"<span class='userdanger'>[G.assailant] pushes [G.affecting] onto [src].</span>")
|
||||
G.affecting.visible_message(SPAN_DANGER("[G.assailant] pushes [G.affecting] onto [src]."), \
|
||||
SPAN_USERDANGER("[G.assailant] pushes [G.affecting] onto [src]."))
|
||||
add_attack_logs(G.assailant, G.affecting, "Pushed onto a table")
|
||||
qdel(G)
|
||||
return TRUE
|
||||
@@ -243,7 +247,7 @@
|
||||
I.pixel_y = clamp(text2num(modifiers["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
|
||||
if(slippery)
|
||||
step_away(I, user)
|
||||
visible_message("<span class='warning'>[I] slips right off [src]!</span>")
|
||||
visible_message(SPAN_WARNING("[I] slips right off [src]!"))
|
||||
playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -1)
|
||||
else //Don't want slippery moving tables to have the item attached to them if it slides off.
|
||||
item_placed(I)
|
||||
@@ -255,7 +259,7 @@
|
||||
. = ..()
|
||||
if(. && M.environment_smash >= minimum_env_smash)
|
||||
deconstruct(FALSE)
|
||||
M.visible_message("<span class='danger'>[M] smashes [src]!</span>", "<span class='notice'>You smash [src].</span>")
|
||||
M.visible_message(SPAN_DANGER("[M] smashes [src]!"), SPAN_NOTICE("You smash [src]."))
|
||||
|
||||
/obj/structure/table/shove_impact(mob/living/target, mob/living/attacker)
|
||||
if(locate(/obj/structure/table) in get_turf(target))
|
||||
@@ -331,28 +335,28 @@
|
||||
if(!flipped)
|
||||
|
||||
if(flip_speed > 0)
|
||||
user.visible_message("<span class='warning'>[user] starts trying to flip [src]!</span>", "<span class='warning'>You start trying to flip [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""].</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] starts trying to flip [src]!"), SPAN_WARNING("You start trying to flip [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]."))
|
||||
if(!do_after(user, flip_speed, TRUE, src))
|
||||
user.visible_message("<span class='notice'>[user] gives up on trying to flip [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] gives up on trying to flip [src]."))
|
||||
return
|
||||
if(!flip(get_cardinal_dir(user, src)))
|
||||
to_chat(user, "<span class='notice'>It won't budge.</span>")
|
||||
to_chat(user, SPAN_NOTICE("It won't budge."))
|
||||
return
|
||||
|
||||
|
||||
user.visible_message("<span class='warning'>[user] flips [src]!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] flips [src]!"))
|
||||
|
||||
if(climbable)
|
||||
structure_shaken()
|
||||
else
|
||||
if(flip_speed > 0)
|
||||
user.visible_message("<span class='warning'>[user] starts trying to right [src]!</span>", "<span class='warning'>You start trying to right [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] starts trying to right [src]!"), SPAN_WARNING("You start trying to right [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]"))
|
||||
if(!do_after(user, flip_speed, TRUE, src))
|
||||
user.visible_message("<span class='notice'>[user] gives up on trying to right [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] gives up on trying to right [src]."))
|
||||
return
|
||||
if(!unflip())
|
||||
to_chat(user, "<span class='notice'>It won't budge.</span>")
|
||||
user.visible_message("<span class='warning'>[user] rights [src]!</span>")
|
||||
to_chat(user, SPAN_NOTICE("It won't budge."))
|
||||
user.visible_message(SPAN_WARNING("[user] rights [src]!"))
|
||||
|
||||
/obj/structure/table/proc/get_flip_speed(mob/living/flipper)
|
||||
if(!istype(flipper))
|
||||
@@ -500,8 +504,8 @@
|
||||
deconstruct(FALSE)
|
||||
|
||||
/obj/structure/table/glass/proc/table_shatter(mob/living/L)
|
||||
visible_message("<span class='warning'>[src] breaks!</span>",
|
||||
"<span class='danger'>You hear breaking glass.</span>")
|
||||
visible_message(SPAN_WARNING("[src] breaks!"),
|
||||
SPAN_DANGER("You hear breaking glass."))
|
||||
var/turf/T = get_turf(src)
|
||||
playsound(T, "shatter", 50, 1)
|
||||
for(var/I in debris)
|
||||
@@ -565,9 +569,9 @@
|
||||
|
||||
/obj/structure/table/glass/reinforced/deconstruction_hints(mob/user) //look, it was either copy paste these 4 procs, or copy paste all of the glass stuff
|
||||
if(deconstruction_ready)
|
||||
to_chat(user, "<span class='notice'>The top cover has been <i>welded</i> loose and the main frame's <b>bolts</b> are exposed.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The top cover has been <i>welded</i> loose and the main frame's <b>bolts</b> are exposed."))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The top cover is firmly <b>welded</b> on.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The top cover is firmly <b>welded</b> on."))
|
||||
|
||||
/obj/structure/table/glass/reinforced/flip(direction)
|
||||
if(!deconstruction_ready)
|
||||
@@ -579,9 +583,9 @@
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table..."))
|
||||
if(I.use_tool(src, user, 50, volume = I.tool_volume))
|
||||
to_chat(user, "<span class='notice'>You [deconstruction_ready ? "strengthen" : "weaken"] the table.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [deconstruction_ready ? "strengthen" : "weaken"] the table."))
|
||||
deconstruction_ready = !deconstruction_ready
|
||||
|
||||
/obj/structure/table/glass/reinforced/shove_impact(mob/living/target, mob/living/attacker)
|
||||
@@ -751,9 +755,9 @@
|
||||
|
||||
/obj/structure/table/reinforced/deconstruction_hints(mob/user)
|
||||
if(deconstruction_ready)
|
||||
to_chat(user, "<span class='notice'>The top cover has been <i>welded</i> loose and the main frame's <b>bolts</b> are exposed.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The top cover has been <i>welded</i> loose and the main frame's <b>bolts</b> are exposed."))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The top cover is firmly <b>welded</b> on.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The top cover is firmly <b>welded</b> on."))
|
||||
|
||||
/obj/structure/table/reinforced/flip(direction)
|
||||
if(!deconstruction_ready)
|
||||
@@ -765,9 +769,9 @@
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
. = TRUE
|
||||
to_chat(user, "<span class='notice'>You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table..."))
|
||||
if(I.use_tool(src, user, 50, volume = I.tool_volume))
|
||||
to_chat(user, "<span class='notice'>You [deconstruction_ready ? "strengthen" : "weaken"] the table.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [deconstruction_ready ? "strengthen" : "weaken"] the table."))
|
||||
deconstruction_ready = !deconstruction_ready
|
||||
|
||||
/obj/structure/table/reinforced/brass
|
||||
@@ -881,7 +885,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/table/tray/deconstruction_hints(mob/user)
|
||||
to_chat(user, "<span class='notice'>It is held together by some <b>screws</b> and <b>bolts</b>.</span>")
|
||||
to_chat(user, SPAN_NOTICE("It is held together by some <b>screws</b> and <b>bolts</b>."))
|
||||
|
||||
/obj/structure/table/tray/flip()
|
||||
return FALSE
|
||||
@@ -905,7 +909,7 @@
|
||||
|
||||
/obj/structure/rack/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>It's held together by a couple of <b>bolts</b>.</span>"
|
||||
. += SPAN_NOTICE("It's held together by a couple of <b>bolts</b>.")
|
||||
|
||||
/obj/structure/rack/CanPass(atom/movable/mover, border_dir)
|
||||
if(!density) //Because broken racks -Agouri |TODO: SPRITE!|
|
||||
@@ -950,7 +954,7 @@
|
||||
/obj/structure/rack/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(flags & NODECONSTRUCT)
|
||||
to_chat(user, "<span class='warning'>Try as you might, you can't figure out how to deconstruct this.</span>")
|
||||
to_chat(user, SPAN_WARNING("Try as you might, you can't figure out how to deconstruct this."))
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
@@ -961,8 +965,8 @@
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
|
||||
user.visible_message("<span class='warning'>[user] kicks [src].</span>", \
|
||||
"<span class='danger'>You kick [src].</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] kicks [src]."), \
|
||||
SPAN_DANGER("You kick [src]."))
|
||||
take_damage(rand(4,8), BRUTE, MELEE, 1)
|
||||
|
||||
/obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
@@ -1024,13 +1028,13 @@
|
||||
if(building)
|
||||
return
|
||||
building = TRUE
|
||||
to_chat(user, "<span class='notice'>You start constructing a rack...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start constructing a rack..."))
|
||||
if(do_after(user, 50, target = user, progress=TRUE))
|
||||
if(!user.drop_item(src))
|
||||
return
|
||||
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)
|
||||
user.visible_message("<span class='notice'>[user] assembles \a [R].\
|
||||
</span>", "<span class='notice'>You assemble \a [R].</span>")
|
||||
</span>", SPAN_NOTICE("You assemble \a [R]."))
|
||||
R.add_fingerprint(user)
|
||||
qdel(src)
|
||||
building = FALSE
|
||||
|
||||
@@ -108,10 +108,10 @@
|
||||
/obj/structure/dispenser/wrench_act(mob/living/user, obj/item/I)
|
||||
I.play_tool_sound(src, 50)
|
||||
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 TRUE
|
||||
|
||||
@@ -127,23 +127,23 @@
|
||||
if(!user.put_in_hands(T))
|
||||
T.forceMove(loc) // If the user's hands are full, place it on the tile of the dispenser.
|
||||
|
||||
to_chat(user, "<span class='notice'>You take [T] out of [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take [T] out of [src]."))
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
|
||||
/// Called when the user clicks on the dispenser with a tank. Tries to insert the tank into the dispenser, and updates the UI if successful.
|
||||
/obj/structure/dispenser/proc/try_insert_tank(mob/living/user, list/tank_list, obj/item/tank/T)
|
||||
if(LAZYLEN(tank_list) >= MAX_TANK_STORAGE)
|
||||
to_chat(user, "<span class='warning'>[src] is full.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is full."))
|
||||
return
|
||||
|
||||
if(!user.drop_item()) // Antidrop check
|
||||
to_chat(user, "<span class='warning'>[T] is stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_WARNING("[T] is stuck to your hand!"))
|
||||
return
|
||||
|
||||
T.forceMove(src)
|
||||
tank_list.Add(T)
|
||||
update_icon(UPDATE_OVERLAYS)
|
||||
to_chat(user, "<span class='notice'>You put [T] in [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put [T] in [src]."))
|
||||
SStgui.update_uis(src)
|
||||
|
||||
/obj/structure/dispenser/deconstruct(disassembled = TRUE)
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
|
||||
/obj/structure/transit_tube/station/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>While in transit, hold the directional key matching the pod's direction to skip a station.</span>"
|
||||
. += "<span class='notice'>While at a station, press a directional key to quickly leave the station in that direction.</span>"
|
||||
. += SPAN_NOTICE("While in transit, hold the directional key matching the pod's direction to skip a station.")
|
||||
. += SPAN_NOTICE("While at a station, press a directional key to quickly leave the station in that direction.")
|
||||
|
||||
/obj/structure/transit_tube/station/init_tube_dirs()
|
||||
// Tube station directions are simply 90 to either side of
|
||||
@@ -70,7 +70,7 @@
|
||||
if(!pod_moving && L.dir == boarding_dir && hatch_state == TRANSIT_TUBE_OPEN && isliving(L) && !is_type_in_list(L, disallowed_mobs))
|
||||
for(var/obj/structure/transit_tube_pod/pod in loc)
|
||||
if(length(pod.contents))
|
||||
to_chat(L, "<span class='warning'>The pod is already occupied.</span>")
|
||||
to_chat(L, SPAN_WARNING("The pod is already occupied."))
|
||||
return
|
||||
if(!pod.moving && ((pod.dir in directions()) || (reverse_launch && (turn(pod.dir, 180) in directions()))))
|
||||
pod.move_into(L)
|
||||
@@ -92,8 +92,8 @@
|
||||
// Can't empty it when inside or when there is nothing inside
|
||||
if(!length(pod.contents) || user.loc == pod)
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] starts emptying [pod]'s contents onto the floor!</span>", \
|
||||
"<span class='notice'>You start emptying [pod]'s contents onto the floor.</span>", "<span class='warning'>You hear a loud noise! As if somebody is throwing stuff on the floor!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] starts emptying [pod]'s contents onto the floor!"), \
|
||||
SPAN_NOTICE("You start emptying [pod]'s contents onto the floor."), SPAN_WARNING("You hear a loud noise! As if somebody is throwing stuff on the floor!"))
|
||||
if(!do_after(user, 20, target = pod))
|
||||
return
|
||||
for(var/atom/movable/AM in pod)
|
||||
@@ -109,7 +109,7 @@
|
||||
if(ismob(G.affecting) && G.state >= GRAB_AGGRESSIVE)
|
||||
var/mob/living/GM = G.affecting
|
||||
for(var/obj/structure/transit_tube_pod/pod in loc)
|
||||
pod.visible_message("<span class='warning'>[user] starts putting [GM] into [pod]!</span>")
|
||||
pod.visible_message(SPAN_WARNING("[user] starts putting [GM] into [pod]!"))
|
||||
if(do_after(user, 30, target = GM) && GM && G && G.affecting == GM)
|
||||
GM.Weaken(10 SECONDS)
|
||||
Bumped(GM)
|
||||
@@ -232,8 +232,8 @@
|
||||
|
||||
/obj/structure/transit_tube/station/dispenser/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>This station will create a pod for you to ride, no need to wait for one.</span>"
|
||||
. += "<span class='notice'>Any pods arriving at this station will be reclaimed.</span>"
|
||||
. += SPAN_NOTICE("This station will create a pod for you to ride, no need to wait for one.")
|
||||
. += SPAN_NOTICE("Any pods arriving at this station will be reclaimed.")
|
||||
|
||||
/obj/structure/transit_tube/station/dispenser/close_hatch()
|
||||
. = ..()
|
||||
@@ -254,7 +254,7 @@
|
||||
|
||||
if(isliving(L) && !is_type_in_list(L, disallowed_mobs))
|
||||
var/obj/structure/transit_tube_pod/dispensed/pod = new(loc)
|
||||
L.visible_message("<span class='notice'>[pod] forms around [L].</span>", "<span class='notice'>[pod] materializes around you.</span>")
|
||||
L.visible_message(SPAN_NOTICE("[pod] forms around [L]."), SPAN_NOTICE("[pod] materializes around you."))
|
||||
playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE)
|
||||
pod.dir = turn(dir, -90)
|
||||
pod.move_into(L)
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
|
||||
/obj/structure/transit_tube/wrench_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
to_chat(user, "<span class='notice'>You must uninstall [src] before disassembling it!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You must uninstall [src] before disassembling it!"))
|
||||
|
||||
/obj/structure/transit_tube/screwdriver_act(mob/living/user, obj/item/I)
|
||||
var/obj/structure/transit_tube_construction/construction = new uninstalled_type(get_turf(src))
|
||||
@@ -163,7 +163,7 @@
|
||||
if(leaf == "flipped")
|
||||
construction.flip()
|
||||
|
||||
user.visible_message("<span class='notice'>[user] uninstalls [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] uninstalls [src]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/transit_tube/deconstruct(disassembled = TRUE)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
/obj/structure/transit_tube_construction/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'><b>Alt-Click</b> to rotate it, <b>Alt-Shift-Click</b> to flip it.</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Click</b> to rotate it, <b>Alt-Shift-Click</b> to flip it.")
|
||||
|
||||
/obj/structure/transit_tube_construction/AltClick(mob/user)
|
||||
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
|
||||
@@ -42,21 +42,21 @@
|
||||
. = TRUE
|
||||
var/turf/T = get_turf(src)
|
||||
if(!isfloorturf(T) && !isspaceturf(T))
|
||||
to_chat(user, "<span class='warning'>You cannot install [src] here.</span>")
|
||||
to_chat(user, SPAN_WARNING("You cannot install [src] here."))
|
||||
return
|
||||
for(var/obj/turf_contents in T)
|
||||
// It's okay for tube parts to be installed over existing pods.
|
||||
if(!istype(turf_contents, /obj/structure/transit_tube_pod) && turf_contents.density)
|
||||
to_chat(user, "<span class='warning'>There is not enough space to install [src] here.</span>")
|
||||
to_chat(user, SPAN_WARNING("There is not enough space to install [src] here."))
|
||||
return
|
||||
if(is_station && !user.can_reach(src))
|
||||
to_chat(user, "<span class='warning'>[src] must be installed manually.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] must be installed manually."))
|
||||
return
|
||||
|
||||
var/install_type = flipped ? installed_type_flipped : installed_type
|
||||
var/atom/installed = new install_type(T)
|
||||
installed.dir = dir
|
||||
user.visible_message("<span class='notice'>[user] installs [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] installs [src]."))
|
||||
|
||||
I.play_tool_sound(src, I.tool_volume)
|
||||
qdel(src)
|
||||
@@ -65,7 +65,7 @@
|
||||
/obj/structure/transit_tube_construction/wrench_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
|
||||
user.visible_message("<span class='notice'>[user] disassembles [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] disassembles [src]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/transit_tube_construction/rpd_act(mob/user, obj/item/rpd/our_rpd)
|
||||
@@ -93,11 +93,11 @@
|
||||
if(istype(turf_contents, /obj/structure/transit_tube))
|
||||
var/atom/installed = new installed_type(T)
|
||||
installed.dir = dir
|
||||
user.visible_message("<span class='notice'>[user] installs [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] installs [src]."))
|
||||
|
||||
qdel(src)
|
||||
|
||||
to_chat(user, "<span class='warning'>[src] can only be installed in a transit tube!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] can only be installed in a transit tube!"))
|
||||
|
||||
/obj/structure/transit_tube_construction/straight
|
||||
installed_type = /obj/structure/transit_tube
|
||||
|
||||
@@ -69,19 +69,19 @@
|
||||
|
||||
if(length(contents))
|
||||
I.play_tool_sound(src)
|
||||
user.visible_message("<span class='notice'>[user] pries [src] open.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] pries [src] open."))
|
||||
empty_pod()
|
||||
|
||||
/obj/structure/transit_tube_pod/screwdriver_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
var/obj/structure/transit_tube_construction/pod/P = new(get_turf(src))
|
||||
P.dir = dir
|
||||
to_chat(user, "<span class='notice'>You uninstall [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You uninstall [src]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/transit_tube_pod/wrench_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
to_chat(user, "<span class='notice'>You must uninstall [src] before disassembling it!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You must uninstall [src] before disassembling it!"))
|
||||
|
||||
/obj/structure/transit_tube_pod/process()
|
||||
..()
|
||||
@@ -101,7 +101,7 @@
|
||||
var/list/savedcontents = contents.Copy()
|
||||
var/saveddir = dir
|
||||
var/turf/destination = get_edge_target_turf(src, saveddir)
|
||||
visible_message("<span class='warning'>[src] ejects its insides out!</span>")
|
||||
visible_message(SPAN_WARNING("[src] ejects its insides out!"))
|
||||
for(var/i in savedcontents)
|
||||
var/atom/movable/AM = i
|
||||
AM.throw_at(destination, rand(1, 3), 5)
|
||||
|
||||
@@ -30,15 +30,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
if(swirlie)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
playsound(src.loc, "swing_hit", 25, TRUE)
|
||||
user.visible_message("<span class='danger'>[user] slams the toilet seat onto [swirlie]'s head!</span>",
|
||||
"<span class='userdanger'>You slam the toilet seat onto [swirlie]'s head!</span>",
|
||||
"<span class='italics'>You hear reverberating porcelain.</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] slams the toilet seat onto [swirlie]'s head!"),
|
||||
SPAN_USERDANGER("You slam the toilet seat onto [swirlie]'s head!"),
|
||||
SPAN_ITALICS("You hear reverberating porcelain."))
|
||||
swirlie.apply_damage(5, BRUTE, BODY_ZONE_HEAD, swirlie.run_armor_check(BODY_ZONE_HEAD, MELEE))
|
||||
return
|
||||
|
||||
if(cistern && !open)
|
||||
if(!length(contents))
|
||||
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)
|
||||
@@ -46,7 +46,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
user.put_in_hands(I)
|
||||
else
|
||||
I.loc = get_turf(src)
|
||||
to_chat(user, "<span class='notice'>You find [I] in the cistern.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You find [I] in the cistern."))
|
||||
w_items -= I.w_class
|
||||
return
|
||||
|
||||
@@ -75,17 +75,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
var/obj/item/reagent_containers/container = used
|
||||
if(container.is_refillable())
|
||||
if(container.reagents.holder_full())
|
||||
to_chat(user, "<span class='warning'>[container] is full.</span>")
|
||||
to_chat(user, SPAN_WARNING("[container] is full."))
|
||||
else
|
||||
container.reagents.add_reagent("toiletwater", min(container.volume - container.reagents.total_volume, container.amount_per_transfer_from_this))
|
||||
to_chat(user, "<span class='notice'>You fill [container] from [src]. Gross.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You fill [container] from [src]. Gross."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/grab))
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
var/obj/item/grab/G = used
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='danger'>Swirling [G.affecting] might hurt them!</span>")
|
||||
to_chat(user, SPAN_DANGER("Swirling [G.affecting] might hurt them!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!G.confirm())
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
@@ -93,17 +93,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
var/mob/living/target = G.affecting
|
||||
if(G.state >= GRAB_AGGRESSIVE)
|
||||
if(target.loc != get_turf(src))
|
||||
to_chat(user, "<span class='warning'>[target] needs to be on [src]!</span>")
|
||||
to_chat(user, SPAN_WARNING("[target] needs to be on [src]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!swirlie)
|
||||
if(open)
|
||||
user.visible_message("<span class='danger'>[user] starts to give [target] a swirlie!</span>",
|
||||
"<span class='userdanger'>You start to give [target] a swirlie...</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] starts to give [target] a swirlie!"),
|
||||
SPAN_USERDANGER("You start to give [target] a swirlie..."))
|
||||
swirlie = target
|
||||
if(do_after(user, 3 SECONDS, FALSE, target = src))
|
||||
user.visible_message("<span class='danger'>[user] gives [target] a swirlie!</span>",
|
||||
"<span class='userdanger'>You give [target] a swirlie!</span>",
|
||||
"<span class='italics'>You hear a toilet flushing.</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] gives [target] a swirlie!"),
|
||||
SPAN_USERDANGER("You give [target] a swirlie!"),
|
||||
SPAN_ITALICS("You hear a toilet flushing."))
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
if(!C.internal)
|
||||
@@ -113,26 +113,26 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
swirlie = null
|
||||
else
|
||||
playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE)
|
||||
user.visible_message("<span class='danger'>[user] slams [target]'s head into [src]!</span>",
|
||||
"<span class='userdanger'>You slam [target]'s head into [src]!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] slams [target]'s head into [src]!"),
|
||||
SPAN_USERDANGER("You slam [target]'s head into [src]!"))
|
||||
target.apply_damage(5, BRUTE, BODY_ZONE_HEAD, target.run_armor_check(BODY_ZONE_HEAD, MELEE))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need a tighter grip!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need a tighter grip!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/flamethrower))
|
||||
var/obj/item/flamethrower/big_lighter = used
|
||||
if(!big_lighter.lit)
|
||||
to_chat(user, "<span class='warning'>[big_lighter] isn't lit!</span>")
|
||||
to_chat(user, SPAN_WARNING("[big_lighter] isn't lit!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
big_lighter.default_ignite(loc, 0.01)
|
||||
if(!cistern) //Just changes what message you get, since fire_act handles the open cistern too.
|
||||
user.visible_message("<span class='warning'>[user] torches the contents of the top of the toilet with [big_lighter]!</span>",
|
||||
"<span class='warning'>You torch the top of the toilet with [big_lighter]! Whoops.</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] torches the contents of the top of the toilet with [big_lighter]!"),
|
||||
SPAN_WARNING("You torch the top of the toilet with [big_lighter]! Whoops."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
user.visible_message("<span class='notice'>[user] torches the contents of the cistern with [big_lighter]!</span>",
|
||||
"<span class='notice'>You torch the contents of the cistern with [big_lighter]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] torches the contents of the cistern with [big_lighter]!"),
|
||||
SPAN_NOTICE("You torch the contents of the cistern with [big_lighter]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(cistern)
|
||||
@@ -160,12 +160,12 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
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(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE)
|
||||
if(I.use_tool(src, user, 30, volume = I.tool_volume))
|
||||
user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!",
|
||||
"<span class='notice'>You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!</span>",
|
||||
"<span class='italics'>You hear grinding porcelain.</span>")
|
||||
SPAN_NOTICE("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"),
|
||||
SPAN_ITALICS("You hear grinding porcelain."))
|
||||
cistern = !cistern
|
||||
update_icon()
|
||||
return
|
||||
@@ -189,22 +189,22 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
if("Stash")
|
||||
stash_goods(I, user)
|
||||
if("Disconnect")
|
||||
user.visible_message("<span class='notice'>[user] starts disconnecting [src].</span>",
|
||||
"<span class='notice'>You begin disconnecting [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts disconnecting [src]."),
|
||||
SPAN_NOTICE("You begin disconnecting [src]..."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
if(!loc || !anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] disconnects [src]!</span>",
|
||||
"<span class='notice'>You disconnect [src]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"),
|
||||
SPAN_NOTICE("You disconnect [src]!"))
|
||||
anchored = FALSE
|
||||
if("Connect")
|
||||
user.visible_message("<span class='notice'>[user] starts connecting [src].</span>",
|
||||
"<span class='notice'>You begin connecting [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts connecting [src]."),
|
||||
SPAN_NOTICE("You begin connecting [src]..."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
if(!loc || anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] connects [src]!</span>",
|
||||
"<span class='notice'>You connect [src]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] connects [src]!"),
|
||||
SPAN_NOTICE("You connect [src]!"))
|
||||
anchored = TRUE
|
||||
if("Rotate")
|
||||
var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST)
|
||||
@@ -218,17 +218,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
if(!I)
|
||||
return
|
||||
if(I.w_class > WEIGHT_CLASS_NORMAL)
|
||||
to_chat(user, "<span class='warning'>[I] does not fit!</span>")
|
||||
to_chat(user, SPAN_WARNING("[I] does not fit!"))
|
||||
return
|
||||
if(w_items + I.w_class > WEIGHT_CLASS_HUGE)
|
||||
to_chat(user, "<span class='warning'>The cistern is full!</span>")
|
||||
to_chat(user, SPAN_WARNING("The cistern is full!"))
|
||||
return
|
||||
if(!user.drop_item())
|
||||
to_chat(user, "<span class='warning'>[I] is stuck to your hand, you cannot put it in the cistern!</span>")
|
||||
to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you cannot put it in the cistern!"))
|
||||
return
|
||||
I.loc = src
|
||||
update_contents_weight_class()
|
||||
to_chat(user, "<span class='notice'>You carefully place [I] into the cistern.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You carefully place [I] into the cistern."))
|
||||
|
||||
/obj/structure/urinal
|
||||
name = "urinal"
|
||||
@@ -243,21 +243,21 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
if(!G.confirm())
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='danger'>Slamming [G.affecting] into [src] might hurt them!</span>")
|
||||
to_chat(user, SPAN_DANGER("Slamming [G.affecting] into [src] might hurt them!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(isliving(G.affecting))
|
||||
var/mob/living/target = G.affecting
|
||||
if(G.state >= GRAB_AGGRESSIVE)
|
||||
if(target.loc != get_turf(src))
|
||||
to_chat(user, "<span class='notice'>[target] needs to be on [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("[target] needs to be on [src]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE)
|
||||
user.visible_message("<span class='danger'>[user] slams [target]'s head into [src]!</span>",
|
||||
"<span class='danger'>You slam [target]'s head into [src]!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] slams [target]'s head into [src]!"),
|
||||
SPAN_DANGER("You slam [target]'s head into [src]!"))
|
||||
target.apply_damage(8, BRUTE, BODY_ZONE_HEAD, target.run_armor_check(BODY_ZONE_HEAD, MELEE))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need a tighter grip!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need a tighter grip!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
return ..()
|
||||
|
||||
@@ -266,24 +266,24 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
if(anchored)
|
||||
user.visible_message("<span class='notice'>[user] begins disconnecting [src]...</span>",
|
||||
"<span class='notice'>You begin to disconnect [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] begins disconnecting [src]..."),
|
||||
SPAN_NOTICE("You begin to disconnect [src]..."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
if(!loc || !anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] disconnects [src]!</span>",
|
||||
"<span class='notice'>You disconnect [src]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"),
|
||||
SPAN_NOTICE("You disconnect [src]!"))
|
||||
anchored = FALSE
|
||||
pixel_x = 0
|
||||
pixel_y = 0
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] begins connecting [src]...</span>",
|
||||
"<span class='notice'>You begin to connect [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] begins connecting [src]..."),
|
||||
SPAN_NOTICE("You begin to connect [src]..."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
if(!loc || anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] connects [src]!</span>",
|
||||
"<span class='notice'>You connect [src]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] connects [src]!"),
|
||||
SPAN_NOTICE("You connect [src]!"))
|
||||
anchored = TRUE
|
||||
pixel_x = 0
|
||||
pixel_y = 32
|
||||
@@ -367,14 +367,14 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
|
||||
|
||||
/obj/machinery/shower/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(istype(used, /obj/item/analyzer))
|
||||
to_chat(user, "<span class='notice'>The water temperature seems to be [current_temperature].</span>")
|
||||
to_chat(user, SPAN_NOTICE("The water temperature seems to be [current_temperature]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/shower/wrench_act(mob/living/user, obj/item/I)
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with [I].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to adjust the temperature valve with [I]."))
|
||||
if(I.use_tool(src, user, 50))
|
||||
switch(current_temperature)
|
||||
if(SHOWER_NORMAL)
|
||||
@@ -383,8 +383,8 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
|
||||
current_temperature = SHOWER_BOILING
|
||||
if(SHOWER_BOILING)
|
||||
current_temperature = SHOWER_NORMAL
|
||||
user.visible_message("<span class='notice'>[user] adjusts the shower with \the [I].</span>",
|
||||
"<span class='notice'>You adjust the shower with \the [I] to [current_temperature] temperature.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] adjusts the shower with \the [I]."),
|
||||
SPAN_NOTICE("You adjust the shower with \the [I] to [current_temperature] temperature."))
|
||||
add_hiddenprint(user)
|
||||
handle_mist()
|
||||
return TRUE
|
||||
@@ -392,15 +392,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
|
||||
/obj/machinery/shower/welder_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(on)
|
||||
to_chat(user, "<span class='warning'>Turn [src] off before you attempt to cut it loose.</span>")
|
||||
to_chat(user, SPAN_WARNING("Turn [src] off before you attempt to cut it loose."))
|
||||
return
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
visible_message("<span class='notice'>[user] begins slicing [src] free...</span>",
|
||||
"<span class='notice'>You begin slicing [src] free...</span>",
|
||||
"<span class='warning'>You hear welding.</span>")
|
||||
visible_message(SPAN_NOTICE("[user] begins slicing [src] free..."),
|
||||
SPAN_NOTICE("You begin slicing [src] free..."),
|
||||
SPAN_WARNING("You hear welding."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
user.visible_message("<span class='notice'>[user] cuts [src] loose!</span>", "<span class='notice'>You cut [src] loose!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] cuts [src] loose!"), SPAN_NOTICE("You cut [src] loose!"))
|
||||
var/obj/item/mounted/shower/S = new /obj/item/mounted/shower(get_turf(user))
|
||||
transfer_prints_to(S, TRUE)
|
||||
qdel(src)
|
||||
@@ -486,10 +486,10 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
|
||||
var/mob/living/carbon/C = M
|
||||
|
||||
if(current_temperature == SHOWER_FREEZING)
|
||||
to_chat(C, "<span class='warning'>The water is freezing!</span>")
|
||||
to_chat(C, SPAN_WARNING("The water is freezing!"))
|
||||
|
||||
else if(current_temperature == SHOWER_BOILING)
|
||||
to_chat(C, "<span class='warning'>The water is searing!</span>")
|
||||
to_chat(C, SPAN_WARNING("The water is searing!"))
|
||||
|
||||
#undef SHOWER_FREEZING
|
||||
#undef SHOWER_NORMAL
|
||||
@@ -531,7 +531,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
|
||||
if(..())
|
||||
return
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='warning'>[src] isn't connected, wrench it into position first!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] isn't connected, wrench it into position first!"))
|
||||
return
|
||||
|
||||
var/obj/item/organ/external/temp = user.bodyparts_by_name["r_hand"]
|
||||
@@ -541,7 +541,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
|
||||
to_chat(user, "<span class='notice'>You try to move your [temp], but cannot!")
|
||||
return
|
||||
if(sink_flags & SINK_BUSY)
|
||||
to_chat(user, "<span class='notice'>Someone's already washing here.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Someone's already washing here."))
|
||||
return
|
||||
|
||||
var/selected_area = parse_zone(user.zone_selected)
|
||||
@@ -549,8 +549,8 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
|
||||
if(selected_area in list("head", "mouth", "eyes"))
|
||||
washing_face = TRUE
|
||||
sink_flags |= SINK_BUSY
|
||||
user.visible_message("<span class='notice'>[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]...</span>", \
|
||||
"<span class='notice'>You start washing your [washing_face ? "face" : "hands"]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \
|
||||
SPAN_NOTICE("You start washing your [washing_face ? "face" : "hands"]..."))
|
||||
if(!do_after(user, 4 SECONDS, target = src))
|
||||
sink_flags &= ~SINK_BUSY
|
||||
return
|
||||
@@ -563,15 +563,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
|
||||
else
|
||||
user.clean_blood()
|
||||
sink_flags &= ~SINK_BUSY
|
||||
user.visible_message("<span class='notice'>[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src].</span>", \
|
||||
"<span class='notice'>You wash your [washing_face ? "face" : "hands"] using [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \
|
||||
SPAN_NOTICE("You wash your [washing_face ? "face" : "hands"] using [src]."))
|
||||
|
||||
/obj/structure/sink/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(sink_flags & SINK_BUSY)
|
||||
to_chat(user, "<span class='warning'>Someone's already washing here!</span>")
|
||||
to_chat(user, SPAN_WARNING("Someone's already washing here!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!anchored)
|
||||
to_chat(user, "<span class='warning'>[src] isn't connected, wrench it into position first!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] isn't connected, wrench it into position first!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
sink_flags |= SINK_BUSY
|
||||
if(used.wash(user, src))
|
||||
@@ -600,22 +600,22 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
|
||||
I.water_act(20, COLD_WATER_TEMPERATURE, src)
|
||||
sink_flags &= ~SINK_BUSY
|
||||
if("Disconnect")
|
||||
user.visible_message("<span class='notice'>[user] starts disconnecting [src].</span>",
|
||||
"<span class='notice'>You begin disconnecting [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts disconnecting [src]."),
|
||||
SPAN_NOTICE("You begin disconnecting [src]..."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
if(!loc || !anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] disconnects [src]!</span>",
|
||||
"<span class='notice'>You disconnect [src]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"),
|
||||
SPAN_NOTICE("You disconnect [src]!"))
|
||||
anchored = FALSE
|
||||
if("Connect")
|
||||
user.visible_message("<span class='notice'>[user] starts connecting [src].</span>",
|
||||
"<span class='notice'>You begin connecting [src]...</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts connecting [src]."),
|
||||
SPAN_NOTICE("You begin connecting [src]..."))
|
||||
if(I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
if(!loc || anchored)
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] connects [src]!</span>",
|
||||
"<span class='notice'>You connect [src]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] connects [src]!"),
|
||||
SPAN_NOTICE("You connect [src]!"))
|
||||
anchored = TRUE
|
||||
if("Rotate")
|
||||
var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST)
|
||||
@@ -691,7 +691,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0
|
||||
if(!on_wall || !user)
|
||||
return
|
||||
if(!(get_dir(user, on_wall) in GLOB.cardinal))
|
||||
to_chat(user, "<span class='warning'>You need to be standing next to a wall to place \the [src].</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to be standing next to a wall to place \the [src]."))
|
||||
return
|
||||
return TRUE
|
||||
|
||||
@@ -729,13 +729,13 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0
|
||||
return
|
||||
var/turf/T = get_turf(user)
|
||||
if(!T)
|
||||
to_chat(user, "<span class='warning'>You can't build that here!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't build that here!"))
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] begins assembling a new [result_name].</span>",
|
||||
"<span class='notice'>You begin assembling a new [result_name].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] begins assembling a new [result_name]."),
|
||||
SPAN_NOTICE("You begin assembling a new [result_name]."))
|
||||
if(do_after(user, 3 SECONDS, target = user))
|
||||
user.visible_message("<span class='notice'>[user] finishes building a new [result_name]!</span>",
|
||||
"<span class='notice'>You finish building a new [result_name]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] finishes building a new [result_name]!"),
|
||||
SPAN_NOTICE("You finish building a new [result_name]!"))
|
||||
var/obj/structure/S = new result(T)
|
||||
S.anchored = FALSE
|
||||
S.dir = user.dir
|
||||
|
||||
@@ -32,20 +32,20 @@
|
||||
switch(state)
|
||||
if(EMPTY_ASSEMBLY)
|
||||
if(anchored)
|
||||
. += "<span class='notice'>The anchoring bolts are <b>wrenched</b> in place, but the maintenance panel lacks <i>wiring</i>.</span>"
|
||||
. += SPAN_NOTICE("The anchoring bolts are <b>wrenched</b> in place, but the maintenance panel lacks <i>wiring</i>.")
|
||||
else
|
||||
. += "<span class='notice'>The assembly is <b>welded together</b>, but the anchoring bolts are <i>unwrenched</i>.</span>"
|
||||
. += SPAN_NOTICE("The assembly is <b>welded together</b>, but the anchoring bolts are <i>unwrenched</i>.")
|
||||
if(!secure)
|
||||
. += "<span class='notice'>The frame has <i>empty</i> slots for <i>plasteel reinforcements</i>.</span>"
|
||||
. += SPAN_NOTICE("The frame has <i>empty</i> slots for <i>plasteel reinforcements</i>.")
|
||||
if(WIRED_ASSEMBLY)
|
||||
if(electronics)
|
||||
. += "<span class='notice'>The circuit is <b>connected</b> to its slot, but the windoor is not <i>lifted into the frame</i>.</span>"
|
||||
. += "<span class='notice'>The assembly has its electrochromic panel <b>[polarized_glass ? "enabled" : "disabled"]</b> and can be <i>configured</i>.</span>"
|
||||
. += SPAN_NOTICE("The circuit is <b>connected</b> to its slot, but the windoor is not <i>lifted into the frame</i>.")
|
||||
. += SPAN_NOTICE("The assembly has its electrochromic panel <b>[polarized_glass ? "enabled" : "disabled"]</b> and can be <i>configured</i>.")
|
||||
else
|
||||
. += "<span class='notice'>The maintenance panel is <b>wired</b>, but the circuit slot is <i>empty</i>.</span>"
|
||||
. += SPAN_NOTICE("The maintenance panel is <b>wired</b>, but the circuit slot is <i>empty</i>.")
|
||||
|
||||
. += "<span class='notice'><b>Alt-Click</b> to rotate it.</span>"
|
||||
. += "<span class='notice'><b>Alt-Shift-Click</b> to flip it.</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Click</b> to rotate it.")
|
||||
. += SPAN_NOTICE("<b>Alt-Shift-Click</b> to flip it.")
|
||||
|
||||
/obj/structure/windoor_assembly/Initialize(mapload, set_dir)
|
||||
. = ..()
|
||||
@@ -116,9 +116,9 @@
|
||||
if(istype(W, /obj/item/stack/sheet/plasteel) && !secure)
|
||||
var/obj/item/stack/sheet/plasteel/P = W
|
||||
if(P.get_amount() < 2)
|
||||
to_chat(user, "<span class='warning'>You need more plasteel to do this!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need more plasteel to do this!"))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start to reinforce the windoor with plasteel...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start to reinforce the windoor with plasteel..."))
|
||||
|
||||
if(do_after(user, 40 * P.toolspeed, target = src))
|
||||
if(!src || secure || P.get_amount() < 2)
|
||||
@@ -126,7 +126,7 @@
|
||||
playsound(loc, P.usesound, 100, 1)
|
||||
|
||||
P.use(2)
|
||||
to_chat(user, "<span class='notice'>You reinforce the windoor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You reinforce the windoor."))
|
||||
secure = TRUE
|
||||
if(anchored)
|
||||
name = "secure anchored windoor assembly"
|
||||
@@ -142,7 +142,7 @@
|
||||
return
|
||||
var/obj/item/stack/cable_coil/CC = W
|
||||
CC.use(1)
|
||||
to_chat(user, "<span class='notice'>You wire the windoor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You wire the windoor."))
|
||||
playsound(loc, CC.usesound, 100, 1)
|
||||
state = WIRED_ASSEMBLY
|
||||
if(secure)
|
||||
@@ -165,7 +165,7 @@
|
||||
if(!src || electronics)
|
||||
new_electronics.forceMove(loc)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You install the windoor electronics.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You install the windoor electronics."))
|
||||
name = "near finished windoor assembly"
|
||||
electronics = new_electronics
|
||||
electronics.is_installed = TRUE
|
||||
@@ -188,7 +188,7 @@
|
||||
return
|
||||
. = TRUE
|
||||
if(!electronics)
|
||||
to_chat(user, "<span class='warning'>[src] is missing electronics!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is missing electronics!"))
|
||||
return
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
@@ -203,7 +203,7 @@
|
||||
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."))
|
||||
var/obj/machinery/door/window/windoor
|
||||
if(secure)
|
||||
windoor = new /obj/machinery/door/window/brigdoor(src.loc)
|
||||
@@ -247,7 +247,7 @@
|
||||
user.visible_message("[user] removes the electronics from the windoor assembly.", "You start to uninstall the electronics from the windoor assembly...")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
|
||||
name = "wired windoor assembly"
|
||||
var/obj/item/airlock_electronics/ae
|
||||
ae = electronics
|
||||
@@ -264,7 +264,7 @@
|
||||
user.visible_message("[user] cuts the wires from the windoor assembly.", "You start to cut the wires from windoor assembly...")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != WIRED_ASSEMBLY)
|
||||
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)
|
||||
state = EMPTY_ASSEMBLY
|
||||
if(secure)
|
||||
@@ -282,7 +282,7 @@
|
||||
if(!anchored) //Wrenching an unsecure assembly anchors it in place. Step 4 complete
|
||||
for(var/obj/machinery/door/window/WD in loc)
|
||||
if(WD.dir == dir)
|
||||
to_chat(user, "<span class='warning'>There is already a windoor in that location!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a windoor in that location!"))
|
||||
return
|
||||
user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor...")
|
||||
|
||||
@@ -290,9 +290,9 @@
|
||||
return
|
||||
for(var/obj/machinery/door/window/WD in loc)
|
||||
if(WD.dir == dir)
|
||||
to_chat(user, "<span class='warning'>There is already a windoor in that location!</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a windoor in that location!"))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You secure the windoor assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You secure the windoor assembly."))
|
||||
anchored = TRUE
|
||||
if(secure)
|
||||
name = "secure anchored windoor assembly"
|
||||
@@ -303,7 +303,7 @@
|
||||
user.visible_message("[user] unsecures the windoor assembly from the floor.", "You start to unsecure the windoor assembly from the floor...")
|
||||
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || !anchored || state != EMPTY_ASSEMBLY)
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You unsecure the windoor assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You unsecure the windoor assembly."))
|
||||
anchored = FALSE
|
||||
if(secure)
|
||||
name = "secure windoor assembly"
|
||||
@@ -333,7 +333,7 @@
|
||||
return
|
||||
. = TRUE
|
||||
if(!electronics)
|
||||
to_chat(user, "<span class='warning'>[src] is missing electronics!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is missing electronics!"))
|
||||
return
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
@@ -343,7 +343,7 @@
|
||||
|
||||
polarized_glass = !polarized_glass
|
||||
|
||||
to_chat(user, "<span class='notice'>You [polarized_glass ? "enable" : "disable"] the electrochromic panel in the windoor assembly.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [polarized_glass ? "enable" : "disable"] the electrochromic panel in the windoor assembly."))
|
||||
|
||||
|
||||
/obj/structure/windoor_assembly/AltClick(mob/user)
|
||||
@@ -351,12 +351,12 @@
|
||||
return
|
||||
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>[src] cannot be rotated while it is fastened to the floor!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!"))
|
||||
return
|
||||
var/target_dir = turn(dir, 90)
|
||||
|
||||
if(!valid_window_location(loc, target_dir))
|
||||
to_chat(user, "<span class='warning'>[src] cannot be rotated in that direction!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] cannot be rotated in that direction!"))
|
||||
return
|
||||
|
||||
setDir(target_dir)
|
||||
|
||||
@@ -51,20 +51,20 @@
|
||||
. = ..()
|
||||
if(reinf)
|
||||
if(anchored && state == WINDOW_SCREWED_TO_FRAME)
|
||||
. += "<span class='notice'>The window is <b>screwed</b> to the frame.</span>"
|
||||
. += SPAN_NOTICE("The window is <b>screwed</b> to the frame.")
|
||||
else if(anchored && state == WINDOW_IN_FRAME)
|
||||
. += "<span class='notice'>The window is <i>unscrewed</i> but <b>pried</b> into the frame.</span>"
|
||||
. += SPAN_NOTICE("The window is <i>unscrewed</i> but <b>pried</b> into the frame.")
|
||||
else if(anchored && state == WINDOW_OUT_OF_FRAME)
|
||||
. += "<span class='notice'>The window is out of the frame, but could be <i>pried</i> in. It is <b>screwed</b> to the floor.</span>"
|
||||
. += SPAN_NOTICE("The window is out of the frame, but could be <i>pried</i> in. It is <b>screwed</b> to the floor.")
|
||||
else if(!anchored)
|
||||
. += "<span class='notice'>The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.</span>"
|
||||
. += SPAN_NOTICE("The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.")
|
||||
else
|
||||
if(anchored)
|
||||
. += "<span class='notice'>The window is <b>screwed</b> to the floor.</span>"
|
||||
. += SPAN_NOTICE("The window is <b>screwed</b> to the floor.")
|
||||
else
|
||||
. += "<span class='notice'>The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.</span>"
|
||||
. += SPAN_NOTICE("The window is <i>unscrewed</i> from the floor, and could be deconstructed by <b>wrenching</b>.")
|
||||
if(!anchored && !fulltile)
|
||||
. += "<span class='notice'><b>Alt-Click</b> to rotate it.</span>"
|
||||
. += SPAN_NOTICE("<b>Alt-Click</b> to rotate it.")
|
||||
|
||||
/obj/structure/window/Initialize(mapload, direct)
|
||||
. = ..()
|
||||
@@ -166,7 +166,7 @@
|
||||
|
||||
/obj/structure/window/attack_tk(mob/user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='notice'>Something knocks on [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("Something knocks on [src]."))
|
||||
add_fingerprint(user)
|
||||
playsound(src, 'sound/effects/glassknock.ogg', 50, 1)
|
||||
|
||||
@@ -181,8 +181,8 @@
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
playsound(src, 'sound/effects/glassbang.ogg', 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] bangs against [src]!</span>", \
|
||||
"<span class='warning'>You bang against [src]!</span>", \
|
||||
user.visible_message(SPAN_WARNING("[user] bangs against [src]!"), \
|
||||
SPAN_WARNING("You bang against [src]!"), \
|
||||
"You hear a banging sound.")
|
||||
add_fingerprint(user)
|
||||
else
|
||||
@@ -203,7 +203,7 @@
|
||||
. = ..()
|
||||
if(. && M.environment_smash >= env_smash_level)
|
||||
deconstruct(FALSE)
|
||||
M.visible_message("<span class='danger'>[M] smashes through [src]!</span>", "<span class='warning'>You smash through [src].</span>", "<span class='warning'>You hear glass breaking.</span>")
|
||||
M.visible_message(SPAN_DANGER("[M] smashes through [src]!"), SPAN_WARNING("You smash through [src]."), SPAN_WARNING("You hear glass breaking."))
|
||||
|
||||
/obj/structure/window/handle_basic_attack(mob/living/basic/attacker, modifiers)
|
||||
if(!can_be_reached(attacker))
|
||||
@@ -211,7 +211,7 @@
|
||||
. = ..()
|
||||
if(. && attacker.environment_smash >= env_smash_level)
|
||||
deconstruct(FALSE)
|
||||
attacker.visible_message("<span class='danger'>[attacker] smashes through [src]!</span>", "<span class='warning'>You smash through [src].</span>", "<span class='warning'>You hear glass breaking.</span>")
|
||||
attacker.visible_message(SPAN_DANGER("[attacker] smashes through [src]!"), SPAN_WARNING("You smash through [src]."), SPAN_WARNING("You hear glass breaking."))
|
||||
|
||||
/obj/structure/window/item_interaction(mob/living/user, obj/item/I, list/modifiers)
|
||||
. = ITEM_INTERACT_COMPLETE
|
||||
@@ -223,7 +223,7 @@
|
||||
for(var/obj/structure/grille/G in get_turf(src))
|
||||
if(!G.broken)
|
||||
continue
|
||||
to_chat(user, "<span class='notice'>You start rebuilding the broken grille.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start rebuilding the broken grille."))
|
||||
if(do_after(user, 4 SECONDS, FALSE, G))
|
||||
G.repair(user, I)
|
||||
|
||||
@@ -235,22 +235,22 @@
|
||||
qdel(I) //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)
|
||||
take_damage(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(2 SECONDS)
|
||||
M.apply_damage(10)
|
||||
take_damage(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(10 SECONDS)
|
||||
M.apply_damage(20)
|
||||
take_damage(50)
|
||||
if(4)
|
||||
visible_message("<span class='danger'><big>[user] smashes [M] against \the [src]!</big></span>")
|
||||
visible_message(SPAN_DANGER("<big>[user] smashes [M] against \the [src]!</big>"))
|
||||
M.Weaken(10 SECONDS)
|
||||
M.apply_damage(30)
|
||||
take_damage(75)
|
||||
@@ -271,11 +271,11 @@
|
||||
if(!can_be_reached(user))
|
||||
return
|
||||
if(decon_speed) // Only show this if it actually takes time
|
||||
to_chat(user, "<span class='notice'>You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame..."))
|
||||
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
|
||||
return
|
||||
state = (state == WINDOW_OUT_OF_FRAME ? WINDOW_IN_FRAME : WINDOW_OUT_OF_FRAME)
|
||||
to_chat(user, "<span class='notice'>You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame."))
|
||||
|
||||
/obj/structure/window/screwdriver_act(mob/user, obj/item/I)
|
||||
if(flags & NODECONSTRUCT)
|
||||
@@ -286,31 +286,31 @@
|
||||
if(reinf)
|
||||
if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME)
|
||||
if(decon_speed)
|
||||
to_chat(user, "<span class='notice'>You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame..."))
|
||||
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
|
||||
return
|
||||
state = (state == WINDOW_IN_FRAME ? WINDOW_SCREWED_TO_FRAME : WINDOW_IN_FRAME)
|
||||
to_chat(user, "<span class='notice'>You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame."))
|
||||
|
||||
else if(state == WINDOW_OUT_OF_FRAME)
|
||||
if(decon_speed)
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor..."))
|
||||
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
|
||||
return
|
||||
anchored = !anchored
|
||||
recalculate_atmos_connectivity()
|
||||
update_nearby_icons()
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor."))
|
||||
|
||||
else //if we're not reinforced, we don't need to check or update state
|
||||
if(decon_speed)
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor..."))
|
||||
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
|
||||
return
|
||||
anchored = !anchored
|
||||
recalculate_atmos_connectivity()
|
||||
update_nearby_icons()
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "fasten the window to":"unfasten the window from"] the floor.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the window to":"unfasten the window from"] the floor."))
|
||||
|
||||
/obj/structure/window/wrench_act(mob/user, obj/item/I)
|
||||
if(flags & NODECONSTRUCT)
|
||||
@@ -327,7 +327,7 @@
|
||||
var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount)
|
||||
G.add_fingerprint(user)
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You successfully disassemble [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You successfully disassemble [src]."))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/window/welder_act(mob/user, obj/item/I)
|
||||
@@ -337,7 +337,7 @@
|
||||
if(!can_be_reached(user))
|
||||
return
|
||||
if(obj_integrity >= max_integrity)
|
||||
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
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
@@ -413,7 +413,7 @@
|
||||
return
|
||||
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>[src] cannot be rotated while it is fastened to the floor!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!"))
|
||||
return FALSE
|
||||
|
||||
var/target_dir = turn(dir, 270)
|
||||
@@ -421,7 +421,7 @@
|
||||
if(!valid_window_location(loc, target_dir))
|
||||
target_dir = turn(dir, 90)
|
||||
if(!valid_window_location(loc, target_dir))
|
||||
to_chat(user, "<span class='warning'>There is no room to rotate [src].</span>")
|
||||
to_chat(user, SPAN_WARNING("There is no room to rotate [src]."))
|
||||
return FALSE
|
||||
|
||||
setDir(target_dir)
|
||||
@@ -599,7 +599,7 @@
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] starts unwrenching [src] from the wall...</span>", "<span class='notice'>You are unwrenching [src] from the wall...</span>", "<span class='warning'>You hear ratcheting.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting."))
|
||||
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
|
||||
return
|
||||
WRENCH_UNANCHOR_WALL_MESSAGE
|
||||
|
||||
Reference in New Issue
Block a user