refactors most spans

This commit is contained in:
Kashargul
2024-10-02 21:10:31 +02:00
parent 5417c7772c
commit a2c673ab7a
1517 changed files with 12436 additions and 12347 deletions
+11 -11
View File
@@ -79,27 +79,27 @@ AI MODULES
else if(istype(AM, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = AM
if(R.stat == DEAD)
to_chat(user, "<span class='warning'>Law Upload Error: Unit is nonfunctional.</span>")
to_chat(user, span_warning("Law Upload Error: Unit is nonfunctional."))
return
if(R.emagged)
to_chat(user, "<span class='warning'>Law Upload Error: Cannot obtain write access to laws.</span>")
to_chat(R, "<span class='danger'>Law modification attempt detected. Blocking.</span>")
to_chat(user, span_warning("Law Upload Error: Cannot obtain write access to laws."))
to_chat(R, span_danger("Law modification attempt detected. Blocking."))
return
if(R.connected_ai)
to_chat(user, "<span class='warning'>Law Upload Error: Unit is slaved to an AI.</span>")
to_chat(user, span_warning("Law Upload Error: Unit is slaved to an AI."))
return
R.visible_message("<span class='danger'>\The [user] slides a law module into \the [R].</span>")
to_chat(R, "<span class='danger'>Local law upload in progress.</span>")
to_chat(user, "<span class='notice'>Uploading laws from board. This will take a moment...</span>")
R.visible_message(span_danger("\The [user] slides a law module into \the [R]."))
to_chat(R, span_danger("Local law upload in progress."))
to_chat(user, span_notice("Uploading laws from board. This will take a moment..."))
if(do_after(user, 10 SECONDS))
transmitInstructions(R, user)
to_chat(R, "These are your laws now:")
R.show_laws()
to_chat(user, "<span class='notice'>Law upload complete. Unit's laws have been modified.</span>")
to_chat(user, span_notice("Law upload complete. Unit's laws have been modified."))
else
to_chat(user, "<span class='warning'>Law Upload Error: Law board was removed before upload was complete. Aborting.</span>")
to_chat(R, "<span class='notice'>Law upload aborted.</span>")
to_chat(user, span_warning("Law Upload Error: Law board was removed before upload was complete. Aborting."))
to_chat(R, span_notice("Law upload aborted."))
/obj/item/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
@@ -395,7 +395,7 @@ AI MODULES
log_law_changes(target, sender)
lawchanges.Add("The law is '[newFreeFormLaw]'")
to_chat(target, "<span class='danger'>BZZZZT</span>")
to_chat(target, span_danger("BZZZZT"))
var/law = "[newFreeFormLaw]"
target.add_ion_law(law)
target.show_laws()
+1 -1
View File
@@ -169,7 +169,7 @@
else
return
playsound(src, 'sound/effects/pop.ogg', 50, FALSE)
to_chat(user, "<span class='notice'>You change RCD's mode to '[choice]'.</span>")
to_chat(user, span_notice("You change RCD's mode to '[choice]'."))
//////////////////
/obj/item/rcd/electric/update_icon()
+8 -8
View File
@@ -72,16 +72,16 @@
/obj/item/rms/proc/drain_battery(user, battery)
var/obj/item/cell/C = battery
if(stored_charge == max_charge)
to_chat(user, "<span class='notice'>The Rapid Material Synthesizer is full on charge!.</span>")
to_chat(user, span_notice("The Rapid Material Synthesizer is full on charge!."))
if(C.charge == 0)
to_chat(user, "<span class='notice'>The battery has no charge.</span>")
to_chat(user, span_notice("The battery has no charge."))
else
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 2,target = C))
stored_charge += C.charge
C.charge = 0
C.update_icon()
to_chat(user, "<span class='notice'>You drain [C].</span>")
to_chat(user, span_notice("You drain [C]."))
stored_charge = CLAMP(stored_charge, 0, max_charge)
update_icon()
@@ -101,13 +101,13 @@
var/obj/product
if(!overcharge)
if(!can_afford(charge_cost))
to_chat(user, "<span class='notice'>There is not enough charge to use this mode.</span>")
to_chat(user, span_notice("There is not enough charge to use this mode."))
return
else
consume_resources(charge_cost)
else
if(!can_afford(charge_cost_o))
to_chat(user, "<span class='notice'>There is not enough charge to use the overcharged mode.</span>")
to_chat(user, span_notice("There is not enough charge to use the overcharged mode."))
return
else
consume_resources(charge_cost_o)
@@ -206,7 +206,7 @@
use_rms(target, user)
return
else
to_chat(user, "<span class='notice'>Invalid target for the device.</span>")
to_chat(user, span_notice("Invalid target for the device."))
return
/obj/item/rms/attack_self(mob/user)
@@ -251,9 +251,9 @@
if(W.has_tool_quality(TOOL_MULTITOOL))
overcharge = !overcharge
if(overcharge)
to_chat(user, "<span class='notice'>The Rapid Material Synthesizer quietly whirrs...</span>")
to_chat(user, span_notice("The Rapid Material Synthesizer quietly whirrs..."))
else
to_chat(user, "<span class='notice'>The Rapid Material Synthesizer resumes normal operation.</span>")
to_chat(user, span_notice("The Rapid Material Synthesizer resumes normal operation."))
return ..()
+8 -8
View File
@@ -178,7 +178,7 @@
. = TRUE
if((mode & DESTROY_MODE) && can_destroy_pipe)
to_chat(user, "<span class='notice'>You start destroying a pipe...</span>")
to_chat(user, span_notice("You start destroying a pipe..."))
playsound(src, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 2, target = A))
activate()
@@ -190,7 +190,7 @@
var/obj/machinery/atmospherics/pipe/P = A
playsound(src, 'sound/machines/click.ogg', 50, 1)
P.change_color(pipe_colors[paint_color])
user.visible_message("<span class='notice'>[user] paints \the [P] [paint_color].</span>", "<span class='notice'>You paint \the [P] [paint_color].</span>")
user.visible_message(span_notice("[user] paints \the [P] [paint_color]."), span_notice("You paint \the [P] [paint_color]."))
return
if(mode & BUILD_MODE) //Making pipes
@@ -200,7 +200,7 @@
return ..()
playsound(src, 'sound/machines/click.ogg', 50, 1)
if(istype(recipe, /datum/pipe_recipe/meter))
to_chat(user, "<span class='notice'>You start building a meter...</span>")
to_chat(user, span_notice("You start building a meter..."))
if(do_after(user, 2, target = A))
activate()
var/obj/item/pipe_meter/PM = new /obj/item/pipe_meter(get_turf(A))
@@ -209,7 +209,7 @@
do_wrench(PM, user)
else if(istype(recipe, /datum/pipe_recipe/pipe))
var/datum/pipe_recipe/pipe/R = recipe
to_chat(user, "<span class='notice'>You start building a pipe...</span>")
to_chat(user, span_notice("You start building a pipe..."))
if(do_after(user, 2, target = A))
activate()
var/obj/machinery/atmospherics/path = R.pipe_type
@@ -234,15 +234,15 @@
return ..()
A = get_turf(A)
if(istype(A, /turf/unsimulated))
to_chat(user, "<span class='warning'>[src]'s error light flickers; there's something in the way!</span>")
to_chat(user, span_warning("[src]'s error light flickers; there's something in the way!"))
return
to_chat(user, "<span class='notice'>You start building a disposals pipe...</span>")
to_chat(user, span_notice("You start building a disposals pipe..."))
playsound(src, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 4, target = A))
var/obj/structure/disposalconstruct/C = new(A, R.pipe_type, queued_p_dir, queued_p_flipped, R.subtype)
if(!C.can_place())
to_chat(user, "<span class='warning'>There's not enough room to build that here!</span>")
to_chat(user, span_warning("There's not enough room to build that here!"))
qdel(C)
return
@@ -292,4 +292,4 @@
#undef BUILD_MODE
#undef WRENCH_MODE
#undef DESTROY_MODE
#undef PAINT_MODE
#undef PAINT_MODE
+11 -11
View File
@@ -37,26 +37,26 @@ RSF
/obj/item/rsf/examine(mob/user)
. = ..()
if(get_dist(user, src) == 0)
. += "<span class='notice'>It currently holds [stored_matter]/30 fabrication-units.</span>"
. += span_notice("It currently holds [stored_matter]/30 fabrication-units.")
/obj/item/rsf/attackby(obj/item/W as obj, mob/user as mob)
..()
if (istype(W, /obj/item/rcd_ammo))
if ((stored_matter + 10) > 30)
to_chat(user, "<span class='warning'>The RSF can't hold any more matter.</span>")
to_chat(user, span_warning("The RSF can't hold any more matter."))
return
qdel(W)
stored_matter += 10
playsound(src, 'sound/machines/click.ogg', 10, 1)
to_chat(user,"<span class='notice'>The RSF now holds [stored_matter]/30 fabrication-units.</span>")
to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units."))
return
/obj/item/rsf/CtrlClick(mob/living/user)
if(!Adjacent(user) || !istype(user))
to_chat(user,"<span class='notice'>You are too far away.</span>")
to_chat(user,span_notice("You are too far away."))
return
var/glass_choice = tgui_input_list(user, "Please choose which type of glass you would like to produce.", "Glass Choice", container_types)
@@ -69,23 +69,23 @@ RSF
playsound(src, 'sound/effects/pop.ogg', 50, 0)
if (mode == 1)
mode = 2
to_chat(user,"<span class='notice'>Changed dispensing mode to 'Container'.</span>")
to_chat(user,span_notice("Changed dispensing mode to 'Container'."))
return
if (mode == 2)
mode = 3
to_chat(user,"<span class='notice'>Changed dispensing mode to 'Paper'</span>")
to_chat(user,span_notice("Changed dispensing mode to 'Paper'"))
return
if (mode == 3)
mode = 4
to_chat(user,"<span class='notice'>Changed dispensing mode to 'Pen'</span>")
to_chat(user,span_notice("Changed dispensing mode to 'Pen'"))
return
if (mode == 4)
mode = 5
to_chat(user,"<span class='notice'>Changed dispensing mode to 'Dice Pack'</span>")
to_chat(user,span_notice("Changed dispensing mode to 'Dice Pack'"))
return
if (mode == 5)
mode = 1
to_chat(user,"<span class='notice'>Changed dispensing mode to 'Cigarette'</span>")
to_chat(user,span_notice("Changed dispensing mode to 'Cigarette'"))
return
/obj/item/rsf/afterattack(atom/A, mob/user as mob, proximity)
@@ -124,7 +124,7 @@ RSF
product = new /obj/item/storage/pill_bottle/dice()
used_energy = 200
to_chat(user,"<span class='notice'>Dispensing [product ? product : "product"]...</span>")
to_chat(user,span_notice("Dispensing [product ? product : "product"]..."))
product.loc = get_turf(A)
if(isrobot(user))
@@ -133,4 +133,4 @@ RSF
R.cell.use(used_energy)
else
stored_matter--
to_chat(user,"<span class='notice'>The RSF now holds [stored_matter]/30 fabrication-units.</span>")
to_chat(user,span_notice("The RSF now holds [stored_matter]/30 fabrication-units."))
+4 -4
View File
@@ -142,7 +142,7 @@
scan_data += "<br>"
for(var/mob/O in viewers(usr))
O.show_message("<span class='notice'>\The [src] rattles and prints out a sheet of paper.</span>", 1)
O.show_message(span_notice("\The [src] rattles and prints out a sheet of paper."), 1)
sleep(10)
@@ -166,16 +166,16 @@
src.wdata = list()
src.chemtraces = list()
src.timeofdeath = null
to_chat(user, "<span class='notice'>A new patient has been registered. Purging data for previous patient.</span>")
to_chat(user, span_notice("A new patient has been registered. Purging data for previous patient."))
src.timeofdeath = M.timeofdeath
var/obj/item/organ/external/S = M.get_organ(user.zone_sel.selecting)
if(!S)
to_chat(user, "<span class='warning'>You can't scan this body part.</span>")
to_chat(user, span_warning("You can't scan this body part."))
return
if(!S.open)
to_chat(user, "<span class='warning'>You have to cut [S] open first!</span>")
to_chat(user, span_warning("You have to cut [S] open first!"))
return
M.visible_message("<b>\The [user]</b> scans the wounds on [M]'s [S.name] with [src]")
+4 -4
View File
@@ -29,7 +29,7 @@
if(W.has_tool_quality(TOOL_WELDER))
var/obj/item/weldingtool/WT = W.get_welder()
if(WT.isOn()) //Badasses dont get blinded by lighting their candle with a welding tool
light("<span class='notice'>\The [user] casually lights the [src] with [W].</span>")
light(span_notice("\The [user] casually lights the [src] with [W]."))
else if(istype(W, /obj/item/flame/lighter))
var/obj/item/flame/lighter/L = W
if(L.lit)
@@ -44,7 +44,7 @@
light()
/obj/item/flame/candle/proc/light(var/flavor_text = "<span class='notice'>\The [usr] lights the [src].</span>")
/obj/item/flame/candle/proc/light(var/flavor_text = span_notice("\The [usr] lights the [src]."))
if(!lit)
lit = TRUE
visible_message(flavor_text)
@@ -114,11 +114,11 @@
/obj/item/flame/candle/everburn/Initialize()
. = ..()
light("<span class='notice'>\The [src] mysteriously lights itself!.</span>")
light(span_notice("\The [src] mysteriously lights itself!."))
/obj/item/flame/candle/candelabra/everburn
wax = 99999
/obj/item/flame/candle/candelabra/everburn/Initialize()
. = ..()
light("<span class='notice'>\The [src] mysteriously lights itself!.</span>")
light(span_notice("\The [src] mysteriously lights itself!."))
+5 -5
View File
@@ -31,7 +31,7 @@
/obj/item/cane/concealed/attack_self(var/mob/user)
var/datum/gender/T = gender_datums[user.get_visible_gender()]
if(concealed_blade)
user.visible_message("<span class='warning'>[user] has unsheathed \a [concealed_blade] from [T.his] [src]!</span>", "You unsheathe \the [concealed_blade] from \the [src].")
user.visible_message(span_warning("[user] has unsheathed \a [concealed_blade] from [T.his] [src]!"), "You unsheathe \the [concealed_blade] from \the [src].")
// Calling drop/put in hands to properly call item drop/pickup procs
playsound(src, 'sound/weapons/holster/sheathout.ogg', 50, 1)
user.drop_from_inventory(src)
@@ -47,7 +47,7 @@
/obj/item/cane/concealed/attackby(var/obj/item/material/sword/katana/caneblade/W, var/mob/user)
if(!src.concealed_blade && istype(W))
var/datum/gender/T = gender_datums[user.get_visible_gender()]
user.visible_message("<span class='warning'>[user] has sheathed \a [W] into [T.his] [src]!</span>", "You sheathe \the [W] into \the [src].")
user.visible_message(span_warning("[user] has sheathed \a [W] into [T.his] [src]!"), "You sheathe \the [W] into \the [src].")
playsound(src, 'sound/weapons/holster/sheathin.ogg', 50, 1)
user.drop_from_inventory(W)
W.loc = src
@@ -73,7 +73,7 @@
/obj/item/cane/white/attack(mob/M as mob, mob/user as mob)
if(user.a_intent == I_HELP)
user.visible_message("<span class='notice'>\The [user] has lightly tapped [M] on the ankle with their white cane!</span>")
user.visible_message(span_notice("\The [user] has lightly tapped [M] on the ankle with their white cane!"))
return TRUE
else
. = ..()
@@ -98,7 +98,7 @@
on = !on
if(on)
user.visible_message("<b>\The [user]</b> extends the white cane.",\
"<span class='warning'>You extend the white cane.</span>",\
span_warning("You extend the white cane."),\
"You hear an ominous click.")
icon_state = "whitecane1out"
item_state_slots = list(slot_r_hand_str = "whitecane", slot_l_hand_str = "whitecane")
@@ -107,7 +107,7 @@
attack_verb = list("smacked", "struck", "cracked", "beaten")
else
user.visible_message("<b>\The [user]</b> collapses the white cane.",\
"<span class='notice'>You collapse the white cane.</span>",\
span_notice("You collapse the white cane."),\
"You hear a click.")
icon_state = "whitecane1in"
item_state_slots = list(slot_r_hand_str = null, slot_l_hand_str = null)
@@ -28,7 +28,7 @@
if(bound_mob)
if(bound_mob in contents)
unleash()
to_chat(bound_mob, "<span class='notice'>You feel like yourself again. You are no longer under the influence of \the [src]'s command.</span>")
to_chat(bound_mob, span_notice("You feel like yourself again. You are no longer under the influence of \the [src]'s command."))
UnregisterSignal(bound_mob, COMSIG_PARENT_QDELETING)
bound_mob.capture_caught = FALSE
bound_mob = null
@@ -45,7 +45,7 @@
. += "<span class = 'notice'>[bound_mob.health / bound_mob.maxHealth * 100]%</span>"
if(bound_mob.ooc_notes)
. += "<span class = 'deptradio'>OOC Notes:</span> <a href='?src=\ref[bound_mob];ooc_notes=1'>\[View\]</a> - <a href='?src=\ref[src];print_ooc_notes_to_chat=1'>\[Print\]</a>"
. += "<span class='deptradio'><a href='?src=\ref[bound_mob];vore_prefs=1'>\[Mechanical Vore Preferences\]</a></span>"
. += span_deptradio("<a href='?src=\ref[bound_mob];vore_prefs=1'>\[Mechanical Vore Preferences\]</a>")
//Command! This lets the owner toggle hostile on AI controlled mobs, or send a silent command message to your bound mob, wherever they may be.
/obj/item/capture_crystal/ui_action_click()
@@ -53,10 +53,10 @@
return
var/mob/living/M = src.loc
if(M != owner)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... It does not respond to your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(!bound_mob)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... There is nothing to command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... There is nothing to command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(isanimal(bound_mob) && !bound_mob.client)
if(!isnull(bound_mob.get_AI_stance()))
@@ -69,17 +69,17 @@
else if(bound_mob.client)
var/transmit_msg = tgui_input_text(usr, "What is your command?", "Command")
if(length(transmit_msg) >= MAX_MESSAGE_LEN)
to_chat(M, "<span class='danger'>Your message was TOO LONG!:[transmit_msg]</span>")
to_chat(M, span_danger("Your message was TOO LONG!:[transmit_msg]"))
return
transmit_msg = sanitize(transmit_msg, max_length = MAX_MESSAGE_LEN)
if(isnull(transmit_msg))
to_chat(M, "<span class='notice'>You decided against it.</span>")
to_chat(M, span_notice("You decided against it."))
return
to_chat(bound_mob, "<span class='notice'>\The [owner] commands, '[transmit_msg]'</span>")
to_chat(M, "<span class='notice'>Your command has been transmitted, '[transmit_msg]'</span>")
to_chat(bound_mob, span_notice("\The [owner] commands, '[transmit_msg]'"))
to_chat(M, span_notice("Your command has been transmitted, '[transmit_msg]'"))
log_admin("[key_name_admin(M)] sent the command, '[transmit_msg]' to [bound_mob].")
else
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... \The [bound_mob] is unresponsive.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is unresponsive."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
//Lets the owner get AI controlled bound mobs to follow them, or tells player controlled mobs to follow them.
@@ -91,39 +91,39 @@
return
var/mob/living/M = src.loc
if(M != owner)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... It does not respond to your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(bound_mob.stat != CONSCIOUS)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(bound_mob.client)
to_chat(bound_mob, "<span class='notice'>\The [owner] wishes for you to follow them.</span>")
to_chat(bound_mob, span_notice("\The [owner] wishes for you to follow them."))
else if(bound_mob in contents)
if(!bound_mob.ai_holder)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
var/datum/ai_holder/AI = bound_mob.ai_holder
if(AI.leader)
to_chat(M, "<span class='notice'>\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].</span>")
to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] stopped following [AI.leader]."))
AI.lose_follow(AI.leader)
else
AI.set_follow(M)
to_chat(M, "<span class='notice'>\The [src] chimes~ \The [bound_mob] started following following [AI.leader].</span>")
to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] started following following [AI.leader]."))
else if(!(bound_mob in view(M)))
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to hear your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
if(!bound_mob.ai_holder)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not able to follow your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
var/datum/ai_holder/AI = bound_mob.ai_holder
if(AI.leader)
to_chat(M, "<span class='notice'>\The [src] chimes~ \The [bound_mob] stopped following [AI.leader].</span>")
to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] stopped following [AI.leader]."))
AI.lose_follow(AI.leader)
else
AI.set_follow(M)
to_chat(M, "<span class='notice'>\The [src] chimes~ \The [bound_mob] started following following [AI.leader].</span>")
to_chat(M, span_notice("\The [src] chimes~ \The [bound_mob] started following following [AI.leader]."))
//Don't really want people 'haha funny' capturing and releasing one another willy nilly. So! If you wanna release someone, you gotta destroy the thingy.
//(Which is consistent with how it works with digestion anyway.)
@@ -135,7 +135,7 @@
return
var/mob/living/M = src.loc
if(M != owner)
to_chat(M, "<span class='notice'>\The [src] is too hard for you to break.</span>")
to_chat(M, span_notice("\The [src] is too hard for you to break."))
else
M.visible_message("\The [M] crushes \the [src] into dust...", "\The [src] cracks and disintegrates in your hand.")
qdel(src)
@@ -149,7 +149,7 @@
return
var/mob/living/M = src.loc
if(M != owner)
to_chat(M, "<span class='notice'>\The [src] emits an unpleasant tone... It does not respond to your command.</span>")
to_chat(M, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else
M.visible_message("\The [src] flickers in \the [M]'s hand and emits a little tone.", "\The [src] flickers in your hand and emits a little tone.")
@@ -166,26 +166,26 @@
return
var/mob/living/U = src.loc
if(!bound_mob)
to_chat(U, "<span class='notice'>\The [src] emits an unpleasant tone... There is nothing to enhance.</span>")
to_chat(U, span_notice("\The [src] emits an unpleasant tone... There is nothing to enhance."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
else if(U != owner)
to_chat(U, "<span class='notice'>\The [src] emits an unpleasant tone... It does not respond to your command.</span>")
to_chat(U, span_notice("\The [src] emits an unpleasant tone... It does not respond to your command."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
else if(bound_mob.client || !isanimal(bound_mob))
to_chat(U, "<span class='notice'>\The [src] emits an unpleasant tone... \The [bound_mob] is not eligable for enhancement.</span>")
to_chat(U, span_notice("\The [src] emits an unpleasant tone... \The [bound_mob] is not eligable for enhancement."))
playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1)
return //Need to type cast the mob so it can detect ghostjoin
var/mob/living/simple_mob/M = bound_mob
if(M.ghostjoin)
M.ghostjoin = FALSE
to_chat(U, "<span class='notice'>\The [bound_mob] is no longer eligable to be joined by ghosts.</span>")
to_chat(U, span_notice("\The [bound_mob] is no longer eligable to be joined by ghosts."))
else if(tgui_alert(U, "Do you want to offer your [bound_mob] up to ghosts to play as? There is no way undo this once a ghost takes over.", "Invite ghosts?",list("No","Yes")) == "Yes")
M.ghostjoin = TRUE
to_chat(U, "<span class='notice'>\The [bound_mob] is now eligable to be joined by ghosts. It will need to be out of the crystal to be able to be joined.</span>")
to_chat(U, span_notice("\The [bound_mob] is now eligable to be joined by ghosts. It will need to be out of the crystal to be able to be joined."))
else
to_chat(U, "<span class='notice'>You decided against it.</span>")
to_chat(U, span_notice("You decided against it."))
/obj/item/capture_crystal/update_icon()
. = ..()
@@ -221,26 +221,26 @@
user.visible_message("\The [user] taps \the [M] with \the [src].")
activate(user, M)
else
to_chat(user, "<span class='notice'>\The [src] emits an unpleasant tone... It is not ready yet.</span>")
to_chat(user, span_notice("\The [src] emits an unpleasant tone... It is not ready yet."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
//Tries to unleash or recall your stored mob
/obj/item/capture_crystal/attack_self(mob/living/user)
if(bound_mob && !owner)
if(bound_mob == user)
to_chat(user, "<span class='notice'>\The [src] emits an unpleasant tone... It does not activate for you.</span>")
to_chat(user, span_notice("\The [src] emits an unpleasant tone... It does not activate for you."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
if(tgui_alert(user, "\The [src] hasn't got an owner. It has \the [bound_mob] registered to it. Would you like to claim this as yours?", "Claim ownership", list("No","Yes")) == "Yes")
owner = user
if(!cooldown_check())
to_chat(user, "<span class='notice'>\The [src] emits an unpleasant tone... It is not ready yet.</span>")
to_chat(user, span_notice("\The [src] emits an unpleasant tone... It is not ready yet."))
if(bound_mob)
playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1)
else
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(user == bound_mob) //You can't recall yourself
to_chat(user, "<span class='notice'>\The [src] emits an unpleasant tone... It does not activate for you.</span>")
to_chat(user, span_notice("\The [src] emits an unpleasant tone... It does not activate for you."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(!active)
activate(user)
@@ -255,7 +255,7 @@
//The basic capture command does most of the registration work.
/obj/item/capture_crystal/proc/capture(mob/living/M, mob/living/U)
if(!M.capture_crystal || M.capture_caught)
to_chat(U, "<span class='warning'>This creature is not suitable for capture.</span>")
to_chat(U, span_warning("This creature is not suitable for capture."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
knowyoursignals(M, U)
@@ -309,7 +309,7 @@
capture_chance = 0 + effect_count
if(capture_chance <= 0)
capture_chance = 0
to_chat(user, "<span class='notice'>There's no chance... It needs to be weaker.</span>")
to_chat(user, span_notice("There's no chance... It needs to be weaker."))
last_activate = world.time
log_admin("[user] threw a capture crystal at [M] and got [capture_chance]% chance to catch.")
@@ -318,10 +318,10 @@
//Handles checking relevent bans, preferences, and asking the player if they want to be caught
/obj/item/capture_crystal/proc/capture_player(mob/living/M, mob/living/U)
if(jobban_isbanned(M, JOB_GHOSTROLES))
to_chat(U, "<span class='warning'>This creature is not suitable for capture.</span>")
to_chat(U, span_warning("This creature is not suitable for capture."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(!M.capture_crystal || M.capture_caught)
to_chat(U, "<span class='warning'>This creature is not suitable for capture.</span>")
to_chat(U, span_warning("This creature is not suitable for capture."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(tgui_alert(M, "Would you like to be caught by in [src] by [U]? You will be bound to their will.", "Become Caught",list("No","Yes")) == "Yes")
if(tgui_alert(M, "Are you really sure? The only way to undo this is to OOC escape while you're in the crystal.", "Become Caught", list("No","Yes")) == "Yes")
@@ -329,7 +329,7 @@
capture(M, U)
recall(U)
return
to_chat(U, "<span class='warning'>This creature is too strong willed to be captured.</span>")
to_chat(U, span_warning("This creature is too strong willed to be captured."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
//The clean up procs!
@@ -352,7 +352,7 @@
//If the crystal hasn't been set up, it does this
/obj/item/capture_crystal/proc/activate(mob/living/user, target)
if(!cooldown_check()) //Are we ready to do things yet?
to_chat(thrower, "<span class='notice'>\The [src] clicks unsatisfyingly... It is not ready yet.</span>")
to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
if(spawn_mob_type && !bound_mob) //We don't already have a mob, but we know what kind of mob we want
@@ -375,22 +375,22 @@
last_activate = world.time
if(M.capture_caught) //Can't capture things that were already caught.
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
to_chat(user, "<span class='notice'>\The [src] clicks unsatisfyingly... \The [M] is already under someone else's control.</span>")
to_chat(user, span_notice("\The [src] clicks unsatisfyingly... \The [M] is already under someone else's control."))
return
else if(M.stat == DEAD) //Is it dead? We can't influence dead things.
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
to_chat(user, "<span class='notice'>\The [src] clicks unsatisfyingly... \The [M] is not in a state to be captured.</span>")
to_chat(user, span_notice("\The [src] clicks unsatisfyingly... \The [M] is not in a state to be captured."))
return
else if(M.client) //Is it player controlled?
capture_player(M, user) //We have to do things a little differently if so.
return
else if(!isanimal(M)) //So it's not player controlled, but it's also not a simplemob?
to_chat(user, "<span class='warning'>This creature is not suitable for capture.</span>")
to_chat(user, span_warning("This creature is not suitable for capture."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return
var/mob/living/simple_mob/S = M
if(!S.ai_holder) //We don't really want to capture simplemobs that don't have an AI
to_chat(user, "<span class='warning'>This creature is not suitable for capture.</span>")
to_chat(user, span_warning("This creature is not suitable for capture."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(prob(capture_chance(S, user))) //OKAY! So we have an NPC simplemob with an AI, let's calculate its capture chance! It varies based on the mob's condition.
capture(S, user) //We did it! Woo! We capture it!
@@ -402,17 +402,17 @@
S.ai_holder.give_target(user, urgent = TRUE)
user.visible_message("\The [src] bonks into \the [S], angering it!")
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
to_chat(user, "<span class='notice'>\The [src] clicks unsatisfyingly.</span>")
to_chat(user, span_notice("\The [src] clicks unsatisfyingly."))
update_icon()
return
//The target is not a mob, so let's not do anything.
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
to_chat(user, "<span class='notice'>\The [src] clicks unsatisfyingly.</span>")
to_chat(user, span_notice("\The [src] clicks unsatisfyingly."))
//We're using the crystal, but what will it do?
/obj/item/capture_crystal/proc/determine_action(mob/living/U, T)
if(!cooldown_check()) //Are we ready yet?
to_chat(thrower, "<span class='notice'>\The [src] clicks unsatisfyingly... It is not ready yet.</span>")
to_chat(thrower, span_notice("\The [src] clicks unsatisfyingly... It is not ready yet."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
return //No
if(bound_mob in contents) //Do we have our mob?
@@ -423,7 +423,7 @@
else if (bound_mob) //Do we HAVE a mob?
recall(U) //Yes, let's try to put it back in the crystal
else //No we don't have a mob, let's reset the crystal.
to_chat(U, "<span class='notice'>\The [src] clicks unsatisfyingly.</span>")
to_chat(U, span_notice("\The [src] clicks unsatisfyingly."))
active = FALSE
update_icon()
owner = null
@@ -443,7 +443,7 @@
playsound(src, 'sound/effects/capture-crystal-in.ogg', 75, 1, -1)
update_icon()
else
to_chat(user, "<span class='notice'>\The [src] clicks and emits a small, unpleasant tone. \The [bound_mob] cannot be recalled.</span>")
to_chat(user, span_notice("\The [src] clicks and emits a small, unpleasant tone. \The [bound_mob] cannot be recalled."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
//Let's let our mob out!
@@ -487,7 +487,7 @@
if(target == bound_mob && thrower != bound_mob) //We got thrown at our bound mob (and weren't thrown by the bound mob) let's ignore the cooldown and just put them back in
recall(thrower)
else if(!cooldown_check()) //OTHERWISE let's obey the cooldown
to_chat(thrower, "<span class='notice'>\The [src] emits an soft tone... It is not ready yet.</span>")
to_chat(thrower, span_notice("\The [src] emits an soft tone... It is not ready yet."))
if(bound_mob)
playsound(src, 'sound/effects/capture-crystal-problem.ogg', 75, 1, -1)
else
@@ -500,14 +500,14 @@
sleep(10)
activate(thrower, src)
else if(!bound_mob) //We hit something else, and we don't have a mob, so we can't really do anything!
to_chat(thrower, "<span class='notice'>\The [src] clicks unpleasantly...</span>")
to_chat(thrower, span_notice("\The [src] clicks unpleasantly..."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
else if(bound_mob in contents) //We have our mob! Let's try to let it out.
sleep(10)
unleash(thrower, src)
update_icon()
else //Our mob isn't here, we can't do anything.
to_chat(thrower, "<span class='notice'>\The [src] clicks unpleasantly...</span>")
to_chat(thrower, span_notice("\The [src] clicks unpleasantly..."))
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
/obj/item/capture_crystal/basic
+1 -1
View File
@@ -294,5 +294,5 @@
chew()
if(chewtime < 1)
if(ismob(loc))
to_chat(loc, "<span class='notice'>There's no more of \the [name] left!</span>")
to_chat(loc, span_notice("There's no more of \the [name] left!"))
spitout(0)
@@ -202,7 +202,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(ismob(loc))
var/mob/living/M = loc
if (!nomessage)
to_chat(M, "<span class='notice'>Your [name] goes out.</span>")
to_chat(M, span_notice("Your [name] goes out."))
M.remove_from_mob(src) //un-equip it so the overlays can update
M.update_inv_wear_mask(0)
qdel(src)
@@ -211,7 +211,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(ismob(loc))
var/mob/living/M = loc
if (!nomessage)
to_chat(M, "<span class='notice'>Your [name] goes out, and you empty the ash.</span>")
to_chat(M, span_notice("Your [name] goes out, and you empty the ash."))
playsound(src, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
lit = 0
icon_state = initial(icon_state)
@@ -230,9 +230,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(lit && H == user && istype(H))
var/obj/item/blocked = H.check_mouth_coverage()
if(blocked)
to_chat(H, "<span class='warning'>\The [blocked] is in the way!</span>")
to_chat(H, span_warning("\The [blocked] is in the way!"))
return 1
to_chat(H, "<span class='notice'>You take a drag on your [name].</span>")
to_chat(H, span_notice("You take a drag on your [name]."))
playsound(src, 'sound/items/cigs_lighters/inhale.ogg', 50, 0, -1)
smoke(5)
return 1
@@ -260,7 +260,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/attack(var/mob/living/M, var/mob/living/user, def_zone)
if(istype(M) && M.on_fire)
user.do_attack_animation(M)
light("<span class='notice'>[user] coldly lights the [name] with the burning body of [M].</span>")
light(span_notice("[user] coldly lights the [name] with the burning body of [M]."))
return 1
else
return ..()
@@ -283,11 +283,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM
max_smoketime = 300
smoketime = 300
var/nicotine_amt = 2
matchmes = "<span class='notice'>USER lights their NAME with their FLAME.</span>"
lightermes = "<span class='notice'>USER manages to light their NAME with FLAME.</span>"
zippomes = "<span class='rose'>With a flick of their wrist, USER lights their NAME with their FLAME.</span>"
weldermes = "<span class='notice'>USER casually lights the NAME with FLAME.</span>"
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME.</span>"
matchmes = span_notice("USER lights their NAME with their FLAME.")
lightermes = span_notice("USER manages to light their NAME with FLAME.")
zippomes = span_rose("With a flick of their wrist, USER lights their NAME with their FLAME.")
weldermes = span_notice("USER casually lights the NAME with FLAME.")
ignitermes = span_notice("USER fiddles with FLAME, and manages to light their NAME.")
/obj/item/clothing/mask/smokable/cigarette/Initialize()
. = ..()
@@ -300,7 +300,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(istype(W, /obj/item/melee/energy/sword))
var/obj/item/melee/energy/sword/S = W
if(S.active)
light("<span class='warning'>[user] swings their [W], barely missing their nose. They light their [name] in the process.</span>")
light(span_warning("[user] swings their [W], barely missing their nose. They light their [name] in the process."))
return
@@ -311,21 +311,21 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if(istype(glass)) //you can dip cigarettes into beakers
var/transfered = glass.reagents.trans_to_obj(src, chem_volume)
if(transfered) //if reagents were transfered, show the message
to_chat(user, "<span class='notice'>You dip \the [src] into \the [glass].</span>")
to_chat(user, span_notice("You dip \the [src] into \the [glass]."))
else //if not, either the beaker was empty, or the cigarette was full
if(!glass.reagents.total_volume)
to_chat(user, "<span class='notice'>[glass] is empty.</span>")
to_chat(user, span_notice("[glass] is empty."))
else
to_chat(user, "<span class='notice'>[src] is full.</span>")
to_chat(user, span_notice("[src] is full."))
/obj/item/clothing/mask/smokable/cigarette/attack_self(mob/user as mob)
if(lit == 1)
if(user.a_intent == I_HURT)
user.visible_message("<span class='notice'>[user] drops and treads on the lit [src], putting it out instantly.</span>")
user.visible_message(span_notice("[user] drops and treads on the lit [src], putting it out instantly."))
playsound(src, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
die(1)
else
user.visible_message("<span class='notice'>[user] puts out \the [src].</span>")
user.visible_message(span_notice("[user] puts out \the [src]."))
quench()
return ..()
@@ -346,11 +346,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM
smoketime = 1500
chem_volume = 20
nicotine_amt = 4
matchmes = "<span class='notice'>USER lights their NAME with their FLAME.</span>"
lightermes = "<span class='notice'>USER manages to offend their NAME by lighting it with FLAME.</span>"
zippomes = "<span class='rose'>With a flick of their wrist, USER lights their NAME with their FLAME.</span>"
weldermes = "<span class='notice'>USER insults NAME by lighting it with FLAME.</span>"
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME with the power of science.</span>"
matchmes = span_notice("USER lights their NAME with their FLAME.")
lightermes = span_notice("USER manages to offend their NAME by lighting it with FLAME.")
zippomes = span_rose("With a flick of their wrist, USER lights their NAME with their FLAME.")
weldermes = span_notice("USER insults NAME by lighting it with FLAME.")
ignitermes = span_notice("USER fiddles with FLAME, and manages to light their NAME with the power of science.")
/obj/item/clothing/mask/smokable/cigarette/cigar/cohiba
name = "\improper Cohiba Robusto cigar"
@@ -417,11 +417,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM
item_state = "pipe"
smoketime = 0
chem_volume = 50
matchmes = "<span class='notice'>USER lights their NAME with their FLAME.</span>"
lightermes = "<span class='notice'>USER manages to light their NAME with FLAME.</span>"
zippomes = "<span class='rose'>With much care, USER lights their NAME with their FLAME.</span>"
weldermes = "<span class='notice'>USER recklessly lights NAME with FLAME.</span>"
ignitermes = "<span class='notice'>USER fiddles with FLAME, and manages to light their NAME with the power of science.</span>"
matchmes = span_notice("USER lights their NAME with their FLAME.")
lightermes = span_notice("USER manages to light their NAME with FLAME.")
zippomes = span_rose("With much care, USER lights their NAME with their FLAME.")
weldermes = span_notice("USER recklessly lights NAME with FLAME.")
ignitermes = span_notice("USER fiddles with FLAME, and manages to light their NAME with the power of science.")
is_pipe = 1
/obj/item/clothing/mask/smokable/pipe/New()
@@ -431,11 +431,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/clothing/mask/smokable/pipe/attack_self(mob/user as mob)
if(lit == 1)
if(user.a_intent == I_HURT)
user.visible_message("<span class='notice'>[user] empties the lit [src] on the floor!.</span>")
user.visible_message(span_notice("[user] empties the lit [src] on the floor!."))
playsound(src, 'sound/items/cigs_lighters/cig_snuff.ogg', 50, 1)
die(1)
else
user.visible_message("<span class='notice'>[user] puts out \the [src].</span>")
user.visible_message(span_notice("[user] puts out \the [src]."))
quench()
/obj/item/clothing/mask/smokable/pipe/attackby(obj/item/W as obj, mob/user as mob)
@@ -447,10 +447,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if (istype(W, /obj/item/reagent_containers/food/snacks))
var/obj/item/reagent_containers/food/snacks/grown/G = W
if (!G.dry)
to_chat(user, "<span class='notice'>[G] must be dried before you stuff it into [src].</span>")
to_chat(user, span_notice("[G] must be dried before you stuff it into [src]."))
return
if (smoketime)
to_chat(user, "<span class='notice'>[src] is already packed.</span>")
to_chat(user, span_notice("[src] is already packed."))
return
max_smoketime = 1000
smoketime = 1000
@@ -462,15 +462,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM
else if(istype(W, /obj/item/flame/lighter))
var/obj/item/flame/lighter/L = W
if(L.lit)
light("<span class='notice'>[user] manages to light their [name] with [W].</span>")
light(span_notice("[user] manages to light their [name] with [W]."))
else if(istype(W, /obj/item/flame/match))
var/obj/item/flame/match/M = W
if(M.lit)
light("<span class='notice'>[user] lights their [name] with their [W].</span>")
light(span_notice("[user] lights their [name] with their [W]."))
else if(istype(W, /obj/item/assembly/igniter))
light("<span class='notice'>[user] fiddles with [W], and manages to light their [name] with the power of science.</span>")
light(span_notice("[user] fiddles with [W], and manages to light their [name] with the power of science."))
user.update_inv_wear_mask(0)
user.update_inv_l_hand(0)
@@ -537,17 +537,17 @@ CIGARETTE PACKETS ARE IN FANCY.DM
if (istype(W, /obj/item/reagent_containers/food/snacks))
var/obj/item/reagent_containers/food/snacks/grown/G = W
if (!G.dry) //This prevents people from just stuffing cheeseburgers into their joint
to_chat(user, "<span class='notice'>[G.name] must be dried before you add it to [src].</span>")
to_chat(user, span_notice("[G.name] must be dried before you add it to [src]."))
return
if (G.reagents.total_volume + src.reagents.total_volume > src.reagents.maximum_volume) //Check that we don't have too much already in the paper before adding things
to_chat(user, "<span class='warning'>The [src] is too full to add [G.name].</span>")
to_chat(user, span_warning("The [src] is too full to add [G.name]."))
return
if (src.reagents.total_volume == 0)
if (istype(src, /obj/item/reagent_containers/rollingpaper/blunt)) //update the icon if this is the first thing we're adding to the paper
src.icon_state = "blunt_full"
else
src.icon_state = "paper_full"
to_chat(user, "<span class='notice'>You add the [G.name] to the [src.name].</span>")
to_chat(user, span_notice("You add the [G.name] to the [src.name]."))
src.add_fingerprint(user)
if(G.reagents)
G.reagents.trans_to_obj(src, G.reagents.total_volume) //adds the reagents from the plant into the paper
@@ -556,10 +556,10 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/reagent_containers/rollingpaper/attack_self(mob/living/user)
if(!src.reagents) //don't roll an empty joint
to_chat(user, "<span class='warning'>There is nothing in [src]. Add something to it first.</span>")
to_chat(user, span_warning("There is nothing in [src]. Add something to it first."))
return
var/obj/item/clothing/mask/smokable/cigarette/J = new crafted_type()
to_chat(user,"<span class='notice'>You roll the [src] into a blunt!</span>")
to_chat(user,span_notice("You roll the [src] into a blunt!"))
J.add_fingerprint(user)
if(src.reagents)
src.reagents.trans_to_obj(J, src.reagents.total_volume)
@@ -623,7 +623,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
lit = 1
icon_state = "lighteron"
playsound(src, activation_sound, 75, 1)
user.visible_message("<span class='notice'>After a few attempts, [user] manages to light the [src].</span>")
user.visible_message(span_notice("After a few attempts, [user] manages to light the [src]."))
set_light(2, 0.5, "#FF9933")
START_PROCESSING(SSobj, src)
@@ -632,7 +632,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
lit = 0
icon_state = "lighter"
playsound(src, deactivation_sound, 75, 1)
user.visible_message("<span class='notice'>[user] quietly shuts off the [src].</span>")
user.visible_message(span_notice("[user] quietly shuts off the [src]."))
set_light(0)
STOP_PROCESSING(SSobj, src)
@@ -653,9 +653,9 @@ CIGARETTE PACKETS ARE IN FANCY.DM
cig.attackby(src, user)
else
if(istype(src, /obj/item/flame/lighter/zippo))
cig.light("<span class='rose'>[user] whips the [name] out and holds it for [M].</span>")
cig.light(span_rose("[user] whips the [name] out and holds it for [M]."))
else
cig.light("<span class='notice'>[user] holds the [name] out for [M], and lights the [cig.name].</span>")
cig.light(span_notice("[user] holds the [name] out for [M], and lights the [cig.name]."))
else
..()
@@ -689,7 +689,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "[base_state]on"
item_state = "[base_state]on"
playsound(src, activation_sound, 75, 1)
user.visible_message("<span class='rose'>Without even breaking stride, [user] flips open and lights [src] in one smooth movement.</span>")
user.visible_message(span_rose("Without even breaking stride, [user] flips open and lights [src] in one smooth movement."))
set_light(2, 0.5, "#FF9933")
START_PROCESSING(SSobj, src)
@@ -698,7 +698,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM
icon_state = "[base_state]"
item_state = "[base_state]"
playsound(src, deactivation_sound, 75, 1)
user.visible_message("<span class='rose'>You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing.</span>")
user.visible_message(span_rose("You hear a quiet click, as [user] shuts off [src] without even looking at what they're doing."))
set_light(0)
STOP_PROCESSING(SSobj, src)
@@ -765,4 +765,4 @@ CIGARETTE PACKETS ARE IN FANCY.DM
/obj/item/flame/lighter/zippo/skull
name = "\improper badass Zippo lighter"
desc = "An absolutely badass zippo lighter. Just look at that skull!"
icon_state = "skullzippo"
icon_state = "skullzippo"
@@ -54,7 +54,7 @@
if(emagged)
to_chat(user, "Circuit lock is already removed.")
return
to_chat(user, "<span class='notice'>You override the circuit lock and open controls.</span>")
to_chat(user, span_notice("You override the circuit lock and open controls."))
emagged = 1
locked = 0
return 1
@@ -62,16 +62,16 @@
/obj/item/circuitboard/security/attackby(obj/item/I as obj, mob/user as mob)
if(istype(I,/obj/item/card/id))
if(emagged)
to_chat(user, "<span class='warning'>Circuit lock does not respond.</span>")
to_chat(user, span_warning("Circuit lock does not respond."))
return
if(check_access(I))
locked = !locked
to_chat(user, "<span class='notice'>You [locked ? "" : "un"]lock the circuit controls.</span>")
to_chat(user, span_notice("You [locked ? "" : "un"]lock the circuit controls."))
else
to_chat(user, "<span class='warning'>Access denied.</span>")
to_chat(user, span_warning("Access denied."))
else if(istype(I,/obj/item/multitool))
if(locked)
to_chat(user, "<span class='warning'>Circuit controls are locked.</span>")
to_chat(user, span_warning("Circuit controls are locked."))
return
var/existing_networks = jointext(network,",")
var/input = sanitize(tgui_input_text(usr, "Which networks would you like to connect this camera console circuit to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks))
@@ -9,13 +9,13 @@
/obj/item/circuitboard/rdconsole/attackby(obj/item/I as obj, mob/user as mob)
if(I.has_tool_quality(TOOL_SCREWDRIVER))
playsound(src, I.usesound, 50, 1)
user.visible_message("<b>\The [user]</b> adjusts the jumper on \the [src]'s access protocol pins.", "<span class='notice'>You adjust the jumper on the access protocol pins.</span>")
user.visible_message("<b>\The [user]</b> adjusts the jumper on \the [src]'s access protocol pins.", span_notice("You adjust the jumper on the access protocol pins."))
if(build_path == /obj/machinery/computer/rdconsole/core)
name = T_BOARD("RD Console - Robotics")
build_path = /obj/machinery/computer/rdconsole/robotics
to_chat(user, "<span class='notice'>Access protocols set to robotics.</span>")
to_chat(user, span_notice("Access protocols set to robotics."))
else
name = T_BOARD("RD Console")
build_path = /obj/machinery/computer/rdconsole/core
to_chat(user, "<span class='notice'>Access protocols set to default.</span>")
return
to_chat(user, span_notice("Access protocols set to default."))
return
@@ -14,15 +14,15 @@
/obj/item/circuitboard/rdserver/attackby(obj/item/I as obj, mob/user as mob)
if(I.has_tool_quality(TOOL_SCREWDRIVER))
playsound(src, I.usesound, 50, 1)
user.visible_message("<b>\The [user]</b> adjusts the jumper on \the [src]'s access protocol pins.", "<span class='notice'>You adjust the jumper on the access protocol pins.</span>")
user.visible_message("<b>\The [user]</b> adjusts the jumper on \the [src]'s access protocol pins.", span_notice("You adjust the jumper on the access protocol pins."))
if(build_path == /obj/machinery/r_n_d/server/core)
name = T_BOARD("RD Console - Robotics")
build_path = /obj/machinery/r_n_d/server/robotics
to_chat(user, "<span class='notice'>Access protocols set to robotics.</span>")
to_chat(user, span_notice("Access protocols set to robotics."))
else
name = T_BOARD("RD Console")
build_path = /obj/machinery/r_n_d/server/core
to_chat(user, "<span class='notice'>Access protocols set to default.</span>")
to_chat(user, span_notice("Access protocols set to default."))
return
/obj/item/circuitboard/destructive_analyzer
@@ -37,30 +37,30 @@
//I couldn't feasibly fix the overlay bugs caused by cleaning items we are wearing.
//So this is a workaround. This also makes more sense from an IC standpoint. ~Carn
if(user.client && (target in user.client.screen))
to_chat(user, "<span class='notice'>You need to take that [target.name] off before cleaning it.</span>")
to_chat(user, span_notice("You need to take that [target.name] off before cleaning it."))
else if(istype(target,/obj/effect/decal/cleanable/blood))
to_chat(user, "<span class='notice'>You scrub \the [target.name] out.</span>")
to_chat(user, span_notice("You scrub \the [target.name] out."))
target.clean_blood()
return //Blood is a cleanable decal, therefore needs to be accounted for before all cleanable decals.
else if(istype(target,/obj/effect/decal/cleanable))
to_chat(user, "<span class='notice'>You scrub \the [target.name] out.</span>")
to_chat(user, span_notice("You scrub \the [target.name] out."))
qdel(target)
else if(istype(target,/turf))
to_chat(user, "<span class='notice'>You scrub \the [target.name] clean.</span>")
to_chat(user, span_notice("You scrub \the [target.name] clean."))
var/turf/T = target
T.clean(src, user)
else if(istype(target,/obj/structure/sink))
to_chat(user, "<span class='notice'>You wet \the [src] in the sink.</span>")
to_chat(user, span_notice("You wet \the [src] in the sink."))
wet()
else
to_chat(user, "<span class='notice'>You clean \the [target.name].</span>")
to_chat(user, span_notice("You clean \the [target.name]."))
target.clean_blood(TRUE)
return
//attack_as_weapon
/obj/item/soap/attack(mob/living/target, mob/living/user, var/target_zone)
if(target && user && ishuman(target) && ishuman(user) && !user.incapacitated() && user.zone_sel &&user.zone_sel.selecting == "mouth" )
user.visible_message("<span class='danger'>\The [user] washes \the [target]'s mouth out with soap!</span>")
user.visible_message(span_danger("\The [user] washes \the [target]'s mouth out with soap!"))
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN) //prevent spam
return
..()
+12 -12
View File
@@ -31,7 +31,7 @@
name = "[colour] lipstick"
/obj/item/lipstick/attack_self(mob/user as mob)
to_chat(user, "<span class='notice'>You twist \the [src] [open ? "closed" : "open"].</span>")
to_chat(user, span_notice("You twist \the [src] [open ? "closed" : "open"]."))
open = !open
if(open)
icon_state = "[initial(icon_state)]_[colour]"
@@ -46,23 +46,23 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.lip_style) //if they already have lipstick on
to_chat(user, "<span class='notice'>You need to wipe off the old lipstick first!</span>")
to_chat(user, span_notice("You need to wipe off the old lipstick first!"))
return
if(H == user)
user.visible_message("<span class='notice'>[user] does their lips with \the [src].</span>", \
"<span class='notice'>You take a moment to apply \the [src]. Perfect!</span>")
user.visible_message(span_notice("[user] does their lips with \the [src]."), \
span_notice("You take a moment to apply \the [src]. Perfect!"))
H.lip_style = colour
H.update_icons_body()
else
user.visible_message("<span class='warning'>[user] begins to do [H]'s lips with \the [src].</span>", \
"<span class='notice'>You begin to apply \the [src].</span>")
user.visible_message(span_warning("[user] begins to do [H]'s lips with \the [src]."), \
span_notice("You begin to apply \the [src]."))
if(do_after(user, 20, H)) //user needs to keep their active hand, H does not.
user.visible_message("<span class='notice'>[user] does [H]'s lips with \the [src].</span>", \
"<span class='notice'>You apply \the [src].</span>")
user.visible_message(span_notice("[user] does [H]'s lips with \the [src]."), \
span_notice("You apply \the [src]."))
H.lip_style = colour
H.update_icons_body()
else
to_chat(user, "<span class='notice'>Where are the lips on that?</span>")
to_chat(user, span_notice("Where are the lips on that?"))
//you can wipe off lipstick with paper! see code/modules/paperwork/paper.dm, paper/attack()
@@ -89,7 +89,7 @@
text = "guy"
if(FEMALE)
text = "lady"
user.visible_message("<span class='notice'>[user] uses [src] to comb their hair with incredible style and sophistication. What a [text].</span>")
user.visible_message(span_notice("[user] uses [src] to comb their hair with incredible style and sophistication. What a [text]."))
/obj/item/makeover
name = "makeover kit"
@@ -105,9 +105,9 @@
/obj/item/makeover/attack_self(mob/living/carbon/user as mob)
if(ishuman(user))
to_chat(user, "<span class='notice'>You flip open \the [src] and begin to adjust your appearance.</span>")
to_chat(user, span_notice("You flip open \the [src] and begin to adjust your appearance."))
M.tgui_interact(user)
var/mob/living/carbon/human/H = user
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES]
if(istype(E))
E.change_eye_color()
E.change_eye_color()
@@ -106,7 +106,7 @@
if(inuse)
return 0
user.visible_message("<span class='danger'>\The [user] is trying to inject \the [M] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] is trying to inject \the [M] with \the [src]!"))
inuse = 1
s_time = world.time
spawn(50)
@@ -118,11 +118,11 @@
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
user.do_attack_animation(M)
M.visible_message("<span class='danger'>\The [M] has been injected with \the [src] by \the [user].</span>")
M.visible_message(span_danger("\The [M] has been injected with \the [src] by \the [user]."))
var/mob/living/carbon/human/H = M
if(!istype(H))
to_chat(user, "<span class='warning'>Apparently it didn't work...</span>")
to_chat(user, span_warning("Apparently it didn't work..."))
return
// Used by admin log.
+9 -9
View File
@@ -24,25 +24,25 @@
/obj/item/clothing/mask/smokable/ecig/examine(mob/user)
. = ..()
if(active)
. += "<span class='notice'>It is turned on.</span>"
. += span_notice("It is turned on.")
else
. += "<span class='notice'>It is turned off.</span>"
. += span_notice("It is turned off.")
if(Adjacent(user))
if(ec_cartridge)
if(!ec_cartridge.reagents?.total_volume)
. += "<span class='notice'>Its cartridge is empty!</span>"
. += span_notice("Its cartridge is empty!")
else if (ec_cartridge.reagents.total_volume <= ec_cartridge.volume * 0.25)
. += "<span class='notice'>Its cartridge is almost empty!</span>"
. += span_notice("Its cartridge is almost empty!")
else if (ec_cartridge.reagents.total_volume <= ec_cartridge.volume * 0.66)
. += "<span class='notice'>Its cartridge is half full!</span>"
. += span_notice("Its cartridge is half full!")
else if (ec_cartridge.reagents.total_volume <= ec_cartridge.volume * 0.90)
. += "<span class='notice'>Its cartridge is almost full!</span>"
. += span_notice("Its cartridge is almost full!")
else
. += "<span class='notice'>Its cartridge is full!</span>"
. += span_notice("Its cartridge is full!")
else
. += "<span class='notice'>It has no cartridge.</span>"
. += span_notice("It has no cartridge.")
/obj/item/clothing/mask/smokable/ecig/simple
name = "simple electronic cigarette"
@@ -31,7 +31,7 @@
/obj/item/plastique/attackby(var/obj/item/I, var/mob/user)
if(I.has_tool_quality(TOOL_SCREWDRIVER))
open_panel = !open_panel
to_chat(user, "<span class='notice'>You [open_panel ? "open" : "close"] the wire panel.</span>")
to_chat(user, span_notice("You [open_panel ? "open" : "close"] the wire panel."))
playsound(src, I.usesound, 50, 1)
else if(I.has_tool_quality(TOOL_WIRECUTTER) || istype(I, /obj/item/multitool) || istype(I, /obj/item/assembly/signaler ))
wires.Interact(user)
@@ -60,7 +60,7 @@
if (ismob(target))
add_attack_logs(user, target, "planted [name] on with [timer] second fuse")
user.visible_message("<span class='danger'>[user.name] finished planting an explosive on [target.name]!</span>")
user.visible_message(span_danger("[user.name] finished planting an explosive on [target.name]!"))
else
message_admins("[key_name(user, user.client)](<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[user]'>?</A>) planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - <A HREF='?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[target.x];Y=[target.y];Z=[target.z]'>JMP</a>) with [timer] second fuse",0,1)
log_game("[key_name(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z]) with [timer] second fuse")
@@ -108,12 +108,12 @@
var/obj/item/stock_parts/SP = I
var/new_blast_power = max(1, round(SP.rating / 2) + 1)
if(new_blast_power > blast_heavy)
to_chat(user, "<span class='notice'>You install \the [I] into \the [src].</span>")
to_chat(user, span_notice("You install \the [I] into \the [src]."))
user.drop_from_inventory(I)
qdel(I)
blast_heavy = new_blast_power
blast_light = blast_heavy + round(new_blast_power * 0.5)
blast_flash = blast_light + round(new_blast_power * 0.75)
else
to_chat(user, "<span class='notice'>The [I] is not any better than the component already installed into this charge!</span>")
to_chat(user, span_notice("The [I] is not any better than the component already installed into this charge!"))
return .
@@ -9,9 +9,9 @@
var/turf/T = get_turf(target)
if((T.z in using_map.station_levels) || (T.z in using_map.admin_levels))
target.visible_message("<span class='danger'>\The [src] lets out a loud beep as safeties trigger, before imploding and falling apart.</span>")
target.visible_message(span_danger("\The [src] lets out a loud beep as safeties trigger, before imploding and falling apart."))
target.cut_overlay(image_overlay, TRUE)
qdel(src)
return 0
else
return ..()
return ..()
@@ -93,13 +93,13 @@
if( istype(target, /obj/structure/reagent_dispensers) && flag)
var/obj/o = target
var/amount = o.reagents.trans_to_obj(src, 50)
to_chat(user, "<span class='notice'>You fill [src] with [amount] units of the contents of [target].</span>")
to_chat(user, span_notice("You fill [src] with [amount] units of the contents of [target]."))
playsound(src, 'sound/effects/refill.ogg', 50, 1, -6)
return
if (!safety)
if (src.reagents.total_volume < 1)
to_chat(usr, "<span class='notice'>\The [src] is empty.</span>")
to_chat(usr, span_notice("\The [src] is empty."))
return
if (world.time < src.last_use + 20)
@@ -86,7 +86,7 @@
if(W.has_tool_quality(TOOL_SCREWDRIVER) && igniter && !lit)
status = !status
to_chat(user, "<span class='notice'>[igniter] is now [status ? "secured" : "unsecured"]!</span>")
to_chat(user, span_notice("[igniter] is now [status ? "secured" : "unsecured"]!"))
update_icon()
return
@@ -102,7 +102,7 @@
if(istype(W,/obj/item/tank/phoron))
if(ptank)
to_chat(user, "<span class='notice'>There appears to already be a phoron tank loaded in [src]!</span>")
to_chat(user, span_notice("There appears to already be a phoron tank loaded in [src]!"))
return
user.drop_item()
ptank = W
@@ -118,7 +118,7 @@
if(user.stat || user.restrained() || user.lying) return
user.set_machine(src)
if(!ptank)
to_chat(user, "<span class='notice'>Attach a phoron tank first!</span>")
to_chat(user, span_notice("Attach a phoron tank first!"))
return
var/dat = text("<TT><B>Flamethrower (<A HREF='?src=\ref[src];light=1'>[lit ? "<font color='red'>Lit</font>" : "Unlit"]</a>)</B><BR>\n Tank Pressure: [ptank.air_contents.return_pressure()]<BR>\nAmount to throw: <A HREF='?src=\ref[src];amount=-100'>-</A> <A HREF='?src=\ref[src];amount=-10'>-</A> <A HREF='?src=\ref[src];amount=-1'>-</A> [throw_amount] <A HREF='?src=\ref[src];amount=1'>+</A> <A HREF='?src=\ref[src];amount=10'>+</A> <A HREF='?src=\ref[src];amount=100'>+</A><BR>\n<A HREF='?src=\ref[src];remove=1'>Remove phorontank</A> - <A HREF='?src=\ref[src];close=1'>Close</A></TT>")
user << browse(dat, "window=flamethrower;size=600x300")
@@ -33,7 +33,7 @@
user.put_in_active_hand(gift)
src.gift.add_fingerprint(user)
else
to_chat(user, "<span class='warning'>The gift was empty!</span>")
to_chat(user, span_warning("The gift was empty!"))
qdel(src)
return
@@ -44,16 +44,16 @@
/obj/effect/spresent/relaymove(mob/user as mob)
if (user.stat)
return
to_chat(user, "<span class='warning'>You can't move.</span>")
to_chat(user, span_warning("You can't move."))
/obj/effect/spresent/attackby(obj/item/W as obj, mob/user as mob)
..()
if (!W.has_tool_quality(TOOL_WIRECUTTER))
to_chat(user, "<span class='warning'>I need wirecutters for that.</span>")
to_chat(user, span_warning("I need wirecutters for that."))
return
to_chat(user, "<span class='notice'>You cut open the present.</span>")
to_chat(user, span_notice("You cut open the present."))
for(var/mob/M in src) //Should only be one but whatever.
M.forceMove(src.loc)
@@ -129,17 +129,17 @@
/obj/item/wrapping_paper/attackby(obj/item/W as obj, mob/living/user as mob)
..()
if (!( locate(/obj/structure/table, src.loc) ))
to_chat(user, "<span class='warning'>You MUST put the paper on a table!</span>")
to_chat(user, span_warning("You MUST put the paper on a table!"))
if (W.w_class < ITEMSIZE_LARGE)
var/obj/item/I = user.get_inactive_hand()
if(I && I.has_tool_quality(TOOL_WIRECUTTER))
var/a_used = 2 ** (src.w_class - 1)
if (src.amount < a_used)
to_chat(user, "<span class='warning'>You need more paper!</span>")
to_chat(user, span_warning("You need more paper!"))
return
else
if(istype(W, /obj/item/smallDelivery) || istype(W, /obj/item/gift)) //No gift wrapping gifts!
to_chat(user, "<span class='warning'>You can't wrap something that's already wrapped!</span>")
to_chat(user, span_warning("You can't wrap something that's already wrapped!"))
return
src.amount -= a_used
@@ -158,9 +158,9 @@
qdel(src)
return
else
to_chat(user, "<span class='warning'>You need scissors!</span>")
to_chat(user, span_warning("You need scissors!"))
else
to_chat(user, "<span class='warning'>The object is FAR too large!</span>")
to_chat(user, span_warning("The object is FAR too large!"))
return
@@ -182,6 +182,6 @@
add_attack_logs(user,H,"Wrapped with [src]")
else
to_chat(user, "<span class='warning'>You need more paper.</span>")
to_chat(user, span_warning("You need more paper."))
else
to_chat(user, "They are moving around too much. A straightjacket would help.")
@@ -44,7 +44,7 @@
user.put_in_hands(B)
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
if(stage > 1 && !active && clown_check(user))
to_chat(user, "<span class='warning'>You prime \the [name]!</span>")
to_chat(user, span_warning("You prime \the [name]!"))
msg_admin_attack("[key_name_admin(user)] primed \a [src]")
@@ -58,13 +58,13 @@
if(istype(W,/obj/item/assembly_holder) && (!stage || stage==1) && !detonator && path != 2)
var/obj/item/assembly_holder/det = W
if(istype(det.a_left,det.a_right.type) || (!isigniter(det.a_left) && !isigniter(det.a_right)))
to_chat(user, "<span class='warning'>Assembly must contain one igniter.</span>")
to_chat(user, span_warning("Assembly must contain one igniter."))
return
if(!det.secured)
to_chat(user, "<span class='warning'>Assembly must be secured with screwdriver.</span>")
to_chat(user, span_warning("Assembly must be secured with screwdriver."))
return
path = 1
to_chat(user, "<span class='notice'>You add [W] to the metal casing.</span>")
to_chat(user, span_notice("You add [W] to the metal casing."))
playsound(src, 'sound/items/Screwdriver2.ogg', 25, -3)
user.remove_from_mob(det)
det.loc = src
@@ -82,23 +82,23 @@
if(stage == 1)
path = 1
if(beakers.len)
to_chat(user, "<span class='notice'>You lock the assembly.</span>")
to_chat(user, span_notice("You lock the assembly."))
name = "grenade"
else
// to_chat(user, "<span class='warning'>You need to add at least one beaker before locking the assembly.</span>")
to_chat(user, "<span class='notice'>You lock the empty assembly.</span>")
// to_chat(user, span_warning("You need to add at least one beaker before locking the assembly."))
to_chat(user, span_notice("You lock the empty assembly."))
name = "fake grenade"
playsound(src, W.usesound, 50, 1)
icon_state = initial(icon_state) +"_locked"
stage = 2
else if(stage == 2)
if(active && prob(95))
to_chat(user, "<span class='warning'>You trigger the assembly!</span>")
to_chat(user, span_warning("You trigger the assembly!"))
detonate()
else if(sealed)
to_chat(user, "<span class='warning'>This grenade lacks a way to disassemble it.</span>")
to_chat(user, span_warning("This grenade lacks a way to disassemble it."))
else
to_chat(user, "<span class='notice'>You unlock the assembly.</span>")
to_chat(user, span_notice("You unlock the assembly."))
playsound(src, W.usesound, 50, -3)
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
icon_state = initial(icon_state) + (detonator?"_ass":"")
@@ -107,18 +107,18 @@
else if(is_type_in_list(W, allowed_containers) && (!stage || stage==1) && path != 2)
path = 1
if(beakers.len == 2)
to_chat(user, "<span class='warning'>The grenade can not hold more containers.</span>")
to_chat(user, span_warning("The grenade can not hold more containers."))
return
else
if(W.reagents.total_volume)
to_chat(user, "<span class='notice'>You add \the [W] to the assembly.</span>")
to_chat(user, span_notice("You add \the [W] to the assembly."))
user.drop_item()
W.loc = src
beakers += W
stage = 1
name = "unsecured grenade with [beakers.len] containers[detonator?" and detonator":""]"
else
to_chat(user, "<span class='warning'>\The [W] is empty.</span>")
to_chat(user, span_warning("\The [W] is empty."))
/obj/item/grenade/chem_grenade/examine(mob/user)
. = ..()
@@ -17,14 +17,14 @@
/obj/proc/concussion_blast(atom/target, var/radius = 5)
var/turf/T = get_turf(target)
if(is_below_sound_pressure(T))
visible_message("<span class='notice'>Whump.</span>")
visible_message(span_notice("Whump."))
return
playsound(src, 'sound/effects/bang.ogg', 75, 1, -3)
if(istype(T))
for(var/mob/living/L in orange(T, radius))
if(ishuman(L))
var/mob/living/carbon/human/H = L
to_chat(H, "<span class='critical'>WHUMP.</span>")
to_chat(H, span_critical("WHUMP."))
var/ear_safety = 0
@@ -67,13 +67,13 @@
H.ear_deaf = max(H.ear_deaf,5)
if(H.ear_damage >= 15)
to_chat(H, "<span class='danger'>Your ears start to ring badly!</span>")
to_chat(H, span_danger("Your ears start to ring badly!"))
if(prob(H.ear_damage - 5))
to_chat(H, "<span class='danger'>You can't hear anything!</span>")
to_chat(H, span_danger("You can't hear anything!"))
H.sdisabilities |= DEAF
else if(H.ear_damage >= 5)
to_chat(H, "<span class='danger'>Your ears start to ring!</span>")
to_chat(H, span_danger("Your ears start to ring!"))
if(istype(L, /mob/living/silicon/robot))
var/mob/living/silicon/robot/R = L
if(L.client)
@@ -81,5 +81,5 @@
L.client.spinleft()
else
L.client.spinright()
to_chat(R, "<span class='critical'>Gyroscopic failure.</span>")
return
to_chat(R, span_critical("Gyroscopic failure."))
return
@@ -28,7 +28,7 @@
qdel(src)
/obj/item/grenade/flashbang/proc/bang(var/turf/T , var/mob/living/carbon/M) // Added a new proc called 'bang' that takes a location and a person to be banged.
to_chat(M, "<span class='danger'>BANG</span>") // Called during the loop that bangs people in lockers/containers and when banging
to_chat(M, span_danger("BANG")) // Called during the loop that bangs people in lockers/containers and when banging
playsound(src, 'sound/effects/bang.ogg', 50, 1, 30) // people in normal view. Could theroetically be called during other explosions.
// -- Polymorph
@@ -80,18 +80,18 @@
if(ishuman(M))
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES]
if (E && E.damage >= E.min_bruised_damage)
to_chat(M, "<span class='danger'>Your eyes start to burn badly!</span>")
to_chat(M, span_danger("Your eyes start to burn badly!"))
if(!banglet && !(istype(src , /obj/item/grenade/flashbang/clusterbang)))
if (E.damage >= E.min_broken_damage)
to_chat(M, "<span class='danger'>You can't see anything!</span>")
to_chat(M, span_danger("You can't see anything!"))
if (M.ear_damage >= 15)
to_chat(M, "<span class='danger'>Your ears start to ring badly!</span>")
to_chat(M, span_danger("Your ears start to ring badly!"))
if(!banglet && !(istype(src , /obj/item/grenade/flashbang/clusterbang)))
if (prob(M.ear_damage - 10 + 5))
to_chat(M, "<span class='danger'>You can't hear anything!</span>")
to_chat(M, span_danger("You can't hear anything!"))
M.sdisabilities |= DEAF
else if(M.ear_damage >= 5)
to_chat(M, "<span class='danger'>Your ears start to ring!</span>")
to_chat(M, span_danger("Your ears start to ring!"))
/obj/item/grenade/flashbang/Destroy()
walk(src, 0) // Because we might have called walk_away, we must stop the walk loop or BYOND keeps an internal reference to us forever.
@@ -18,7 +18,7 @@
/obj/item/grenade/proc/clown_check(var/mob/living/user)
if((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>Huh? How does this thing work?</span>")
to_chat(user, span_warning("Huh? How does this thing work?"))
activate(user)
add_fingerprint(user)
@@ -32,7 +32,7 @@
if (istype(target, /obj/item/storage)) return ..() // Trying to put it in a full container
if (istype(target, /obj/item/gun/grenadelauncher)) return ..()
if((user.get_active_hand() == src) && (!active) && (clown_check(user)) && target.loc != src.loc)
to_chat(user, "<span class='warning'>You prime the [name]! [det_time/10] seconds!</span>")
to_chat(user, span_warning("You prime the [name]! [det_time/10] seconds!"))
active = 1
icon_state = initial(icon_state) + "_active"
playsound(src, 'sound/weapons/armbomb.ogg', 75, 1, -3)
@@ -58,7 +58,7 @@
/obj/item/grenade/attack_self(mob/user as mob)
if(!active)
if(clown_check(user))
to_chat(user, "<span class='warning'>You prime \the [name]! [det_time/10] seconds!</span>")
to_chat(user, span_warning("You prime \the [name]! [det_time/10] seconds!"))
activate(user)
add_fingerprint(user)
@@ -96,16 +96,16 @@
switch(det_time)
if (1)
det_time = 10
to_chat(user, "<span class='notice'>You set the [name] for 1 second detonation time.</span>")
to_chat(user, span_notice("You set the [name] for 1 second detonation time."))
if (10)
det_time = 30
to_chat(user, "<span class='notice'>You set the [name] for 3 second detonation time.</span>")
to_chat(user, span_notice("You set the [name] for 3 second detonation time."))
if (30)
det_time = 50
to_chat(user, "<span class='notice'>You set the [name] for 5 second detonation time.</span>")
to_chat(user, span_notice("You set the [name] for 5 second detonation time."))
if (50)
det_time = 1
to_chat(user, "<span class='notice'>You set the [name] for instant detonation.</span>")
to_chat(user, span_notice("You set the [name] for instant detonation."))
add_fingerprint(user)
..()
return
@@ -116,4 +116,4 @@
return
/obj/item/grenade/vendor_action(var/obj/machinery/vending/V)
activate(V)
activate(V)
@@ -17,14 +17,14 @@
if(istype(id))
if(check_access(id))
locked = !locked
to_chat(user, "<span class='warning'>You [locked ? "enable" : "disable"] the safety lock on \the [src].</span>")
to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]."))
else
to_chat(user, "<span class='warning'>Access denied.</span>")
user.visible_message("<span class='notice'>[user] swipes \the [I] against \the [src].</span>")
to_chat(user, span_warning("Access denied."))
user.visible_message(span_notice("[user] swipes \the [I] against \the [src]."))
else
return ..()
/obj/item/grenade/spawnergrenade/manhacks/station/locked/emag_act(var/remaining_charges,var/mob/user)
..()
locked = !locked
to_chat(user, "<span class='warning'>You [locked ? "enable" : "disable"] the safety lock on \the [src]!</span>")
to_chat(user, span_warning("You [locked ? "enable" : "disable"] the safety lock on \the [src]!"))
+15 -15
View File
@@ -33,7 +33,7 @@
return
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>Uh ... how do those things work?!</span>")
to_chat(user, span_warning("Uh ... how do those things work?!"))
place_handcuffs(user, user)
return
@@ -46,7 +46,7 @@
if(can_place(C, user))
place_handcuffs(C, user)
else
to_chat(user, "<span class='danger'>You need to have a firm grip on [C] before you can put \the [src] on!</span>")
to_chat(user, span_danger("You need to have a firm grip on [C] before you can put \the [src] on!"))
/obj/item/handcuffs/proc/can_place(var/mob/target, var/mob/user)
if(user == target)
@@ -68,14 +68,14 @@
return 0
if (!H.has_organ_for_slot(slot_handcuffed))
to_chat(user, "<span class='danger'>\The [H] needs at least two wrists before you can cuff them together!</span>")
to_chat(user, span_danger("\The [H] needs at least two wrists before you can cuff them together!"))
return 0
if(istype(H.gloves,/obj/item/clothing/gloves/gauntlets/rig) && !elastic) // Can't cuff someone who's in a deployed hardsuit.
to_chat(user, "<span class='danger'>\The [src] won't fit around \the [H.gloves]!</span>")
to_chat(user, span_danger("\The [src] won't fit around \the [H.gloves]!"))
return 0
user.visible_message("<span class='danger'>\The [user] is attempting to put [cuff_type] on \the [H]!</span>")
user.visible_message(span_danger("\The [user] is attempting to put [cuff_type] on \the [H]!"))
if(!do_after(user,use_time))
return 0
@@ -89,7 +89,7 @@
user.setClickCooldown(user.get_attack_speed(src))
user.do_attack_animation(H)
user.visible_message("<span class='danger'>\The [user] has put [cuff_type] on \the [H]!</span>")
user.visible_message(span_danger("\The [user] has put [cuff_type] on \the [H]!"))
// Apply cuffs.
var/obj/item/handcuffs/cuffs = src
@@ -129,8 +129,8 @@ var/last_chew = 0
var/datum/gender/T = gender_datums[H.get_visible_gender()]
var/s = "<span class='warning'>[H.name] chews on [T.his] [O.name]!</span>"
H.visible_message(s, "<span class='warning'>You chew on your [O.name]!</span>")
var/s = span_warning("[H.name] chews on [T.his] [O.name]!")
H.visible_message(s, span_warning("You chew on your [O.name]!"))
add_attack_logs(H,H,"chewed own [O.name]")
if(O.take_damage(3,0,1,1,"teeth marks"))
@@ -219,7 +219,7 @@ var/last_chew = 0
return
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>Uh ... how do those things work?!</span>")
to_chat(user, span_warning("Uh ... how do those things work?!"))
place_legcuffs(user, user)
return
@@ -232,7 +232,7 @@ var/last_chew = 0
if(can_place(C, user))
place_legcuffs(C, user)
else
to_chat(user, "<span class='danger'>You need to have a firm grip on [C] before you can put \the [src] on!</span>")
to_chat(user, span_danger("You need to have a firm grip on [C] before you can put \the [src] on!"))
/obj/item/handcuffs/legcuffs/proc/place_legcuffs(var/mob/living/carbon/target, var/mob/user)
playsound(src, cuff_sound, 30, 1, -2)
@@ -242,14 +242,14 @@ var/last_chew = 0
return 0
if (!H.has_organ_for_slot(slot_legcuffed))
to_chat(user, "<span class='danger'>\The [H] needs at least two ankles before you can cuff them together!</span>")
to_chat(user, span_danger("\The [H] needs at least two ankles before you can cuff them together!"))
return 0
if(istype(H.shoes,/obj/item/clothing/shoes/magboots/rig) && !elastic) // Can't cuff someone who's in a deployed hardsuit.
to_chat(user, "<span class='danger'>\The [src] won't fit around \the [H.shoes]!</span>")
to_chat(user, span_danger("\The [src] won't fit around \the [H.shoes]!"))
return 0
user.visible_message("<span class='danger'>\The [user] is attempting to put [cuff_type] on \the [H]!</span>")
user.visible_message(span_danger("\The [user] is attempting to put [cuff_type] on \the [H]!"))
if(!do_after(user,use_time))
return 0
@@ -263,7 +263,7 @@ var/last_chew = 0
user.setClickCooldown(user.get_attack_speed(src))
user.do_attack_animation(H)
user.visible_message("<span class='danger'>\The [user] has put [cuff_type] on \the [H]!</span>")
user.visible_message(span_danger("\The [user] has put [cuff_type] on \the [H]!"))
// Apply cuffs.
var/obj/item/handcuffs/legcuffs/lcuffs = src
@@ -318,7 +318,7 @@ var/last_chew = 0
src.dropped()
return 0
H.visible_message("<span class='danger'>\The [H] has been snared by \the [src]!</span>")
H.visible_message(span_danger("\The [H] has been snared by \the [src]!"))
// Apply cuffs.
var/obj/item/handcuffs/legcuffs/lcuffs = src
@@ -42,10 +42,10 @@
else
S.item_quants[G.name] = 1
else
to_chat(user, "<span class='warning'>The seed bag is full.</span>")
to_chat(user, span_warning("The seed bag is full."))
S.updateUsrDialog()
return
to_chat(user, "<span class='notice'>You pick up all the seeds.</span>")
to_chat(user, span_notice("You pick up all the seeds."))
else
if (S.contents.len < S.capacity)
S.contents += src;
@@ -54,7 +54,7 @@
else
S.item_quants[name] = 1
else
to_chat(user, "<span class='warning'>The seed bag is full.</span>")
to_chat(user, span_warning("The seed bag is full."))
S.updateUsrDialog()
return
@@ -118,7 +118,7 @@
// Vorestation Edit: End of Edit
if(uses<1)
user.visible_message("<span class='warning'>\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.</span>")
user.visible_message(span_warning("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent."))
user.drop_item()
var/obj/item/card/emag_broken/junk = new(user.loc)
junk.add_fingerprint(user)
@@ -130,11 +130,11 @@
if(istype(O, /obj/item/stack/telecrystal))
var/obj/item/stack/telecrystal/T = O
if(T.get_amount() < 1)
to_chat(usr, "<span class='notice'>You are not adding enough telecrystals to fuel \the [src].</span>")
to_chat(usr, span_notice("You are not adding enough telecrystals to fuel \the [src]."))
return
uses += T.get_amount()*0.5 //Gives 5 uses per 10 TC
uses = CEILING(uses, 1) //Ensures no decimal uses nonsense, rounds up to be nice
to_chat(usr, "<span class='notice'>You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses].</span>")
to_chat(usr, span_notice("You add \the [O] to \the [src]. Increasing the uses of \the [src] to [uses]."))
qdel(O)
@@ -158,7 +158,7 @@
// Vorestation Edit: End of Edit
if(uses<1)
user.visible_message("<span class='warning'>\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent.</span>")
user.visible_message(span_warning("\The [src] fizzles and sparks - it seems it's been used once too often, and is now spent."))
burnt_out = TRUE
return 1
@@ -36,7 +36,7 @@
if(in_range(user, src))
tgui_interact(user) //Not chat related
else
. += "<span class='warning'>It is too far away to read.</span>"
. += span_warning("It is too far away to read.")
/obj/item/card/id/proc/prevent_tracking()
return 0
@@ -356,7 +356,7 @@
name = user.name + "'s ID card" + " ([assignment])"
configured = 1
to_chat(user, "<span class='notice'>Card settings set.</span>")
to_chat(user, span_notice("Card settings set."))
/obj/item/card/id/event/attackby(obj/item/I as obj, var/mob/user)
if(istype(I, /obj/item/card/id) && !accessset)
@@ -364,7 +364,7 @@
access |= O.GetAccess()
desc = I.desc
rank = O.rank
to_chat(user, "<span class='notice'>You copy the access from \the [I] to \the [src].</span>")
to_chat(user, span_notice("You copy the access from \the [I] to \the [src]."))
user.drop_from_inventory(I)
qdel(I)
accessset = 1
@@ -570,7 +570,7 @@
var/guess = jobs_to_icon[user.job]
if(!guess)
to_chat(user, "<span class='notice'>ITG Cards do not seem to be able to accept the access codes for your ID.</span>")
to_chat(user, span_notice("ITG Cards do not seem to be able to accept the access codes for your ID."))
return
else
icon_state = guess
@@ -584,7 +584,7 @@
var/obj/item/card/id/O = I
var/list/itgdont = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_COMMAND_SECRETARY, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_CLOWN, JOB_MIME, JOB_TALON_CAPTAIN) //If you're in as one of these you probably aren't representing ITG
if(O.rank in itgdont)
to_chat(user, "<span class='notice'>ITG Cards do not seem to be able to accept the access codes for your ID.</span>")
to_chat(user, span_notice("ITG Cards do not seem to be able to accept the access codes for your ID."))
return
. = ..()
desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use."
@@ -31,12 +31,12 @@
var/obj/item/card/id/I = O
src.access |= I.GetAccess()
if(player_is_antag(user.mind) || registered_user == user)
to_chat(user, "<span class='notice'>The microscanner activates as you pass it over the ID, copying its access.</span>")
to_chat(user, span_notice("The microscanner activates as you pass it over the ID, copying its access."))
/obj/item/card/id/syndicate/attack_self(mob/user as mob)
// We use the fact that registered_name is not unset should the owner be vaporized, to ensure the id doesn't magically become unlocked.
if(!registered_user && register_user(user))
to_chat(user, "<span class='notice'>The microscanner marks you as its owner, preventing others from accessing its internals.</span>")
to_chat(user, span_notice("The microscanner marks you as its owner, preventing others from accessing its internals."))
if(registered_user == user)
switch(tgui_alert(usr, "Would you like to edit the ID, or show it?","Show or Edit?", list("Edit","Show")))
if(null)
@@ -51,7 +51,7 @@
return 0
/obj/item/implant/proc/meltdown() //breaks it down, making implant unrecongizible
to_chat(imp_in, "<span class='warning'>You feel something melting inside [part ? "your [part.name]" : "you"]!</span>")
to_chat(imp_in, span_warning("You feel something melting inside [part ? "your [part.name]" : "you"]!"))
if (part)
part.take_damage(burn = 15, used_weapon = "Electronics meltdown")
else
@@ -254,7 +254,7 @@ Implant Specifics:<BR>"}
if(ishuman(imp_in))
if (elevel == "Localized Limb")
if(part) //For some reason, small_boom() didn't work. So have this bit of working copypaste.
imp_in.visible_message("<span class='warning'>Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!</span>")
imp_in.visible_message(span_warning("Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!"))
playsound(src, 'sound/items/countdown.ogg', 75, 1, -3)
sleep(25)
if (istype(part,/obj/item/organ/external/chest) || \
@@ -327,7 +327,7 @@ Implant Specifics:<BR>"}
/obj/item/implant/explosive/proc/small_boom()
if (ishuman(imp_in) && part)
imp_in.visible_message("<span class='warning'>Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!</span>")
imp_in.visible_message(span_warning("Something beeps inside [imp_in][part ? "'s [part.name]" : ""]!"))
playsound(src, 'sound/items/countdown.ogg', 75, 1, -3)
spawn(25)
if (ishuman(imp_in) && part)
@@ -450,7 +450,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
/obj/item/implant/loyalty/post_implant(mob/M)
var/mob/living/carbon/human/H = M
clear_antag_roles(H.mind, 1)
to_chat(H, "<span class='notice'>You feel a surge of loyalty towards [using_map.company_name].</span>")
to_chat(H, span_notice("You feel a surge of loyalty towards [using_map.company_name]."))
//////////////////////////////
// Adrenaline Implant
@@ -478,7 +478,7 @@ the implant may become unstable and either pre-maturely inject the subject or si
if (src.uses < 1) return 0
if (emote == "pale")
src.uses--
to_chat(source, "<span class='notice'>You feel a sudden surge of energy!</span>")
to_chat(source, span_notice("You feel a sudden surge of energy!"))
source.SetStunned(0)
source.SetWeakened(0)
source.SetParalysis(0)
@@ -21,7 +21,7 @@
return 0
if (emote == "smile")
src.uses--
to_chat(source,"<span class='notice'>You suddenly feel as if you can understand other languages!</span>")
to_chat(source,span_notice("You suddenly feel as if you can understand other languages!"))
source.add_language(LANGUAGE_UNATHI)
source.add_language(LANGUAGE_SIIK)
source.add_language(LANGUAGE_SKRELLIAN)
@@ -168,7 +168,7 @@ Due to the small chemical capacity of the implant, the life of the implant is re
to_chat(user,"You set the laws to: <br><span class='notice'>[newlaws]</span>")
implant.laws = newlaws //Organic
else //No using other implants.
to_chat(user,"<span class='notice'>A red warning pops up on the implanter's micro-screen: 'INVALID IMPLANT DETECTED.'</span>")
to_chat(user,span_notice("A red warning pops up on the implanter's micro-screen: 'INVALID IMPLANT DETECTED.'"))
/obj/item/implant/compliance
@@ -196,12 +196,12 @@ Due to the small chemical capacity of the implant, the life of the implant is re
var/mob/living/carbon/human/target = source
if(!target.nif || target.nif.stat != NIF_WORKING) //No nif or their NIF is broken.
to_chat(target, "<span class='notice'>You suddenly feel compelled to follow the following commands: [laws]</span>")
to_chat(target, "<span class='notice'>((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))</span>")
to_chat(target, "<span class='notice'>((OOC NOTE: Your new commands can be checked at any time by using the 'notes' command in chat. Additionally, if you did not agree to this, you are not compelled to follow the implant.))</span>")
to_chat(target, span_notice("You suddenly feel compelled to follow the following commands: [laws]"))
to_chat(target, span_notice("((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))"))
to_chat(target, span_notice("((OOC NOTE: Your new commands can be checked at any time by using the 'notes' command in chat. Additionally, if you did not agree to this, you are not compelled to follow the implant.))"))
target.add_memory(laws)
return
else //You got a nif...Upload time.
new nif_payload(target.nif,laws)
to_chat(target, "<span class='notice'>((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))</span>")
to_chat(target, "<span class='notice'>((OOC NOTE: If you did not agree to this, you are not compelled to follow the laws.))</span>")
to_chat(target, span_notice("((OOC NOTE: Commands that go against server rules should be disregarded and ahelped.))"))
to_chat(target, span_notice("((OOC NOTE: If you did not agree to this, you are not compelled to follow the laws.))"))
@@ -30,10 +30,10 @@
var/obj/item/organ/NewOrgan = new organ_to_implant()
var/obj/item/organ/external/E = H.get_organ(NewOrgan.parent_organ)
to_chat(H, "<span class='notice'>You feel a tingling sensation in your [part].</span>")
to_chat(H, span_notice("You feel a tingling sensation in your [part]."))
if(E && !(H.internal_organs_by_name[NewOrgan.organ_tag]))
spawn(rand(1 SECONDS, 30 SECONDS))
to_chat(H, "<span class='alien'>You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.</span>")
to_chat(H, span_alien("You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone."))
NewOrgan.forceMove(H)
NewOrgan.owner = H
@@ -50,7 +50,7 @@
else
qdel(NewOrgan)
to_chat(H, "<span class='warning'>You feel a pinching sensation in your [part]. The implant remains.</span>")
to_chat(H, span_warning("You feel a pinching sensation in your [part]. The implant remains."))
/obj/item/implant/organ/islegal()
return 0
@@ -74,12 +74,12 @@
var/obj/item/organ/NewOrgan = new organ_to_implant()
var/obj/item/organ/external/E = setup_augment_slots(H, NewOrgan)
to_chat(H, "<span class='notice'>You feel a tingling sensation in your [part].</span>")
to_chat(H, span_notice("You feel a tingling sensation in your [part]."))
NewOrgan.forceMove(H)
NewOrgan.owner = H
if(E && istype(E) && !(H.internal_organs_by_name[NewOrgan.organ_tag]) && NewOrgan.check_verb_compatability())
spawn(rand(1 SECONDS, 30 SECONDS))
to_chat(H, "<span class='alien'>You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone.</span>")
to_chat(H, span_alien("You feel a pressure in your [E] as the tingling fades, the lump caused by the implant now gone."))
if(E.internal_organs == null)
E.internal_organs = list()
@@ -94,7 +94,7 @@
else
qdel(NewOrgan)
to_chat(H, "<span class='warning'>You feel a pinching sensation in your [part]. The implant remains.</span>")
to_chat(H, span_warning("You feel a pinching sensation in your [part]. The implant remains."))
/obj/item/implant/organ/limbaugment/proc/setup_augment_slots(var/mob/living/carbon/human/H, var/obj/item/organ/internal/augment/armmounted/I)
var/list/Choices = possible_targets.Copy()
@@ -35,11 +35,11 @@
if(!src.imp) return
if(!src.imp.allow_reagents) return
if(src.imp.reagents.total_volume >= src.imp.reagents.maximum_volume)
to_chat(user, "<span class='warning'>\The [src] is full.</span>")
to_chat(user, span_warning("\The [src] is full."))
else
spawn(5)
I.reagents.trans_to_obj(src.imp, 5)
to_chat(user, "<span class='notice'>You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units.</span>")
to_chat(user, span_notice("You inject 5 units of the solution. The syringe now contains [I.reagents.total_volume] units."))
else if (istype(I, /obj/item/implanter))
var/obj/item/implanter/M = I
if (M.imp)
@@ -101,10 +101,10 @@
/obj/machinery/implantchair/proc/put_mob(mob/living/carbon/M as mob)
if(!iscarbon(M))
to_chat(usr, "<span class='warning'>\The [src] cannot hold this!</span>")
to_chat(usr, span_warning("\The [src] cannot hold this!"))
return
if(src.occupant)
to_chat(usr, "<span class='warning'>\The [src] is already occupied!</span>")
to_chat(usr, span_warning("\The [src] is already occupied!"))
return
if(M.client)
M.client.perspective = EYE_PERSPECTIVE
@@ -125,7 +125,7 @@
if(!imp) continue
if(istype(imp, /obj/item/implant/loyalty))
for (var/mob/O in viewers(M, null))
O.show_message("<span class='warning'>\The [M] has been implanted by \the [src].</span>", 1)
O.show_message(span_warning("\The [M] has been implanted by \the [src]."), 1)
if(imp.handle_implant(M, BP_TORSO))
imp.post_implant(M)
@@ -12,7 +12,7 @@
/obj/item/implanter/attack_self(var/mob/user)
active = !active
to_chat(user, "<span class='notice'>You [active ? "" : "de"]activate \the [src].</span>")
to_chat(user, span_notice("You [active ? "" : "de"]activate \the [src]."))
update()
/obj/item/implanter/verb/remove_implant()
@@ -27,7 +27,7 @@
imp.loc = get_turf(src)
if(M.get_active_hand() == null)
M.put_in_hands(imp)
to_chat(M, "<span class='notice'>You remove \the [imp] from \the [src].</span>")
to_chat(M, span_notice("You remove \the [imp] from \the [src]."))
name = "implanter"
imp = null
@@ -48,7 +48,7 @@
return
if(active)
if (imp)
M.visible_message("<span class='warning'>[user] is attempting to implant [M].</span>")
M.visible_message(span_warning("[user] is attempting to implant [M]."))
user.setClickCooldown(DEFAULT_QUICK_COOLDOWN)
user.do_attack_animation(M)
@@ -56,7 +56,7 @@
var/turf/T1 = get_turf(M)
if (T1 && ((M == user) || do_after(user, 50)))
if(user && M && (get_turf(M) == T1) && src && src.imp)
M.visible_message("<span class='warning'>[M] has been implanted by [user].</span>")
M.visible_message(span_warning("[M] has been implanted by [user]."))
add_attack_logs(user,M,"Implanted with [imp.name] using [name]")
@@ -71,7 +71,7 @@
src.imp = null
update()
else
to_chat(user, "<span class='warning'>You need to activate \the [src.name] first.</span>")
to_chat(user, span_warning("You need to activate \the [src.name] first."))
return
/obj/item/implanter/loyalty
@@ -134,16 +134,16 @@
if(!proximity)
return
if(!active)
to_chat(user, "<span class='warning'>Activate \the [src.name] first.</span>")
to_chat(user, span_warning("Activate \the [src.name] first."))
return
if(istype(A,/obj/item) && imp)
var/obj/item/implant/compressed/c = imp
if (c.scanned)
to_chat(user, "<span class='warning'>Something is already scanned inside the implant!</span>")
to_chat(user, span_warning("Something is already scanned inside the implant!"))
return
c.scanned = A
if(istype(A, /obj/item/storage))
to_chat(user, "<span class='warning'>You can't store \the [A.name] in this!</span>")
to_chat(user, span_warning("You can't store \the [A.name] in this!"))
c.scanned = null
return
if(istype(A.loc,/mob/living/carbon/human))
@@ -32,7 +32,7 @@
/obj/item/implant/reagent_generator/post_implant(mob/living/carbon/source)
START_PROCESSING(SSobj, src)
to_chat(source, "<span class='notice'>You implant [source] with \the [src].</span>")
to_chat(source, span_notice("You implant [source] with \the [src]."))
assigned_proc = new assigned_proc(source, verb_name, verb_desc)
return 1
@@ -52,9 +52,9 @@
if(reagents)
if(reagents.total_volume == reagents.maximum_volume * 0.05)
to_chat(imp_in, "<span class='notice'>[pick(empty_message)]</span>")
to_chat(imp_in, span_notice("[pick(empty_message)]"))
else if(reagents.total_volume == reagents.maximum_volume && before_gen < reagents.maximum_volume)
to_chat(imp_in, "<span class='warning'>[pick(full_message)]</span>")
to_chat(imp_in, span_warning("[pick(full_message)]"))
/obj/item/implant/reagent_generator/proc/do_generation(var/mob/living/L)
L.adjust_nutrition(-gen_cost)
@@ -78,7 +78,7 @@
var/obj/item/reagent_containers/container = user.get_active_hand()
if(!container)
to_chat(user,"<span class='notice'>You need an open container to do this!</span>")
to_chat(user,span_notice("You need an open container to do this!"))
return
@@ -92,10 +92,9 @@
if(container.reagents.total_volume < container.volume)
var/container_name = container.name
if(rimplant.reagents.trans_to(container, amount = rimplant.transfer_amount))
user.visible_message("<span class='notice'>[usr] [pick(rimplant.emote_descriptor)] into \the [container_name].</span>",
"<span class='notice'>You [pick(rimplant.self_emote_descriptor)] some [rimplant.reagent_name] into \the [container_name].</span>")
user.visible_message(span_notice("[usr] [pick(rimplant.emote_descriptor)] into \the [container_name]."),
span_notice("You [pick(rimplant.self_emote_descriptor)] some [rimplant.reagent_name] into \the [container_name]."))
if(prob(5))
src.visible_message("<span class='notice'>[src] [pick(rimplant.random_emote)].</span>") // M-mlem.
src.visible_message(span_notice("[src] [pick(rimplant.random_emote)].")) // M-mlem.
if(rimplant.reagents.total_volume == rimplant.reagents.maximum_volume * 0.05)
to_chat(src, "<span class='notice'>[pick(rimplant.empty_message)]</span>")
to_chat(src, span_notice("[pick(rimplant.empty_message)]"))
@@ -22,7 +22,7 @@
/obj/item/implant/neural/Destroy()
if(my_brain)
if(my_brain.owner)
to_chat(my_brain.owner, "<span class='critical'>You feel a pressure in your mind as something is ripped away.</span>")
to_chat(my_brain.owner, span_critical("You feel a pressure in your mind as something is ripped away."))
STOP_PROCESSING(SSobj, src)
my_brain = null
return ..()
@@ -30,7 +30,7 @@
/obj/item/implant/neural/process()
if(my_brain && part)
if(my_brain.loc != part.loc)
to_chat(my_brain.owner, "<span class='critical'>You feel a pressure in your mind as something is ripped away.</span>")
to_chat(my_brain.owner, span_critical("You feel a pressure in your mind as something is ripped away."))
meltdown()
return 1
@@ -67,26 +67,26 @@ Implant Specifics:<BR>"}
else if(prob(80))
my_brain.take_damage(5)
if(!robotic_brain)
to_chat(L, "<span class='critical'>Something in your [brain_location] burns!</span>")
to_chat(L, span_critical("Something in your [brain_location] burns!"))
else
to_chat(L, "<span class='warning'>Severe fault detected in [brain_location].</span>")
to_chat(L, span_warning("Severe fault detected in [brain_location]."))
if(2)
if(prob(80))
my_brain.take_damage(3)
if(!robotic_brain)
to_chat(L, "<span class='danger'>It feels like something is digging into your [brain_location]!</span>")
to_chat(L, span_danger("It feels like something is digging into your [brain_location]!"))
else
to_chat(L, "<span class='warning'>Fault detected in [brain_location].</span>")
to_chat(L, span_warning("Fault detected in [brain_location]."))
if(3)
if(prob(60))
my_brain.take_damage(2)
if(!robotic_brain)
to_chat(L, "<span class='warning'>There is a stabbing pain in your [brain_location]!</span>")
to_chat(L, span_warning("There is a stabbing pain in your [brain_location]!"))
if(4)
if(prob(40))
my_brain.take_damage(1)
if(!robotic_brain)
to_chat(L, "<span class='warning'>Your [brain_location] aches.</span>")
to_chat(L, span_warning("Your [brain_location] aches."))
spawn(delay)
malfunction--
@@ -99,7 +99,7 @@ Implant Specifics:<BR>"}
if(ishuman(my_brain.owner))
H = my_brain.owner
if(robotic_brain)
to_chat(H, "<span class='critical'>WARNING. Fault dete-ct-- in the \the [src].</span>")
to_chat(H, span_critical("WARNING. Fault dete-ct-- in the \the [src]."))
H.Confuse(30)
H.AdjustBlinded(5)
my_brain.take_damage(15)
+16 -16
View File
@@ -63,15 +63,15 @@
/obj/item/inducer/proc/cantbeused(mob/user)
if(!user.IsAdvancedToolUser())
to_chat(user, "<span class='warning'>You don't have the dexterity to use [src]!</span>")
to_chat(user, span_warning("You don't have the dexterity to use [src]!"))
return TRUE
if(!cell)
to_chat(user, "<span class='warning'>[src] doesn't have a power cell installed!</span>")
to_chat(user, span_warning("[src] doesn't have a power cell installed!"))
return TRUE
if(!cell.charge)
to_chat(user, "<span class='warning'>[src]'s battery is dead!</span>")
to_chat(user, span_warning("[src]'s battery is dead!"))
return TRUE
return FALSE
@@ -80,12 +80,12 @@
if(W.has_tool_quality(TOOL_SCREWDRIVER))
playsound(src, W.usesound, 50, 1)
if(!opened)
to_chat(user, "<span class='notice'>You open the battery compartment.</span>")
to_chat(user, span_notice("You open the battery compartment."))
opened = TRUE
update_icon()
return
else
to_chat(user, "<span class='notice'>You close the battery compartment.</span>")
to_chat(user, span_notice("You close the battery compartment."))
opened = FALSE
update_icon()
return
@@ -94,12 +94,12 @@
if(!cell)
user.drop_from_inventory(W)
W.forceMove(src)
to_chat(user, "<span class='notice'>You insert [W] into [src].</span>")
to_chat(user, span_notice("You insert [W] into [src]."))
cell = W
update_icon()
return
else
to_chat(user, "<span class='warning'>[src] already has \a [cell] installed!</span>")
to_chat(user, span_warning("[src] already has \a [cell] installed!"))
return
if(cantbeused(user))
@@ -119,7 +119,7 @@
recharging = TRUE
if(istype(A, /obj/item/gun/energy) && !charge_guns)
to_chat(user, "<span class='alert'>Error: Device is unable to interface with weapons.</span>")
to_chat(user, span_alert("Error: Device is unable to interface with weapons."))
recharging = FALSE
return FALSE
@@ -150,10 +150,10 @@
var/done_any = FALSE
if(C.charge >= C.maxcharge)
to_chat(user, "<span class='notice'>[A] is fully charged ([round(C.charge)] / [C.maxcharge])!</span>")
to_chat(user, span_notice("[A] is fully charged ([round(C.charge)] / [C.maxcharge])!"))
recharging = FALSE
return TRUE
user.visible_message("<span class='notice'>[user] starts recharging [A] with [src].</span>", "<span class='notice'>You start recharging [A] with [src].</span>")
user.visible_message(span_notice("[user] starts recharging [A] with [src]."), span_notice("You start recharging [A] with [src]."))
var/datum/beam/charge_beam = user.Beam(A, icon_state = "rped_upgrade", time = 20 SECONDS)
var/filter = filter(type = "outline", size = 1, color = "#22AAFF")
@@ -179,18 +179,18 @@
A.filters -= filter
if(done_any) // Only show a message if we succeeded at least once
user.visible_message("<span class='notice'>[user] recharged [A]!</span>", "<span class='notice'>You recharged [A]!</span>")
user.visible_message(span_notice("[user] recharged [A]!"), span_notice("You recharged [A]!"))
recharging = FALSE
return TRUE
else //Couldn't find a cell
to_chat(user, "<span class='alert'>Error unable to interface with device.</span>")
to_chat(user, span_alert("Error unable to interface with device."))
recharging = FALSE
/obj/item/inducer/attack_self(mob/user)
if(opened && cell)
user.visible_message("<span class='notice'>[user] removes [cell] from [src]!</span>", "<span class='notice'>You remove [cell].</span>")
user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell]."))
cell.update_icon()
user.put_in_hands(cell)
cell = null
@@ -199,11 +199,11 @@
/obj/item/inducer/examine(mob/living/M)
. = ..()
if(cell)
. += "<span class='notice'>Its display shows: [round(cell.charge)] / [cell.maxcharge].</span>"
. += span_notice("Its display shows: [round(cell.charge)] / [cell.maxcharge].")
else
. += "<span class='notice'>Its display is dark.</span>"
. += span_notice("Its display is dark.")
if(opened)
. += "<span class='notice'>Its battery compartment is open.</span>"
. += span_notice("Its battery compartment is open.")
/obj/item/inducer/update_icon()
..()
@@ -84,7 +84,7 @@ var/global/list/ashtray_cache = list()
if (health > 0)
health = max(0,health - 3)
if (contents.len)
src.visible_message("<span class='danger'>\The [src] slams into [hit_atom], spilling its contents!</span>")
src.visible_message(span_danger("\The [src] slams into [hit_atom], spilling its contents!"))
for (var/obj/item/clothing/mask/smokable/cigarette/O in contents)
O.loc = src.loc
if (health < 1)
@@ -87,16 +87,16 @@
else if(istype(A,/obj/machinery/portable_atmospherics/hydroponics))
var/obj/machinery/portable_atmospherics/hydroponics/Hyd = A
if(Hyd.seed && !Hyd.dead)
to_chat(user, "<span class='notice'>You shred the plant.</span>")
to_chat(user, span_notice("You shred the plant."))
Hyd.die()
if (istype(A, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,A) <= 1)
to_chat(user, "<span class='notice'>You begin filling the tank on the chainsaw.</span>")
to_chat(user, span_notice("You begin filling the tank on the chainsaw."))
if(do_after(usr, 15))
A.reagents.trans_to_obj(src, max_fuel)
playsound(src, 'sound/effects/refill.ogg', 50, 1, -6)
to_chat(user, "<span class='notice'>Chainsaw succesfully refueled.</span>")
to_chat(user, span_notice("Chainsaw succesfully refueled."))
else
to_chat(user, "<span class='notice'>Don't move while you're refilling the chainsaw.</span>")
to_chat(user, span_notice("Don't move while you're refilling the chainsaw."))
/obj/item/chainsaw/process()
if(!on) return
@@ -62,17 +62,17 @@
return 0
if(locate(/obj/structure/gravemarker, user.loc))
to_chat(user, "<span class='warning'>There's already something there.</span>")
to_chat(user, span_warning("There's already something there."))
return 0
else
to_chat(user, "<span class='notice'>You begin to place \the [src.name].</span>")
to_chat(user, span_notice("You begin to place \the [src.name]."))
if(!do_after(usr, 10))
return 0
var/obj/structure/gravemarker/G = new /obj/structure/gravemarker/(user.loc, src.get_material())
to_chat(user, "<span class='notice'>You place \the [src.name].</span>")
to_chat(user, span_notice("You place \the [src.name]."))
G.grave_name = grave_name
G.epitaph = epitaph
G.add_fingerprint(usr)
G.dir = user.dir
QDEL_NULL(src)
return
return
@@ -133,7 +133,7 @@
if(food_inserted_micros)
food_inserted_micros -= M
M.forceMove(get_turf(src))
to_chat(M, "<span class='warning'>You climb off of \the [src].</span>")
to_chat(M, span_warning("You climb off of \the [src]."))
/obj/item/material/kitchen/utensil/fork
name = "fork"
@@ -184,7 +184,7 @@
/* From the time of Clowns. Commented out for posterity, and sanity.
/obj/item/material/knife/attack(target as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>You accidentally cut yourself with \the [src].</span>")
to_chat(user, span_warning("You accidentally cut yourself with \the [src]."))
user.take_organ_damage(20)
return
return ..()
@@ -210,7 +210,7 @@
/obj/item/material/kitchen/rollingpin/attack(mob/living/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>\The [src] slips out of your hand and hits your head.</span>")
to_chat(user, span_warning("\The [src] slips out of your hand and hits your head."))
user.take_organ_damage(10)
user.Paralyse(2)
return
@@ -50,10 +50,10 @@
if(user)
if(active)
to_chat(user, "<span class='notice'>You flip out \the [src].</span>")
to_chat(user, span_notice("You flip out \the [src]."))
playsound(src, 'sound/weapons/flipblade.ogg', 15, 1)
else
to_chat(user, "<span class='notice'>\The [src] can now be concealed.</span>")
to_chat(user, span_notice("\The [src] can now be concealed."))
add_fingerprint(user)
/*
@@ -91,7 +91,7 @@ Protectiveness | Armor %
if(!material)
return
var/turf/T = get_turf(src)
T.visible_message("<span class='danger'>\The [src] [material.destruction_desc]!</span>")
T.visible_message(span_danger("\The [src] [material.destruction_desc]!"))
if(istype(loc, /mob/living))
var/mob/living/M = loc
M.drop_from_inventory(src)
@@ -108,11 +108,11 @@ Protectiveness | Armor %
return ..()
if(material.negation && prob(material.negation)) // Strange and Alien materials, or just really strong materials.
user.visible_message("<span class='danger'>\The [src] completely absorbs [attack_text]!</span>")
user.visible_message(span_danger("\The [src] completely absorbs [attack_text]!"))
return TRUE
if(material.spatial_instability && prob(material.spatial_instability))
user.visible_message("<span class='danger'>\The [src] flashes [user] clear of [attack_text]!</span>")
user.visible_message(span_danger("\The [src] flashes [user] clear of [attack_text]!"))
var/list/turfs = new/list()
for(var/turf/T in orange(round(material.spatial_instability / 10) + 1, user))
if(istype(T,/turf/space)) continue
@@ -144,7 +144,7 @@ Protectiveness | Armor %
if(!(def_zone in list(BP_TORSO, BP_GROIN)))
reflectchance /= 2
if(P.starting && prob(reflectchance))
visible_message("<span class='danger'>\The [user]'s [src.name] reflects [attack_text]!</span>")
visible_message(span_danger("\The [user]'s [src.name] reflects [attack_text]!"))
// Find a turf near or on the original location to bounce to
var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2)
@@ -296,23 +296,23 @@ Protectiveness | Armor %
if(istype(O, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/S = O
if(wired)
to_chat(user, "<span class='warning'>This already has enough wires on it.</span>")
to_chat(user, span_warning("This already has enough wires on it."))
return
if(S.use(20))
to_chat(user, "<span class='notice'>You attach several wires to \the [src]. Now it needs another plate.</span>")
to_chat(user, span_notice("You attach several wires to \the [src]. Now it needs another plate."))
wired = TRUE
icon_state = "[initial(icon_state)]_wired"
return
else
to_chat(user, "<span class='notice'>You need more wire for that.</span>")
to_chat(user, span_notice("You need more wire for that."))
return
if(istype(O, /obj/item/material/armor_plating))
var/obj/item/material/armor_plating/second_plate = O
if(!wired && !second_plate.wired)
to_chat(user, "<span class='warning'>You need something to hold the two pieces of plating together.</span>")
to_chat(user, span_warning("You need something to hold the two pieces of plating together."))
return
if(second_plate.material != src.material)
to_chat(user, "<span class='warning'>Both plates need to be the same type of material.</span>")
to_chat(user, span_warning("Both plates need to be the same type of material."))
return
user.drop_from_inventory(src)
user.drop_from_inventory(second_plate)
@@ -332,7 +332,7 @@ Protectiveness | Armor %
var /obj/item/weldingtool/S = O.get_welder()
if(S.remove_fuel(0,user))
if(!src || !S.isOn()) return
to_chat(user, "<span class='notice'>You trim down the edges to size.</span>")
to_chat(user, span_notice("You trim down the edges to size."))
user.drop_from_inventory(src)
var/obj/item/clothing/accessory/material/makeshift/light/new_armor = new(null, src.material.name)
user.put_in_hands(new_armor)
@@ -342,9 +342,9 @@ Protectiveness | Armor %
if(istype(O, /obj/item/material/armor_plating/insert))
var/obj/item/material/armor_plating/insert/second_plate = O
if(second_plate.material != src.material)
to_chat(user, "<span class='warning'>Both plates need to be the same type of material.</span>")
to_chat(user, span_warning("Both plates need to be the same type of material."))
return
to_chat(user, "<span class='notice'>You bond the two plates together.</span>")
to_chat(user, span_notice("You bond the two plates together."))
user.drop_from_inventory(src)
user.drop_from_inventory(second_plate)
var/obj/item/clothing/accessory/material/makeshift/heavy/new_armor = new(null, src.material.name)
@@ -354,7 +354,7 @@ Protectiveness | Armor %
return
if(istype(O, /obj/item/tool/wirecutters))
to_chat(user, "<span class='notice'>You split the plate down the middle, and joint it at the elbow.</span>")
to_chat(user, span_notice("You split the plate down the middle, and joint it at the elbow."))
user.drop_from_inventory(src)
var/obj/item/clothing/accessory/material/makeshift/armguards/new_armor = new(null, src.material.name)
user.put_in_hands(new_armor)
@@ -365,7 +365,7 @@ Protectiveness | Armor %
var/obj/item/stack/material/S = O
if(S.material == get_material_by_name("leather"))
if(S.use(2))
to_chat(user, "<span class='notice'>You curve the plate inwards, and add a strap for adjustment.</span>")
to_chat(user, span_notice("You curve the plate inwards, and add a strap for adjustment."))
user.drop_from_inventory(src)
var/obj/item/clothing/accessory/material/makeshift/legguards/new_armor = new(null, src.material.name)
user.put_in_hands(new_armor)
@@ -388,14 +388,14 @@ Protectiveness | Armor %
if(istype(O, /obj/item/stack/material))
var/obj/item/stack/material/S = O
if(S.use(2))
to_chat(user, "<span class='notice'>You apply some [S.material.use_name] to \the [src]. Hopefully it'll make the makeshift helmet stronger.</span>")
to_chat(user, span_notice("You apply some [S.material.use_name] to \the [src]. Hopefully it'll make the makeshift helmet stronger."))
var/obj/item/clothing/head/helmet/material/makeshift/helmet = new(null, S.material.name)
user.put_in_hands(helmet)
user.drop_from_inventory(src)
qdel(src)
return
else
to_chat(user, "<span class='warning'>You don't have enough material to build a helmet!</span>")
to_chat(user, span_warning("You don't have enough material to build a helmet!"))
else
..()
@@ -106,7 +106,7 @@
/obj/item/material/proc/shatter(var/consumed)
var/turf/T = get_turf(src)
T.visible_message("<span class='danger'>\The [src] [material.destruction_desc]!</span>")
T.visible_message(span_danger("\The [src] [material.destruction_desc]!"))
if(istype(loc, /mob/living))
var/mob/living/M = loc
M.drop_from_inventory(src)
@@ -116,7 +116,7 @@
/obj/item/material/proc/dull()
var/turf/T = get_turf(src)
T.visible_message("<span class='danger'>\The [src] goes dull!</span>")
T.visible_message(span_danger("\The [src] goes dull!"))
playsound(src, "shatter", 70, 1)
dulled = 1
if(is_sharp() || has_edge())
@@ -134,9 +134,9 @@
sharp = initial(sharp)
edge = initial(edge)
else
to_chat(user, "<span class='notice'>[src] doesn't need repairs.</span>")
to_chat(user, span_notice("[src] doesn't need repairs."))
else
to_chat(user, "<span class='warning'>You can't repair \the [src].</span>")
to_chat(user, span_warning("You can't repair \the [src]."))
return
/obj/item/material/proc/sharpen(var/material, var/sharpen_time, var/kit, mob/living/M)
@@ -138,17 +138,17 @@
if(istype(A, /atom/movable))
var/atom/movable/AM = A
if(AM.anchored)
to_chat(user, "<span class='notice'>\The [AM] won't budge.</span>")
to_chat(user, span_notice("\The [AM] won't budge."))
return
else
if(!istype(AM, /obj/item))
user.visible_message("<span class='warning'>\The [AM] is pulled along by \the [src]!</span>")
user.visible_message(span_warning("\The [AM] is pulled along by \the [src]!"))
AM.Move(get_step(AM, get_dir(AM, src)))
return
else
user.visible_message("<span class='warning'>\The [AM] is snatched by \the [src]!</span>")
user.visible_message(span_warning("\The [AM] is snatched by \the [src]!"))
AM.throw_at(user, reach, 0.1, user)
/obj/item/material/whip/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone)
@@ -156,19 +156,19 @@
switch(user.a_intent)
if(I_HURT)
if(prob(10) && istype(target, /mob/living/carbon/human) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND)))
to_chat(target, "<span class='warning'>\The [src] rips at your hands!</span>")
to_chat(target, span_warning("\The [src] rips at your hands!"))
ranged_disarm(target)
if(I_DISARM)
if(prob(min(90, force * 3)) && istype(target, /mob/living/carbon/human) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND)))
ranged_disarm(target)
else
target.visible_message("<span class='danger'>\The [src] sends \the [target] stumbling away.</span>")
target.visible_message(span_danger("\The [src] sends \the [target] stumbling away."))
target.Move(get_step(target,get_dir(user,target)))
if(I_GRAB)
var/turf/STurf = get_turf(target)
spawn(2)
playsound(STurf, 'sound/effects/snap.ogg', 60, 1)
target.visible_message("<span class='critical'>\The [src] yanks \the [target] towards \the [user]!</span>")
target.visible_message(span_critical("\The [src] yanks \the [target] towards \the [user]!"))
target.throw_at(get_turf(get_step(user,get_dir(user,target))), 2, 1, src)
..()
@@ -185,7 +185,7 @@
turfs += T
if(turfs.len)
var/turf/target = pick(turfs)
visible_message("<span class='danger'>[H]'s [W] goes off due to \the [src]!</span>")
visible_message(span_danger("[H]'s [W] goes off due to \the [src]!"))
return W.afterattack(target,H)
if(!(H.species.flags & NO_SLIP) && prob(10) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)))
@@ -193,9 +193,9 @@
H.apply_effect(3, WEAKEN, armor_check)
playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
if(armor_check < 60)
visible_message("<span class='danger'>\The [src] has tripped [H]!</span>")
visible_message(span_danger("\The [src] has tripped [H]!"))
else
visible_message("<span class='warning'>\The [src] attempted to trip [H]!</span>")
visible_message(span_warning("\The [src] attempted to trip [H]!"))
return
else
@@ -207,12 +207,12 @@
for(var/obj/item/I in holding)
if(I && prob(holding[I]))
H.drop_from_inventory(I)
visible_message("<span class='danger'>\The [src] has disarmed [H]!</span>")
visible_message(span_danger("\The [src] has disarmed [H]!"))
playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
return
/obj/item/material/whip/attack_self(mob/user)
user.visible_message("<span class='warning'>\The [user] cracks \the [src]!</span>")
user.visible_message(span_warning("\The [user] cracks \the [src]!"))
playsound(src, 'sound/effects/snap.ogg', 50, 1)
/obj/item/material/knife/machete/hatchet/stone
@@ -89,15 +89,15 @@
break
if(user.gloves && !protected_hands)
to_chat(user, "<span class='warning'>\The [src] partially cuts into your hand through your gloves as you hit \the [target]!</span>")
to_chat(user, span_warning("\The [src] partially cuts into your hand through your gloves as you hit \the [target]!"))
user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src, src.sharp, src.edge) // Ternary to include break damage
else if(!user.gloves)
to_chat(user, "<span class='warning'>\The [src] cuts into your hand as you hit \the [target]!</span>")
to_chat(user, span_warning("\The [src] cuts into your hand as you hit \the [target]!"))
user.apply_damage(no_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src, src.sharp, src.edge)
if(will_break && src.loc == user) // If it's not in our hand anymore
user.visible_message("<span class='danger'>[user] hit \the [target] with \the [src], shattering it!</span>", "<span class='warning'>You shatter \the [src] in your hand!</span>")
user.visible_message(span_danger("[user] hit \the [target] with \the [src], shattering it!"), span_warning("You shatter \the [src] in your hand!"))
playsound(src, pick('sound/effects/Glassbr1.ogg', 'sound/effects/Glassbr2.ogg', 'sound/effects/Glassbr3.ogg'), 30, 1)
qdel(src)
return
@@ -125,7 +125,7 @@
if(H.species.flags & NO_MINOR_CUT)
return
to_chat(H, "<span class='danger'>You step on \the [src]!</span>")
to_chat(H, span_danger("You step on \the [src]!"))
var/list/check = list("l_foot", "r_foot")
while(check.len)
@@ -14,7 +14,7 @@
/obj/item/material/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(unique_parry_check(user, attacker, damage_source) && prob(50))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -72,7 +72,7 @@
/obj/item/material/sword/battleaxe/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(unique_parry_check(user, attacker, damage_source) && prob(10))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -63,7 +63,7 @@
//Allow a small chance of parrying melee attacks when wielded - maybe generalize this to other weapons someday
/obj/item/material/twohanded/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(wielded && default_parry_check(user, attacker, damage_source) && prob(15))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -190,4 +190,4 @@
attack_verb = list("cropped","spanked","swatted","smacked","peppered")
/obj/item/material/twohanded/spear/flint
default_material = MAT_FLINT
default_material = MAT_FLINT
@@ -29,7 +29,7 @@
/obj/item/material/twohanded/saber/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if (src.wielded == 1)
if(unique_parry_check(user, attacker, damage_source) && prob(50))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -69,7 +69,7 @@
else
parry_chance = base_parry_chance
if(unique_parry_check(user, attacker, damage_source) && prob(parry_chance))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -78,4 +78,4 @@
. = ..()
if(src.wielded == 1 && user.a_intent == I_DISARM && prob(stun_chance))
target.Weaken(stun_duration)
user.visible_message("<span class='danger'>\The [user] trips [target] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] trips [target] with \the [src]!"))
@@ -10,10 +10,10 @@
if(.)
return .
if(default_parry_check(user, attacker, damage_source) && prob(defend_chance))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
return 1
if(unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance))
user.visible_message("<span class='danger'>\The [user] deflects [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!"))
return 1
return 0
+23 -23
View File
@@ -92,21 +92,21 @@
. = ..()
if(use_cell && Adjacent(user))
if(bcell)
. += "<span class='notice'>The blade is [round(bcell.percent())]% charged.</span>"
. += span_notice("The blade is [round(bcell.percent())]% charged.")
else
. += "<span class='warning'>The blade does not have a power source installed.</span>"
. += span_warning("The blade does not have a power source installed.")
/obj/item/melee/energy/attack_self(mob/living/user as mob)
if(use_cell)
if((!bcell || bcell.charge < hitcost) && !active)
to_chat(user, "<span class='notice'>\The [src] does not seem to have power.</span>")
to_chat(user, span_notice("\The [src] does not seem to have power."))
return
var/datum/gender/TU = gender_datums[user.get_visible_gender()]
if (active)
if ((CLUMSY in user.mutations) && prob(50))
user.visible_message("<span class='danger'>\The [user] accidentally cuts [TU.himself] with \the [src].</span>",\
"<span class='danger'>You accidentally cut yourself with \the [src].</span>")
user.visible_message(span_danger("\The [user] accidentally cuts [TU.himself] with \the [src]."),\
span_danger("You accidentally cut yourself with \the [src]."))
user.take_organ_damage(5,5)
deactivate(user)
else
@@ -124,7 +124,7 @@
if(active && use_cell)
if(!use_charge(hitcost))
deactivate(user)
visible_message("<span class='notice'>\The [src]'s blade flickers, before deactivating.</span>")
visible_message(span_notice("\The [src]'s blade flickers, before deactivating."))
return ..()
/obj/item/melee/energy/attackby(obj/item/W, mob/user)
@@ -133,7 +133,7 @@
rainbow = TRUE
else
rainbow = FALSE
to_chat(user, "<span class='notice'>You manipulate the color controller in [src].</span>")
to_chat(user, span_notice("You manipulate the color controller in [src]."))
update_icon()
if(use_cell)
if(istype(W, cell_type))
@@ -141,15 +141,15 @@
user.drop_item()
W.loc = src
bcell = W
to_chat(user, "<span class='notice'>You install a cell in [src].</span>")
to_chat(user, span_notice("You install a cell in [src]."))
update_icon()
else
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
to_chat(user, span_notice("[src] already has a cell."))
else if(W.has_tool_quality(TOOL_SCREWDRIVER) && bcell)
bcell.update_icon()
bcell.forceMove(get_turf(loc))
bcell = null
to_chat(user, "<span class='notice'>You remove the cell from \the [src].</span>")
to_chat(user, span_notice("You remove the cell from \the [src]."))
deactivate()
update_icon()
return
@@ -184,7 +184,7 @@
if(!in_range(src, user)) //Basic checks to prevent abuse
return
if(user.incapacitated() || !istype(user))
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
to_chat(user, span_warning("You can't do that right now!"))
return
if(tgui_alert(usr, "Are you sure you want to recolor your blade?", "Confirm Recolor", list("Yes", "No")) == "Yes")
@@ -196,7 +196,7 @@
/obj/item/melee/energy/examine(mob/user)
. = ..()
if(colorable)
. += "<span class='notice'>Alt-click to recolor it.</span>"
. += span_notice("Alt-click to recolor it.")
/*
* Energy Axe
@@ -230,12 +230,12 @@
/obj/item/melee/energy/axe/activate(mob/living/user)
..()
damtype = SEARING
to_chat(user, "<span class='notice'>\The [src] is now energised.</span>")
to_chat(user, span_notice("\The [src] is now energised."))
/obj/item/melee/energy/axe/deactivate(mob/living/user)
..()
damtype = BRUTE
to_chat(user, "<span class='notice'>\The [src] is de-energised. It's just a regular axe now.</span>")
to_chat(user, span_notice("\The [src] is de-energised. It's just a regular axe now."))
/obj/item/melee/energy/axe/charge
name = "charge axe"
@@ -287,7 +287,7 @@
/obj/item/melee/energy/sword/activate(mob/living/user)
if(!active)
to_chat(user, "<span class='notice'>\The [src] is now energised.</span>")
to_chat(user, span_notice("\The [src] is now energised."))
..()
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
@@ -295,13 +295,13 @@
/obj/item/melee/energy/sword/deactivate(mob/living/user)
if(active)
to_chat(user, "<span class='notice'>\The [src] deactivates!</span>")
to_chat(user, span_notice("\The [src] deactivates!"))
..()
attack_verb = list()
/obj/item/melee/energy/sword/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(active && default_parry_check(user, attacker, damage_source) && prob(60))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, user.loc)
@@ -309,7 +309,7 @@
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
return 1
if(active && unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance))
user.visible_message("<span class='danger'>\The [user] deflects [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, user.loc)
@@ -473,7 +473,7 @@
/obj/item/melee/energy/blade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(default_parry_check(user, attacker, damage_source) && prob(60))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, user.loc)
@@ -481,7 +481,7 @@
playsound(src, 'sound/weapons/blade1.ogg', 50, 1)
return 1
if(unique_parry_check(user, attacker, damage_source) && prob(projectile_parry_chance))
user.visible_message("<span class='danger'>\The [user] deflects [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] deflects [attack_text] with \the [src]!"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, user.loc)
@@ -528,20 +528,20 @@
/obj/item/melee/energy/spear/activate(mob/living/user)
if(!active)
to_chat(user, "<span class='notice'>\The [src] is now energised.</span>")
to_chat(user, span_notice("\The [src] is now energised."))
..()
attack_verb = list("jabbed", "stabbed", "impaled")
/obj/item/melee/energy/spear/deactivate(mob/living/user)
if(active)
to_chat(user, "<span class='notice'>\The [src] deactivates!</span>")
to_chat(user, span_notice("\The [src] deactivates!"))
..()
attack_verb = list("whacked", "beat", "slapped", "thonked")
/obj/item/melee/energy/spear/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(active && default_parry_check(user, attacker, damage_source) && prob(50))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
spark_system.set_up(5, 0, user.loc)
spark_system.start()
@@ -78,7 +78,7 @@
/obj/item/melee/cursedblade/handle_shield(mob/user, var/damage, atom/damage_source = null, mob/attacker = null, var/def_zone = null, var/attack_text = "the attack")
if(default_parry_check(user, attacker, damage_source) && prob(50))
user.visible_message("<span class='danger'>\The [user] parries [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] parries [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/punchmiss.ogg', 50, 1)
return 1
return 0
@@ -150,7 +150,7 @@
..()
if(status)
status = 0
visible_message("<span class='warning'>\The [src]'s grip safety engages!</span>")
visible_message(span_warning("\The [src]'s grip safety engages!"))
update_held_icon()
/obj/item/melee/shock_maul/examine(mob/user)
@@ -158,9 +158,9 @@
if(Adjacent(user))
if(bcell)
. += "<span class='notice'>The concussion maul is [round(bcell.percent())]% charged.</span>"
. += span_notice("The concussion maul is [round(bcell.percent())]% charged.")
if(!bcell)
. += "<span class='warning'>The concussion maul does not have a power source installed.</span>"
. += span_warning("The concussion maul does not have a power source installed.")
/obj/item/melee/shock_maul/attackby(obj/item/W, mob/user)
if(!user.IsAdvancedToolUser())
@@ -171,12 +171,12 @@
user.drop_item()
W.loc = src
bcell = W
to_chat(user, "<span class='notice'>You install a cell in \the [src].</span>")
to_chat(user, span_notice("You install a cell in \the [src]."))
update_held_icon()
else
to_chat(user, "<span class='notice'>\The [src] already has a cell.</span>")
to_chat(user, span_notice("\The [src] already has a cell."))
else
to_chat(user, "<span class='notice'>This cell is not fitted for [src].</span>")
to_chat(user, span_notice("This cell is not fitted for [src]."))
/obj/item/melee/shock_maul/attack_hand(mob/user as mob)
if(user.get_inactive_hand() == src)
@@ -186,7 +186,7 @@
bcell.update_icon()
user.put_in_hands(bcell)
bcell = null
to_chat(user, "<span class='notice'>You remove the cell from the [src].</span>")
to_chat(user, span_notice("You remove the cell from the [src]."))
status = 0
update_held_icon()
return
@@ -200,18 +200,18 @@
if(!status && bcell && bcell.charge >= hitcost)
if(do_after(user, 2 SECONDS))
status = 1
user.visible_message("<span class='warning'>[user] charges \the [src]!</span>","<span class='warning'>You charge \the [src]. <b>It's hammer time!</b></span>")
user.visible_message(span_warning("[user] charges \the [src]!"),span_warning("You charge \the [src]. <b>It's hammer time!</b>"))
playsound(src, "sparks", 75, 1, -1)
update_held_icon()
else if(status)
status = 0
user.visible_message("<span class='notice'>[user] safely disengages \the [src]'s power field.</span>","<span class='notice'>\The [src] is now off.</span>")
user.visible_message(span_notice("[user] safely disengages \the [src]'s power field."),span_notice("\The [src] is now off."))
update_held_icon()
playsound(src, "sparks", 75, 1, -1)
if(!bcell)
to_chat(user, "<span class='warning'>\The [src] does not have a power source!</span>")
to_chat(user, span_warning("\The [src] does not have a power source!"))
else
to_chat(user, "<span class='warning'>\The [src] is out of charge.</span>")
to_chat(user, span_warning("\The [src] is out of charge."))
add_fingerprint(user)
/obj/item/melee/shock_maul/afterattack(atom/A as mob|obj|turf|area, mob/user as mob, proximity)
@@ -220,12 +220,12 @@
if(A && wielded && status)
deductcharge()
status = 0
user.visible_message("<span class='warning'>\The [src] discharges with a thunderous, hair-raising crackle!</span>")
user.visible_message(span_warning("\The [src] discharges with a thunderous, hair-raising crackle!"))
playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1)
update_held_icon()
if(istype(A,/obj/structure/window))
var/obj/structure/window/W = A
visible_message("<span class='warning'>\The [W] crumples under the force of the impact!</span>")
visible_message(span_warning("\The [W] crumples under the force of the impact!"))
W.shatter()
else if(istype(A,/obj/structure/barricade))
var/obj/structure/barricade/B = A
@@ -249,7 +249,7 @@
deductcharge()
status = 0
user.visible_message("<span class='warning'>\The [src] discharges with a thunderous, hair-raising crackle!</span>")
user.visible_message(span_warning("\The [src] discharges with a thunderous, hair-raising crackle!"))
playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1)
update_held_icon()
powercheck(hitcost)
@@ -259,7 +259,7 @@
bcell.emp_act(severity) //let's not duplicate code everywhere if we don't have to please.
if(status)
status = 0
visible_message("<span class='warning'>\The [src]'s power field hisses and sputters out.</span>")
visible_message(span_warning("\The [src]'s power field hisses and sputters out."))
update_held_icon()
..()
@@ -273,4 +273,4 @@
results += ..()
return results
return results
+6 -6
View File
@@ -26,16 +26,16 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/mop)
if(!proximity) return
if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune))
if(reagents.total_volume < 1)
to_chat(user, "<span class='notice'>Your mop is dry!</span>")
to_chat(user, span_notice("Your mop is dry!"))
return
user.visible_message("<span class='warning'>[user] begins to clean \the [get_turf(A)].</span>")
user.visible_message(span_warning("[user] begins to clean \the [get_turf(A)]."))
if(do_after(user, 40))
var/turf/T = get_turf(A)
if(T)
T.clean(src, user)
to_chat(user, "<span class='notice'>You have finished mopping!</span>")
to_chat(user, span_notice("You have finished mopping!"))
/obj/effect/attackby(obj/item/I, mob/user)
@@ -67,13 +67,13 @@ GLOBAL_LIST_BOILERPLATE(all_mops, /obj/item/mop)
if(!proximity) return
if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune))
if(reagents.total_volume < 1)
to_chat(user, "<span class='notice'>Your mop is dry!</span>")
to_chat(user, span_notice("Your mop is dry!"))
return
user.visible_message("<span class='warning'>[user] begins to clean \the [get_turf(A)].</span>")
user.visible_message(span_warning("[user] begins to clean \the [get_turf(A)]."))
if(do_after(user, 20))
var/turf/T = get_turf(A)
if(T)
T.clean(src, user)
to_chat(user, "<span class='notice'>You have finished mopping!</span>")
to_chat(user, span_notice("You have finished mopping!"))
@@ -35,13 +35,13 @@
/obj/item/mop_deploy/afterattack(atom/A, mob/user, proximity)
if(!proximity) return
if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune))
user.visible_message("<span class='warning'>[user] begins to clean \the [get_turf(A)].</span>")
user.visible_message(span_warning("[user] begins to clean \the [get_turf(A)]."))
if(do_after(user, 40))
var/turf/T = get_turf(A)
if(T)
T.clean_deploy(src)
to_chat(user, "<span class='notice'>You have finished mopping!</span>")
to_chat(user, span_notice("You have finished mopping!"))
/obj/effect/attackby(obj/item/I, mob/user)
if(istype(I, /obj/item/mop_deploy) || istype(I, /obj/item/soap))
@@ -72,4 +72,4 @@
host.pinned -= src
host.embedded -= src
host.drop_from_inventory(src)
spawn(1) if(!QDELETED(src)) qdel(src)
spawn(1) if(!QDELETED(src)) qdel(src)
+1 -2
View File
@@ -21,7 +21,7 @@ var/global/list/cached_icons = list()
/obj/item/reagent_containers/glass/paint/afterattack(turf/simulated/target, mob/user, proximity)
if(!proximity) return
if(istype(target) && reagents.total_volume > 5)
user.visible_message("<span class='warning'>\The [target] has been splashed with something by [user]!</span>")
user.visible_message(span_warning("\The [target] has been splashed with something by [user]!"))
reagents.trans_to_turf(target, 5)
else
return ..()
@@ -75,4 +75,3 @@ var/global/list/cached_icons = list()
name = "paint remover bucket"
icon_state = "paint_white"
paint_type = "#FFFFFF"
+1 -1
View File
@@ -4,7 +4,7 @@
if(istype(M, /obj/machinery/door/airlock))
var/obj/machinery/door/airlock/A = M
if(A.secured_wires)
to_chat(user,"<span class='warning'>\The [M] doesn't have any acessible data ports for \the [src]!</span>")
to_chat(user,span_warning("\The [M] doesn't have any acessible data ports for \the [src]!"))
return
//VOREStation Add End
user.visible_message("[user] inserts [src] into a data port on [M].", "You insert [src] into a data port on [M].", "You hear the satisfying click of a wire jack fastening into place.")
@@ -140,14 +140,14 @@ var/list/tape_roll_applications = list()
/obj/item/taperoll/attack_self(mob/user as mob)
if(!start)
start = get_turf(src)
to_chat(user, "<span class='notice'>You place the first end of \the [src].</span>")
to_chat(user, span_notice("You place the first end of \the [src]."))
update_icon()
else
end = get_turf(src)
if(start.y != end.y && start.x != end.x || start.z != end.z)
start = null
update_icon()
to_chat(user, "<span class='notice'>\The [src] can only be laid horizontally or vertically.</span>")
to_chat(user, span_notice("\The [src] can only be laid horizontally or vertically."))
return
if(start == end)
@@ -168,7 +168,7 @@ var/list/tape_roll_applications = list()
if(!possible_dirs)
start = null
update_icon()
to_chat(user, "<span class='notice'>You can't place \the [src] here.</span>")
to_chat(user, span_notice("You can't place \the [src] here."))
return
if(possible_dirs & (NORTH|SOUTH))
var/obj/item/tape/TP = new tape_type(start)
@@ -184,7 +184,7 @@ var/list/tape_roll_applications = list()
TP.update_icon()
start = null
update_icon()
to_chat(user, "<span class='notice'>You finish placing \the [src].</span>")
to_chat(user, span_notice("You finish placing \the [src]."))
return
var/turf/cur = start
@@ -233,7 +233,7 @@ var/list/tape_roll_applications = list()
if (!can_place)
start = null
update_icon()
to_chat(user, "<span class='warning'>You can't run \the [src] through that!</span>")
to_chat(user, span_warning("You can't run \the [src] through that!"))
return
cur = start
@@ -277,7 +277,7 @@ var/list/tape_roll_applications = list()
cur = get_step_towards(cur,end)
start = null
update_icon()
to_chat(user, "<span class='notice'>You finish placing \the [src].</span>")
to_chat(user, span_notice("You finish placing \the [src]."))
return
/obj/item/taperoll/afterattack(var/atom/A, mob/user as mob, proximity)
@@ -292,7 +292,7 @@ var/list/tape_roll_applications = list()
var/obj/item/tape/P = new tape_type(T)
P.update_icon()
P.layer = WINDOW_LAYER
to_chat(user, "<span class='notice'>You finish placing \the [src].</span>")
to_chat(user, span_notice("You finish placing \the [src]."))
if (istype(A, /turf/simulated/floor) ||istype(A, /turf/unsimulated/floor))
var/turf/F = A
@@ -375,9 +375,9 @@ var/list/tape_roll_applications = list()
/obj/item/tape/proc/breaktape(mob/user)
if(user.a_intent == I_HELP)
to_chat(user, "<span class='warning'>You refrain from breaking \the [src].</span>")
to_chat(user, span_warning("You refrain from breaking \the [src]."))
return
user.visible_message("<b>\The [user]</b> breaks \the [src]!","<span class='notice'>You break \the [src].</span>")
user.visible_message("<b>\The [user]</b> breaks \the [src]!",span_notice("You break \the [src]."))
for (var/obj/item/tape/T in gettapeline())
if(T == src)
+1 -1
View File
@@ -16,7 +16,7 @@
/obj/item/teleportation_scroll/attack_self(mob/user as mob)
if((user.mind && !wizards.is_antagonist(user.mind)))
to_chat(usr, "<span class='warning'>You stare at the scroll but cannot make sense of the markings!</span>")
to_chat(usr, span_warning("You stare at the scroll but cannot make sense of the markings!"))
return
user.set_machine(src)
+11 -11
View File
@@ -49,7 +49,7 @@
var/bad_arc = reverse_direction(user.dir) //arc of directions from which we cannot block
if(check_shield_arc(user, bad_arc, damage_source, attacker))
if(prob(get_block_chance(user, damage, damage_source, attacker)))
user.visible_message("<span class='danger'>\The [user] blocks [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] blocks [attack_text] with \the [src]!"))
return 1
return 0
@@ -88,12 +88,12 @@
//If we're at this point, the bullet/beam is going to go through the shield, however it will hit for less damage.
//Bullets get slowed down, while beams are diffused as they hit the shield, so these shields are not /completely/
//useless. Extremely penetrating projectiles will go through the shield without less damage.
user.visible_message("<span class='danger'>\The [user]'s [src.name] is pierced by [attack_text]!</span>")
user.visible_message(span_danger("\The [user]'s [src.name] is pierced by [attack_text]!"))
if(P.armor_penetration < 30) //PTR bullets and x-rays will bypass this entirely.
P.damage = P.damage / 2
return 0
//Otherwise, if we're here, we're gonna stop the attack entirely.
user.visible_message("<span class='danger'>\The [user] blocks [attack_text] with \the [src]!</span>")
user.visible_message(span_danger("\The [user] blocks [attack_text] with \the [src]!"))
playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
return 1
return 0
@@ -101,7 +101,7 @@
/obj/item/shield/riot/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/melee/baton))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
user.visible_message(span_warning("[user] bashes [src] with [W]!"))
playsound(src, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
@@ -155,7 +155,7 @@
/obj/item/shield/energy/attack_self(mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>You beat yourself in the head with [src].</span>")
to_chat(user, span_warning("You beat yourself in the head with [src]."))
user.take_organ_damage(5)
active = !active
if (active)
@@ -164,7 +164,7 @@
w_class = ITEMSIZE_LARGE
slot_flags = null
playsound(src, 'sound/weapons/saberon.ogg', 50, 1)
to_chat(user, "<span class='notice'>\The [src] is now active.</span>")
to_chat(user, span_notice("\The [src] is now active."))
else
force = 3
@@ -172,7 +172,7 @@
w_class = ITEMSIZE_TINY
slot_flags = SLOT_EARS
playsound(src, 'sound/weapons/saberoff.ogg', 50, 1)
to_chat(user, "<span class='notice'>\The [src] can now be concealed.</span>")
to_chat(user, span_notice("\The [src] can now be concealed."))
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
@@ -206,7 +206,7 @@
if(!in_range(src, user)) //Basic checks to prevent abuse
return
if(user.incapacitated() || !istype(user))
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
to_chat(user, span_warning("You can't do that right now!"))
return
if(tgui_alert(usr, "Are you sure you want to recolor your shield?", "Confirm Recolor", list("Yes", "No")) == "Yes")
var/energy_color_input = input(usr,"","Choose Energy Color",lcolor) as color|null
@@ -216,7 +216,7 @@
/obj/item/shield/energy/examine(mob/user)
. = ..()
. += "<span class='notice'>Alt-click to recolor it.</span>"
. += span_notice("Alt-click to recolor it.")
/obj/item/shield/riot/tele
name = "telescopic shield"
@@ -248,14 +248,14 @@
throw_speed = 2
w_class = ITEMSIZE_LARGE
slot_flags = SLOT_BACK
to_chat(user, "<span class='notice'>You extend \the [src].</span>")
to_chat(user, span_notice("You extend \the [src]."))
else
force = 3
throwforce = 3
throw_speed = 3
w_class = ITEMSIZE_NORMAL
slot_flags = null
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
to_chat(user, span_notice("[src] can now be concealed."))
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
@@ -81,7 +81,7 @@
/obj/item/shield/riot/explorer/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/material/knife/machete))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
user.visible_message(span_warning("[user] bashes [src] with [W]!"))
playsound(src, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
@@ -49,13 +49,13 @@
name = "dufflebag of holding"
var/tilted = 0
icon_state = "holdingduffle"
/obj/item/storage/backpack/holding/duffle/Initialize()
. = ..()
if(prob(50))
icon_state = "[icon_state]_tilted"
tilted = 1
/obj/item/storage/backpack/holding/duffle/verb/tilt()
set name = "Adjust Duffelbag Angle"
set desc = "Adjust the angle of your dufflebag for cosmetic effect"
@@ -76,7 +76,7 @@
/obj/item/storage/backpack/holding/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/storage/backpack/holding))
to_chat(user, "<span class='warning'>The Bluespace interfaces of the two devices conflict and malfunction.</span>")
to_chat(user, span_warning("The Bluespace interfaces of the two devices conflict and malfunction."))
qdel(W)
return
. = ..()
@@ -175,13 +175,13 @@
var/tilted = 0
var/can_tilt = 1
max_storage_space = INVENTORY_DUFFLEBAG_SPACE
/obj/item/storage/backpack/dufflebag/Initialize()
. = ..()
if(prob(50))
icon_state = "[icon_state]_tilted"
tilted = 1
/obj/item/storage/backpack/dufflebag/verb/tilt()
set name = "Adjust Duffelbag Angle"
set desc = "Adjust the angle of your dufflebag for cosmetic effect"
@@ -514,34 +514,34 @@
if(H.stat)
return
if(H.back == src)
to_chat(H, "<span class='warning'>How do you expect to work on \the [src] while it's on your back?</span>")
to_chat(H, span_warning("How do you expect to work on \the [src] while it's on your back?"))
return
if(!parachute) //This packs the parachute
H.visible_message("<b>\The [H]</b> starts to pack \the [src]!", \
"<span class='notice'>You start to pack \the [src]!</span>", \
span_notice("You start to pack \the [src]!"), \
"You hear the shuffling of cloth.")
if(do_after(H, 50))
H.visible_message("<b>\The [H]</b> finishes packing \the [src]!", \
"<span class='notice'>You finish packing \the [src]!</span>", \
span_notice("You finish packing \the [src]!"), \
"You hear the shuffling of cloth.")
parachute = TRUE
else
H.visible_message("<b>\The [src]</b> gives up on packing \the [src]!", \
"<span class='notice'>You give up on packing \the [src]!</span>")
span_notice("You give up on packing \the [src]!"))
return
else //This unpacks the parachute
H.visible_message("<b>\The [src]</b> starts to unpack \the [src]!", \
"<span class='notice'>You start to unpack \the [src]!</span>", \
span_notice("You start to unpack \the [src]!"), \
"You hear the shuffling of cloth.")
if(do_after(H, 25))
H.visible_message("<b>\The [src]</b> finishes unpacking \the [src]!", \
"<span class='notice'>You finish unpacking \the [src]!</span>", \
span_notice("You finish unpacking \the [src]!"), \
"You hear the shuffling of cloth.")
parachute = FALSE
else
H.visible_message("<b>\The [src]</b> decides not to unpack \the [src]!", \
"<span class='notice'>You decide not to unpack \the [src]!</span>")
span_notice("You decide not to unpack \the [src]!"))
return
/obj/item/storage/backpack/satchel/ranger
@@ -549,4 +549,4 @@
desc = "A satchel designed for the Go Go ERT Rangers series to allow for slightly bigger carry capacity for the ERT-Rangers.\
Unlike the show claims, it is not a phoron-enhanced satchel of holding with plot-relevant content."
icon = 'icons/obj/clothing/ranger.dmi'
icon_state = "ranger_satchel"
icon_state = "ranger_satchel"
@@ -15,7 +15,7 @@
if(istype(H) && istype(H.tail_style, taurtype))
return 1
else
to_chat(H, "<span class='warning'>[no_message]</span>")
to_chat(H, span_warning("[no_message]"))
return 0
/* If anyone wants to make some... this is how you would.
@@ -201,4 +201,3 @@
icon_override = 'icons/inventory/back/mob_vr.dmi'
icon_state = "satchel_strapless"
item_state_slots = null
@@ -138,7 +138,7 @@
/obj/item/storage/bag/ore/attackby(obj/item/W as obj, mob/user as mob)
if(current_capacity >= max_storage_space)
to_chat(user, "<span class='notice'>\the [src] is too full to possibly fit anything else inside of it.</span>")
to_chat(user, span_notice("\the [src] is too full to possibly fit anything else inside of it."))
return
if (istype(W, /obj/item/ore))
@@ -186,13 +186,13 @@
success = 1
if(!silent) //Let's do a single check and then do more instead of a bunch at once.
if(success && !failure && !max_pickup_reached) //Picked stuff up, did not reach capacity, did not reach max_pickup.
to_chat(user, "<span class='notice'>You put everything in [src].</span>")
to_chat(user, span_notice("You put everything in [src]."))
else if(success && failure) //Picked stuff up to capacity.
to_chat(user, "<span class='notice'>You fill the [src].</span>")
to_chat(user, span_notice("You fill the [src]."))
else if(success && max_pickup_reached) //Picked stuff up to the max_pickup
to_chat(user, "<span class='notice'>You fill the [src] with as much as you can grab in one go.</span>")
to_chat(user, span_notice("You fill the [src] with as much as you can grab in one go."))
else //Failed. The bag is full.
to_chat(user, "<span class='notice'>You fail to pick anything up with \the [src].</span>")
to_chat(user, span_notice("You fail to pick anything up with \the [src]."))
if(istype(user.pulling, /obj/structure/ore_box)) //Bit of a crappy way to do this, as it doubles spam for the user, but it works. //Then let me fix it. ~CL.
var/obj/structure/ore_box/OB = user.pulling
for(var/ore in stored_ore)
@@ -236,11 +236,11 @@
if(istype(user, /mob/living))
add_fingerprint(user)
. += "<span class='notice'>It holds:</span>"
. += span_notice("It holds:")
var/has_ore = 0
for(var/ore in stored_ore)
if(stored_ore[ore] > 0)
. += "<span class='notice'>- [stored_ore[ore]] [ore]</span>"
. += span_notice("- [stored_ore[ore]] [ore]")
has_ore = 1
if(!has_ore)
. += "Nothing."
@@ -295,7 +295,7 @@
current += S.get_amount()
if(capacity == current)//If it's full, you're done
if(!stop_messages)
to_chat(usr, "<span class='warning'>The snatcher is full.</span>")
to_chat(usr, span_warning("The snatcher is full."))
return 0
return 1
@@ -20,7 +20,7 @@
set category = "Object"
if(show_above_suit == -1)
to_chat(usr, "<span class='notice'>\The [src] cannot be worn above your suit!</span>")
to_chat(usr, span_notice("\The [src] cannot be worn above your suit!"))
return
show_above_suit = !show_above_suit
update_icon()
@@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
name = user.mind.my_religion.bible_name
icon_state = user.mind.my_religion.bible_icon_state
item_state = user.mind.my_religion.bible_item_state
to_chat(user, "<span class='notice'>You invoke [user.mind.my_religion.deity] and prepare a copy of [src].</span>")
to_chat(user, span_notice("You invoke [user.mind.my_religion.deity] and prepare a copy of [src]."))
/**
* Checks if we are allowed to interact with a radial menu
@@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
if(!proximity) return
if(user.mind && (user.mind.assigned_role == JOB_CHAPLAIN))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
to_chat(user, "<span class='notice'>You bless [A].</span>")
to_chat(user, span_notice("You bless [A]."))
var/water2holy = A.reagents.get_reagent_amount("water")
A.reagents.del_reagent("water")
A.reagents.add_reagent("holywater",water2holy)
@@ -52,7 +52,7 @@
if (!found) // User is too far away
return
// Now make the cardboard
to_chat(user, "<span class='notice'>You fold [src] flat.</span>")
to_chat(user, span_notice("You fold [src] flat."))
playsound(src, 'sound/items/storage/boxfold.ogg', 30, 1)
new foldable(get_turf(src))
qdel(src)
@@ -369,7 +369,7 @@
if(istype(W) && !W.lit && !W.burnt)
if(prob(25))
W.light(user)
user.visible_message("<span class='notice'>[user] manages to light the match on the matchbox.</span>")
user.visible_message(span_notice("[user] manages to light the match on the matchbox."))
else
playsound(src, 'sound/items/cigs_lighters/matchstick_hit.ogg', 25, 0, -1)
W.update_icon()
@@ -27,7 +27,7 @@
..()
/obj/item/storage/vore_egg/proc/hatch(mob/living/user as mob)
visible_message("<span class='danger'>\The [src] begins to shake as something pushes out from within!</span>")
visible_message(span_danger("\The [src] begins to shake as something pushes out from within!"))
animate_shake()
if(do_after(user, 50))
if(use_sound)
@@ -312,7 +312,7 @@
var/obj/item/clothing/mask/smokable/cigarette/cig = locate() in src
if(cig == null)
to_chat(user, "<span class='notice'>Looks like the packet is out of cigarettes.</span>")
to_chat(user, span_notice("Looks like the packet is out of cigarettes."))
return
// Instead of running equip_to_slot_if_possible() we check here first,
@@ -326,7 +326,7 @@
user.equip_to_slot(cig, slot_wear_mask)
reagents.maximum_volume = 15 * contents.len
to_chat(user, "<span class='notice'>You take a cigarette out of the pack.</span>")
to_chat(user, span_notice("You take a cigarette out of the pack."))
update_icon()
else
..()
@@ -73,7 +73,7 @@
name = "oxygen deprivation first aid kit"
desc = "A box full of oxygen goodies."
icon_state = "o2"
item_state_slots = list(slot_r_hand_str = "firstaid-o2", slot_l_hand_str = "firstaid-o2")
item_state_slots = list(slot_r_hand_str = "firstaid-o2", slot_l_hand_str = "firstaid-o2")
starts_with = list(
/obj/item/reagent_containers/pill/dexalin,
/obj/item/reagent_containers/pill/dexalin,
@@ -210,13 +210,13 @@
if(istype(W, /obj/item/pen) || istype(W, /obj/item/flashlight/pen))
var/tmp_label = sanitizeSafe(tgui_input_text(user, "Enter a label for [name]", "Label", label_text, MAX_NAME_LEN), MAX_NAME_LEN)
if(length(tmp_label) > 50)
to_chat(user, "<span class='notice'>The label can be at most 50 characters long.</span>")
to_chat(user, span_notice("The label can be at most 50 characters long."))
else if(length(tmp_label) > 10)
to_chat(user, "<span class='notice'>You set the label.</span>")
to_chat(user, span_notice("You set the label."))
label_text = tmp_label
update_name_label()
else
to_chat(user, "<span class='notice'>You set the label to \"[tmp_label]\".</span>")
to_chat(user, span_notice("You set the label to \"[tmp_label]\"."))
label_text = tmp_label
update_name_label()
else
@@ -28,17 +28,17 @@
if (user.hand)
temp = H.get_organ("l_hand")
if(!temp)
to_chat(user, "<span class='warning'>You need two hands to pick this up!</span>")
to_chat(user, span_warning("You need two hands to pick this up!"))
return
if(user.get_inactive_hand())
to_chat(user, "<span class='warning'>You need your other hand to be empty</span>")
to_chat(user, span_warning("You need your other hand to be empty"))
return
return ..()
/obj/item/storage/laundry_basket/attack_self(mob/user as mob)
var/turf/T = get_turf(user)
to_chat(user, "<span class='notice'>You dump the [src]'s contents onto \the [T].</span>")
to_chat(user, span_notice("You dump the [src]'s contents onto \the [T]."))
return ..()
/obj/item/storage/laundry_basket/pickup(mob/user)
@@ -20,21 +20,21 @@
/obj/item/storage/lockbox/attackby(obj/item/W as obj, mob/user as mob)
if (istype(W, /obj/item/card/id))
if(src.broken)
to_chat(user, "<span class='warning'>It appears to be broken.</span>")
to_chat(user, span_warning("It appears to be broken."))
return
if(src.allowed(user))
src.locked = !( src.locked )
if(src.locked)
src.icon_state = src.icon_locked
to_chat(user, "<span class='notice'>You lock \the [src]!</span>")
to_chat(user, span_notice("You lock \the [src]!"))
close_all()
return
else
src.icon_state = src.icon_closed
to_chat(user, "<span class='notice'>You unlock \the [src]!</span>")
to_chat(user, span_notice("You unlock \the [src]!"))
return
else
to_chat(user, "<span class='warning'>Access Denied</span>")
to_chat(user, span_warning("Access Denied"))
else if(istype(W, /obj/item/melee/energy/blade))
if(emag_act(INFINITY, user, W, "The locker has been sliced open by [user] with an energy blade!", "You hear metal being sliced and sparks flying."))
var/datum/effect/effect/system/spark_spread/spark_system = new /datum/effect/effect/system/spark_spread()
@@ -45,13 +45,13 @@
if(!locked)
..()
else
to_chat(user, "<span class='warning'>It's locked!</span>")
to_chat(user, span_warning("It's locked!"))
return
/obj/item/storage/lockbox/show_to(mob/user as mob)
if(locked)
to_chat(user, "<span class='warning'>It's locked!</span>")
to_chat(user, span_warning("It's locked!"))
else
..()
return
@@ -59,13 +59,13 @@
/obj/item/storage/lockbox/emag_act(var/remaining_charges, var/mob/user, var/emag_source, var/visual_feedback = "", var/audible_feedback = "")
if(!broken)
if(visual_feedback)
visual_feedback = "<span class='warning'>[visual_feedback]</span>"
visual_feedback = span_warning("[visual_feedback]")
else
visual_feedback = "<span class='warning'>The locker has been sliced open by [user] with an electromagnetic card!</span>"
visual_feedback = span_warning("The locker has been sliced open by [user] with an electromagnetic card!")
if(audible_feedback)
audible_feedback = "<span class='warning'>[audible_feedback]</span>"
audible_feedback = span_warning("[audible_feedback]")
else
audible_feedback = "<span class='warning'>You hear a faint electrical spark.</span>"
audible_feedback = span_warning("You hear a faint electrical spark.")
broken = 1
locked = 0
@@ -36,7 +36,7 @@ MRE Stuff
/obj/item/storage/mre/open(mob/user)
if(!opened)
to_chat(usr, "<span class='notice'>You tear open the bag, breaking the vacuum seal.</span>")
to_chat(usr, span_notice("You tear open the bag, breaking the vacuum seal."))
opened = 1
update_icon()
. = ..()
@@ -236,7 +236,7 @@ MRE Stuff
/obj/item/storage/mrebag/open(mob/user)
if(!opened && !isobserver(user))
to_chat(usr, "<span class='notice'>The pouch heats up as you break the vacuum seal.</span>")
to_chat(usr, span_notice("The pouch heats up as you break the vacuum seal."))
opened = 1
update_icon()
. = ..()
@@ -47,22 +47,22 @@
if (do_after(user, 20 * W.toolspeed))
src.open =! src.open
playsound(src, W.usesound, 50, 1)
user.show_message(text("<span class='notice'>You [] the service panel.</span>", (src.open ? "open" : "close")))
user.show_message(span_notice("You [src.open ? "open" : "close"] the service panel."))
return
if (istype(W, /obj/item/multitool) && (src.open == 1)&& (!src.l_hacking))
user.show_message("<span class='notice'>Now attempting to reset internal memory, please hold.</span>", 1)
user.show_message(span_notice("Now attempting to reset internal memory, please hold."), 1)
src.l_hacking = 1
if (do_after(usr, 100))
if (prob(40))
src.l_setshort = 1
src.l_set = 0
src.code = ""
user.show_message("<span class='notice'>Internal memory reset. Please give it a few seconds to reinitialize.</span>", 1)
user.show_message(span_notice("Internal memory reset. Please give it a few seconds to reinitialize."), 1)
sleep(80)
src.l_setshort = 0
src.l_hacking = 0
else
user.show_message("<span class='warning'>Unable to reset internal memory.</span>", 1)
user.show_message(span_warning("Unable to reset internal memory."), 1)
src.l_hacking = 0
else src.l_hacking = 0
return
@@ -82,7 +82,7 @@
/obj/item/storage/secure/AltClick(mob/user as mob)
if (isliving(user) && Adjacent(user) && (src.locked == 1))
to_chat(user, "<span class='warning'>[src] is locked and cannot be opened!</span>")
to_chat(user, span_warning("[src] is locked and cannot be opened!"))
else if (isliving(user) && Adjacent(user) && (!src.locked))
src.open(usr)
else
@@ -170,7 +170,7 @@
/obj/item/storage/secure/briefcase/attack_hand(mob/user as mob)
if ((src.loc == user) && (src.locked == 1))
to_chat(user, "<span class='warning'>[src] is locked and cannot be opened!</span>")
to_chat(user, span_warning("[src] is locked and cannot be opened!"))
else if ((src.loc == user) && (!src.locked))
src.open(usr)
else
@@ -443,24 +443,24 @@
return 0 //Means the item is already in the storage item
if(storage_slots != null && contents.len >= storage_slots)
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] is full, make some space.</span>")
to_chat(usr, span_notice("[src] is full, make some space."))
return 0 //Storage item is full
if(LAZYLEN(can_hold) && !is_type_in_list(W, can_hold))
if(!stop_messages)
if (istype(W, /obj/item/hand_labeler))
return 0
to_chat(usr, "<span class='notice'>[src] cannot hold [W].</span>")
to_chat(usr, span_notice("[src] cannot hold [W]."))
return 0
if(LAZYLEN(cant_hold) && is_type_in_list(W, cant_hold))
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] cannot hold [W].</span>")
to_chat(usr, span_notice("[src] cannot hold [W]."))
return 0
if (max_w_class != null && W.w_class > max_w_class)
if(!stop_messages)
to_chat(usr, "<span class='notice'>[W] is too long for \the [src].</span>")
to_chat(usr, span_notice("[W] is too long for \the [src]."))
return 0
var/total_storage_space = W.get_storage_cost()
@@ -469,12 +469,12 @@
if(total_storage_space > max_storage_space)
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] is too full, make some space.</span>")
to_chat(usr, span_notice("[src] is too full, make some space."))
return 0
if(W.w_class >= src.w_class && (istype(W, /obj/item/storage)))
if(!stop_messages)
to_chat(usr, "<span class='notice'>[src] cannot hold [W] as it's a storage item of the same size.</span>")
to_chat(usr, span_notice("[src] cannot hold [W] as it's a storage item of the same size."))
return 0 //To prevent the stacking of same sized storage items.
return 1
@@ -501,11 +501,11 @@
if(!prevent_warning)
for(var/mob/M in viewers(usr, null))
if (M == usr)
to_chat(usr, "<span class='notice'>You put \the [W] into [src].</span>")
to_chat(usr, span_notice("You put \the [W] into [src]."))
else if (M in range(1)) //If someone is standing close enough, they can tell what it is...
M.show_message("<span class='notice'>\The [usr] puts [W] into [src].</span>")
M.show_message(span_notice("\The [usr] puts [W] into [src]."))
else if (W && W.w_class >= 3) //Otherwise they can only see large or normal items from a distance...
M.show_message("<span class='notice'>\The [usr] puts [W] into [src].</span>")
M.show_message(span_notice("\The [usr] puts [W] into [src]."))
src.orient2hud(usr)
if(usr.s_active)
@@ -592,14 +592,14 @@
var/obj/item/tray/T = W
if(T.calc_carry() > 0)
if(prob(85))
to_chat(user, "<span class='warning'>The tray won't fit in [src].</span>")
to_chat(user, span_warning("The tray won't fit in [src]."))
return
else
W.forceMove(get_turf(user))
if ((user.client && user.s_active != src))
user.client.screen -= W
W.dropped(user)
to_chat(user, "<span class='warning'>God damn it!</span>")
to_chat(user, span_warning("God damn it!"))
W.add_fingerprint(user)
return handle_item_insertion(W)
@@ -644,11 +644,11 @@
success = 1
handle_item_insertion(I, 1) //The 1 stops the "You put the [src] into [S]" insertion message from being displayed.
if(success && !failure)
to_chat(user, "<span class='notice'>You put everything in [src].</span>")
to_chat(user, span_notice("You put everything in [src]."))
else if(success)
to_chat(user, "<span class='notice'>You put some things in [src].</span>")
to_chat(user, span_notice("You put some things in [src]."))
else
to_chat(user, "<span class='notice'>You fail to pick anything up with \the [src].</span>")
to_chat(user, span_notice("You fail to pick anything up with \the [src]."))
/obj/item/storage/verb/toggle_gathering_mode()
set name = "Switch Gathering Method"
@@ -828,7 +828,7 @@
. = ..()
if(open && contents.len)
var/display_item = contents[1]
. += "<span class='notice'>\The [src] contains \the [display_item]!</span>"
. += span_notice("\The [src] contains \the [display_item]!")
/obj/item/storage/AllowDrop()
return TRUE
@@ -897,5 +897,5 @@
// Scoop and insert target into storage
var/obj/item/holder/H = new user.holder_type(get_turf(user), user)
src.handle_item_insertion(H, 1)
to_chat(user, "<span class='notice'>You climb into \the [src].</span>")
to_chat(user, span_notice("You climb into \the [src]."))
return ..()
+23 -23
View File
@@ -103,7 +103,7 @@
..()
if(status && grip_safety && !taped_safety)
status = 0
visible_message("<span class='warning'>\The [src]'s grip safety engages!</span>")
visible_message(span_warning("\The [src]'s grip safety engages!"))
update_icon()
/obj/item/melee/baton/examine(mob/user)
@@ -111,11 +111,11 @@
if(Adjacent(user))
if(taped_safety)
. += "<span class='warning'>Someone has wrapped tape around the grip!</span>"
. += span_warning("Someone has wrapped tape around the grip!")
if(bcell)
. += "<span class='notice'>The baton is [round(bcell.percent())]% charged.</span>"
. += span_notice("The baton is [round(bcell.percent())]% charged.")
if(!bcell)
. += "<span class='warning'>The baton does not have a power source installed.</span>"
. += span_warning("The baton does not have a power source installed.")
/obj/item/melee/baton/attackby(obj/item/W, mob/user)
if(use_external_power)
@@ -126,22 +126,22 @@
user.drop_item()
W.loc = src
bcell = W
to_chat(user, "<span class='notice'>You install a cell in [src].</span>")
to_chat(user, span_notice("You install a cell in [src]."))
update_icon()
else
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
to_chat(user, span_notice("[src] already has a cell."))
else
to_chat(user, "<span class='notice'>This cell is not fitted for [src].</span>")
to_chat(user, span_notice("This cell is not fitted for [src]."))
if(istype(W, /obj/item/tape_roll) || istype(W, /obj/item/taperoll))
if(grip_safety && !taped_safety) //no point letting people wrap tape around the grips of batons without a safety
to_chat(user, "<span class='notice'>You firmly wrap tape around the baton's grip, disabling the safety system.</span>")
to_chat(user, span_notice("You firmly wrap tape around the baton's grip, disabling the safety system."))
playsound(src, 'sound/effects/tape.ogg',25)
taped_safety = TRUE
else if(grip_safety && taped_safety)
to_chat(user, "<span class='notice'>The grip safety has already been taped down.</span>")
to_chat(user, span_notice("The grip safety has already been taped down."))
if(istype(W, /obj/item/tool/screwdriver))
if(taped_safety)
to_chat(user, "<span class='notice'>You painstakingly scrape away the tape over the grip safety.</span>")
to_chat(user, span_notice("You painstakingly scrape away the tape over the grip safety."))
taped_safety = FALSE
/obj/item/melee/baton/attack_hand(mob/user as mob)
@@ -150,7 +150,7 @@
bcell.update_icon()
user.put_in_hands(bcell)
bcell = null
to_chat(user, "<span class='notice'>You remove the cell from the [src].</span>")
to_chat(user, span_notice("You remove the cell from the [src]."))
status = 0
update_icon()
return
@@ -166,20 +166,20 @@
bcell = R.cell
if(bcell && bcell.charge >= hitcost)
status = !status
to_chat(user, "<span class='notice'>[src] is now [status ? "on" : "off"].</span>")
to_chat(user, span_notice("[src] is now [status ? "on" : "off"]."))
playsound(src, "sparks", 75, 1, -1)
update_icon()
else
status = 0
if(!bcell)
to_chat(user, "<span class='warning'>[src] does not have a power source!</span>")
to_chat(user, span_warning("[src] does not have a power source!"))
else
to_chat(user, "<span class='warning'>[src] is out of charge.</span>")
to_chat(user, span_warning("[src] is out of charge."))
add_fingerprint(user)
/obj/item/melee/baton/attack(mob/M, mob/user)
if(status && (CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='danger'>You accidentally hit yourself with the [src]!</span>")
to_chat(user, span_danger("You accidentally hit yourself with the [src]!"))
user.Weaken(30)
deductcharge(hitcost)
return
@@ -204,14 +204,14 @@
stun *= 0.5
else if(!status)
if(affecting)
target.visible_message("<span class='warning'>[target] has been prodded in the [affecting.name] with [src] by [user]. Luckily it was off.</span>")
target.visible_message(span_warning("[target] has been prodded in the [affecting.name] with [src] by [user]. Luckily it was off."))
else
target.visible_message("<span class='warning'>[target] has been prodded with [src] by [user]. Luckily it was off.</span>")
target.visible_message(span_warning("[target] has been prodded with [src] by [user]. Luckily it was off."))
else
if(affecting)
target.visible_message("<span class='danger'>[target] has been prodded in the [affecting.name] with [src] by [user]!</span>")
target.visible_message(span_danger("[target] has been prodded in the [affecting.name] with [src] by [user]!"))
else
target.visible_message("<span class='danger'>[target] has been prodded with [src] by [user]!</span>")
target.visible_message(span_danger("[target] has been prodded with [src] by [user]!"))
playsound(src, 'sound/weapons/Egloves.ogg', 50, 1, -1)
//stun effects
@@ -256,12 +256,12 @@
user.drop_item()
W.loc = src
bcell = W
to_chat(user, "<span class='notice'>You install a cell in [src].</span>")
to_chat(user, span_notice("You install a cell in [src]."))
update_icon()
else
to_chat(user, "<span class='notice'>[src] already has a cell.</span>")
to_chat(user, span_notice("[src] already has a cell."))
else
to_chat(user, "<span class='notice'>This cell is not fitted for [src].</span>")
to_chat(user, span_notice("This cell is not fitted for [src]."))
/obj/item/melee/baton/get_description_interaction()
var/list/results = list()
@@ -294,4 +294,4 @@
// Borg version, for the lost module.
/obj/item/melee/baton/shocker/robot
use_external_power = TRUE
use_external_power = TRUE
@@ -31,7 +31,7 @@
/obj/item/melee/classic_baton/attack(mob/M as mob, mob/living/user as mob)
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>You club yourself over the head.</span>")
to_chat(user, span_warning("You club yourself over the head."))
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -58,8 +58,8 @@
/obj/item/melee/telebaton/attack_self(mob/user as mob)
on = !on
if(on)
user.visible_message("<span class='warning'>With a flick of their wrist, [user] extends their telescopic baton.</span>",\
"<span class='warning'>You extend the baton.</span>",\
user.visible_message(span_warning("With a flick of their wrist, [user] extends their telescopic baton."),\
span_warning("You extend the baton."),\
"You hear an ominous click.")
icon_state = "telebaton1"
item_state = icon_state
@@ -68,7 +68,7 @@
attack_verb = list("smacked", "struck", "slapped")
else
user.visible_message("<b>\The [user]</b> collapses their telescopic baton.",\
"<span class='notice'>You collapse the baton.</span>",\
span_notice("You collapse the baton."),\
"You hear a click.")
icon_state = "telebaton0"
item_state = icon_state
@@ -99,7 +99,7 @@
/obj/item/melee/telebaton/attack(mob/target as mob, mob/living/user as mob)
if(on)
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='warning'>You club yourself over the head.</span>")
to_chat(user, span_warning("You club yourself over the head."))
user.Weaken(3 * force)
if(ishuman(user))
var/mob/living/carbon/human/H = user
+5 -5
View File
@@ -86,27 +86,27 @@
lit = 1
icon_state = "[base_state]1"
//item_state = "[base_state]on"
user.visible_message("<span class='rose'>Without even breaking stride, \the [user] flips open \the [src] in one smooth movement.</span>")
user.visible_message(span_rose("Without even breaking stride, \the [user] flips open \the [src] in one smooth movement."))
else if(lit && detonator_mode)
switch(tgui_alert(user, "What would you like to do?", "Lighter", list("Press the button.", "Close the lighter.")))
if("Press the button.")
to_chat(user, "<span class='warning'>You press the button.</span>")
to_chat(user, span_warning("You press the button."))
icon_state = "[base_state]click"
if(src.bomb)
src.bomb.detonate()
log_admin("[key_name(user)] has triggered [src.bomb] with [src].")
message_admins("<span class='danger'>[key_name_admin(user)] has triggered [src.bomb] with [src].</span>")
message_admins(span_danger("[key_name_admin(user)] has triggered [src.bomb] with [src]."))
if("Close the lighter.")
lit = 0
icon_state = "[base_state]"
//item_state = "[base_state]"
user.visible_message("<span class='rose'>You hear a quiet click, as \the [user] shuts off \the [src] without even looking at what they're doing.</span>")
user.visible_message(span_rose("You hear a quiet click, as \the [user] shuts off \the [src] without even looking at what they're doing."))
/obj/item/flame/lighter/zippo/c4detonator/attackby(obj/item/W, mob/user as mob)
if(W.has_tool_quality(TOOL_SCREWDRIVER))
detonator_mode = !detonator_mode
playsound(src, W.usesound, 50, 1)
to_chat(user, "<span class='notice'>You unscrew the top panel of \the [src] revealing a button.</span>")
to_chat(user, span_notice("You unscrew the top panel of \the [src] revealing a button."))
@@ -31,7 +31,7 @@
/obj/item/tank/jetpack/examine(mob/user)
. = ..()
if(air_contents.total_moles < 5)
. += "<span class='danger'>The meter on \the [src] indicates you are almost out of gas!</span>"
. += span_danger("The meter on \the [src] indicates you are almost out of gas!")
playsound(src, 'sound/effects/alert.ogg', 50, 1)
/obj/item/tank/jetpack/verb/toggle_rockets()
@@ -23,7 +23,7 @@
/obj/item/tank/oxygen/examine(mob/user)
. = ..()
if(loc == user && (air_contents.gas["oxygen"] < 10))
. += "<span class='warning'>The meter on \the [src] indicates you are almost out of oxygen!</span>"
. += span_warning("The meter on \the [src] indicates you are almost out of oxygen!")
/obj/item/tank/oxygen/yellow
desc = "A tank of oxygen, this one is yellow."
@@ -59,7 +59,7 @@
/obj/item/tank/air/examine(mob/user)
. = ..()
if(loc == user && (air_contents.gas["oxygen"] < 1))
. += "<span class='warning'>The meter on \the [src] indicates you are almost out of air!</span>"
. += span_warning("The meter on \the [src] indicates you are almost out of air!")
user << sound('sound/effects/alert.ogg')
/obj/item/tank/air/Initialize()
@@ -142,7 +142,7 @@
/obj/item/tank/emergency/oxygen/examine(mob/user)
. = ..()
if(loc == user && (air_contents.gas["oxygen"] < 0.2))
. += "<span class='danger'>The meter on the [src.name] indicates you are almost out of air!</span>"
. += span_danger("The meter on the [src.name] indicates you are almost out of air!")
user << sound('sound/effects/alert.ogg')
/obj/item/tank/emergency/oxygen/engi
@@ -215,7 +215,7 @@
/obj/item/tank/nitrogen/examine(mob/user)
. = ..()
if(loc == user && (air_contents.gas["nitrogen"] < 10))
. += "<span class='danger'>The meter on \the [src] indicates you are almost out of nitrogen!</span>"
. += span_danger("The meter on \the [src] indicates you are almost out of nitrogen!")
//playsound(user, 'sound/effects/alert.ogg', 50, 1)
/obj/item/tank/stasis/nitro_cryo // Synthmorph bags need to have initial pressure within safe bounds for human atmospheric pressure, but low temperature to stop unwanted degredation.
+23 -23
View File
@@ -105,12 +105,12 @@ var/list/global/tank_gauge_cache = list()
descriptive = "cold"
else
descriptive = "bitterly cold"
. += "<span class='notice'>\The [src] feels [descriptive].</span>"
. += span_notice("\The [src] feels [descriptive].")
if(src.proxyassembly.assembly || wired)
. += "<span class='warning'>It seems to have [wired? "some wires ": ""][wired && src.proxyassembly.assembly? "and ":""][src.proxyassembly.assembly ? "some sort of assembly ":""]attached to it.</span>"
. += span_warning("It seems to have [wired? "some wires ": ""][wired && src.proxyassembly.assembly? "and ":""][src.proxyassembly.assembly ? "some sort of assembly ":""]attached to it.")
if(src.valve_welded)
. += "<span class='warning'>\The [src] emergency relief valve has been welded shut!</span>"
. += span_warning("\The [src] emergency relief valve has been welded shut!")
/obj/item/tank/attackby(obj/item/W as obj, mob/user as mob)
@@ -127,17 +127,17 @@ var/list/global/tank_gauge_cache = list()
var/obj/item/stack/cable_coil/C = W
if(C.use(1))
wired = 1
to_chat(user, "<span class='notice'>You attach the wires to the tank.</span>")
to_chat(user, span_notice("You attach the wires to the tank."))
src.add_bomb_overlay()
if(W.has_tool_quality(TOOL_WIRECUTTER))
if(wired && src.proxyassembly.assembly)
to_chat(user, "<span class='notice'>You carefully begin clipping the wires that attach to the tank.</span>")
to_chat(user, span_notice("You carefully begin clipping the wires that attach to the tank."))
if(do_after(user, 100,src))
wired = 0
cut_overlay("bomb_assembly")
to_chat(user, "<span class='notice'>You cut the wire and remove the device.</span>")
to_chat(user, span_notice("You cut the wire and remove the device."))
var/obj/item/assembly_holder/assy = src.proxyassembly.assembly
if(assy.a_left && assy.a_right)
@@ -156,55 +156,55 @@ var/list/global/tank_gauge_cache = list()
update_gauge()
else
to_chat(user, "<span class='danger'>You slip and bump the igniter!</span>")
to_chat(user, span_danger("You slip and bump the igniter!"))
if(prob(85))
src.proxyassembly.receive_signal()
else if(wired)
if(do_after(user, 10, src))
to_chat(user, "<span class='notice'>You quickly clip the wire from the tank.</span>")
to_chat(user, span_notice("You quickly clip the wire from the tank."))
wired = 0
cut_overlay("bomb_assembly")
else
to_chat(user, "<span class='notice'>There are no wires to cut!</span>")
to_chat(user, span_notice("There are no wires to cut!"))
if(istype(W, /obj/item/assembly_holder))
if(wired)
to_chat(user, "<span class='notice'>You begin attaching the assembly to \the [src].</span>")
to_chat(user, span_notice("You begin attaching the assembly to \the [src]."))
if(do_after(user, 50, src))
to_chat(user, "<span class='notice'>You finish attaching the assembly to \the [src].</span>")
to_chat(user, span_notice("You finish attaching the assembly to \the [src]."))
bombers += "[key_name(user)] attached an assembly to a wired [src]. Temp: [src.air_contents.temperature-T0C]"
message_admins("[key_name_admin(user)] attached an assembly to a wired [src]. Temp: [src.air_contents.temperature-T0C]")
assemble_bomb(W,user)
else
to_chat(user, "<span class='notice'>You stop attaching the assembly.</span>")
to_chat(user, span_notice("You stop attaching the assembly."))
else
to_chat(user, "<span class='notice'>You need to wire the device up first.</span>")
to_chat(user, span_notice("You need to wire the device up first."))
if(istype(W, /obj/item/weldingtool))
var/obj/item/weldingtool/WT = W
if(WT.remove_fuel(1,user))
if(!valve_welded)
to_chat(user, "<span class='notice'>You begin welding the \the [src] emergency pressure relief valve.</span>")
to_chat(user, span_notice("You begin welding the \the [src] emergency pressure relief valve."))
if(do_after(user, 40,src))
to_chat(user, "<span class='notice'>You carefully weld \the [src] emergency pressure relief valve shut.</span><span class='warning'> \The [src] may now rupture under pressure!</span>")
to_chat(user, span_notice("You carefully weld \the [src] emergency pressure relief valve shut.</span><span class='warning'> \The [src] may now rupture under pressure!"))
src.valve_welded = 1
src.leaking = 0
else
bombers += "[key_name(user)] attempted to weld a [src]. [src.air_contents.temperature-T0C]"
message_admins("[key_name_admin(user)] attempted to weld a [src]. [src.air_contents.temperature-T0C]")
if(WT.welding)
to_chat(user, "<span class='danger'>You accidentally rake \the [W] across \the [src]!</span>")
to_chat(user, span_danger("You accidentally rake \the [W] across \the [src]!"))
maxintegrity -= rand(2,6)
integrity = min(integrity,maxintegrity)
src.air_contents.add_thermal_energy(rand(2000,50000))
WT.eyecheck(user)
else
to_chat(user, "<span class='notice'>The emergency pressure relief valve has already been welded.</span>")
to_chat(user, span_notice("The emergency pressure relief valve has already been welded."))
add_fingerprint(user)
@@ -289,7 +289,7 @@ var/list/global/tank_gauge_cache = list()
if(location.internal == src)
location.internal = null
location.internals.icon_state = "internal0"
to_chat(user, "<span class='notice'>You close the tank release valve.</span>")
to_chat(user, span_notice("You close the tank release valve."))
if (location.internals)
location.internals.icon_state = "internal0"
else
@@ -303,11 +303,11 @@ var/list/global/tank_gauge_cache = list()
if(can_open_valve)
location.internal = src
to_chat(user, "<span class='notice'>You open \the [src] valve.</span>")
to_chat(user, span_notice("You open \the [src] valve."))
if (location.internals)
location.internals.icon_state = "internal1"
else
to_chat(user, "<span class='warning'>You need something to connect to \the [src].</span>")
to_chat(user, span_warning("You need something to connect to \the [src]."))
@@ -444,7 +444,7 @@ var/list/global/tank_gauge_cache = list()
else if(pressure > TANK_RUPTURE_PRESSURE)
#ifdef FIREDBG
log_debug("<span class='warning'>[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]</span>")
log_debug(span_warning("[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]"))
#endif
air_contents.react()
@@ -455,7 +455,7 @@ var/list/global/tank_gauge_cache = list()
return
T.assume_air(air_contents)
playsound(src, 'sound/weapons/Gunshot_shotgun.ogg', 20, 1)
visible_message("[icon2html(src,viewers(src))] <span class='danger'>\The [src] flies apart!</span>", "<span class='warning'>You hear a bang!</span>")
visible_message("[icon2html(src,viewers(src))] <span class='danger'>\The [src] flies apart!</span>", span_warning("You hear a bang!"))
T.hotspot_expose(air_contents.temperature, 70, 1)
@@ -504,7 +504,7 @@ var/list/global/tank_gauge_cache = list()
playsound(src, 'sound/effects/spray.ogg', 10, 1, -3)
leaking = 1
#ifdef FIREDBG
log_debug("<span class='warning'>[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]</span>")
log_debug(span_warning("[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]"))
#endif
+13 -13
View File
@@ -24,24 +24,24 @@
if(user.a_intent == I_HELP)
return
if(!can_place(H, user))
to_chat(user, "<span class='danger'>You need to have a firm grip on [H] before you can use \the [src]!</span>")
to_chat(user, span_danger("You need to have a firm grip on [H] before you can use \the [src]!"))
return
else
if(user.zone_sel.selecting == O_EYES)
if(!H.organs_by_name[BP_HEAD])
to_chat(user, "<span class='warning'>\The [H] doesn't have a head.</span>")
to_chat(user, span_warning("\The [H] doesn't have a head."))
return
if(!H.has_eyes())
to_chat(user, "<span class='warning'>\The [H] doesn't have any eyes.</span>")
to_chat(user, span_warning("\The [H] doesn't have any eyes."))
return
if(H.glasses)
to_chat(user, "<span class='warning'>\The [H] is already wearing something on their eyes.</span>")
to_chat(user, span_warning("\The [H] is already wearing something on their eyes."))
return
if(H.head && (H.head.body_parts_covered & FACE))
to_chat(user, "<span class='warning'>Remove their [H.head] first.</span>")
to_chat(user, span_warning("Remove their [H.head] first."))
return
user.visible_message("<span class='danger'>\The [user] begins taping over \the [H]'s eyes!</span>")
user.visible_message(span_danger("\The [user] begins taping over \the [H]'s eyes!"))
if(!do_after(user, 30))
return
@@ -52,25 +52,25 @@
if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.has_eyes() || H.glasses || (H.head && (H.head.body_parts_covered & FACE)))
return
user.visible_message("<span class='danger'>\The [user] has taped up \the [H]'s eyes!</span>")
user.visible_message(span_danger("\The [user] has taped up \the [H]'s eyes!"))
H.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/blindfold/tape(H), slot_glasses, ignore_obstructions = FALSE)
H.update_inv_glasses()
playsound(src, 'sound/effects/tape.ogg',25)
else if(user.zone_sel.selecting == O_MOUTH || user.zone_sel.selecting == BP_HEAD)
if(!H.organs_by_name[BP_HEAD])
to_chat(user, "<span class='warning'>\The [H] doesn't have a head.</span>")
to_chat(user, span_warning("\The [H] doesn't have a head."))
return
if(!H.check_has_mouth())
to_chat(user, "<span class='warning'>\The [H] doesn't have a mouth.</span>")
to_chat(user, span_warning("\The [H] doesn't have a mouth."))
return
if(H.wear_mask)
to_chat(user, "<span class='warning'>\The [H] is already wearing a mask.</span>")
to_chat(user, span_warning("\The [H] is already wearing a mask."))
return
if(H.head && (H.head.body_parts_covered & FACE))
to_chat(user, "<span class='warning'>Remove their [H.head] first.</span>")
to_chat(user, span_warning("Remove their [H.head] first."))
return
user.visible_message("<span class='danger'>\The [user] begins taping up \the [H]'s mouth!</span>")
user.visible_message(span_danger("\The [user] begins taping up \the [H]'s mouth!"))
if(!do_after(user, 30))
return
@@ -81,7 +81,7 @@
if(!H || !src || !H.organs_by_name[BP_HEAD] || !H.check_has_mouth() || (H.head && (H.head.body_parts_covered & FACE)))
return
user.visible_message("<span class='danger'>\The [user] has taped up \the [H]'s mouth!</span>")
user.visible_message(span_danger("\The [user] has taped up \the [H]'s mouth!"))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/muzzle/tape(H), slot_wear_mask, ignore_obstructions = FALSE)
H.update_inv_wear_mask()
@@ -133,7 +133,7 @@ Frequency:
/obj/item/hand_tele/attack_self(mob/user as mob)
var/turf/current_location = get_turf(user)//What turf is the user on?
if(!current_location || (current_location.z in using_map.admin_levels) || current_location.block_tele)//If turf was not found or they're on z level 2 or >7 which does not currently exist.
to_chat(user, "<span class='notice'>\The [src] is malfunctioning.</span>")
to_chat(user, span_notice("\The [src] is malfunctioning."))
return
var/list/L = list( )
for(var/obj/machinery/teleport/hub/R in machines)
@@ -169,11 +169,11 @@ Frequency:
for(var/obj/effect/portal/PO in all_portals)
if(PO.creator == src) count++
if(count >= 3)
user.show_message("<span class='notice'>\The [src] is recharging!</span>")
user.show_message(span_notice("\The [src] is recharging!"))
return
var/T = L[t1]
for(var/mob/O in hearers(user, null))
O.show_message("<span class='notice'>Locked In.</span>", 2)
O.show_message(span_notice("Locked In."), 2)
var/obj/effect/portal/P = new /obj/effect/portal( get_turf(src) )
P.target = T
P.creator = src
@@ -59,7 +59,7 @@
tool_qualities = list(TOOL_CROWBAR)
if(user)
playsound(src, 'sound/items/change_jaws.ogg', 50, 1)
to_chat(user, "<span class='notice'>You attach the pry jaws to [src].</span>")
to_chat(user, span_notice("You attach the pry jaws to [src]."))
if(TOOL_WIRECUTTER)
desc = initial(desc) + " It's fitted with a cutting head."
icon_state = "jaws_cutter"
@@ -68,7 +68,7 @@
tool_qualities = list(TOOL_WIRECUTTER)
if(user)
playsound(src, 'sound/items/change_jaws.ogg', 50, 1)
to_chat(user, "<span class='notice'>You attach the cutting jaws to [src].</span>")
to_chat(user, span_notice("You attach the cutting jaws to [src]."))
/obj/item/tool/transforming/powerdrill
name = "hand drill"
@@ -97,7 +97,7 @@
tool_qualities = list(TOOL_WRENCH)
if(user)
playsound(src,'sound/items/change_drill.ogg',50,1)
to_chat(user, "<span class='notice'>You attach the bolt driver to [src].</span>")
to_chat(user, span_notice("You attach the bolt driver to [src]."))
if(TOOL_SCREWDRIVER)
desc = initial(desc) + " It's fitted with a screw driver."
icon_state = "drill_screw"
@@ -105,7 +105,7 @@
tool_qualities = list(TOOL_SCREWDRIVER)
if(user)
playsound(src,'sound/items/change_drill.ogg',50,1)
to_chat(user, "<span class='notice'>You attach the screw driver to [src].</span>")
to_chat(user, span_notice("You attach the screw driver to [src]."))
/obj/item/tool/transforming/altevian
name = "Hull Systems Omni-Tool"
@@ -137,7 +137,7 @@
tool_qualities = list(TOOL_WRENCH)
if(user)
playsound(src,'sound/items/ratchet.ogg',50,1)
to_chat(user, "<span class='notice'>You reconfigure [src] into bolting mode.</span>")
to_chat(user, span_notice("You reconfigure [src] into bolting mode."))
if(TOOL_CROWBAR)
desc = initial(desc) + " It's currently in prying mode."
icon_state = "altevian-crowbar"
@@ -145,7 +145,7 @@
tool_qualities = list(TOOL_CROWBAR)
if(user)
playsound(src,'sound/items/ratchet.ogg',50,1)
to_chat(user, "<span class='notice'>You reconfigure [src] into prying mode.</span>")
to_chat(user, span_notice("You reconfigure [src] into prying mode."))
if(TOOL_WIRECUTTER)
desc = initial(desc) + " It's currently in cutting mode."
icon_state = "altevian-wirecutter"
@@ -153,7 +153,7 @@
tool_qualities = list(TOOL_WIRECUTTER)
if(user)
playsound(src,'sound/items/ratchet.ogg',50,1)
to_chat(user, "<span class='notice'>You reconfigure [src] into cutting mode.</span>")
to_chat(user, span_notice("You reconfigure [src] into cutting mode."))
if(TOOL_SCREWDRIVER)
desc = initial(desc) + " It's currently in screwing mode."
icon_state = "altevian-screwdriver"
@@ -161,7 +161,7 @@
tool_qualities = list(TOOL_SCREWDRIVER)
if(user)
playsound(src,'sound/items/ratchet.ogg',50,1)
to_chat(user, "<span class='notice'>You reconfigure [src] into screwing mode.</span>")
to_chat(user, span_notice("You reconfigure [src] into screwing mode."))
if(TOOL_MULTITOOL)
desc = initial(desc) + " It's currently in pulsing mode."
icon_state = "altevian-pulser"
@@ -169,7 +169,7 @@
tool_qualities = list(TOOL_MULTITOOL)
if(user)
playsound(src,'sound/items/ratchet.ogg',50,1)
to_chat(user, "<span class='notice'>You reconfigure [src] into pulsing mode.</span>")
to_chat(user, span_notice("You reconfigure [src] into pulsing mode."))
if(TOOL_WELDER)
desc = initial(desc) + " It's currently in welding mode."
icon_state = "altevian-welder-on"
@@ -178,7 +178,7 @@
tool_qualities = list(TOOL_WELDER)
if(user)
playsound(src,'sound/items/ratchet.ogg',50,1)
to_chat(user, "<span class='notice'>You reconfigure [src] into welding mode.</span>")
to_chat(user, span_notice("You reconfigure [src] into welding mode."))
/obj/item/weldingtool/dummy/altevian
toolspeed = 0.25
@@ -82,15 +82,15 @@
if(S.organ_tag == BP_HEAD)
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.head]!</span>")
to_chat(user, span_warning("You can't apply [src] through [H.head]!"))
return TRUE
else
if(H.wear_suit && istype(H.wear_suit,/obj/item/clothing/suit/space))
to_chat(user, "<span class='warning'>You can't apply [src] through [H.wear_suit]!</span>")
to_chat(user, span_warning("You can't apply [src] through [H.wear_suit]!"))
return TRUE
if(!welding)
to_chat(user, "<span class='warning'>You'll need to turn [src] on to patch the damage on [H]'s [S.name]!</span>")
to_chat(user, span_warning("You'll need to turn [src] on to patch the damage on [H]'s [S.name]!"))
return TRUE
if(S.robo_repair(15, BRUTE, "some dents", src, user))
@@ -104,13 +104,13 @@
/obj/item/weldingtool/attackby(obj/item/W as obj, mob/living/user as mob)
if(istype(W,/obj/item/tool/screwdriver))
if(welding)
to_chat(user, "<span class='danger'>Stop welding first!</span>")
to_chat(user, span_danger("Stop welding first!"))
return
status = !status
if(status)
to_chat(user, "<span class='notice'>You secure the welder.</span>")
to_chat(user, span_notice("You secure the welder."))
else
to_chat(user, "<span class='notice'>The welder can now be attached and modified.</span>")
to_chat(user, span_notice("The welder can now be attached and modified."))
src.add_fingerprint(user)
return
@@ -159,16 +159,16 @@
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && get_dist(src,O) <= 1)
if(!welding && max_fuel)
O.reagents.trans_to_obj(src, max_fuel)
to_chat(user, "<span class='notice'>Welder refueled</span>")
to_chat(user, span_notice("Welder refueled"))
playsound(src, 'sound/effects/refill.ogg', 50, 1, -6)
return
else if(!welding)
to_chat(user, "<span class='notice'>[src] doesn't use fuel.</span>")
to_chat(user, span_notice("[src] doesn't use fuel."))
return
else
message_admins("[key_name_admin(user)] triggered a fueltank explosion with a welding tool.")
log_game("[key_name(user)] triggered a fueltank explosion with a welding tool.")
to_chat(user, "<span class='danger'>You begin welding on the fueltank and with a moment of lucidity you realize, this might not have been the smartest thing you've ever done.</span>")
to_chat(user, span_danger("You begin welding on the fueltank and with a moment of lucidity you realize, this might not have been the smartest thing you've ever done."))
var/obj/structure/reagent_dispensers/fueltank/tank = O
tank.explode()
return
@@ -204,7 +204,7 @@
return 1
else
if(M)
to_chat(M, "<span class='notice'>You need more welding fuel to complete this task.</span>")
to_chat(M, span_notice("You need more welding fuel to complete this task."))
update_icon()
return 0
@@ -282,9 +282,9 @@
if(set_welding && !welding)
if (get_fuel() > 0)
if(M)
to_chat(M, "<span class='notice'>You switch the [src] on.</span>")
to_chat(M, span_notice("You switch the [src] on."))
else if(T)
T.visible_message("<span class='danger'>\The [src] turns on.</span>")
T.visible_message(span_danger("\The [src] turns on."))
playsound(src, acti_sound, 50, 1)
src.force = 15
src.damtype = "fire"
@@ -297,16 +297,16 @@
else
if(M)
var/msg = max_fuel ? "welding fuel" : "charge"
to_chat(M, "<span class='notice'>You need more [msg] to complete this task.</span>")
to_chat(M, span_notice("You need more [msg] to complete this task."))
return
//Otherwise
else if(!set_welding && welding)
if(!always_process)
STOP_PROCESSING(SSobj, src)
if(M)
to_chat(M, "<span class='notice'>You switch \the [src] off.</span>")
to_chat(M, span_notice("You switch \the [src] off."))
else if(T)
T.visible_message("<span class='warning'>\The [src] turns off.</span>")
T.visible_message(span_warning("\The [src] turns off."))
playsound(src, deac_sound, 50, 1)
src.force = 3
src.damtype = "brute"
@@ -330,29 +330,29 @@
if(H.nif && H.nif.flag_check(NIF_V_UVFILTER,NIF_FLAGS_VISION)) return //VOREStation Add - NIF
switch(safety)
if(1)
to_chat(usr, "<span class='warning'>Your eyes sting a little.</span>")
to_chat(usr, span_warning("Your eyes sting a little."))
E.damage += rand(1, 2)
if(E.damage > 12)
user.eye_blurry += rand(3,6)
if(0)
to_chat(usr, "<span class='warning'>Your eyes burn.</span>")
to_chat(usr, span_warning("Your eyes burn."))
E.damage += rand(2, 4)
if(E.damage > 10)
E.damage += rand(4,10)
if(-1)
to_chat(usr, "<span class='danger'>Your thermals intensify the welder's glow. Your eyes itch and burn severely.</span>")
to_chat(usr, span_danger("Your thermals intensify the welder's glow. Your eyes itch and burn severely."))
user.eye_blurry += rand(12,20)
E.damage += rand(12, 16)
if(safety<2)
if(E.damage > 10)
to_chat(user, "<span class='warning'>Your eyes are really starting to hurt. This can't be good for you!</span>")
to_chat(user, span_warning("Your eyes are really starting to hurt. This can't be good for you!"))
if (E.damage >= E.min_broken_damage)
to_chat(user, "<span class='danger'>You go blind!</span>")
to_chat(user, span_danger("You go blind!"))
user.sdisabilities |= BLIND
else if (E.damage >= E.min_bruised_damage)
to_chat(user, "<span class='danger'>You go blind!</span>")
to_chat(user, span_danger("You go blind!"))
user.Blind(5)
user.eye_blurry = 5
// Don't cure being nearsighted
@@ -528,7 +528,7 @@
..()
if(src.loc != user)
mounted_pack.return_nozzle()
to_chat(user, "<span class='notice'>\The [src] retracts to its fueltank.</span>")
to_chat(user, span_notice("\The [src] retracts to its fueltank."))
/obj/item/weldingtool/tubefed/survival
name = "tube-fed emergency welding tool"
@@ -614,7 +614,7 @@
return 1
else
if(M)
to_chat(M, "<span class='notice'>You need more energy to complete this task.</span>")
to_chat(M, span_notice("You need more energy to complete this task."))
update_icon()
return 0
@@ -624,7 +624,7 @@
power_supply.update_icon()
user.put_in_hands(power_supply)
power_supply = null
to_chat(user, "<span class='notice'>You remove the cell from the [src].</span>")
to_chat(user, span_notice("You remove the cell from the [src]."))
setWelding(0)
update_icon()
return
@@ -639,12 +639,12 @@
user.drop_item()
W.loc = src
power_supply = W
to_chat(user, "<span class='notice'>You install a cell in \the [src].</span>")
to_chat(user, span_notice("You install a cell in \the [src]."))
update_icon()
else
to_chat(user, "<span class='notice'>\The [src] already has a cell.</span>")
to_chat(user, span_notice("\The [src] already has a cell."))
else
to_chat(user, "<span class='notice'>\The [src] cannot use that type of cell.</span>")
to_chat(user, span_notice("\The [src] cannot use that type of cell."))
else
..()
+1 -1
View File
@@ -22,7 +22,7 @@
sprite_sheets = list(SPECIES_TESHARI = 'icons/inventory/belt/mob_teshari.dmi')
/obj/item/towel/attack_self(mob/living/user as mob)
user.visible_message(text("<span class='notice'>[] uses [] to towel themselves off.</span>", user, src))
user.visible_message(span_notice("[user] uses [src] to towel themselves off."))
playsound(src, 'sound/weapons/towelwipe.ogg', 25, 1)
if(user.fire_stacks > 0)
user.fire_stacks = (max(0, user.fire_stacks - 1.5))
+26 -26
View File
@@ -29,15 +29,15 @@
..()
if(!deployed && can_use(user))
user.visible_message(
"<span class='danger'>[user] starts to deploy \the [src].</span>",
"<span class='danger'>You begin deploying \the [src]!</span>",
span_danger("[user] starts to deploy \the [src]."),
span_danger("You begin deploying \the [src]!"),
"You hear the slow creaking of a spring."
)
if (do_after(user, 60))
user.visible_message(
"<span class='danger'>[user] has deployed \the [src].</span>",
"<span class='danger'>You have deployed \the [src]!</span>",
span_danger("[user] has deployed \the [src]."),
span_danger("You have deployed \the [src]!"),
"You hear a latch click loudly."
)
playsound(src, 'sound/machines/click.ogg',70, 1)
@@ -51,26 +51,26 @@
if(has_buckled_mobs() && can_use(user))
var/victim = english_list(buckled_mobs)
user.visible_message(
"<span class='notice'>[user] begins freeing [victim] from \the [src].</span>",
"<span class='notice'>You carefully begin to free [victim] from \the [src].</span>",
span_notice("[user] begins freeing [victim] from \the [src]."),
span_notice("You carefully begin to free [victim] from \the [src]."),
)
if(do_after(user, 60))
user.visible_message("<span class='notice'>[victim] has been freed from \the [src] by [user].</span>")
user.visible_message(span_notice("[victim] has been freed from \the [src] by [user]."))
for(var/A in buckled_mobs)
unbuckle_mob(A)
anchored = FALSE
else if(deployed && can_use(user))
user.visible_message(
"<span class='danger'>[user] starts to disarm \the [src].</span>",
"<span class='notice'>You begin disarming \the [src]!</span>",
span_danger("[user] starts to disarm \the [src]."),
span_notice("You begin disarming \the [src]!"),
"You hear a latch click followed by the slow creaking of a spring."
)
playsound(src, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, 60))
user.visible_message(
"<span class='danger'>[user] has disarmed \the [src].</span>",
"<span class='notice'>You have disarmed \the [src]!</span>"
span_danger("[user] has disarmed \the [src]."),
span_notice("You have disarmed \the [src]!")
)
deployed = 0
anchored = FALSE
@@ -103,7 +103,7 @@
var/mob/living/carbon/human/H = L
var/obj/item/organ/external/affected = H.get_organ(check_zone(target_zone))
if(!affected) // took it clean off!
to_chat(H, "<span class='danger'>The steel jaws of \the [src] take your limb clean off!</span>")
to_chat(H, span_danger("The steel jaws of \the [src] take your limb clean off!"))
L.Stun(stun_length*2)
deployed = 0
anchored = FALSE
@@ -114,7 +114,7 @@
can_buckle = TRUE
buckle_mob(L)
L.Stun(stun_length)
to_chat(L, "<span class='danger'>The steel jaws of \the [src] bite into you, trapping you in place!</span>")
to_chat(L, span_danger("The steel jaws of \the [src] bite into you, trapping you in place!"))
deployed = 0
anchored = FALSE
can_buckle = initial(can_buckle)
@@ -126,8 +126,8 @@
var/mob/living/L = AM
if(L.m_intent == "run")
L.visible_message(
"<span class='danger'>[L] steps on \the [src].</span>",
"<span class='danger'>You step on \the [src]!</span>",
span_danger("[L] steps on \the [src]."),
span_danger("You step on \the [src]!"),
"<b>You hear a loud metallic snap!</b>"
)
attack_mob(L)
@@ -194,16 +194,16 @@
/obj/item/material/barbedwire/attack_hand(mob/user as mob)
if(anchored && can_use(user))
user.visible_message(
"<span class='danger'>[user] starts to collect \the [src].</span>",
"<span class='notice'>You begin collecting \the [src]!</span>",
span_danger("[user] starts to collect \the [src]."),
span_notice("You begin collecting \the [src]!"),
"You hear the sound of rustling [material.name]."
)
playsound(src, 'sound/machines/click.ogg', 50, 1)
if(do_after(user, health))
user.visible_message(
"<span class='danger'>[user] has collected \the [src].</span>",
"<span class='notice'>You have collected \the [src]!</span>"
span_danger("[user] has collected \the [src]."),
span_notice("You have collected \the [src]!")
)
anchored = FALSE
update_icon()
@@ -214,15 +214,15 @@
..()
if(!anchored && can_use(user))
user.visible_message(
"<span class='danger'>[user] starts to deploy \the [src].</span>",
"<span class='danger'>You begin deploying \the [src]!</span>",
span_danger("[user] starts to deploy \the [src]."),
span_danger("You begin deploying \the [src]!"),
"You hear the rustling of [material.name]."
)
if (do_after(user, 60))
user.visible_message(
"<span class='danger'>[user] has deployed \the [src].</span>",
"<span class='danger'>You have deployed \the [src]!</span>",
span_danger("[user] has deployed \the [src]."),
span_danger("You have deployed \the [src]!"),
"You hear the rustling of [material.name]."
)
playsound(src, 'sound/items/Wirecutter.ogg',70, 1)
@@ -273,8 +273,8 @@
var/mob/living/L = AM
if(L.m_intent == "run")
L.visible_message(
"<span class='danger'>[L] steps in \the [src].</span>",
"<span class='danger'>You step in \the [src]!</span>",
span_danger("[L] steps in \the [src]."),
span_danger("You step in \the [src]!"),
"<b>You hear a sharp rustling!</b>"
)
attack_mob(L)
@@ -366,7 +366,7 @@
if(H.species.flags & NO_MINOR_CUT)
return
to_chat(H, "<span class='danger'>You step directly on \the [src]!</span>")
to_chat(H, span_danger("You step directly on \the [src]!"))
var/list/check = list("l_foot", "r_foot")
while(check.len)
+10 -10
View File
@@ -32,7 +32,7 @@
if((CLUMSY in user.mutations) && prob(50)) //What if he's a clown?
to_chat(M, "<span class='warning'>You accidentally slam yourself with the [src]!</span>")
to_chat(M, span_warning("You accidentally slam yourself with the [src]!"))
M.Weaken(1)
user.take_organ_damage(2)
if(prob(50))
@@ -62,12 +62,12 @@
if(prob(50))
playsound(src, 'sound/items/trayhit1.ogg', 50, 1)
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
O.show_message(span_danger("[user] slams [M] with the tray!"), 1)
return
else
playsound(src, 'sound/items/trayhit2.ogg', 50, 1) //we applied the damage, we played the sound, we showed the appropriate messages. Time to return and stop the proc
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
O.show_message(span_danger("[user] slams [M] with the tray!"), 1)
return
@@ -79,7 +79,7 @@
break
if(protected)
to_chat(M, "<span class='warning'>You get slammed in the face with the tray, against your mask!</span>")
to_chat(M, span_warning("You get slammed in the face with the tray, against your mask!"))
if(prob(33))
src.add_blood(H)
if (H.wear_mask)
@@ -95,11 +95,11 @@
if(prob(50))
playsound(src, 'sound/items/trayhit1.ogg', 50, 1)
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
O.show_message(span_danger("[user] slams [M] with the tray!"), 1)
else
playsound(src, 'sound/items/trayhit2.ogg', 50, 1) //sound playin'
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='danger'>[] slams [] with the tray!</span>", user, M), 1)
O.show_message(span_danger("[user] slams [M] with the tray!"), 1)
if(prob(10))
M.Stun(rand(1,3))
M.take_organ_damage(3)
@@ -109,7 +109,7 @@
return
else //No eye or head protection, tough luck!
to_chat(M, "<span class='warning'>You get slammed in the face with the tray!</span>")
to_chat(M, span_warning("You get slammed in the face with the tray!"))
if(prob(33))
src.add_blood(M)
var/turf/location = H.loc
@@ -119,11 +119,11 @@
if(prob(50))
playsound(src, 'sound/items/trayhit1.ogg', 50, 1)
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='danger'>[] slams [] in the face with the tray!</span>", user, M), 1)
O.show_message(span_danger("[user] slams [M] in the face with the tray!"), 1)
else
playsound(src, 'sound/items/trayhit2.ogg', 50, 1) //sound playin' again
for(var/mob/O in viewers(M, null))
O.show_message(text("<span class='danger'>[] slams [] in the face with the tray!</span>", user, M), 1)
O.show_message(span_danger("[user] slams [M] in the face with the tray!"), 1)
if(prob(30))
M.Stun(rand(2,4))
M.take_organ_damage(4)
@@ -140,7 +140,7 @@
/obj/item/tray/attackby(obj/item/W as obj, mob/user as mob)
if(istype(W, /obj/item/material/kitchen/rollingpin))
if(cooldown < world.time - 25)
user.visible_message("<span class='warning'>[user] bashes [src] with [W]!</span>")
user.visible_message(span_warning("[user] bashes [src] with [W]!"))
playsound(src, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
+12 -12
View File
@@ -20,34 +20,34 @@
user.do_attack_animation(M)
if (!user.IsAdvancedToolUser())
to_chat(user, "<span class='danger'>You don't have the dexterity to do this!</span>")
to_chat(user, span_danger("You don't have the dexterity to do this!"))
return
if ((CLUMSY in user.mutations) && prob(50))
to_chat(user, "<span class='danger'>The rod slips out of your hand and hits your head.</span>")
to_chat(user, span_danger("The rod slips out of your hand and hits your head."))
user.take_organ_damage(10)
user.Paralyse(20)
return
if (M.stat !=2)
if(cult && (M.mind in cult.current_antagonists) && prob(33))
to_chat(M, "<span class='danger'>The power of [src] clears your mind of the cult's influence!</span>")
to_chat(user, "<span class='danger'>You wave [src] over [M]'s head and see their eyes become clear, their mind returning to normal.</span>")
to_chat(M, span_danger("The power of [src] clears your mind of the cult's influence!"))
to_chat(user, span_danger("You wave [src] over [M]'s head and see their eyes become clear, their mind returning to normal."))
cult.remove_antagonist(M.mind)
M.visible_message("<span class='danger'>\The [user] waves \the [src] over \the [M]'s head.</span>")
M.visible_message(span_danger("\The [user] waves \the [src] over \the [M]'s head."))
else if(prob(10))
to_chat(user, "<span class='danger'>The rod slips in your hand.</span>")
to_chat(user, span_danger("The rod slips in your hand."))
..()
else
to_chat(user, "<span class='danger'>The rod appears to do nothing.</span>")
M.visible_message("<span class='danger'>\The [user] waves \the [src] over \the [M]'s head.</span>")
to_chat(user, span_danger("The rod appears to do nothing."))
M.visible_message(span_danger("\The [user] waves \the [src] over \the [M]'s head."))
return
/obj/item/nullrod/afterattack(atom/A, mob/user as mob, proximity)
if(!proximity)
return
if (istype(A, /turf/simulated/floor))
to_chat(user, "<span class='notice'>You hit the floor with the [src].</span>")
to_chat(user, span_notice("You hit the floor with the [src]."))
call(/obj/effect/rune/proc/revealrunes)(src)
/obj/item/energy_net
@@ -107,7 +107,7 @@
/obj/effect/energy_net/Destroy()
if(has_buckled_mobs())
for(var/A in buckled_mobs)
to_chat(A, "<span class='notice'>You are free of the net!</span>")
to_chat(A, span_notice("You are free of the net!"))
unbuckle_mob(A)
STOP_PROCESSING(SSobj, src)
@@ -119,11 +119,11 @@
/obj/effect/energy_net/user_unbuckle_mob(mob/living/buckled_mob, mob/user)
user.setClickCooldown(user.get_attack_speed())
visible_message("<span class='danger'>[user] begins to tear at \the [src]!</span>")
visible_message(span_danger("[user] begins to tear at \the [src]!"))
if(do_after(user, escape_time, src, incapacitation_flags = INCAPACITATION_DEFAULT & ~(INCAPACITATION_RESTRAINED | INCAPACITATION_BUCKLED_FULLY)))
if(!has_buckled_mobs())
return
visible_message("<span class='danger'>[user] manages to tear \the [src] apart!</span>")
visible_message(span_danger("[user] manages to tear \the [src] apart!"))
unbuckle_mob(buckled_mob)
/obj/effect/energy_net/post_buckle_mob(mob/living/M)
+12 -12
View File
@@ -31,7 +31,7 @@
if(nozzle)
user.remove_from_mob(nozzle)
return_nozzle()
to_chat(user, "<span class='notice'>\The [nozzle] retracts to its fueltank.</span>")
to_chat(user, span_notice("\The [nozzle] retracts to its fueltank."))
/obj/item/weldpack/proc/get_nozzle(var/mob/living/user)
if(!ishuman(user))
@@ -40,7 +40,7 @@
var/mob/living/carbon/human/H = user
if(H.hands_are_full()) //Make sure our hands aren't full.
to_chat(H, "<span class='warning'>Your hands are full. Drop something first.</span>")
to_chat(H, span_warning("Your hands are full. Drop something first."))
return 0
var/obj/item/F = nozzle
@@ -59,31 +59,31 @@
if(T.welding & prob(50))
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
log_game("[key_name(user)] triggered a fueltank explosion.")
to_chat(user, "<span class='danger'>That was stupid of you.</span>")
to_chat(user, span_danger("That was stupid of you."))
explosion(get_turf(src),-1,0,2)
if(src)
qdel(src)
return
else if(T.status)
if(T.welding)
to_chat(user, "<span class='danger'>That was close!</span>")
to_chat(user, span_danger("That was close!"))
src.reagents.trans_to_obj(W, T.max_fuel)
to_chat(user, "<span class='notice'>Welder refilled!</span>")
to_chat(user, span_notice("Welder refilled!"))
playsound(src, 'sound/effects/refill.ogg', 50, 1, -6)
return
else if(nozzle)
if(nozzle == W)
if(!user.unEquip(W))
to_chat(user, "<span class='notice'>\The [W] seems to be stuck to your hand.</span>")
to_chat(user, span_notice("\The [W] seems to be stuck to your hand."))
return
if(!nozzle_attached)
return_nozzle()
to_chat(user, "<span class='notice'>You attach \the [W] to the [src].</span>")
to_chat(user, span_notice("You attach \the [W] to the [src]."))
return
else
to_chat(user, "<span class='notice'>The [src] already has a nozzle!</span>")
to_chat(user, span_notice("The [src] already has a nozzle!"))
else
to_chat(user, "<span class='warning'>The tank scoffs at your insolence. It only provides services to welders.</span>")
to_chat(user, span_warning("The tank scoffs at your insolence. It only provides services to welders."))
return
/obj/item/weldpack/attack_hand(mob/user as mob)
@@ -94,7 +94,7 @@
if(!wearer.incapacitated())
get_nozzle(user)
else
to_chat(user, "<span class='notice'>\The [src] does not have a nozzle attached!</span>")
to_chat(user, span_notice("\The [src] does not have a nozzle attached!"))
else
..()
else
@@ -105,11 +105,11 @@
return
if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume < max_fuel)
O.reagents.trans_to_obj(src, max_fuel)
to_chat(user, "<span class='notice'>You crack the cap off the top of the pack and fill it back up again from the tank.</span>")
to_chat(user, span_notice("You crack the cap off the top of the pack and fill it back up again from the tank."))
playsound(src, 'sound/effects/refill.ogg', 50, 1, -6)
return
else if (istype(O, /obj/structure/reagent_dispensers/fueltank) && src.reagents.total_volume == max_fuel)
to_chat(user, "<span class='warning'>The pack is already full!</span>")
to_chat(user, span_warning("The pack is already full!"))
return
/obj/item/weldpack/MouseDrop(obj/over_object as obj) //This is terrifying.