mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +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:
@@ -20,18 +20,18 @@
|
||||
|
||||
/obj/structure/closet/crate/secure/loot/attack_hand(mob/user)
|
||||
if(locked)
|
||||
to_chat(user, "<span class='notice'>The crate is locked with a Deca-code lock.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The crate is locked with a Deca-code lock."))
|
||||
var/input = clean_input("Enter [codelen] digits.", "Deca-Code Lock", "")
|
||||
if(in_range(src, user))
|
||||
if(input == code)
|
||||
to_chat(user, "<span class='notice'>The crate unlocks!</span>")
|
||||
to_chat(user, SPAN_NOTICE("The crate unlocks!"))
|
||||
locked = FALSE
|
||||
overlays.Cut()
|
||||
overlays += "securecrateg"
|
||||
else if(input == null || length(input) != codelen)
|
||||
to_chat(user, "<span class='notice'>You leave the crate alone.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You leave the crate alone."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>A red light flashes.</span>")
|
||||
to_chat(user, SPAN_WARNING("A red light flashes."))
|
||||
lastattempt = input
|
||||
attempts--
|
||||
if(attempts == 0)
|
||||
@@ -45,11 +45,11 @@
|
||||
boom(user)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(istype(W, /obj/item/multitool))
|
||||
to_chat(user, "<span class='notice'>DECA-CODE LOCK REPORT:</span>")
|
||||
to_chat(user, SPAN_NOTICE("DECA-CODE LOCK REPORT:"))
|
||||
if(attempts == 1)
|
||||
to_chat(user, "<span class='warning'>* Anti-Tamper Bomb will activate on next failed access attempt.</span>")
|
||||
to_chat(user, SPAN_WARNING("* Anti-Tamper Bomb will activate on next failed access attempt."))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>* Anti-Tamper Bomb will activate after [attempts] failed access attempts.</span>")
|
||||
to_chat(user, SPAN_NOTICE("* Anti-Tamper Bomb will activate after [attempts] failed access attempts."))
|
||||
if(lastattempt != null)
|
||||
var/bulls = 0
|
||||
var/cows = 0
|
||||
@@ -66,7 +66,7 @@
|
||||
else
|
||||
++cows
|
||||
|
||||
to_chat(user, "<span class='notice'>Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Last code attempt had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -11,20 +11,20 @@
|
||||
|
||||
/obj/item/bridge_capsule/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>To use, activate it in-hand and throw it between the middle of the two areas you are trying to bridge.</span>"
|
||||
. += "<span class='notice'>For best results, ensure the land on both sides of the span are smooth.</span>"
|
||||
. += SPAN_NOTICE("To use, activate it in-hand and throw it between the middle of the two areas you are trying to bridge.")
|
||||
. += SPAN_NOTICE("For best results, ensure the land on both sides of the span are smooth.")
|
||||
|
||||
/obj/item/bridge_capsule/throw_at(atom/target, range, speed, mob/thrower, spin, diagonals_first, datum/callback/callback, force, dodgeable)
|
||||
. = ..()
|
||||
if(used)
|
||||
ADD_TRAIT(src, TRAIT_FLYING, "[UID()]")
|
||||
thrown_dir = get_dir(thrower, target)
|
||||
to_chat(thrower, "<span class='notice'>[src] hovers above the ground as it prepares to deploy...</span>")
|
||||
to_chat(thrower, SPAN_NOTICE("[src] hovers above the ground as it prepares to deploy..."))
|
||||
|
||||
/obj/item/bridge_capsule/activate_self(mob/user)
|
||||
. = ..()
|
||||
if(!used)
|
||||
loc.visible_message("<span class='warning'>[src] begins to shake. Stand back!</span>")
|
||||
loc.visible_message(SPAN_WARNING("[src] begins to shake. Stand back!"))
|
||||
used = TRUE
|
||||
addtimer(CALLBACK(src, PROC_REF(deploy)), 5 SECONDS)
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
|
||||
/obj/item/bridge_capsule/proc/deploy()
|
||||
if(ismob(loc))
|
||||
to_chat(loc, "<span class='notice'>[src] stops shaking. Looks like it needs to be thrown to deploy.</span>")
|
||||
to_chat(loc, SPAN_NOTICE("[src] stops shaking. Looks like it needs to be thrown to deploy."))
|
||||
used = FALSE
|
||||
return
|
||||
|
||||
if(istype(loc, SSmapping.lavaland_theme?.primary_turf_type))
|
||||
loc.visible_message("<span class='warning'>[src] suddenly bursts!</span>")
|
||||
loc.visible_message(SPAN_WARNING("[src] suddenly bursts!"))
|
||||
var/obj/effect/spawner/dynamic_bridge/capsule/spawner = new(loc, thrown_dir)
|
||||
var/result = spawner.attempt_bridge()
|
||||
var/fail_message = "[src] buzzes loudly and falls to the ground!"
|
||||
@@ -47,20 +47,20 @@
|
||||
if(BRIDGE_SPAWN_SUCCESS)
|
||||
qdel(src)
|
||||
if(BRIDGE_SPAWN_BAD_TERRAIN)
|
||||
loc.visible_message("<span class='warning'>[fail_message] It looks like the terrain here is too uneven for a bridge.</span>")
|
||||
loc.visible_message(SPAN_WARNING("[fail_message] It looks like the terrain here is too uneven for a bridge."))
|
||||
stop_flying()
|
||||
if(BRIDGE_SPAWN_TOO_NARROW)
|
||||
loc.visible_message("<span class='warning'>[fail_message] It looks like the span here is too narrow.</span>")
|
||||
loc.visible_message(SPAN_WARNING("[fail_message] It looks like the span here is too narrow."))
|
||||
stop_flying()
|
||||
if(BRIDGE_SPAWN_TOO_WIDE)
|
||||
loc.visible_message("<span class='warning'>[fail_message] It looks like the span here is too wide.</span>")
|
||||
loc.visible_message(SPAN_WARNING("[fail_message] It looks like the span here is too wide."))
|
||||
stop_flying()
|
||||
|
||||
qdel(spawner)
|
||||
return
|
||||
|
||||
stop_flying()
|
||||
to_chat(loc, "<span class='notice'>[src] flutters to the ground, refusing to deploy. Maybe you can't do that here?</span>")
|
||||
to_chat(loc, SPAN_NOTICE("[src] flutters to the ground, refusing to deploy. Maybe you can't do that here?"))
|
||||
|
||||
/obj/item/bridge_capsule/proc/stop_flying()
|
||||
REMOVE_TRAIT(src, TRAIT_FLYING, "[UID()]")
|
||||
|
||||
@@ -73,9 +73,9 @@
|
||||
var/mob/living/carbon/C = loc
|
||||
if(istype(C) && prob(2)) //cursed by bubblegum
|
||||
if(prob(15))
|
||||
to_chat(C, "<span class='colossus'><b>[pick("I AM IMMORTAL.","I SHALL TAKE BACK WHAT'S MINE.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","DEATH CANNOT HOLD ME.")]</b></span>")
|
||||
to_chat(C, SPAN_COLOSSUS("<b>[pick("I AM IMMORTAL.","I SHALL TAKE BACK WHAT'S MINE.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","DEATH CANNOT HOLD ME.")]</b>"))
|
||||
else
|
||||
to_chat(C, "<span class='warning'>[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]</span>")
|
||||
to_chat(C, SPAN_WARNING("[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]"))
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hostile_environment
|
||||
name = "H.E.C.K. helmet"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE)
|
||||
for(var/mob/living/simple_animal/hostile/megafauna/M in range(7, src))
|
||||
M.enrage()
|
||||
visible_message("<span class='userdanger'>[M] begins to wake up as the nanomachines enter them, it looks pissed!</span>")
|
||||
visible_message(SPAN_USERDANGER("[M] begins to wake up as the nanomachines enter them, it looks pissed!"))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/paper/hardmode
|
||||
|
||||
@@ -48,13 +48,13 @@
|
||||
|
||||
/obj/item/kinetic_crusher/examine(mob/living/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Mark a large creature with the destabilizing force, then hit them in melee to do <b>[force + detonation_damage]</b> damage.</span>"
|
||||
. += "<span class='notice'>Does <b>[force + detonation_damage + backstab_bonus]</b> damage if the target is backstabbed, instead of <b>[force + detonation_damage]</b>.</span>"
|
||||
. += SPAN_NOTICE("Mark a large creature with the destabilizing force, then hit them in melee to do <b>[force + detonation_damage]</b> damage.")
|
||||
. += SPAN_NOTICE("Does <b>[force + detonation_damage + backstab_bonus]</b> damage if the target is backstabbed, instead of <b>[force + detonation_damage]</b>.")
|
||||
if(length(trophies))
|
||||
. += "<span class='notice'>You can use a crowbar on it to remove its attached trophies.</span>"
|
||||
. += SPAN_NOTICE("You can use a crowbar on it to remove its attached trophies.")
|
||||
for(var/t in trophies)
|
||||
var/obj/item/crusher_trophy/T = t
|
||||
. += "<span class='notice'>It has \a [T] attached, which causes [T.effect_desc()].</span>"
|
||||
. += SPAN_NOTICE("It has \a [T] attached, which causes [T.effect_desc()].")
|
||||
|
||||
/obj/item/kinetic_crusher/attackby__legacy__attackchain(obj/item/I, mob/living/user)
|
||||
if(istype(I, /obj/item/crusher_trophy))
|
||||
@@ -68,16 +68,16 @@
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
if(LAZYLEN(trophies))
|
||||
to_chat(user, "<span class='notice'>You remove [src]'s trophies.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You remove [src]'s trophies."))
|
||||
for(var/t in trophies)
|
||||
var/obj/item/crusher_trophy/T = t
|
||||
T.remove_from(src, user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There are no trophies on [src].</span>")
|
||||
to_chat(user, SPAN_WARNING("There are no trophies on [src]."))
|
||||
|
||||
/obj/item/kinetic_crusher/attack__legacy__attackchain(mob/living/target, mob/living/carbon/user)
|
||||
if(!HAS_TRAIT(src, TRAIT_WIELDED))
|
||||
to_chat(user, "<span class='warning'>[src] is too heavy to use with one hand. You fumble and drop everything.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is too heavy to use with one hand. You fumble and drop everything."))
|
||||
user.drop_r_hand()
|
||||
user.drop_l_hand()
|
||||
return
|
||||
@@ -113,9 +113,9 @@
|
||||
if(user.has_status_effect(STATUS_EFFECT_DASH) && user.a_intent == INTENT_HELP)
|
||||
if(user.throw_at(target, range = 3, speed = 3, spin = FALSE, diagonals_first = TRUE))
|
||||
playsound(src, 'sound/effects/stealthoff.ogg', 50, TRUE, 1)
|
||||
user.visible_message("<span class='warning'>[user] dashes!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] dashes!"))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Something prevents you from dashing!</span>")
|
||||
to_chat(user, SPAN_WARNING("Something prevents you from dashing!"))
|
||||
user.remove_status_effect(STATUS_EFFECT_DASH)
|
||||
return
|
||||
if(!proximity_flag && charged)//Mark a target, or mine a tile.
|
||||
@@ -189,7 +189,7 @@
|
||||
/obj/item/kinetic_crusher/extinguish_light()
|
||||
if(light_on)
|
||||
toggle_light()
|
||||
visible_message("<span class='danger'>[src]'s light fades and turns off.</span>")
|
||||
visible_message(SPAN_DANGER("[src]'s light fades and turns off."))
|
||||
|
||||
/obj/item/kinetic_crusher/update_icon_state()
|
||||
inhand_icon_state = "[icon_state][HAS_TRAIT(src, TRAIT_WIELDED)]"
|
||||
@@ -229,7 +229,7 @@
|
||||
var/target_turf = get_turf(target)
|
||||
if(ismineralturf(target_turf))
|
||||
if(is_ancient_rock(target_turf))
|
||||
visible_message("<span class='notice'>This rock appears to be resistant to all mining tools except pickaxes!</span>")
|
||||
visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!"))
|
||||
else
|
||||
var/turf/simulated/mineral/M = target_turf
|
||||
new /obj/effect/temp_visual/kinetic_blast(M)
|
||||
@@ -247,7 +247,7 @@
|
||||
|
||||
/obj/item/crusher_trophy/examine(mob/living/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Causes [effect_desc()] when attached to a kinetic crusher.</span>"
|
||||
. += SPAN_NOTICE("Causes [effect_desc()] when attached to a kinetic crusher.")
|
||||
|
||||
/obj/item/crusher_trophy/proc/effect_desc()
|
||||
return "errors"
|
||||
@@ -262,13 +262,13 @@
|
||||
for(var/t in H.trophies)
|
||||
var/obj/item/crusher_trophy/T = t
|
||||
if(istype(T, denied_type) || istype(src, T.denied_type))
|
||||
to_chat(user, "<span class='warning'>You can't seem to attach [src] to [H]. Maybe remove a few trophies?</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't seem to attach [src] to [H]. Maybe remove a few trophies?"))
|
||||
return FALSE
|
||||
if(!user.unequip(src))
|
||||
return
|
||||
forceMove(H)
|
||||
H.trophies += src
|
||||
to_chat(user, "<span class='notice'>You attach [src] to [H].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You attach [src] to [H]."))
|
||||
return TRUE
|
||||
|
||||
/obj/item/crusher_trophy/proc/remove_from(obj/item/kinetic_crusher/H, mob/living/user)
|
||||
|
||||
@@ -20,15 +20,15 @@
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
if(L.stat != DEAD)
|
||||
to_chat(user, "<span class='notice'>[src] is only effective on the dead.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] is only effective on the dead."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!isanimal_or_basicmob(target))
|
||||
to_chat(user, "<span class='notice'>[src] is only effective on lesser beings.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] is only effective on lesser beings."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(isanimal(target))
|
||||
var/mob/living/simple_animal/M = target
|
||||
if(M.sentience_type != revive_type)
|
||||
to_chat(user, "<span class='notice'>[src] does not work on this sort of creature.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] does not work on this sort of creature."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
M.lazarus_revive(user, malfunctioning)
|
||||
if(ishostile(target)) // Handling for simple mobs to make them not angry anymore
|
||||
@@ -46,11 +46,11 @@
|
||||
if(isbasicmob(target))
|
||||
var/mob/living/basic/M = target
|
||||
if(M.sentience_type != revive_type)
|
||||
to_chat(user, "<span class='notice'>[src] does not work on this sort of creature.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] does not work on this sort of creature."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
M.lazarus_revive(user, malfunctioning)
|
||||
loaded = 0
|
||||
user.visible_message("<span class='notice'>[user] injects [target] with [src], reviving it.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] injects [target] with [src], reviving it."))
|
||||
playsound(src,'sound/effects/refill.ogg', 50, TRUE)
|
||||
icon_state = "lazarus_empty"
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
@@ -58,7 +58,7 @@
|
||||
/obj/item/lazarus_injector/emag_act(mob/user)
|
||||
if(!malfunctioning)
|
||||
malfunctioning = 1
|
||||
to_chat(user, "<span class='notice'>You override [src]'s safety protocols.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You override [src]'s safety protocols."))
|
||||
return TRUE
|
||||
|
||||
/obj/item/lazarus_injector/emp_act()
|
||||
@@ -68,9 +68,9 @@
|
||||
/obj/item/lazarus_injector/examine(mob/user)
|
||||
. = ..()
|
||||
if(!loaded)
|
||||
. += "<span class='notice'>[src] is empty.</span>"
|
||||
. += SPAN_NOTICE("[src] is empty.")
|
||||
if(malfunctioning)
|
||||
. += "<span class='notice'>The display on [src] seems to be flickering.</span>"
|
||||
. += SPAN_NOTICE("The display on [src] seems to be flickering.")
|
||||
|
||||
/*********************Mob Capsule*************************/
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
|
||||
/obj/item/mobcapsule/proc/capture(mob/living/animal, mob/living/user)
|
||||
if(captured)
|
||||
to_chat(user, "<span class='notice'>Capture failed!</span>: The capsule already has a mob registered to it!")
|
||||
to_chat(user, "[SPAN_NOTICE("Capture failed!")]: The capsule already has a mob registered to it!")
|
||||
else
|
||||
if("neutral" in animal.faction)
|
||||
animal.forceMove(src)
|
||||
@@ -118,7 +118,7 @@
|
||||
animal.name = "[user.name]'s [initial(animal.name)]"
|
||||
name = "Lazarus Capsule: [initial(animal.name)]"
|
||||
animal.cancel_camera()
|
||||
to_chat(user, "<span class='notice'>You placed a [animal.name] inside the Lazarus Capsule!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You placed a [animal.name] inside the Lazarus Capsule!"))
|
||||
captured = animal
|
||||
else
|
||||
to_chat(user, "You can't capture that mob!")
|
||||
|
||||
@@ -41,21 +41,21 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
|
||||
|
||||
/obj/item/stack/marker_beacon/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Use in-hand to place a [singular_name].</span>"
|
||||
. += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>"
|
||||
. += SPAN_NOTICE("Use in-hand to place a [singular_name].")
|
||||
. += SPAN_NOTICE("Alt-click to select a color. Current color is [picked_color].")
|
||||
|
||||
/obj/item/stack/marker_beacon/update_icon_state()
|
||||
icon_state = "[base_icon_state][lowertext(picked_color)]"
|
||||
|
||||
/obj/item/stack/marker_beacon/attack_self__legacy__attackchain(mob/user)
|
||||
if(!isturf(user.loc))
|
||||
to_chat(user, "<span class='warning'>You need more space to place a [singular_name] here.</span>")
|
||||
to_chat(user, SPAN_WARNING("You need more space to place a [singular_name] here."))
|
||||
return
|
||||
if(locate(/obj/structure/marker_beacon) in user.loc)
|
||||
to_chat(user, "<span class='warning'>There is already a [singular_name] here.</span>")
|
||||
to_chat(user, SPAN_WARNING("There is already a [singular_name] here."))
|
||||
return
|
||||
if(use(1))
|
||||
to_chat(user, "<span class='notice'>You activate and anchor [amount ? "a":"the"] [singular_name] in place.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You activate and anchor [amount ? "a":"the"] [singular_name] in place."))
|
||||
playsound(user, 'sound/machines/click.ogg', 50, 1)
|
||||
var/obj/structure/marker_beacon/M = new(user.loc, picked_color)
|
||||
transfer_fingerprints_to(M)
|
||||
@@ -100,7 +100,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
|
||||
/obj/structure/marker_beacon/examine(mob/user)
|
||||
. = ..()
|
||||
if(picked_color)
|
||||
. += "<span class='notice'>Alt-click to select a color. Current color is [picked_color].</span>"
|
||||
. += SPAN_NOTICE("Alt-click to select a color. Current color is [picked_color].")
|
||||
|
||||
/obj/structure/marker_beacon/update_icon_state()
|
||||
while(!picked_color || !GLOB.marker_beacon_colors[picked_color])
|
||||
@@ -113,9 +113,9 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
|
||||
if(.)
|
||||
return
|
||||
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
|
||||
to_chat(user, "<span class='notice'>You start picking [src] up...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start picking [src] up..."))
|
||||
if(do_after(user, remove_speed, target = src))
|
||||
var/obj/item/stack/marker_beacon/M = new(loc)
|
||||
M.picked_color = picked_color
|
||||
@@ -128,7 +128,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, list(
|
||||
/obj/structure/marker_beacon/item_interaction(mob/living/user, obj/item/I, list/modifiers)
|
||||
if(istype(I, /obj/item/stack/marker_beacon))
|
||||
var/obj/item/stack/marker_beacon/M = I
|
||||
to_chat(user, "<span class='notice'>You start picking [src] up...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start picking [src] up..."))
|
||||
if(do_after(user, remove_speed, target = src) && M.amount + 1 <= M.max_amount)
|
||||
M.add(1)
|
||||
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
|
||||
@@ -22,9 +22,9 @@
|
||||
/obj/item/grenade/plastic/miningcharge/examine(mob/user)
|
||||
. = ..()
|
||||
if(hacked)
|
||||
. += "<span class='warning'>Its wiring is haphazardly changed.</span>"
|
||||
. += SPAN_WARNING("Its wiring is haphazardly changed.")
|
||||
if(timer_off)
|
||||
. += "<span class='notice'>The mining charge is connected to a detonator.</span>"
|
||||
. += SPAN_NOTICE("The mining charge is connected to a detonator.")
|
||||
|
||||
/obj/item/grenade/plastic/miningcharge/attack_self__legacy__attackchain(mob/user)
|
||||
if(nadeassembly)
|
||||
@@ -34,7 +34,7 @@
|
||||
if(!ismineralturf(AM) && !hacked)
|
||||
return
|
||||
if(is_ancient_rock(AM) && !hacked)
|
||||
to_chat(user, "<span class='notice'>This rock appears to be resistant to all mining tools except pickaxes!</span>")
|
||||
to_chat(user, SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!"))
|
||||
return
|
||||
if(!timer_off) //override original proc for plastic explosions
|
||||
return ..()
|
||||
@@ -42,7 +42,7 @@
|
||||
return
|
||||
if(iscarbon(AM))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start planting [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start planting [src]."))
|
||||
if(!do_after(user, (2.5 SECONDS) * toolspeed, target = AM))
|
||||
return
|
||||
if(!user.unequip(src))
|
||||
@@ -60,11 +60,11 @@
|
||||
return
|
||||
var/obj/item/detonator/detonator = I
|
||||
if((src in detonator.bombs) || timer_off)
|
||||
to_chat(user, "<span class='warning'>[src] was already synchronized to a existing detonator!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] was already synchronized to a existing detonator!"))
|
||||
return
|
||||
detonator.bombs += src
|
||||
timer_off = TRUE
|
||||
to_chat(user, "<span class='notice'>You synchronize [src] to [I].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You synchronize [src] to [I]."))
|
||||
playsound(src, 'sound/machines/twobeep.ogg', 50)
|
||||
detonator.update_icon()
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
var/obj/item/organ/internal/ears/ears = C.get_int_organ(/obj/item/organ/internal/ears)
|
||||
if(istype(ears) && C.check_ear_prot() < HEARING_PROTECTION_MINOR) //headsets should be enough to avoid taking damage
|
||||
ears.receive_damage((boom_sizes[3] - distance) * 2) //something like that i guess. Mega charge makes 12 damage to ears if nearby
|
||||
to_chat(C, "<span class='userdanger'>You are knocked down by the power of the mining charge!</span>")
|
||||
to_chat(C, SPAN_USERDANGER("You are knocked down by the power of the mining charge!"))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/grenade/plastic/miningcharge/proc/explode()
|
||||
@@ -155,24 +155,24 @@
|
||||
|
||||
/obj/item/t_scanner/adv_mining_scanner/syndicate/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>This scanner has an extra port for overriding mining charge safeties.</span>"
|
||||
. += SPAN_NOTICE("This scanner has an extra port for overriding mining charge safeties.")
|
||||
|
||||
/obj/item/t_scanner/adv_mining_scanner/syndicate/afterattack__legacy__attackchain(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
if(!istype(target, /obj/item/grenade/plastic/miningcharge))
|
||||
return
|
||||
var/obj/item/grenade/plastic/miningcharge/charge = target
|
||||
if(charge.hacked)
|
||||
to_chat(user, "<span class='notice'>[src] is already overridden!</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] is already overridden!"))
|
||||
return
|
||||
if(charges <= 0)
|
||||
to_chat(user, "<span class='notice'>Its overriding function is depleted.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Its overriding function is depleted."))
|
||||
return
|
||||
charge.override_safety()
|
||||
visible_message("<span class='warning'>Sparks fly out of [src]!</span>")
|
||||
visible_message(SPAN_WARNING("Sparks fly out of [src]!"))
|
||||
playsound(src, "sparks", 50, TRUE)
|
||||
charges--
|
||||
if(charges <= 0)
|
||||
to_chat(user, "<span class='warning'>[src]'s internal battery for overriding mining charges has run dry!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src]'s internal battery for overriding mining charges has run dry!"))
|
||||
|
||||
// MINING CHARGES DETONATOR
|
||||
|
||||
@@ -189,9 +189,9 @@
|
||||
/obj/item/detonator/examine(mob/user)
|
||||
. = ..()
|
||||
if(length(bombs))
|
||||
. += "<span class='notice'>List of synched bombs:</span>"
|
||||
. += SPAN_NOTICE("List of synched bombs:")
|
||||
for(var/obj/item/grenade/plastic/miningcharge/charge in bombs)
|
||||
. += "<span class='notice'>[bicon(charge)] [charge]. Current status: [charge.installed ? "ready to detonate" : "ready to deploy"].</span>"
|
||||
. += SPAN_NOTICE("[bicon(charge)] [charge]. Current status: [charge.installed ? "ready to detonate" : "ready to deploy"].")
|
||||
|
||||
/obj/item/detonator/update_icon()
|
||||
. = ..()
|
||||
@@ -203,7 +203,7 @@
|
||||
/obj/item/detonator/attack_self__legacy__attackchain(mob/user)
|
||||
playsound(src, 'sound/items/detonator.ogg', 40)
|
||||
if(length(bombs))
|
||||
to_chat(user, "<span class='notice'>Activating explosives...</span>")
|
||||
to_chat(user, SPAN_NOTICE("Activating explosives..."))
|
||||
for(var/obj/item/grenade/plastic/miningcharge/charge in bombs)
|
||||
if(QDELETED(charge))
|
||||
bombs -= charge
|
||||
@@ -214,5 +214,5 @@
|
||||
charge.detonate()
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There are no charges linked to a detonator!</span>")
|
||||
to_chat(user, SPAN_WARNING("There are no charges linked to a detonator!"))
|
||||
return ..()
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
. = ..()
|
||||
var/obj/item/organ/internal/regenerative_core/C = M
|
||||
if(!istype(C, /obj/item/organ/internal/regenerative_core))
|
||||
to_chat(user, "<span class='warning'>The stabilizer only works on certain types of monster organs, generally regenerative in nature.</span>")
|
||||
to_chat(user, SPAN_WARNING("The stabilizer only works on certain types of monster organs, generally regenerative in nature."))
|
||||
return ..()
|
||||
|
||||
C.preserved()
|
||||
to_chat(user, "<span class='notice'>You inject [M] with the stabilizer. It will no longer go inert.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You inject [M] with the stabilizer. It will no longer go inert."))
|
||||
qdel(src)
|
||||
|
||||
/************************Hivelord core*******************/
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/item/organ/internal/regenerative_core/ui_action_click()
|
||||
if(inert)
|
||||
to_chat(owner, "<span class='notice'>[src] breaks down as it tries to activate.</span>")
|
||||
to_chat(owner, SPAN_NOTICE("[src] breaks down as it tries to activate."))
|
||||
else
|
||||
owner.revive()
|
||||
qdel(src)
|
||||
@@ -74,17 +74,17 @@
|
||||
if(ishuman(target))
|
||||
var/mob/living/carbon/human/H = target
|
||||
if(inert)
|
||||
to_chat(user, "<span class='notice'>[src] has decayed and can no longer be used to heal.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] has decayed and can no longer be used to heal."))
|
||||
return
|
||||
else
|
||||
if(H.stat == DEAD)
|
||||
to_chat(user, "<span class='notice'>[src] is useless on the dead.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] is useless on the dead."))
|
||||
return
|
||||
if(H != user)
|
||||
H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?"))
|
||||
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
|
||||
H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE, core_type)
|
||||
user.drop_item()
|
||||
@@ -102,11 +102,11 @@
|
||||
..()
|
||||
if(!preserved && !inert)
|
||||
preserved(TRUE)
|
||||
owner.visible_message("<span class='notice'>[src] stabilizes as it's inserted.</span>")
|
||||
owner.visible_message(SPAN_NOTICE("[src] stabilizes as it's inserted."))
|
||||
|
||||
/obj/item/organ/internal/regenerative_core/remove(mob/living/carbon/M, special = 0)
|
||||
if(!inert && !special)
|
||||
owner.visible_message("<span class='notice'>[src] rapidly decays as it's removed.</span>")
|
||||
owner.visible_message(SPAN_NOTICE("[src] rapidly decays as it's removed."))
|
||||
go_inert()
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@
|
||||
|
||||
/obj/item/resonator/attack_self__legacy__attackchain(mob/user)
|
||||
if(mode == RESONATOR_MODE_AUTO)
|
||||
to_chat(user, "<span class='notice'>You set the [name]'s fields to detonate only after you hit it with [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You set the [name]'s fields to detonate only after you hit it with [src]."))
|
||||
mode = RESONATOR_MODE_MANUAL
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You set [src]'s fields to detonate after 2 seconds.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You set [src]'s fields to detonate after 2 seconds."))
|
||||
mode = RESONATOR_MODE_AUTO
|
||||
|
||||
/obj/item/resonator/upgraded
|
||||
@@ -37,13 +37,13 @@
|
||||
|
||||
/obj/item/resonator/upgraded/attack_self__legacy__attackchain(mob/user)
|
||||
if(mode == RESONATOR_MODE_AUTO)
|
||||
to_chat(user, "<span class='notice'>You set [src]'s fields to detonate only after being attacked by [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You set [src]'s fields to detonate only after being attacked by [src]."))
|
||||
mode = RESONATOR_MODE_MANUAL
|
||||
else if(mode == RESONATOR_MODE_MANUAL)
|
||||
to_chat(user, "<span class='notice'>You set [src]'s fields to work as matrix traps.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You set [src]'s fields to work as matrix traps."))
|
||||
mode = RESONATOR_MODE_MATRIX
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You set [src]'s fields to detonate automatically after 2 seconds.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You set [src]'s fields to detonate automatically after 2 seconds."))
|
||||
mode = RESONATOR_MODE_AUTO
|
||||
|
||||
/obj/item/resonator/proc/create_resonance(target, mob/user)
|
||||
@@ -137,7 +137,7 @@
|
||||
var/turf/simulated/mineral/mineral_turf = src_turf
|
||||
if(is_ancient_rock(mineral_turf))
|
||||
failure_prob = 100 // rock too strong for resonance field
|
||||
visible_message("<span class='notice'>This rock appears to be resistant to all mining tools except pickaxes!</span>")
|
||||
visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!"))
|
||||
else
|
||||
mineral_turf.gets_drilled(creator)
|
||||
check_pressure(src_turf)
|
||||
@@ -145,7 +145,7 @@
|
||||
for(var/mob/living/attacked_living in src_turf)
|
||||
if(creator)
|
||||
log_attack(creator, attacked_living, "used a resonator field on", "resonator")
|
||||
to_chat(attacked_living, "<span class='danger'>[src] ruptured with you in it!</span>")
|
||||
to_chat(attacked_living, SPAN_DANGER("[src] ruptured with you in it!"))
|
||||
attacked_living.apply_damage(resonance_damage, BRUTE)
|
||||
for(var/obj/effect/temp_visual/resonance/field in orange(1, src))
|
||||
if(field.rupturing)
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
|
||||
/obj/item/survivalcapsule/emag_act()
|
||||
if(!emagged)
|
||||
to_chat(usr, "<span class='warning'>You short out the safeties, allowing it to be placed in the station sector.</span>")
|
||||
to_chat(usr, SPAN_WARNING("You short out the safeties, allowing it to be placed in the station sector."))
|
||||
emagged = TRUE
|
||||
return TRUE
|
||||
to_chat(usr, "<span class='warning'>The safeties are already shorted out!</span>")
|
||||
to_chat(usr, SPAN_WARNING("The safeties are already shorted out!"))
|
||||
|
||||
/obj/item/survivalcapsule/proc/get_template()
|
||||
if(template)
|
||||
@@ -45,24 +45,24 @@
|
||||
// Can't grab when capsule is New() because templates aren't loaded then
|
||||
get_template()
|
||||
if(!used)
|
||||
loc.visible_message("<span class='warning'>[src] begins to shake. Stand back!</span>")
|
||||
loc.visible_message(SPAN_WARNING("[src] begins to shake. Stand back!"))
|
||||
used = TRUE
|
||||
sleep(50)
|
||||
var/turf/deploy_location = get_turf(src)
|
||||
var/status = template.check_deploy(deploy_location)
|
||||
var/turf/UT = get_turf(usr)
|
||||
if((UT.z == level_name_to_num(MAIN_STATION)) && !emagged)
|
||||
to_chat(usr, "<span class='notice'>Error. Deployment was attempted on the station sector. Deployment aborted.</span>")
|
||||
to_chat(usr, SPAN_NOTICE("Error. Deployment was attempted on the station sector. Deployment aborted."))
|
||||
playsound(usr, 'sound/machines/terminal_error.ogg', 15, TRUE)
|
||||
used = FALSE
|
||||
return
|
||||
switch(status)
|
||||
if(SHELTER_DEPLOY_BAD_AREA)
|
||||
loc.visible_message("<span class='warning'>[src] will not function in this area.</span>")
|
||||
loc.visible_message(SPAN_WARNING("[src] will not function in this area."))
|
||||
if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS)
|
||||
var/width = template.width
|
||||
var/height = template.height
|
||||
loc.visible_message("<span class='warning'>[src] doesn't have room to deploy! You need to clear a [width]x[height] area!</span>")
|
||||
loc.visible_message(SPAN_WARNING("[src] doesn't have room to deploy! You need to clear a [width]x[height] area!"))
|
||||
|
||||
if(status != SHELTER_DEPLOY_ALLOWED)
|
||||
used = FALSE
|
||||
@@ -240,12 +240,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod,
|
||||
|
||||
/obj/item/gps/computer/wrench_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
user.visible_message("<span class='warning'>[user] starts to disassemble [src].</span>", \
|
||||
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
|
||||
user.visible_message(SPAN_WARNING("[user] starts to disassemble [src]."), \
|
||||
SPAN_NOTICE("You start to disassemble [src]..."), "You hear clanking and banging noises.")
|
||||
if(!I.use_tool(src, user, 2 SECONDS, 0, 50))
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] disassembles [src].</span>", \
|
||||
"<span class='notice'>You disassemble [src].</span>", "You hear clanking and banging noises.")
|
||||
user.visible_message(SPAN_WARNING("[user] disassembles [src]."), \
|
||||
SPAN_NOTICE("You disassemble [src]."), "You hear clanking and banging noises.")
|
||||
new /obj/item/gps(loc)
|
||||
qdel(src)
|
||||
|
||||
@@ -336,12 +336,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod,
|
||||
|
||||
/obj/structure/fans/wrench_act(mob/living/user, obj/item/I)
|
||||
. = TRUE
|
||||
user.visible_message("<span class='warning'>[user] starts to disassemble [src].</span>", \
|
||||
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
|
||||
user.visible_message(SPAN_WARNING("[user] starts to disassemble [src]."), \
|
||||
SPAN_NOTICE("You start to disassemble [src]..."), "You hear clanking and banging noises.")
|
||||
if(!I.use_tool(src, user, 2 SECONDS, volume = 50))
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] disassembles [src].</span>", \
|
||||
"<span class='notice'>You disassemble [src].</span>", "You hear something fall on the floor.")
|
||||
user.visible_message(SPAN_WARNING("[user] disassembles [src]."), \
|
||||
SPAN_NOTICE("You disassemble [src]."), "You hear something fall on the floor.")
|
||||
deconstruct()
|
||||
|
||||
/obj/structure/fans/tiny
|
||||
@@ -382,8 +382,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/survival_pod,
|
||||
|
||||
/obj/structure/tubes/wrench_act(mob/living/user, obj/item/W)
|
||||
. = TRUE
|
||||
user.visible_message("<span class='warning'>[user] disassembles [src].</span>", \
|
||||
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
|
||||
user.visible_message(SPAN_WARNING("[user] disassembles [src]."), \
|
||||
SPAN_NOTICE("You start to disassemble [src]..."), "You hear clanking and banging noises.")
|
||||
if(!W.use_tool(src, user, 2 SECONDS, volume = 50))
|
||||
return
|
||||
new /obj/item/stack/rods(loc)
|
||||
|
||||
@@ -16,14 +16,14 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
|
||||
/obj/item/wormhole_jaunter/attack_self__legacy__attackchain(mob/user)
|
||||
user.visible_message("<span class='notice'>[user.name] activates the [name]!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user.name] activates the [name]!"))
|
||||
activate(user, TRUE)
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/turf_check(mob/user)
|
||||
var/turf/device_turf = get_turf(user)
|
||||
var/area/our_area = get_area(device_turf)
|
||||
if(!device_turf || !is_teleport_allowed(device_turf.z) || our_area.tele_proof)
|
||||
to_chat(user, "<span class='notice'>You're having difficulties getting the [name] to work.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You're having difficulties getting the [name] to work."))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
|
||||
var/list/L = get_destinations(user)
|
||||
if(!length(L))
|
||||
to_chat(user, "<span class='notice'>[src] found no beacons in the world to anchor a wormhole to.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] found no beacons in the world to anchor a wormhole to."))
|
||||
return
|
||||
var/chosen_beacon = pick(L)
|
||||
var/obj/effect/portal/jaunt_tunnel/J = new(get_turf(src), chosen_beacon, src, 100, user)
|
||||
@@ -65,7 +65,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
/obj/item/wormhole_jaunter/emag_act(mob/user)
|
||||
if(!emagged)
|
||||
emagged = TRUE
|
||||
to_chat(user, "<span class='notice'>You emag [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You emag [src]."))
|
||||
var/turf/T = get_turf(src)
|
||||
do_sparks(5, FALSE, T)
|
||||
playsound(T, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
|
||||
@@ -104,7 +104,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
|
||||
/obj/item/wormhole_jaunter/contractor/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You can <b>Alt-Click</b> [src] to change its destination!</span>"
|
||||
. += SPAN_NOTICE("You can <b>Alt-Click</b> [src] to change its destination!")
|
||||
|
||||
/obj/item/wormhole_jaunter/contractor/AltClick(mob/user)
|
||||
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
|
||||
@@ -138,17 +138,17 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
if(!turf_check(user))
|
||||
return
|
||||
if(istype(get_area(src), /area/ruin/space/telecomms)) //It should work in the depot, because it's syndicate, but I don't want someone lighting the flare in the middle of telecomms and calling it a day.
|
||||
to_chat(user, "<span class='warning'>Error! Unknown jamming system blocking teleportation in this area!</span>")
|
||||
to_chat(user, SPAN_WARNING("Error! Unknown jamming system blocking teleportation in this area!"))
|
||||
return
|
||||
if(!destination)
|
||||
var/list/L = get_destinations(user)
|
||||
if(!length(L))
|
||||
to_chat(user, "<span class='warning'>[src] found no beacons in the sector to target.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] found no beacons in the sector to target."))
|
||||
return
|
||||
destination = pick(L)
|
||||
var/obj/effect/temp_visual/getaway_flare/F = new(get_turf(src))
|
||||
user.visible_message("<span class='notice'>[user] pulls out a black and gold flare and lights it.</span>",\
|
||||
"<span class='notice'>You light an emergency extraction flare, initiating the extraction process.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] pulls out a black and gold flare and lights it."),\
|
||||
SPAN_NOTICE("You light an emergency extraction flare, initiating the extraction process."))
|
||||
user.drop_item()
|
||||
forceMove(F)
|
||||
addtimer(CALLBACK(src, PROC_REF(create_portal), destination), 5 SECONDS)
|
||||
@@ -159,7 +159,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/wormhole_jaunter/contractor/emag_act(mob/user)
|
||||
to_chat(user, "<span class='warning'>Emagging [src] has no effect.</span>")
|
||||
to_chat(user, SPAN_WARNING("Emagging [src] has no effect."))
|
||||
|
||||
/obj/item/wormhole_jaunter/contractor/chasm_react(mob/user)
|
||||
return //This is not an instant getaway portal like the jaunter
|
||||
@@ -267,7 +267,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
|
||||
if(!emp_inflicted)
|
||||
playsound(loc, 'sound/machines/shut_down.ogg', 50, TRUE)
|
||||
visible_message("<span class='warning'>A malfunction detected in the weaver's subsystems. Initiating safety protocols.</span>")
|
||||
visible_message(SPAN_WARNING("A malfunction detected in the weaver's subsystems. Initiating safety protocols."))
|
||||
emp_inflicted = TRUE
|
||||
inactive = TRUE
|
||||
icon_state = icon_state_inactive
|
||||
@@ -276,13 +276,13 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
for(var/obj/effect/temp_visual/thunderbolt_targeting/wormhole_weaver/E in GLOB.wormhole_effect)
|
||||
if(E)
|
||||
qdel(E)
|
||||
visible_message("<span class='warning'>Wormhole marker disappears!</span>")
|
||||
visible_message(SPAN_WARNING("Wormhole marker disappears!"))
|
||||
do_sparks(5, FALSE, wormhole_loc)
|
||||
|
||||
/obj/item/wormhole_jaunter/wormhole_weaver/proc/prepare_foractivation(mob/user)
|
||||
if(do_after(user, 3 SECONDS, target = src))
|
||||
playsound(loc, 'sound/machines/twobeep.ogg', 50, TRUE)
|
||||
to_chat(user, "<span class='notice'>The weaver is now ready for use.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The weaver is now ready for use."))
|
||||
inactive = FALSE
|
||||
emp_inflicted = FALSE
|
||||
currently_reactivating = FALSE
|
||||
@@ -301,12 +301,12 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
|
||||
/obj/item/wormhole_jaunter/wormhole_weaver/activate(mob/user)
|
||||
if(wcell.charge < chargecost)
|
||||
to_chat(user, "<span class='warning'>Device isn't charged enough to be used at this time.</span>")
|
||||
to_chat(user, SPAN_WARNING("Device isn't charged enough to be used at this time."))
|
||||
return
|
||||
|
||||
if(inactive || emp_inflicted)
|
||||
if(currently_reactivating)
|
||||
to_chat(user, "<span class='warning'>You are already reactivating the device!</span>")
|
||||
to_chat(user, SPAN_WARNING("You are already reactivating the device!"))
|
||||
return
|
||||
currently_reactivating = TRUE
|
||||
prepare_foractivation(user)
|
||||
@@ -314,7 +314,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
|
||||
var/list/C = get_destinations(user)
|
||||
if(!length(C))
|
||||
to_chat(user, "<span class='notice'>[src] found no beacons in the world to anchor a wormhole to.</span>")
|
||||
to_chat(user, SPAN_NOTICE("[src] found no beacons in the world to anchor a wormhole to."))
|
||||
return
|
||||
|
||||
if(menu_open)
|
||||
@@ -350,8 +350,8 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
new /obj/effect/temp_visual/thunderbolt_targeting/wormhole_weaver(wormhole_loc)
|
||||
destination = L[desc]
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] pulls out a black colored device and points it to the floor.</span>",
|
||||
"<span class='notice'>You activate the wormhole weaver, it will take some time until device assembles a wormhole link.</span>"
|
||||
SPAN_NOTICE("[user] pulls out a black colored device and points it to the floor."),
|
||||
SPAN_NOTICE("You activate the wormhole weaver, it will take some time until device assembles a wormhole link.")
|
||||
)
|
||||
wcell.use(chargecost)
|
||||
icon_state = icon_state_inactive
|
||||
@@ -375,7 +375,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
return
|
||||
|
||||
/obj/item/wormhole_jaunter/wormhole_weaver/emag_act(mob/user)
|
||||
to_chat(user, "<span class='warning'>Emagging [src] has no effect.</span>")
|
||||
to_chat(user, SPAN_WARNING("Emagging [src] has no effect."))
|
||||
|
||||
/obj/effect/temp_visual/thunderbolt_targeting/wormhole_weaver
|
||||
duration = 5 SECONDS
|
||||
@@ -400,7 +400,7 @@ GLOBAL_LIST_EMPTY(wormhole_effect)
|
||||
|
||||
/obj/item/wormhole_jaunter/wormhole_weaver/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Device currently has [chargecost > wcell.charge ? "insufficient" : "sufficient"] power. You can recharge it with a recharger.</span>"
|
||||
. += SPAN_NOTICE("Device currently has [chargecost > wcell.charge ? "insufficient" : "sufficient"] power. You can recharge it with a recharger.")
|
||||
|
||||
/obj/item/wormhole_jaunter/wormhole_weaver/Destroy()
|
||||
QDEL_NULL(wcell)
|
||||
|
||||
@@ -52,32 +52,32 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
|
||||
user.do_attack_animation(A)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(!beacon)
|
||||
to_chat(user, "<span class='warning'>[src] is not linked to a beacon, and cannot be used!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is not linked to a beacon, and cannot be used!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!can_use_indoors)
|
||||
var/area/area = get_area(A)
|
||||
if(!area.outdoors)
|
||||
to_chat(user, "<span class='warning'>[src] can only be used on things that are outdoors!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] can only be used on things that are outdoors!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(area.tele_proof || !is_teleport_allowed(A.z))
|
||||
to_chat(user, "<span class='warning'>Bluespace distortions prevent the fulton from inflating!</span>")
|
||||
to_chat(user, SPAN_WARNING("Bluespace distortions prevent the fulton from inflating!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!istype(A))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
if(!safe_for_living_creatures && check_for_living_mobs(A))
|
||||
to_chat(user, "<span class='warning'>[src] is not safe for use with living creatures, they wouldn't survive the trip back!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is not safe for use with living creatures, they wouldn't survive the trip back!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!isturf(A.loc)) // no extracting stuff inside other stuff
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(A.anchored || (A.move_resist > max_force_fulton))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(ismegafauna(A))
|
||||
to_chat(user, "<span class='warning'>[src] is too heavy to retrieve!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is too heavy to retrieve!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You start attaching the pack to [A]...</span>")
|
||||
to_chat(user, SPAN_NOTICE("You start attaching the pack to [A]..."))
|
||||
if(do_after(user, 50, target = A))
|
||||
to_chat(user, "<span class='notice'>You attach the pack to [A] and activate it.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You attach the pack to [A] and activate it."))
|
||||
user.equip_to_slot_if_possible(src, ITEM_SLOT_IN_BACKPACK, FALSE, TRUE)
|
||||
uses_left--
|
||||
if(uses_left <= 0)
|
||||
@@ -131,7 +131,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
|
||||
continue
|
||||
flooring_near_beacon += floor
|
||||
if(!length(flooring_near_beacon))
|
||||
to_chat(user, "<span class='notice'>Your fulton pack slowly brings you back down, it seems that the linked beacon has stopped functioning!</span>")
|
||||
to_chat(user, SPAN_NOTICE("Your fulton pack slowly brings you back down, it seems that the linked beacon has stopped functioning!"))
|
||||
flooring_near_beacon = get_turf(user)
|
||||
holder_obj.forceMove(pick(flooring_near_beacon))
|
||||
animate(holder_obj, pixel_z = 10, time = 50)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
return
|
||||
var/obj/item/stack/ore/glass/sand_pile = new /obj/item/stack/ore/glass(get_turf(src))
|
||||
sand_pile.amount = 5
|
||||
visible_message("<span class='danger'>With nowhere to dig, [src] falls apart.</span>")
|
||||
visible_message(SPAN_DANGER("With nowhere to dig, [src] falls apart."))
|
||||
// In case somehow something is buried here already
|
||||
dig_up()
|
||||
return INITIALIZE_HINT_QDEL
|
||||
@@ -29,10 +29,10 @@
|
||||
if(buried && ismob(buried))
|
||||
. += "Here lies [buried], [headstone_message]."
|
||||
if(buried)
|
||||
. += "<span class='notice'>You can dig up [src] with a shovel or other digging tool.</span>"
|
||||
. += SPAN_NOTICE("You can dig up [src] with a shovel or other digging tool.")
|
||||
else
|
||||
. += "<span class='notice'>You can bury an object here by clicking on [src] with the object.</span>"
|
||||
. += "<span class='notice'>You can bury a mob or person here by clicking on [src] with the mob or person strongly grabbed.</span>"
|
||||
. += SPAN_NOTICE("You can bury an object here by clicking on [src] with the object.")
|
||||
. += SPAN_NOTICE("You can bury a mob or person here by clicking on [src] with the mob or person strongly grabbed.")
|
||||
|
||||
/obj/structure/grave/update_icon_state()
|
||||
. = ..()
|
||||
@@ -61,34 +61,34 @@
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/shovel) || istype(used, /obj/item/pickaxe))
|
||||
to_chat(user, "<span class='notice'>You begin to dig up [src] with [used].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You begin to dig up [src] with [used]."))
|
||||
playsound(loc, 'sound/effects/shovel_dig.ogg', 50, TRUE)
|
||||
if(do_after(user, 10 SECONDS, target = src))
|
||||
dig_up()
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(buried)
|
||||
to_chat(user, "<span class='warning'>The grave is already full.</span>")
|
||||
to_chat(user, SPAN_WARNING("The grave is already full."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/grab)) // Burying Mobs
|
||||
var/obj/item/grab/G = used
|
||||
if(G.state < GRAB_AGGRESSIVE)
|
||||
to_chat(user, "<span class='danger'>You need a stronger grip on [G.affecting] to bury [G.affecting.p_them()]!</span>")
|
||||
to_chat(user, SPAN_DANGER("You need a stronger grip on [G.affecting] to bury [G.affecting.p_them()]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM) && G.affecting.stat != DEAD)
|
||||
to_chat(user, "<span class='danger'>Burying [G.affecting] in [src] might hurt [G.affecting.p_them()]!</span>")
|
||||
to_chat(user, SPAN_DANGER("Burying [G.affecting] in [src] might hurt [G.affecting.p_them()]!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
visible_message("<span class='danger'>[user] starts to bury [G.affecting] in [src]!</span>", \
|
||||
"<span class='userdanger'>[user] starts to bury [G.affecting]!</span>")
|
||||
to_chat(G.affecting, "<span class='userdanger'>[user] is burying you alive!</span>")
|
||||
visible_message(SPAN_DANGER("[user] starts to bury [G.affecting] in [src]!"), \
|
||||
SPAN_USERDANGER("[user] starts to bury [G.affecting]!"))
|
||||
to_chat(G.affecting, SPAN_USERDANGER("[user] is burying you alive!"))
|
||||
log_admin("[user] started to bury [G.affecting] in [src]")
|
||||
if(do_after(user, 10 SECONDS, target = G.affecting))
|
||||
log_attack(user, G.affecting, "buried [G.affecting] in [src].")
|
||||
bury(user, G.affecting)
|
||||
else // Burying Objects
|
||||
visible_message("<span class='danger'>[user] starts to bury [used] in [src]!</span>", \
|
||||
"<span class='userdanger'>[user] starts to bury [used]!</span>")
|
||||
visible_message(SPAN_DANGER("[user] starts to bury [used] in [src]!"), \
|
||||
SPAN_USERDANGER("[user] starts to bury [used]!"))
|
||||
if(do_after(user, 10 SECONDS, target = used))
|
||||
bury(user, used)
|
||||
playsound(loc, 'sound/effects/shovel_dig.ogg', 50, TRUE)
|
||||
@@ -100,7 +100,7 @@
|
||||
return vacuum
|
||||
|
||||
/obj/structure/grave/container_resist(mob/living)
|
||||
to_chat(living, "<span class='danger'>You begin to dig out of [src]! This will take about 30 seconds.</span>")
|
||||
to_chat(living, SPAN_DANGER("You begin to dig out of [src]! This will take about 30 seconds."))
|
||||
if(do_after(living, 30 SECONDS, target = src))
|
||||
dig_up()
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
if(isobj(thing_to_bury))
|
||||
var/obj/bury_me = thing_to_bury
|
||||
if(bury_me.flags & NODROP || !user.transfer_item_to(bury_me, src))
|
||||
to_chat(user, "<span class='warning'>[bury_me] is stuck to your hand!</span>")
|
||||
to_chat(user, SPAN_WARNING("[bury_me] is stuck to your hand!"))
|
||||
return
|
||||
bury_me.forceMove(src)
|
||||
if(ismob(thing_to_bury))
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
/obj/machinery/mineral/labor_prisoner_shuttle_console/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(istype(used, /obj/item/card/id/prisoner))
|
||||
if(inserted_id_uid)
|
||||
to_chat(user, "<span class='notice'>There's an ID inserted already.</span>")
|
||||
to_chat(user, SPAN_NOTICE("There's an ID inserted already."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(!user.drop_item_to_ground(used))
|
||||
@@ -57,7 +57,7 @@
|
||||
|
||||
used.forceMove(src)
|
||||
inserted_id_uid = used.UID()
|
||||
to_chat(user, "<span class='notice'>You insert [used].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You insert [used]."))
|
||||
SStgui.update_uis(src)
|
||||
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
@@ -116,22 +116,22 @@
|
||||
|
||||
if("move_shuttle")
|
||||
if(!alone_in_area(get_area(src), ui.user))
|
||||
to_chat(ui.user, "<span class='warning'>Prisoners are only allowed to be released while alone.</span>")
|
||||
to_chat(ui.user, SPAN_WARNING("Prisoners are only allowed to be released while alone."))
|
||||
return TRUE
|
||||
|
||||
switch(SSshuttle.moveShuttle("laborcamp", "laborcamp_home", TRUE, ui.user))
|
||||
if(1)
|
||||
to_chat(ui.user, "<span class='notice'>Shuttle not found.</span>")
|
||||
to_chat(ui.user, SPAN_NOTICE("Shuttle not found."))
|
||||
if(2)
|
||||
to_chat(ui.user, "<span class='notice'>Shuttle already at station.</span>")
|
||||
to_chat(ui.user, SPAN_NOTICE("Shuttle already at station."))
|
||||
if(3)
|
||||
to_chat(ui.user, "<span class='notice'>No permission to dock could be granted.</span>")
|
||||
to_chat(ui.user, SPAN_NOTICE("No permission to dock could be granted."))
|
||||
else
|
||||
if(!emagged)
|
||||
var/message = "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval."
|
||||
announcer.autosay(message, "Labor Camp Controller", "Security")
|
||||
sec_record_release(ui.user)
|
||||
to_chat(ui.user, "<span class='notice'>Shuttle received message and will be sent shortly.</span>")
|
||||
to_chat(ui.user, SPAN_NOTICE("Shuttle received message and will be sent shortly."))
|
||||
ui.user.create_log(MISC_LOG, "used [src] to call the laborcamp shuttle")
|
||||
|
||||
return TRUE
|
||||
@@ -156,7 +156,7 @@
|
||||
/obj/machinery/mineral/labor_prisoner_shuttle_console/emag_act(mob/user)
|
||||
if(!emagged)
|
||||
emagged = TRUE
|
||||
to_chat(user, "<span class='warning'>PZZTTPFFFT</span>")
|
||||
to_chat(user, SPAN_WARNING("PZZTTPFFFT"))
|
||||
return TRUE
|
||||
|
||||
/**********************Point Lookup Console**************************/
|
||||
@@ -177,15 +177,15 @@
|
||||
if(istype(used, /obj/item/card/id/prisoner))
|
||||
var/obj/item/card/id/prisoner/prisoner_id = used
|
||||
if(!prisoner_id.goal)
|
||||
to_chat(user, "<span class='warning'>Error: No point quota assigned by security, exiting.</span>")
|
||||
to_chat(user, SPAN_WARNING("Error: No point quota assigned by security, exiting."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'><b>ID: [prisoner_id.registered_name]</b></span>")
|
||||
to_chat(user, "<span class='notice'>Points Collected:[prisoner_id.mining_points]</span>")
|
||||
to_chat(user, "<span class='notice'>Point Quota: [prisoner_id.goal]</span>")
|
||||
to_chat(user, "<span class='notice'>Collect points by bringing ore to the labor camp ore redemption machine. Reach your quota to earn your release.</span>")
|
||||
to_chat(user, SPAN_NOTICE("<b>ID: [prisoner_id.registered_name]</b>"))
|
||||
to_chat(user, SPAN_NOTICE("Points Collected:[prisoner_id.mining_points]"))
|
||||
to_chat(user, SPAN_NOTICE("Point Quota: [prisoner_id.goal]"))
|
||||
to_chat(user, SPAN_NOTICE("Collect points by bringing ore to the labor camp ore redemption machine. Reach your quota to earn your release."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(istype(used, /obj/item/card/id))
|
||||
to_chat(user, "<span class='warning'>Error: Invalid ID</span>")
|
||||
to_chat(user, SPAN_WARNING("Error: Invalid ID"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
msg = harvest_message_low
|
||||
else if(rand_harvested == harvest_amount_high)
|
||||
msg = harvest_message_high
|
||||
to_chat(user, "<span class='notice'>[msg]</span>")
|
||||
to_chat(user, SPAN_NOTICE("[msg]"))
|
||||
for(var/i in 1 to rand_harvested)
|
||||
new harvest(get_turf(src))
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
/obj/structure/flora/ash/item_interaction(mob/living/user, obj/item/W, list/modifiers)
|
||||
if(!harvested && needs_sharp_harvest && W.sharp)
|
||||
user.visible_message("<span class='notice'>[user] starts to harvest from [src] with [W].</span>","<span class='notice'>You begin to harvest from [src] with [W].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts to harvest from [src] with [W]."),SPAN_NOTICE("You begin to harvest from [src] with [W]."))
|
||||
if(do_after(user, harvest_time, target = src))
|
||||
harvest(user)
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
/obj/structure/flora/ash/attack_hand(mob/user)
|
||||
if(!harvested && !needs_sharp_harvest)
|
||||
user.visible_message("<span class='notice'>[user] starts to harvest from [src].</span>","<span class='notice'>You begin to harvest from [src].</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] starts to harvest from [src]."),SPAN_NOTICE("You begin to harvest from [src]."))
|
||||
if(do_after(user, harvest_time, target = src))
|
||||
harvest(user)
|
||||
else
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
var/ghost_counter = length(orbs)
|
||||
|
||||
force = clamp((ghost_counter * 3), 0, 50)
|
||||
user.visible_message("<span class='danger'>[user] strikes with the force of [ghost_counter] vengeful spirit\s!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] strikes with the force of [ghost_counter] vengeful spirit\s!"))
|
||||
..()
|
||||
|
||||
/obj/effect/wisp/ghost
|
||||
@@ -190,7 +190,7 @@
|
||||
|
||||
switch(random)
|
||||
if(1)
|
||||
to_chat(user, "<span class='danger'>Your flesh begins to melt! Miraculously, you seem fine otherwise.</span>")
|
||||
to_chat(user, SPAN_DANGER("Your flesh begins to melt! Miraculously, you seem fine otherwise."))
|
||||
H.set_species(/datum/species/skeleton)
|
||||
if(2)
|
||||
to_chat(user, "<span class='danger'>Power courses through you! You can now shift your form at will.")
|
||||
@@ -198,7 +198,7 @@
|
||||
var/datum/spell/shapeshift/dragon/D = new
|
||||
user.mind.AddSpell(D)
|
||||
if(3)
|
||||
to_chat(user, "<span class='danger'>You feel like you could walk straight through lava now.</span>")
|
||||
to_chat(user, SPAN_DANGER("You feel like you could walk straight through lava now."))
|
||||
H.weather_immunities |= "lava"
|
||||
|
||||
playsound(user.loc, 'sound/items/drink.ogg', rand(10, 50), 1)
|
||||
@@ -213,9 +213,9 @@
|
||||
stage_prob = 20
|
||||
stage1 = list("Your bones ache.")
|
||||
stage2 = list("Your skin feels scaley.")
|
||||
stage3 = list("<span class='danger'>You have an overwhelming urge to terrorize some peasants.</span>", "<span class='danger'>Your teeth feel sharper.</span>")
|
||||
stage4 = list("<span class='danger'>Your blood burns.</span>")
|
||||
stage5 = list("<span class='danger'>You're a fucking dragon. However, any previous allegiances you held still apply. It'd be incredibly rude to eat your still human friends for no reason.</span>")
|
||||
stage3 = list(SPAN_DANGER("You have an overwhelming urge to terrorize some peasants."), SPAN_DANGER("Your teeth feel sharper."))
|
||||
stage4 = list(SPAN_DANGER("Your blood burns."))
|
||||
stage5 = list(SPAN_DANGER("You're a fucking dragon. However, any previous allegiances you held still apply. It'd be incredibly rude to eat your still human friends for no reason."))
|
||||
new_form = /mob/living/simple_animal/hostile/megafauna/dragon/lesser
|
||||
|
||||
//Lava Staff
|
||||
@@ -259,13 +259,13 @@
|
||||
|
||||
if(target == user)
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] holds the tip of [src] near [user.p_their()] [cig.name] until it is suddenly set alight.</span>",
|
||||
"<span class='notice'>You hold the tip of [src] near [cig] until it is suddenly set alight.</span>",
|
||||
SPAN_NOTICE("[user] holds the tip of [src] near [user.p_their()] [cig.name] until it is suddenly set alight."),
|
||||
SPAN_NOTICE("You hold the tip of [src] near [cig] until it is suddenly set alight."),
|
||||
)
|
||||
else
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] points [src] at [target] until [target.p_their()] [cig.name] is suddenly set alight.</span>",
|
||||
"<span class='notice'>You point [src] at [target] until [target.p_their()] [cig] is suddenly set alight.</span>",
|
||||
SPAN_NOTICE("[user] points [src] at [target] until [target.p_their()] [cig.name] is suddenly set alight."),
|
||||
SPAN_NOTICE("You point [src] at [target] until [target.p_their()] [cig] is suddenly set alight."),
|
||||
)
|
||||
cig.light(user, target)
|
||||
return TRUE
|
||||
@@ -280,7 +280,7 @@
|
||||
|
||||
if(!is_mining_level(user.z) && !iswizard(user)) //Will only spawn a few sparks if not on mining z level, unless a wizard uses it.
|
||||
timer = world.time + create_delay + 1
|
||||
user.visible_message("<span class='danger'>[user]'s [src] malfunctions!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user]'s [src] malfunctions!"))
|
||||
do_sparks(5, FALSE, user)
|
||||
return
|
||||
|
||||
@@ -293,10 +293,10 @@
|
||||
var/obj/effect/temp_visual/lavastaff/L = new /obj/effect/temp_visual/lavastaff(T)
|
||||
L.alpha = 0
|
||||
animate(L, alpha = 255, time = create_delay)
|
||||
user.visible_message("<span class='danger'>[user] points [src] at [T]!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] points [src] at [T]!"))
|
||||
timer = world.time + create_delay + 1
|
||||
if(do_after(user, create_delay, target = T))
|
||||
user.visible_message("<span class='danger'>[user] turns \the [T] into [transform_string]!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] turns \the [T] into [transform_string]!"))
|
||||
message_admins("[key_name_admin(user)] fired the lava staff at [get_area(target)] (<A href='byond://?_src_=holder;adminplayerobservecoodjump=1;X=[T.x];Y=[T.y];Z=[T.z]'>JMP</a>).")
|
||||
log_game("[key_name(user)] fired the lava staff at [get_area(target)] ([T.x], [T.y], [T.z]).")
|
||||
T.TerraformTurf(turf_type, keep_icon = FALSE)
|
||||
@@ -307,7 +307,7 @@
|
||||
qdel(L)
|
||||
return
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] turns \the [T] into [reset_string]!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] turns \the [T] into [reset_string]!"))
|
||||
T.TerraformTurf(reset_turf_type, keep_icon = FALSE)
|
||||
timer = world.time + reset_cooldown
|
||||
playsound(T,'sound/magic/fireball.ogg', 200, 1)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
for(var/mob/living/M in targets_to_fuck_up)
|
||||
var/turf/T = get_turf(M)
|
||||
M.Immobilize(1 SECONDS)
|
||||
to_chat(M, "<span class='colossus'><b>NO! I REFUSE TO LET YOU THINK YOU HAVE WON. I SHALL END YOUR INSIGNIFICANT LIFE!</b></span>")
|
||||
to_chat(M, SPAN_COLOSSUS("<b>NO! I REFUSE TO LET YOU THINK YOU HAVE WON. I SHALL END YOUR INSIGNIFICANT LIFE!</b>"))
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T)
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T)
|
||||
sleep(8)
|
||||
@@ -45,7 +45,7 @@
|
||||
for(var/mob/living/M in probably_bubblearena)
|
||||
var/turf/T = get_turf(M)
|
||||
M.Immobilize(1 SECONDS)
|
||||
to_chat(M, "<span class='colossus'><b>Now... get out of my home.</b></span>")
|
||||
to_chat(M, SPAN_COLOSSUS("<b>Now... get out of my home.</b>"))
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T)
|
||||
new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T)
|
||||
sleep(8)
|
||||
@@ -75,7 +75,7 @@
|
||||
spawn()
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(H)
|
||||
B.mineEffect(H)
|
||||
to_chat(user, "<span class='notice'>You shatter the bottle!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You shatter the bottle!"))
|
||||
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, 1)
|
||||
qdel(src)
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
log_admin("[key_name(L)] has been marked for death by [key_name(user)].")
|
||||
|
||||
L.mind.add_mind_objective(/datum/objective/survive)
|
||||
to_chat(L, "<span class='userdanger'>You've been marked for death! Don't let the demons get you!</span>")
|
||||
to_chat(L, SPAN_USERDANGER("You've been marked for death! Don't let the demons get you!"))
|
||||
L.color = "#FF0000"
|
||||
spawn()
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(L)
|
||||
@@ -123,7 +123,7 @@
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H.stat == DEAD || H == L)
|
||||
continue
|
||||
to_chat(H, "<span class='userdanger'>You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!</span>")
|
||||
to_chat(H, SPAN_USERDANGER("You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!"))
|
||||
H.put_in_hands(new /obj/item/kitchen/knife/butcher(H))
|
||||
|
||||
qdel(src)
|
||||
|
||||
@@ -200,14 +200,14 @@
|
||||
if(!istype(user)) // No revs allowed
|
||||
return
|
||||
if(!user.check_ahud_rejoin_eligibility())
|
||||
to_chat(user, "<span class='warning'>Upon using the antagHUD you forfeited the ability to join the round.</span>")
|
||||
to_chat(user, SPAN_WARNING("Upon using the antagHUD you forfeited the ability to join the round."))
|
||||
return
|
||||
var/be_helper = tgui_alert(user, "Become a Lightgeist? (Warning, You can no longer be cloned!)", "Respawn", list("Yes","No"))
|
||||
if(be_helper != "Yes")
|
||||
return
|
||||
if(!loc || QDELETED(src) || QDELETED(user))
|
||||
if(user)
|
||||
to_chat(user, "<span class='warning'>[src] is no longer usable!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is no longer usable!"))
|
||||
return
|
||||
var/mob/living/basic/lightgeist/W = new /mob/living/basic/lightgeist(get_turf(loc))
|
||||
W.key = user.key
|
||||
|
||||
@@ -28,14 +28,14 @@
|
||||
|
||||
/obj/item/hierophant_club/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='hierophant_warning'>The[beacon ? " beacon is not currently":"re is a beacon"] attached.</span>"
|
||||
. += SPAN_HIEROPHANT_WARNING("The[beacon ? " beacon is not currently":"re is a beacon"] attached.")
|
||||
|
||||
/obj/item/hierophant_club/suicide_act(mob/living/user)
|
||||
atom_say("Xverwpsgexmrk...")
|
||||
user.visible_message("<span class='suicide'>[user] holds [src] into the air! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
user.visible_message(SPAN_SUICIDE("[user] holds [src] into the air! It looks like [user.p_theyre()] trying to commit suicide!"))
|
||||
new/obj/effect/temp_visual/hierophant/telegraph(get_turf(user))
|
||||
playsound(user,'sound/machines/airlock_open.ogg', 75, TRUE)
|
||||
user.visible_message("<span class='hierophant_warning'>[user] fades out, leaving [user.p_their()] belongings behind!</span>")
|
||||
user.visible_message(SPAN_HIEROPHANT_WARNING("[user] fades out, leaving [user.p_their()] belongings behind!"))
|
||||
for(var/obj/item/I in user)
|
||||
if(I != src)
|
||||
user.drop_item_to_ground(I)
|
||||
@@ -53,12 +53,12 @@
|
||||
return
|
||||
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='warning'>You don't want to harm other living beings!</span>")
|
||||
to_chat(user, SPAN_WARNING("You don't want to harm other living beings!"))
|
||||
return
|
||||
|
||||
if((!is_mining_level(user.z) && !iswizard(user) && !istype(get_area(user), /area/ruin/space/bubblegum_arena))) //Will only spawn a few sparks if not on mining z level, unless a wizard uses it.
|
||||
timer = world.time + cooldown_time
|
||||
user.visible_message("<span class='danger'>[user]'s hierophant club malfunctions!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user]'s hierophant club malfunctions!"))
|
||||
do_sparks(5, FALSE, user)
|
||||
return
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
else
|
||||
add_attack_logs(user, target, "Fired cardinal blast at [src]", ATKLOG_ALL)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>That target is out of range!</span>" )
|
||||
to_chat(user, SPAN_WARNING("That target is out of range!") )
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
|
||||
@@ -128,20 +128,20 @@
|
||||
/obj/item/hierophant_club/ui_action_click(mob/user, actiontype)
|
||||
if(actiontype == /datum/action/item_action/toggle_unfriendly_fire) //toggle friendly fire...
|
||||
friendly_fire_check = !friendly_fire_check
|
||||
to_chat(user, "<span class='warning'>You toggle friendly fire [friendly_fire_check ? "off":"on"]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You toggle friendly fire [friendly_fire_check ? "off":"on"]!"))
|
||||
return
|
||||
if(timer > world.time)
|
||||
return
|
||||
if(user.is_in_active_hand(src) && user.is_in_inactive_hand(src)) //you need to hold the staff to teleport
|
||||
to_chat(user, "<span class='warning'>You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!"))
|
||||
return
|
||||
if(is_in_teleport_proof_area(user))
|
||||
to_chat(user, "<span class='warning'>[src] sparks and fizzles.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] sparks and fizzles."))
|
||||
return
|
||||
if(!beacon || QDELETED(beacon))
|
||||
if(isturf(user.loc))
|
||||
user.visible_message("<span class='hierophant_warning'>[user] starts fiddling with [src]'s pommel...</span>", \
|
||||
"<span class='notice'>You start detaching the hierophant beacon...</span>")
|
||||
user.visible_message(SPAN_HIEROPHANT_WARNING("[user] starts fiddling with [src]'s pommel..."), \
|
||||
SPAN_NOTICE("You start detaching the hierophant beacon..."))
|
||||
timer = world.time + 51
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
if(do_after(user, 50, target = user) && !beacon)
|
||||
@@ -150,31 +150,31 @@
|
||||
new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, user)
|
||||
beacon = new/obj/effect/hierophant(T)
|
||||
user.update_action_buttons_icon()
|
||||
user.visible_message("<span class='hierophant_warning'>[user] places a strange machine beneath [user.p_their()] feet!</span>", \
|
||||
"<span class='hierophant'>You detach the hierophant beacon, allowing you to teleport yourself and any of your allies to it at any time! Beware! The Horrors of Lavaland can still be teleported with you.</span>\n\
|
||||
<span class='notice'>You can remove the beacon to place it again by striking it with the club.</span>")
|
||||
user.visible_message(SPAN_HIEROPHANT_WARNING("[user] places a strange machine beneath [user.p_their()] feet!"), \
|
||||
"[SPAN_HIEROPHANT("You detach the hierophant beacon, allowing you to teleport yourself and any of your allies to it at any time! Beware! The Horrors of Lavaland can still be teleported with you.")]\n\
|
||||
[SPAN_NOTICE("You can remove the beacon to place it again by striking it with the club.")]")
|
||||
else
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need to be on solid ground to detach the beacon!</span>")
|
||||
to_chat(user, SPAN_WARNING("You need to be on solid ground to detach the beacon!"))
|
||||
return
|
||||
if(get_dist(user, beacon) <= 2) //beacon too close abort
|
||||
to_chat(user, "<span class='warning'>You are too close to the beacon to teleport to it!</span>")
|
||||
to_chat(user, SPAN_WARNING("You are too close to the beacon to teleport to it!"))
|
||||
return
|
||||
if(is_in_teleport_proof_area(beacon))
|
||||
to_chat(user, "<span class='warning'>[src] sparks and fizzles.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] sparks and fizzles."))
|
||||
return
|
||||
var/turf/beacon_turf = get_turf(beacon)
|
||||
if(beacon_turf.is_blocked_turf(exclude_mobs = TRUE))
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
to_chat(user, SPAN_WARNING("The beacon is blocked by something, preventing teleportation!"))
|
||||
return
|
||||
if(!isturf(user.loc))
|
||||
to_chat(user, "<span class='warning'>You don't have enough space to teleport from here!</span>")
|
||||
to_chat(user, SPAN_WARNING("You don't have enough space to teleport from here!"))
|
||||
return
|
||||
teleporting = TRUE //start channel
|
||||
user.update_action_buttons_icon()
|
||||
user.visible_message("<span class='hierophant_warning'>[user] starts to glow faintly...</span>")
|
||||
user.visible_message(SPAN_HIEROPHANT_WARNING("[user] starts to glow faintly..."))
|
||||
timer = world.time + 50
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
beacon.icon_state = "hierophant_tele_on"
|
||||
@@ -185,7 +185,7 @@
|
||||
var/turf/source = get_turf(user)
|
||||
if(T.is_blocked_turf(exclude_mobs = TRUE))
|
||||
teleporting = FALSE
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
to_chat(user, SPAN_WARNING("The beacon is blocked by something, preventing teleportation!"))
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
@@ -206,7 +206,7 @@
|
||||
return
|
||||
if(T.is_blocked_turf(exclude_mobs = TRUE))
|
||||
teleporting = FALSE
|
||||
to_chat(user, "<span class='warning'>The beacon is blocked by something, preventing teleportation!</span>")
|
||||
to_chat(user, SPAN_WARNING("The beacon is blocked by something, preventing teleportation!"))
|
||||
user.update_action_buttons_icon()
|
||||
timer = world.time
|
||||
INVOKE_ASYNC(src, PROC_REF(prepare_icon_update))
|
||||
@@ -252,7 +252,7 @@
|
||||
sleep(1)
|
||||
if(!M)
|
||||
return
|
||||
M.visible_message("<span class='hierophant_warning'>[M] fades out!</span>")
|
||||
M.visible_message(SPAN_HIEROPHANT_WARNING("[M] fades out!"))
|
||||
sleep(2)
|
||||
if(!M)
|
||||
return
|
||||
@@ -269,7 +269,7 @@
|
||||
sleep(1)
|
||||
if(!M)
|
||||
return
|
||||
M.visible_message("<span class='hierophant_warning'>[M] fades in!</span>")
|
||||
M.visible_message(SPAN_HIEROPHANT_WARNING("[M] fades in!"))
|
||||
if(user != M)
|
||||
add_attack_logs(user, M, "Teleported from ([source.x],[source.y],[source.z])")
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
|
||||
/obj/item/storm_staff/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>It has [thunder_charges] charges remaining.</span>"
|
||||
. += "<span class='notice'>Use it in hand to dispel storms.</span>"
|
||||
. += "<span class='notice'>Use it on targets to summon thunderbolts from the sky.</span>"
|
||||
. += "<span class='notice'>The thunderbolts are boosted if in an area with weather effects.</span>"
|
||||
. += SPAN_NOTICE("It has [thunder_charges] charges remaining.")
|
||||
. += SPAN_NOTICE("Use it in hand to dispel storms.")
|
||||
. += SPAN_NOTICE("Use it on targets to summon thunderbolts from the sky.")
|
||||
. += SPAN_NOTICE("The thunderbolts are boosted if in an area with weather effects.")
|
||||
|
||||
/obj/item/storm_staff/attack__legacy__attackchain(mob/living/target, mob/living/user)
|
||||
if(cigarette_lighter_act(user, target))
|
||||
@@ -41,20 +41,20 @@
|
||||
return !isnull(cig)
|
||||
|
||||
if(!thunder_charges)
|
||||
to_chat(user, "<span class='warning'>[src] needs to recharge!</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] needs to recharge!"))
|
||||
return TRUE
|
||||
|
||||
if(target == user)
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] holds [src] up to [user.p_their()] [cig.name] and shoots a tiny bolt of lightning that sets it alight!</span>",
|
||||
"<span class='warning'>You hold [src] up to [cig] and shoot a tiny bolt of lightning that sets it alight!</span>",
|
||||
"<span class='danger'>A thundercrack fills the air!</span>"
|
||||
SPAN_WARNING("[user] holds [src] up to [user.p_their()] [cig.name] and shoots a tiny bolt of lightning that sets it alight!"),
|
||||
SPAN_WARNING("You hold [src] up to [cig] and shoot a tiny bolt of lightning that sets it alight!"),
|
||||
SPAN_DANGER("A thundercrack fills the air!")
|
||||
)
|
||||
else
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] points [src] at [target] and shoots a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!</span>",
|
||||
"<span class='warning'>You point [src] at [target] and shoot a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!</span>",
|
||||
"<span class='danger'>A thundercrack fills the air!</span>"
|
||||
SPAN_WARNING("[user] points [src] at [target] and shoots a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!"),
|
||||
SPAN_WARNING("You point [src] at [target] and shoot a tiny bolt of lightning that sets [target.p_their()] [cig.name] alight!"),
|
||||
SPAN_DANGER("A thundercrack fills the air!")
|
||||
)
|
||||
cig.light(user, target)
|
||||
playsound(target, 'sound/magic/lightningbolt.ogg', 50, TRUE)
|
||||
@@ -65,7 +65,7 @@
|
||||
var/area/user_area = get_area(user)
|
||||
var/turf/user_turf = get_turf(user)
|
||||
if(!user_area || !user_turf)
|
||||
to_chat(user, "<span class='warning'>Something is preventing you from using the staff here.</span>")
|
||||
to_chat(user, SPAN_WARNING("Something is preventing you from using the staff here."))
|
||||
return
|
||||
var/datum/weather/A
|
||||
for(var/V in SSweather.processing)
|
||||
@@ -77,11 +77,11 @@
|
||||
if(A)
|
||||
if(A.stage != WEATHER_END_STAGE)
|
||||
if(A.stage == WEATHER_WIND_DOWN_STAGE)
|
||||
to_chat(user, "<span class='warning'>The storm is already ending! It would be a waste to use the staff now.</span>")
|
||||
to_chat(user, SPAN_WARNING("The storm is already ending! It would be a waste to use the staff now."))
|
||||
return
|
||||
user.visible_message(
|
||||
"<span class='warning'>[user] holds [src] skywards as an orange beam travels into the sky!</span>",
|
||||
"<span class='notice'>You hold [src] skyward, dispelling the storm!</span>"
|
||||
SPAN_WARNING("[user] holds [src] skywards as an orange beam travels into the sky!"),
|
||||
SPAN_NOTICE("You hold [src] skyward, dispelling the storm!")
|
||||
)
|
||||
playsound(user, 'sound/magic/staff_change.ogg', 200, FALSE)
|
||||
A.wind_down()
|
||||
@@ -101,26 +101,26 @@
|
||||
|
||||
. = ..()
|
||||
if(!thunder_charges)
|
||||
to_chat(user, "<span class='warning'>The staff needs to recharge.</span>")
|
||||
to_chat(user, SPAN_WARNING("The staff needs to recharge."))
|
||||
return
|
||||
var/turf/target_turf = get_turf(target)
|
||||
var/area/target_area = get_area(target)
|
||||
var/area/user_area = get_area(user)
|
||||
if(!target_turf || !target_area || (is_type_in_list(target_area, excluded_areas)) || !user_area || (is_type_in_list(user_area, excluded_areas)))
|
||||
to_chat(user, "<span class='warning'>The staff will not work here.</span>")
|
||||
to_chat(user, SPAN_WARNING("The staff will not work here."))
|
||||
return
|
||||
if(target_turf in targeted_turfs)
|
||||
to_chat(user, "<span class='warning'>That SPOT is already being shocked!</span>")
|
||||
to_chat(user, SPAN_WARNING("That SPOT is already being shocked!"))
|
||||
return
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='warning'>You don't want to hurt anyone!</span>")
|
||||
to_chat(user, SPAN_WARNING("You don't want to hurt anyone!"))
|
||||
return
|
||||
var/power_boosted = FALSE
|
||||
if(iswizard(user) || is_mining_level(user.z) || istype(get_area(user), /area/ruin/space/bubblegum_arena))
|
||||
power_boosted = TRUE
|
||||
playsound(src, 'sound/magic/lightningshock.ogg', 10, TRUE, extrarange = SILENCED_SOUND_EXTRARANGE, falloff_distance = 0)
|
||||
targeted_turfs += target_turf
|
||||
to_chat(user, "<span class='warning'>You aim at [target_turf]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You aim at [target_turf]!"))
|
||||
new /obj/effect/temp_visual/thunderbolt_targeting(target_turf)
|
||||
addtimer(CALLBACK(src, PROC_REF(throw_thunderbolt), target_turf, power_boosted, user), 1 SECONDS)
|
||||
thunder_charges--
|
||||
@@ -143,7 +143,7 @@
|
||||
for(var/turf/T as anything in affected_turfs)
|
||||
new /obj/effect/temp_visual/electricity(T)
|
||||
for(var/mob/living/hit_mob in T)
|
||||
to_chat(hit_mob, "<span class='userdanger'>You've been struck by lightning!</span>")
|
||||
to_chat(hit_mob, SPAN_USERDANGER("You've been struck by lightning!"))
|
||||
hit_mob.electrocute_act(15 * (isanimal_or_basicmob(hit_mob) ? 3 : 1) * (T == target ? 2 : 1) * (boosted ? 2 : 1), src, flags = SHOCK_TESLA|SHOCK_NOSTUN)
|
||||
if(ishostile(hit_mob))
|
||||
var/mob/living/simple_animal/hostile/H = hit_mob //mobs find and damage you...
|
||||
@@ -158,8 +158,8 @@
|
||||
hit_thing.take_damage(20, BURN, ENERGY, FALSE)
|
||||
playsound(target, 'sound/magic/lightningbolt.ogg', 100, TRUE)
|
||||
target.visible_message(
|
||||
"<span class='danger'>A thunderbolt strikes [target]!</span>",
|
||||
"<span class='danger'>A thundercrack fills the air!</span>"
|
||||
SPAN_DANGER("A thunderbolt strikes [target]!"),
|
||||
SPAN_DANGER("A thundercrack fills the air!")
|
||||
)
|
||||
explosion(target, -1, -1, light_impact_range = (boosted ? 1 : 0), flame_range = (boosted ? 2 : 1), silent = TRUE, cause = name)
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
..()
|
||||
else
|
||||
if(last_message_time + 1 SECONDS < world.time)
|
||||
to_chat(user, "<span class='warning'>Boats don't go on land!</span>")
|
||||
to_chat(user, SPAN_WARNING("Boats don't go on land!"))
|
||||
last_message_time = world.time
|
||||
return FALSE
|
||||
|
||||
@@ -211,32 +211,32 @@
|
||||
|
||||
/obj/item/wisp_lantern/attack_self__legacy__attackchain(mob/user)
|
||||
if(!wisp)
|
||||
to_chat(user, "<span class='warning'>The wisp has gone missing!</span>")
|
||||
to_chat(user, SPAN_WARNING("The wisp has gone missing!"))
|
||||
icon_state = "lantern"
|
||||
return
|
||||
|
||||
if(wisp.loc == src)
|
||||
RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, PROC_REF(update_user_sight))
|
||||
|
||||
to_chat(user, "<span class='notice'>You release the wisp. It begins to bob around your head.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You release the wisp. It begins to bob around your head."))
|
||||
icon_state = "lantern"
|
||||
wisp.orbit(user, 20, lock_in_orbit = TRUE)
|
||||
set_light(0)
|
||||
|
||||
user.update_sight()
|
||||
to_chat(user, "<span class='notice'>The wisp enhances your vision.</span>")
|
||||
to_chat(user, SPAN_NOTICE("The wisp enhances your vision."))
|
||||
|
||||
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed") // freed
|
||||
else
|
||||
UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT)
|
||||
|
||||
to_chat(user, "<span class='notice'>You return the wisp to the lantern.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You return the wisp to the lantern."))
|
||||
wisp.stop_orbit()
|
||||
wisp.forceMove(src)
|
||||
set_light(initial(light_range))
|
||||
|
||||
user.update_sight()
|
||||
to_chat(user, "<span class='notice'>Your vision returns to normal.</span>")
|
||||
to_chat(user, SPAN_NOTICE("Your vision returns to normal."))
|
||||
|
||||
icon_state = "lantern-blue"
|
||||
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned") // returned
|
||||
@@ -250,7 +250,7 @@
|
||||
if(wisp.loc == src)
|
||||
qdel(wisp)
|
||||
else
|
||||
wisp.visible_message("<span class='notice'>[wisp] has a sad feeling for a moment, then it passes.</span>")
|
||||
wisp.visible_message(SPAN_NOTICE("[wisp] has a sad feeling for a moment, then it passes."))
|
||||
return ..()
|
||||
|
||||
/obj/item/wisp_lantern/proc/update_user_sight(mob/user)
|
||||
@@ -287,18 +287,18 @@
|
||||
return
|
||||
|
||||
if(is_in_teleport_proof_area(user) || is_in_teleport_proof_area(linked))
|
||||
to_chat(user, "<span class='warning'>[src] sparks and fizzles.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] sparks and fizzles."))
|
||||
return
|
||||
if(cooldown)
|
||||
to_chat(user, "<span class='warning'>[src] sparks and fizzles.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] sparks and fizzles."))
|
||||
return
|
||||
if(SEND_SIGNAL(user, COMSIG_MOVABLE_TELEPORTING, get_turf(linked)) & COMPONENT_BLOCK_TELEPORT)
|
||||
return FALSE
|
||||
if(is_station_level(user.z) && !iswizard(user)) // specifically not station (instead of lavaland) so it works for explorers potentially
|
||||
user.visible_message("<span class='warning'>[user] begins to channel [src]!</span>", "<span class='warning'>You begin channeling [src], cutting through the interference of the station!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] begins to channel [src]!"), SPAN_WARNING("You begin channeling [src], cutting through the interference of the station!"))
|
||||
if(!do_after_once(user, 4 SECONDS, TRUE, src, allow_moving = TRUE, must_be_held = TRUE))
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] disappears in a puff of smoke!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] disappears in a puff of smoke!"))
|
||||
|
||||
var/datum/effect_system/smoke_spread/smoke = new
|
||||
smoke.set_up(1, FALSE, user)
|
||||
@@ -376,7 +376,7 @@
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
if(!L.anchored)
|
||||
L.visible_message("<span class='danger'>[L] is snagged by [firer]'s hook!</span>")
|
||||
L.visible_message(SPAN_DANGER("[L] is snagged by [firer]'s hook!"))
|
||||
var/old_density = L.density
|
||||
L.density = FALSE // Ensures the hook does not hit the target multiple times
|
||||
L.forceMove(get_turf(firer))
|
||||
@@ -426,7 +426,7 @@
|
||||
if(cooldown < world.time)
|
||||
SSblackbox.record_feedback("amount", "immortality_talisman_uses", 1) // usage
|
||||
cooldown = world.time + 600
|
||||
user.visible_message("<span class='danger'>[user] vanishes from reality, leaving a hole in [user.p_their()] place!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] vanishes from reality, leaving a hole in [user.p_their()] place!"))
|
||||
var/obj/effect/immortality_talisman/Z = new(get_turf(src.loc))
|
||||
Z.name = "hole in reality"
|
||||
Z.desc = "It's shaped an awful lot like [user.name]."
|
||||
@@ -438,11 +438,11 @@
|
||||
user.status_flags &= ~GODMODE
|
||||
user.notransform = FALSE
|
||||
user.forceMove(get_turf(Z))
|
||||
user.visible_message("<span class='danger'>[user] pops back into reality!</span>")
|
||||
user.visible_message(SPAN_DANGER("[user] pops back into reality!"))
|
||||
Z.can_destroy = TRUE
|
||||
qdel(Z)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is still recharging.</span>")
|
||||
to_chat(user, SPAN_WARNING("[src] is still recharging."))
|
||||
|
||||
/obj/effect/immortality_talisman
|
||||
icon_state = "blank"
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
|
||||
/obj/item/clothing/head/hooded/berserker/examine()
|
||||
. = ..()
|
||||
. += "<span class='notice'>Berserk mode is [berserk_charge]% charged.</span>"
|
||||
. += SPAN_NOTICE("Berserk mode is [berserk_charge]% charged.")
|
||||
|
||||
/obj/item/clothing/head/hooded/berserker/process()
|
||||
if(berserk_active)
|
||||
@@ -251,11 +251,11 @@
|
||||
berserk_value *= PROJECTILE_HIT_MULTIPLIER
|
||||
berserk_charge = clamp(round(berserk_charge + berserk_value), 0, MAX_BERSERK_CHARGE)
|
||||
if(berserk_charge >= MAX_BERSERK_CHARGE)
|
||||
to_chat(owner, "<span class='boldnotice'>Berserk mode is fully charged!</span>")
|
||||
to_chat(owner, SPAN_BOLDNOTICE("Berserk mode is fully charged!"))
|
||||
|
||||
/// Starts berserk, giving the wearer 40% brute / burn resist, doubled attacking speed, NOGUNS trait, and colours them blood red.
|
||||
/obj/item/clothing/head/hooded/berserker/proc/berserk_mode(mob/living/carbon/human/user)
|
||||
to_chat(user, "<span class='warning'>You enter berserk mode.</span>")
|
||||
to_chat(user, SPAN_WARNING("You enter berserk mode."))
|
||||
playsound(user, 'sound/magic/staff_healing.ogg', 50)
|
||||
set_light(3)
|
||||
user.physiology.burn_mod *= BERSERK_DAMAGE_REDUCTION
|
||||
@@ -275,7 +275,7 @@
|
||||
berserk_active = FALSE
|
||||
if(QDELETED(user))
|
||||
return
|
||||
to_chat(user, "<span class='warning'>You exit berserk mode.</span>")
|
||||
to_chat(user, SPAN_WARNING("You exit berserk mode."))
|
||||
playsound(user, 'sound/magic/summonitems_generic.ogg', 50)
|
||||
set_light(0)
|
||||
user.physiology.burn_mod /= BERSERK_DAMAGE_REDUCTION
|
||||
@@ -295,10 +295,10 @@
|
||||
if(istype(target, /obj/item/clothing/head/hooded/berserker))
|
||||
var/obj/item/clothing/head/hooded/berserker/berzerk = target
|
||||
if(berzerk.berserk_active)
|
||||
to_chat(owner, "<span class='warning'>You are already berserk!</span>")
|
||||
to_chat(owner, SPAN_WARNING("You are already berserk!"))
|
||||
return
|
||||
if(berzerk.berserk_charge < 100)
|
||||
to_chat(owner, "<span class='warning'>You don't have a full charge.</span>")
|
||||
to_chat(owner, SPAN_WARNING("You don't have a full charge."))
|
||||
return
|
||||
berzerk.berserk_mode(owner)
|
||||
return
|
||||
@@ -332,7 +332,7 @@
|
||||
if(activated)
|
||||
return
|
||||
if(!iscarbon(user))
|
||||
to_chat(user, "<span class='warning'>The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath.</span>")
|
||||
to_chat(user, SPAN_WARNING("The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath."))
|
||||
return
|
||||
var/mob/living/carbon/itemUser = user
|
||||
if(itemUser.l_hand == src)
|
||||
@@ -340,10 +340,10 @@
|
||||
if(itemUser.r_hand == src)
|
||||
usedHand = RIGHT_HAND
|
||||
if(itemUser.has_status_effect(STATUS_EFFECT_HIPPOCRATIC_OATH))
|
||||
to_chat(user, "<span class='warning'>You can't possibly handle the responsibility of more than one rod!</span>")
|
||||
to_chat(user, SPAN_WARNING("You can't possibly handle the responsibility of more than one rod!"))
|
||||
return
|
||||
var/failText = "<span class='warning'>The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!</span>"
|
||||
to_chat(itemUser, "<span class='notice'>The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong...</span>")
|
||||
var/failText = SPAN_WARNING("The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!")
|
||||
to_chat(itemUser, SPAN_NOTICE("The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong..."))
|
||||
if(do_after_once(itemUser, 40, target = itemUser))
|
||||
itemUser.say("I swear to fulfill, to the best of my ability and judgment, this covenant:")
|
||||
else
|
||||
@@ -364,7 +364,7 @@
|
||||
else
|
||||
to_chat(itemUser, failText)
|
||||
return
|
||||
to_chat(itemUser, "<span class='notice'>The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory...</span>")
|
||||
to_chat(itemUser, SPAN_NOTICE("The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory..."))
|
||||
|
||||
activated(itemUser)
|
||||
|
||||
@@ -411,10 +411,10 @@
|
||||
H.put_in_r_hand(src, TRUE)
|
||||
|
||||
if(!limb_regrown)
|
||||
to_chat(H, "<span class='notice'>The Rod of Asclepius suddenly grows back out of your arm!</span>")
|
||||
to_chat(H, SPAN_NOTICE("The Rod of Asclepius suddenly grows back out of your arm!"))
|
||||
else
|
||||
H.update_body() // Update the limb sprites
|
||||
to_chat(H, "<span class='notice'>Your arm suddenly grows back with the Rod of Asclepius still attached!</span>")
|
||||
to_chat(H, SPAN_NOTICE("Your arm suddenly grows back with the Rod of Asclepius still attached!"))
|
||||
|
||||
/obj/item/rod_of_asclepius/proc/activated(mob/living/carbon/new_owner)
|
||||
owner = new_owner
|
||||
@@ -453,7 +453,7 @@
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/katana/attack_self__legacy__attackchain(mob/living/carbon/user, modifiers)
|
||||
. = ..()
|
||||
to_chat(user,"<span class='userdanger'>The mass goes up your arm and inside it!</span>")
|
||||
to_chat(user,SPAN_USERDANGER("The mass goes up your arm and inside it!"))
|
||||
playsound(user, 'sound/misc/demon_consume.ogg', 50, TRUE)
|
||||
RegisterSignal(user, COMSIG_MOB_DEATH, PROC_REF(user_death))
|
||||
|
||||
@@ -468,7 +468,7 @@
|
||||
if(!katana)
|
||||
return FALSE
|
||||
if(!katana.drew_blood)
|
||||
to_chat(owner, "<span class='userdanger'>[katana] lashes out at you in hunger!</span>")
|
||||
to_chat(owner, SPAN_USERDANGER("[katana] lashes out at you in hunger!"))
|
||||
playsound(owner, 'sound/misc/demon_attack1.ogg', 50, TRUE)
|
||||
if(parent_organ)
|
||||
owner.apply_damage(25, BRUTE, parent_organ, TRUE)
|
||||
@@ -483,8 +483,8 @@
|
||||
|
||||
/obj/item/organ/internal/cyberimp/arm/katana/proc/user_death_async(mob/user)
|
||||
Retract()
|
||||
user.visible_message("<span class='warning'>[user] begins to turn to dust, his soul being contained within [src]!</span>",
|
||||
"<span class='userdanger'>You feel your body begin to turn to dust, your soul being drawn into [src]!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] begins to turn to dust, his soul being contained within [src]!"),
|
||||
SPAN_USERDANGER("You feel your body begin to turn to dust, your soul being drawn into [src]!"))
|
||||
forceMove(get_turf(owner))
|
||||
remove(user)
|
||||
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, dust)), 1 SECONDS)
|
||||
@@ -541,11 +541,11 @@
|
||||
for(var/combo in combo_list)
|
||||
var/list/combo_specifics = combo_list[combo]
|
||||
var/step_string = english_list(combo_specifics[COMBO_STEPS])
|
||||
combo_strings += ("<span class='notice'><b>[combo]</b> - [step_string]</span>")
|
||||
combo_strings += (SPAN_NOTICE("<b>[combo]</b> - [step_string]"))
|
||||
|
||||
/obj/item/cursed_katana/examine(mob/user)
|
||||
. = ..()
|
||||
. += drew_blood ? ("<span class='notice'>It's sated... for now.</span>") : ("<span class='danger'>It will not be sated until it tastes blood.</span>")
|
||||
. += drew_blood ? (SPAN_NOTICE("It's sated... for now.")) : (SPAN_DANGER("It will not be sated until it tastes blood."))
|
||||
. += combo_strings
|
||||
|
||||
/obj/item/cursed_katana/dropped(mob/user)
|
||||
@@ -560,7 +560,7 @@
|
||||
if(target.stat == DEAD || target == user) //No, you can not stab yourself to cloak / not take the penalty for not drawing blood
|
||||
return ..()
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM))
|
||||
to_chat(user, "<span class='warning'>You don't want to harm [target]!</span>")
|
||||
to_chat(user, SPAN_WARNING("You don't want to harm [target]!"))
|
||||
return TRUE
|
||||
drew_blood = TRUE
|
||||
if(user.a_intent == INTENT_DISARM)
|
||||
@@ -598,20 +598,20 @@
|
||||
/obj/item/cursed_katana/proc/reset_inputs(mob/user, deltimer)
|
||||
input_list.Cut()
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>You return to neutral stance.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You return to neutral stance."))
|
||||
if(deltimer && timerid)
|
||||
deltimer(timerid)
|
||||
|
||||
/obj/item/cursed_katana/proc/strike(mob/living/target, mob/user)
|
||||
user.visible_message("<span class='warning'>[user] strikes [target] with [src]'s hilt!</span>",
|
||||
"<span class='notice'>You hilt strike [target]!</span>")
|
||||
to_chat(target, "<span class='userdanger'>You've been struck by [user]!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] strikes [target] with [src]'s hilt!"),
|
||||
SPAN_NOTICE("You hilt strike [target]!"))
|
||||
to_chat(target, SPAN_USERDANGER("You've been struck by [user]!"))
|
||||
playsound(src, 'sound/weapons/genhit3.ogg', 50, TRUE)
|
||||
RegisterSignal(target, COMSIG_MOVABLE_IMPACT, PROC_REF(strike_throw_impact))
|
||||
var/atom/throw_target = get_edge_target_turf(target, user.dir)
|
||||
target.throw_at(throw_target, 5, 3, user, FALSE, callback = CALLBACK(target, TYPE_PROC_REF(/datum, UnregisterSignal), target, COMSIG_MOVABLE_IMPACT))
|
||||
target.apply_damage(17, BRUTE, BODY_ZONE_CHEST)
|
||||
to_chat(target, "<span class='userdanger'>You've been struck by [user]!</span>")
|
||||
to_chat(target, SPAN_USERDANGER("You've been struck by [user]!"))
|
||||
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
|
||||
|
||||
/obj/item/cursed_katana/proc/strike_throw_impact(mob/living/source, atom/hit_atom, datum/thrownthing/thrownthing)
|
||||
@@ -628,15 +628,15 @@
|
||||
return NONE
|
||||
|
||||
/obj/item/cursed_katana/proc/heal(mob/living/target, mob/living/user)
|
||||
user.visible_message("<span class='warning'>[user] lets [src] feast on [target]'s blood!</span>",
|
||||
"<span class='warning'>You let [src] feast on [target], and it heals you, at a price!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] lets [src] feast on [target]'s blood!"),
|
||||
SPAN_WARNING("You let [src] feast on [target], and it heals you, at a price!"))
|
||||
target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, TRUE)
|
||||
user.apply_status_effect(STATUS_EFFECT_SHADOW_MEND)
|
||||
|
||||
/obj/item/cursed_katana/proc/cut(mob/living/target, mob/user)
|
||||
user.visible_message("<span class='warning'>[user] cuts [target]'s tendons!</span>",
|
||||
"<span class='notice'>You tendon cut [target]!</span>")
|
||||
to_chat(target, "<span class='userdanger'>Your tendons have been cut by [user]!</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] cuts [target]'s tendons!"),
|
||||
SPAN_NOTICE("You tendon cut [target]!"))
|
||||
to_chat(target, SPAN_USERDANGER("Your tendons have been cut by [user]!"))
|
||||
target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, TRUE)
|
||||
user.do_attack_animation(target, ATTACK_EFFECT_DISARM)
|
||||
playsound(src, 'sound/weapons/rapierhit.ogg', 50, TRUE)
|
||||
@@ -650,11 +650,11 @@
|
||||
var/turf/dash_target = get_turf(target)
|
||||
var/turf/user_turf = get_turf(user)
|
||||
if(!is_teleport_allowed(dash_target.z)) //No teleporting at CC
|
||||
to_chat(user, ("<span class='userdanger'>You can not dash here!</span>"))
|
||||
to_chat(user, (SPAN_USERDANGER("You can not dash here!")))
|
||||
return
|
||||
user.visible_message("<span class='warning'>[user] dashes through [target]!</span>",
|
||||
"<span class='notice'>You dash through [target]!</span>")
|
||||
to_chat(target, ("<span class='userdanger'>[user] dashes through you!</span>"))
|
||||
user.visible_message(SPAN_WARNING("[user] dashes through [target]!"),
|
||||
SPAN_NOTICE("You dash through [target]!"))
|
||||
to_chat(target, (SPAN_USERDANGER("[user] dashes through you!")))
|
||||
playsound(src, 'sound/magic/blink.ogg', 50, TRUE)
|
||||
for(var/mob/living/legion_killer in orange(1, user)) // We have replaced the AOE slash move, we want to be able to deal with legion skulls however
|
||||
legion_killer.adjustBruteLoss(5)
|
||||
@@ -668,7 +668,7 @@
|
||||
break
|
||||
for(var/mob/living/additional_target in dash_target) //Slash through every mob you cut through
|
||||
additional_target.apply_damage(15, BRUTE, BODY_ZONE_CHEST, TRUE)
|
||||
to_chat(additional_target, "<span class='userdanger'>You've been sliced by [user]!</span>")
|
||||
to_chat(additional_target, SPAN_USERDANGER("You've been sliced by [user]!"))
|
||||
user_turf.Beam(dash_target, icon_state = "warp_beam", time = 0.3 SECONDS, maxdistance = INFINITY)
|
||||
user.forceMove(dash_target)
|
||||
|
||||
|
||||
@@ -175,16 +175,16 @@
|
||||
if(istype(used, /obj/item/card/id))
|
||||
var/obj/item/card/id/ID = used
|
||||
if(!points)
|
||||
to_chat(usr, "<span class='warning'>There are no points to claim.</span>");
|
||||
to_chat(usr, SPAN_WARNING("There are no points to claim."));
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(anyone_claim || (req_access_claim in ID.access))
|
||||
ID.mining_points += points
|
||||
ID.total_mining_points += points
|
||||
to_chat(usr, "<span class='notice'><b>[points] Mining Points</b> claimed. You have earned a total of <b>[ID.total_mining_points] Mining Points</b> this Shift!</span>")
|
||||
to_chat(usr, SPAN_NOTICE("<b>[points] Mining Points</b> claimed. You have earned a total of <b>[ID.total_mining_points] Mining Points</b> this Shift!"))
|
||||
points = 0
|
||||
SStgui.update_uis(src)
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>Required access not found.</span>")
|
||||
to_chat(usr, SPAN_WARNING("Required access not found."))
|
||||
add_fingerprint(usr)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
@@ -196,14 +196,14 @@
|
||||
SStgui.update_uis(src)
|
||||
interact(user)
|
||||
user.visible_message(
|
||||
"<span class='notice'>[user] inserts [used] into [src].</span>",
|
||||
"<span class='notice'>You insert [used] into [src].</span>"
|
||||
SPAN_NOTICE("[user] inserts [used] into [src]."),
|
||||
SPAN_NOTICE("You insert [used] into [src].")
|
||||
)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/gripper))
|
||||
if(!try_refill_storage(user))
|
||||
to_chat(user, "<span class='notice'>You fail to retrieve any sheets from [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You fail to retrieve any sheets from [src]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
return ..()
|
||||
@@ -222,7 +222,7 @@
|
||||
return
|
||||
input_dir = turn(input_dir, -90)
|
||||
output_dir = turn(output_dir, -90)
|
||||
to_chat(user, "<span class='notice'>You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)]."))
|
||||
|
||||
/obj/machinery/mineral/ore_redemption/screwdriver_act(mob/user, obj/item/I)
|
||||
if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", I))
|
||||
@@ -295,7 +295,7 @@
|
||||
switch(action)
|
||||
if("sheet", "alloy")
|
||||
if(!allowed(usr))
|
||||
to_chat(usr, "<span class='warning'>Required access not found.</span>")
|
||||
to_chat(usr, SPAN_WARNING("Required access not found."))
|
||||
return FALSE
|
||||
var/id = params["id"]
|
||||
var/amount = round(text2num(params["amount"]))
|
||||
@@ -332,8 +332,8 @@
|
||||
return FALSE
|
||||
if(ishuman(usr))
|
||||
usr.put_in_hands(inserted_disk)
|
||||
usr.visible_message("<span class='notice'>[usr] retrieves [inserted_disk] from [src].</span>", \
|
||||
"<span class='notice'>You retrieve [inserted_disk] from [src].</span>")
|
||||
usr.visible_message(SPAN_NOTICE("[usr] retrieves [inserted_disk] from [src]."), \
|
||||
SPAN_NOTICE("You retrieve [inserted_disk] from [src]."))
|
||||
else
|
||||
inserted_disk.forceMove(get_turf(src))
|
||||
inserted_disk = null
|
||||
@@ -467,7 +467,7 @@
|
||||
|
||||
for(var/datum/robot_storage/material/mat_store in robot.module.material_storages)
|
||||
if(mat_store.amount == mat_store.max_amount) // Already full, no need to run a check
|
||||
to_chat(robot, "<span class='notice'>[mat_store] could not be filled due to it already being full.</span>")
|
||||
to_chat(robot, SPAN_NOTICE("[mat_store] could not be filled due to it already being full."))
|
||||
continue
|
||||
var/datum/component/material_container/container_component = GetComponent(/datum/component/material_container)
|
||||
for(var/mat_id in container_component.materials)
|
||||
@@ -478,10 +478,10 @@
|
||||
var/total_stacks = stack.amount / MINERAL_MATERIAL_AMOUNT // To account for 1 sheet being 2000 units of metal
|
||||
if(total_stacks >= (mat_store.max_amount - mat_store.amount))
|
||||
amount_to_add = round(mat_store.max_amount - mat_store.amount)
|
||||
to_chat(robot, "<span class='notice'>You refill [mat_store] to full.</span>")
|
||||
to_chat(robot, SPAN_NOTICE("You refill [mat_store] to full."))
|
||||
else
|
||||
amount_to_add = round(total_stacks) // In case we have half a sheet stored
|
||||
to_chat(robot, "<span class='notice'>You refill [amount_to_add] sheets to [mat_store].</span>")
|
||||
to_chat(robot, SPAN_NOTICE("You refill [amount_to_add] sheets to [mat_store]."))
|
||||
mat_store.amount += amount_to_add
|
||||
remove_from_storage(stack, amount_to_add)
|
||||
. = TRUE
|
||||
|
||||
@@ -118,7 +118,7 @@
|
||||
. = ..()
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
if(. && inserted_id && (stat & NOPOWER))
|
||||
visible_message("<span class='notice'>The ID slot indicator light flickers on [src] as it spits out a card before powering down.</span>")
|
||||
visible_message(SPAN_NOTICE("The ID slot indicator light flickers on [src] as it spits out a card before powering down."))
|
||||
remove_id()
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/update_icon_state()
|
||||
@@ -217,7 +217,7 @@
|
||||
return
|
||||
var/datum/data/mining_equipment/prize = prize_list[category][name]
|
||||
if(prize.cost > inserted_id.mining_points) // shouldn't be able to access this since the button is greyed out, but..
|
||||
to_chat(usr, "<span class='danger'>You have insufficient points.</span>")
|
||||
to_chat(usr, SPAN_DANGER("You have insufficient points."))
|
||||
return
|
||||
|
||||
inserted_id.mining_points -= prize.cost
|
||||
@@ -489,10 +489,10 @@
|
||||
if(points)
|
||||
var/obj/item/card/id/C = used
|
||||
C.mining_points += points
|
||||
to_chat(user, "<span class='notice'>You transfer [points] points to [C].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You transfer [points] points to [C]."))
|
||||
points = 0
|
||||
else
|
||||
to_chat(user, "<span class='notice'>There's no points left on [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("There's no points left on [src]."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
/obj/item/card/mining_point_card/examine(mob/user)
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
if("ejectMat")
|
||||
var/datum/material/material = materials.materials[chosen_material]
|
||||
if(material.amount < MINERAL_MATERIAL_AMOUNT)
|
||||
to_chat(usr, "<span class='warning'>Not enough [material.name] to eject!</span>")
|
||||
to_chat(usr, SPAN_WARNING("Not enough [material.name] to eject!"))
|
||||
return
|
||||
var/num_sheets = tgui_input_number(usr, "How many sheets do you want to eject?", "Ejecting [material.name]", max_value = round(material.amount / MINERAL_MATERIAL_AMOUNT), min_value = 1)
|
||||
if(isnull(num_sheets))
|
||||
@@ -125,11 +125,11 @@
|
||||
/obj/machinery/mineral/mint/item_interaction(mob/living/user, obj/item/used, list/modifiers)
|
||||
if(istype(used, /obj/item/storage/bag/money))
|
||||
if(money_bag)
|
||||
to_chat(user, "<span class='notice'>There is already a [money_bag.name] inside!</span>")
|
||||
to_chat(user, SPAN_NOTICE("There is already a [money_bag.name] inside!"))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
if(!user.drop_item())
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
to_chat(user, "<span class='notice'>You put a [used.name] into a [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You put a [used.name] into a [src]."))
|
||||
used.forceMove(src)
|
||||
money_bag = used
|
||||
SStgui.update_uis(src)
|
||||
@@ -143,7 +143,7 @@
|
||||
return
|
||||
if(length(money_bag.contents) >= money_bag.storage_slots)
|
||||
active = FALSE
|
||||
visible_message("<span class='notice'>[src] stops printing to prevent an overflow.</span>")
|
||||
visible_message(SPAN_NOTICE("[src] stops printing to prevent an overflow."))
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
SStgui.update_uis(src)
|
||||
return
|
||||
@@ -152,7 +152,7 @@
|
||||
var/datum/material/material = materials.materials[chosen_material]
|
||||
if(!materials.can_use_amount(COIN_COST, chosen_material))
|
||||
active = FALSE
|
||||
visible_message("<span class='notice'>[src] ceased production due to a lack of material.</span>")
|
||||
visible_message(SPAN_NOTICE("[src] ceased production due to a lack of material."))
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
SStgui.update_uis(src)
|
||||
return
|
||||
@@ -165,13 +165,13 @@
|
||||
/obj/machinery/mineral/mint/proc/try_make_coins(mob/user)
|
||||
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
|
||||
if(!money_bag)
|
||||
visible_message("<span class='warning'>[src] cannot work without a money bag!</span>")
|
||||
visible_message(SPAN_WARNING("[src] cannot work without a money bag!"))
|
||||
return
|
||||
if(length(money_bag.contents) == money_bag.storage_slots)
|
||||
visible_message("<span class='warning'>[money_bag.name] is full!</span>")
|
||||
visible_message(SPAN_WARNING("[money_bag.name] is full!"))
|
||||
return
|
||||
if(!materials.can_use_amount(COIN_COST, chosen_material))
|
||||
visible_message("<span class='warning'>Lack of selected material for production!</span>")
|
||||
visible_message(SPAN_WARNING("Lack of selected material for production!"))
|
||||
return
|
||||
active = TRUE
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
if(active)
|
||||
active = FALSE
|
||||
if(user.put_in_hands(money_bag))
|
||||
to_chat(user, "<span class='notice'>You take a [money_bag.name] out of [src].</span>")
|
||||
to_chat(user, SPAN_NOTICE("You take a [money_bag.name] out of [src]."))
|
||||
else
|
||||
var/turf/T = get_step(src, output_dir)
|
||||
money_bag.forceMove(T)
|
||||
|
||||
@@ -27,12 +27,12 @@
|
||||
/obj/item/stack/ore/welder_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!refined_type)
|
||||
to_chat(user, "<span class='notice'>You can't smelt [src] into anything useful!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You can't smelt [src] into anything useful!"))
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, 15, volume = I.tool_volume))
|
||||
return
|
||||
new refined_type(drop_location(), amount)
|
||||
to_chat(user, "<span class='notice'>You smelt [src] into its refined form!</span>")
|
||||
to_chat(user, SPAN_NOTICE("You smelt [src] into its refined form!"))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/stack/ore/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/item/stack/ore/glass/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You can throw this into people's eyes!</span>"
|
||||
. += SPAN_NOTICE("You can throw this into people's eyes!")
|
||||
|
||||
GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
new /datum/stack_recipe("sandstone", /obj/item/stack/sheet/mineral/sandstone, 1, 1, 50),
|
||||
@@ -75,18 +75,18 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
return
|
||||
var/mob/living/carbon/human/C = hit_atom
|
||||
if(C.head && C.head.flags_cover & HEADCOVERSEYES)
|
||||
visible_message("<span class='danger'>[C]'s headgear blocks the sand!</span>")
|
||||
visible_message(SPAN_DANGER("[C]'s headgear blocks the sand!"))
|
||||
return
|
||||
if(C.wear_mask && C.wear_mask.flags_cover & MASKCOVERSEYES)
|
||||
visible_message("<span class='danger'>[C]'s mask blocks the sand!</span>")
|
||||
visible_message(SPAN_DANGER("[C]'s mask blocks the sand!"))
|
||||
return
|
||||
if(C.glasses && C.glasses.flags_cover & GLASSESCOVERSEYES)
|
||||
visible_message("<span class='danger'>[C]'s glasses block the sand!</span>")
|
||||
visible_message(SPAN_DANGER("[C]'s glasses block the sand!"))
|
||||
return
|
||||
C.EyeBlurry(12 SECONDS)
|
||||
C.apply_damage(15, STAMINA)//the pain from your eyes burning does stamina damage
|
||||
C.AdjustConfused(10 SECONDS)
|
||||
to_chat(C, "<span class='userdanger'>[src] gets into your eyes! The pain, it burns!</span>")
|
||||
to_chat(C, SPAN_USERDANGER("[src] gets into your eyes! The pain, it burns!"))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/stack/ore/glass/ex_act(severity)
|
||||
@@ -102,7 +102,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
|
||||
/obj/item/stack/ore/glass/basalt/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You could add some to a girder to make a false rock wall.</span>"
|
||||
. += SPAN_NOTICE("You could add some to a girder to make a false rock wall.")
|
||||
|
||||
/obj/item/stack/ore/glass/basalt/ancient
|
||||
name = "ancient sand"
|
||||
@@ -262,8 +262,8 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
|
||||
/obj/item/gibtonite/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>You can use a mining scanner to stop an activated gibtonite crystal from detonating.</span>"
|
||||
. += "<span class='notice'>In addition to simply hitting it, you can add a remote signaller to the gibtonite and trigger it to make the crystal begin to detonate!</span>"
|
||||
. += SPAN_NOTICE("You can use a mining scanner to stop an activated gibtonite crystal from detonating.")
|
||||
. += SPAN_NOTICE("In addition to simply hitting it, you can add a remote signaller to the gibtonite and trigger it to make the crystal begin to detonate!")
|
||||
|
||||
/obj/item/gibtonite/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -277,7 +277,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
|
||||
/obj/item/gibtonite/attackby__legacy__attackchain(obj/item/I, mob/user, params)
|
||||
if(!wires && istype(I, /obj/item/assembly/igniter))
|
||||
user.visible_message("[user] attaches [I] to [src].", "<span class='notice'>You attach [I] to [src].</span>")
|
||||
user.visible_message("[user] attaches [I] to [src].", SPAN_NOTICE("You attach [I] to [src]."))
|
||||
wires = new(src)
|
||||
attacher = key_name(user)
|
||||
qdel(I)
|
||||
@@ -295,7 +295,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
if(primed)
|
||||
if(istype(I, /obj/item/mining_scanner) || istype(I, /obj/item/t_scanner/adv_mining_scanner) || istype(I, /obj/item/multitool))
|
||||
primed = 0
|
||||
user.visible_message("The chain reaction was stopped! ...The ore's quality looks diminished.", "<span class='notice'>You stopped the chain reaction. ...The ore's quality looks diminished.</span>")
|
||||
user.visible_message("The chain reaction was stopped! ...The ore's quality looks diminished.", SPAN_NOTICE("You stopped the chain reaction. ...The ore's quality looks diminished."))
|
||||
icon_state = "Gibtonite ore"
|
||||
quality = GIBTONITE_QUALITY_LOW
|
||||
return
|
||||
@@ -340,7 +340,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
else if(triggered_by == 2)
|
||||
log_game("A signal has primed a [name] for detonation at [AREACOORD(bombturf)]). Igniter attacher: [key_name(attacher)].")
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] strikes \the [src], causing a chain reaction!</span>", "<span class='danger'>You strike \the [src], causing a chain reaction.</span>")
|
||||
user.visible_message(SPAN_WARNING("[user] strikes \the [src], causing a chain reaction!"), SPAN_DANGER("You strike \the [src], causing a chain reaction."))
|
||||
log_game("[key_name(user)] has primed a [name] for detonation at [AREACOORD(bombturf)])")
|
||||
spawn(det_time)
|
||||
if(primed)
|
||||
@@ -500,15 +500,15 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
if(istype(W, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/CC = W
|
||||
if(string_attached)
|
||||
to_chat(user, "<span class='notice'>There already is a string attached to this coin.</span>")
|
||||
to_chat(user, SPAN_NOTICE("There already is a string attached to this coin."))
|
||||
return
|
||||
|
||||
if(CC.use(1))
|
||||
overlays += image('icons/obj/economy.dmi',"coin_string_overlay")
|
||||
string_attached = 1
|
||||
to_chat(user, "<span class='notice'>You attach a string to the coin.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You attach a string to the coin."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need one length of cable to attach a string to the coin.</span>")
|
||||
to_chat(user, SPAN_WARNING("You need one length of cable to attach a string to the coin."))
|
||||
return
|
||||
|
||||
else if(istype(W,/obj/item/wirecutters))
|
||||
@@ -521,7 +521,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
CC.update_icon()
|
||||
overlays = list()
|
||||
string_attached = null
|
||||
to_chat(user, "<span class='notice'>You detach the string from the coin.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You detach the string from the coin."))
|
||||
else ..()
|
||||
|
||||
/obj/item/coin/wirecutter_act(mob/user, obj/item/I)
|
||||
@@ -537,7 +537,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
"uranium" = /obj/item/clothing/gloves/ring/uranium)
|
||||
var/typekey = typelist[cmineral]
|
||||
if(ispath(typekey))
|
||||
to_chat(user, "<span class='notice'>You carefully cut a hole into [src] turning it into a ring.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You carefully cut a hole into [src] turning it into a ring."))
|
||||
var/obj/item/clothing/gloves/ring/ring = new typekey()
|
||||
qdel(src)
|
||||
user.put_in_hands(ring)
|
||||
@@ -552,10 +552,10 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
|
||||
var/blind_sound
|
||||
if(cmineral != "tranquillite")
|
||||
playsound(user.loc, 'sound/items/coinflip.ogg', 50, TRUE)
|
||||
blind_sound = "<span class='notice'>You hear the clattering of loose change.</span>"
|
||||
blind_sound = SPAN_NOTICE("You hear the clattering of loose change.")
|
||||
if(do_after(user, 15, target = src))
|
||||
user.visible_message("<span class='notice'>[user] has flipped [src]. It lands on [coinflip].</span>", \
|
||||
"<span class='notice'>You flip [src]. It lands on [coinflip].</span>", \
|
||||
user.visible_message(SPAN_NOTICE("[user] has flipped [src]. It lands on [coinflip]."), \
|
||||
SPAN_NOTICE("You flip [src]. It lands on [coinflip]."), \
|
||||
blind_sound)
|
||||
|
||||
#undef GIBTONITE_QUALITY_LOW
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
/obj/machinery/salvage_redemption/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>There are currently [points] claimable points. [points ? "Swipe your ID to claim them." : ""]</span>"
|
||||
. += SPAN_NOTICE("There are currently [points] claimable points. [points ? "Swipe your ID to claim them." : ""]")
|
||||
|
||||
/obj/machinery/salvage_redemption/update_icon_state()
|
||||
. = ..()
|
||||
@@ -62,32 +62,32 @@
|
||||
return ..()
|
||||
|
||||
if(animating)
|
||||
to_chat(user, "<span class='warning'>The machine is currently processing salvage at the moment.</span>");
|
||||
to_chat(user, SPAN_WARNING("The machine is currently processing salvage at the moment."));
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/card/id))
|
||||
var/obj/item/card/id/ID = used
|
||||
if(!points)
|
||||
to_chat(user, "<span class='warning'>There are no points to claim.</span>");
|
||||
to_chat(user, SPAN_WARNING("There are no points to claim."));
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
var/claimed = FALSE
|
||||
for(var/access in req_access_claim)
|
||||
if(anyone_claim || (access in ID.access))
|
||||
ID.mining_points += points
|
||||
ID.total_mining_points += points
|
||||
to_chat(user, "<span class='notice'><b>[points] Salvage Points</b> claimed. You have earned a total of <b>[ID.total_mining_points] Salvage Points</b> this Shift!</span>")
|
||||
to_chat(user, SPAN_NOTICE("<b>[points] Salvage Points</b> claimed. You have earned a total of <b>[ID.total_mining_points] Salvage Points</b> this Shift!"))
|
||||
points = 0
|
||||
claimed = TRUE
|
||||
break
|
||||
if(!claimed)
|
||||
to_chat(user, "<span class='warning'>Required access not found.</span>")
|
||||
to_chat(user, SPAN_WARNING("Required access not found."))
|
||||
add_fingerprint(user)
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
|
||||
if(istype(used, /obj/item/storage/bag/expedition))
|
||||
var/obj/item/storage/bag/expedition/bag = used
|
||||
if(!length(bag.contents))
|
||||
to_chat(user, "<span class='warning'>You have no salvage to redeem.</span>");
|
||||
to_chat(user, SPAN_WARNING("You have no salvage to redeem."));
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
for(var/obj/item/salvage/loot in bag.contents)
|
||||
salvage_buffer |= loot
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
if(istype(used, /obj/item/salvage))
|
||||
if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src))
|
||||
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 ITEM_INTERACT_COMPLETE
|
||||
var/obj/item/salvage/loot = used
|
||||
salvage_buffer |= loot
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if(length(S.contents))
|
||||
for(var/obj/item/stack/ore/O in S.contents)
|
||||
S.remove_from_storage(O, src) //This will move the item to this item's contents
|
||||
to_chat(user, "<span class='notice'>You empty the satchel into the box.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You empty the satchel into the box."))
|
||||
return ITEM_INTERACT_COMPLETE
|
||||
else
|
||||
return ..()
|
||||
@@ -29,7 +29,7 @@
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume))
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] pries [src] apart.</span>", "<span class='notice'>You pry apart [src].</span>", "<span class='italics'>You hear splitting wood.</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user] pries [src] apart."), SPAN_NOTICE("You pry apart [src]."), SPAN_ITALICS("You hear splitting wood."))
|
||||
deconstruct(TRUE, user)
|
||||
|
||||
/obj/structure/ore_box/attack_hand(mob/user)
|
||||
@@ -61,7 +61,7 @@
|
||||
add_fingerprint(usr)
|
||||
if(href_list["removeall"])
|
||||
dump_box_contents()
|
||||
to_chat(usr, "<span class='notice'>You empty the box.</span>")
|
||||
to_chat(usr, SPAN_NOTICE("You empty the box."))
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/structure/ore_box/deconstruct(disassembled = TRUE, mob/user)
|
||||
@@ -83,7 +83,7 @@
|
||||
/obj/structure/ore_box/examine(mob/user)
|
||||
. = ..()
|
||||
if(Adjacent(user))
|
||||
. += "<span class='notice'>You can <b>Alt-Shift-Click</b> to empty the ore box.</span>"
|
||||
. += SPAN_NOTICE("You can <b>Alt-Shift-Click</b> to empty the ore box.")
|
||||
|
||||
/obj/structure/ore_box/on_changed_z_level(turf/old_turf, turf/new_turf, notify_contents = FALSE)
|
||||
return ..()
|
||||
@@ -96,8 +96,8 @@
|
||||
add_fingerprint(user)
|
||||
|
||||
if(length(contents) < 1)
|
||||
to_chat(user, "<span class='warning'>The ore box is empty.</span>")
|
||||
to_chat(user, SPAN_WARNING("The ore box is empty."))
|
||||
return
|
||||
|
||||
dump_box_contents()
|
||||
to_chat(user, "<span class='notice'>You empty the ore box.</span>")
|
||||
to_chat(user, SPAN_NOTICE("You empty the ore box."))
|
||||
|
||||
Reference in New Issue
Block a user