mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-16 09:34:52 +01:00
next set of spans (#16434)
* next set of spans * some more * next * next * next * . * text... * next... rest soon * . * . * ok last set for the night * . * . * . * . * some more * next * next * all for now * . * some more easy ones * some more easy ones * . * . * some more bolds * oups auto complete moment * add the remaining spans * this as well * this as well * . * ., * resync them properly
This commit is contained in:
@@ -18,7 +18,7 @@
|
||||
|
||||
/obj/effect/gibspawner/proc/Gib(atom/location, var/datum/dna/MobDNA = null)
|
||||
if(gibtypes.len != gibamounts.len || gibamounts.len != gibdirections.len)
|
||||
to_world(span_warning("Gib list length mismatch!"))
|
||||
to_world(span_filter_system(span_warning("Gib list length mismatch!")))
|
||||
return
|
||||
|
||||
var/obj/effect/decal/cleanable/blood/gibs/gib = null
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
return
|
||||
|
||||
/obj/effect/manifest/proc/manifest()
|
||||
var/dat = "<B>Crew Manifest</B>:<BR>"
|
||||
var/dat = span_bold("Crew Manifest") + ":<BR>"
|
||||
for(var/mob/living/carbon/human/M in mob_list)
|
||||
dat += text(" <B>[]</B> - []<BR>", M.name, M.get_assignment())
|
||||
var/obj/item/paper/P = new /obj/item/paper( src.loc )
|
||||
@@ -18,4 +18,4 @@
|
||||
P.name = "paper- 'Crew Manifest'"
|
||||
//SN src = null
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
last_itch = world.time
|
||||
to_chat(O.owner, span_notice("Your [O.name] itches..."))
|
||||
else if(prob(1))
|
||||
src.visible_message("<b>\The [src]</b> skitters.")
|
||||
src.visible_message(span_infoplain(span_bold("\The [src]") + " skitters."))
|
||||
|
||||
if(amount_grown >= 0)
|
||||
amount_grown += rand(0,2)
|
||||
|
||||
@@ -68,10 +68,10 @@
|
||||
C.prefs.copy_to(H)
|
||||
H.key = C.key
|
||||
|
||||
to_chat(H, "<b>You are the Technomancer's apprentice! Your goal is to assist them in their mission at the [station_name()].</b>")
|
||||
to_chat(H, "<b>Your service has not gone unrewarded, however. Studying under them, you have learned how to use a Manipulation Core \
|
||||
of your own. You also have a catalog, to purchase your own functions and equipment as you see fit.</b>")
|
||||
to_chat(H, "<b>It would be wise to speak to your master, and learn what their plans are for today.</b>")
|
||||
to_chat(H, span_infoplain(span_bold("You are the Technomancer's apprentice! Your goal is to assist them in their mission at the [station_name()].")))
|
||||
to_chat(H, span_infoplain(span_bold("Your service has not gone unrewarded, however. Studying under them, you have learned how to use a Manipulation Core \
|
||||
of your own. You also have a catalog, to purchase your own functions and equipment as you see fit.")))
|
||||
to_chat(H, span_infoplain(span_bold("It would be wise to speak to your master, and learn what their plans are for today.")))
|
||||
|
||||
spawn(1)
|
||||
technomancers.add_antagonist(H.mind, 0, 1, 0, 0, 0)
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(C, span_notice("You are a " + span_bold("Mercenary Drone") + ", activated to serve your team."))
|
||||
to_chat(C, span_boldnotice("Be sure to examine your currently loaded lawset closely.</b> It would be wise \
|
||||
to_chat(C, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " It would be wise \
|
||||
to speak with your team, and learn what their plan is for today."))
|
||||
|
||||
R.key = C.key
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
/obj/item/deskbell/examine(mob/user)
|
||||
. = ..()
|
||||
if(broken)
|
||||
. += "<b>It looks damaged, the ringer is stuck firmly inside.</b>"
|
||||
. += span_bold("It looks damaged, the ringer is stuck firmly inside.")
|
||||
|
||||
/obj/item/deskbell/attack(mob/target as mob, mob/living/user as mob)
|
||||
if(!broken)
|
||||
|
||||
@@ -103,13 +103,13 @@
|
||||
to_chat(carrier, span_warning("[icon2html(src, carrier.client)] Warning: AI focus at nearby location."))
|
||||
carrier << 'sound/machines/defib_SafetyOn.ogg'
|
||||
if(PROXIMITY_ON_SCREEN)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(src, carrier.client)] Alert: AI or camera focused at current location!</span></font>")
|
||||
to_chat(carrier, span_danger(span_large("[icon2html(src, carrier.client)] Alert: AI or camera focused at current location!")))
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
if(PROXIMITY_TRACKING)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(src, carrier.client)] Danger: AI is actively tracking you!</span></font>")
|
||||
to_chat(carrier, span_danger(span_large("[icon2html(src, carrier.client)] Danger: AI is actively tracking you!")))
|
||||
carrier << 'sound/machines/defib_success.ogg'
|
||||
if(PROXIMITY_TRACKING_FAIL)
|
||||
to_chat(carrier, "<font size='3'><span class='danger'>[icon2html(src, carrier.client)] Danger: AI is attempting to actively track you, but you are outside of the camera network!</span></font>")
|
||||
to_chat(carrier, span_danger(span_large("[icon2html(src, carrier.client)] Danger: AI is attempting to actively track you, but you are outside of the camera network!")))
|
||||
carrier <<'sound/machines/defib_ready.ogg'
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
return ..()
|
||||
else
|
||||
M.death()
|
||||
to_chat(user, "<b>ERROR ERROR ERROR</b>")
|
||||
to_chat(user, span_infoplain(span_bold("ERROR ERROR ERROR")))
|
||||
|
||||
/obj/item/aicard/attack_self(mob/user)
|
||||
tgui_interact(user)
|
||||
@@ -100,11 +100,11 @@
|
||||
|
||||
/obj/item/aicard/proc/grab_ai(var/mob/living/silicon/ai/ai, var/mob/living/user)
|
||||
if(!ai.client && !ai.deployed_shell)
|
||||
to_chat(user, "<span class='danger'>ERROR:</span> AI [ai.name] is offline. Unable to transfer.")
|
||||
to_chat(user, span_danger("ERROR:") + " AI [ai.name] is offline. Unable to transfer.")
|
||||
return 0
|
||||
|
||||
if(carded_ai)
|
||||
to_chat(user, "<span class='danger'>Transfer failed:</span> Existing AI found on remote device. Remove existing AI to install a new one.")
|
||||
to_chat(user, span_danger("Transfer failed:") + " Existing AI found on remote device. Remove existing AI to install a new one.")
|
||||
return 0
|
||||
|
||||
if(!user.IsAdvancedToolUser() && isanimal(user))
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
if(do_after(user, 100))
|
||||
if(carded_ai)
|
||||
to_chat(user, "<span class='danger'>Transfer failed:</span> Existing AI found on remote device. Remove existing AI to install a new one.")
|
||||
to_chat(user, span_danger("Transfer failed:") + " Existing AI found on remote device. Remove existing AI to install a new one.")
|
||||
return 0
|
||||
if(istype(ai.loc, /turf/))
|
||||
new /obj/structure/AIcore/deactivated(get_turf(ai))
|
||||
@@ -135,9 +135,9 @@
|
||||
ai.disconnect_shell("Disconnected from remote shell due to core intelligence transfer.") //If the AI is controlling a borg, force the player back to core!
|
||||
|
||||
if(ai.client)
|
||||
to_chat(ai, "You have been transferred into a mobile core. Remote access lost.")
|
||||
to_chat(ai, span_infoplain("You have been transferred into a mobile core. Remote access lost."))
|
||||
if(user.client)
|
||||
to_chat(ai, "<span class='notice'><b>Transfer successful:</b></span> [ai.name] extracted from current device and placed within mobile core.")
|
||||
to_chat(ai, span_notice(span_bold("Transfer successful:")) + " [ai.name] extracted from current device and placed within mobile core.")
|
||||
|
||||
ai.canmove = 1
|
||||
update_icon()
|
||||
|
||||
@@ -34,8 +34,8 @@
|
||||
if(src in comm.voice_invites)
|
||||
comm.open_connection(src)
|
||||
return
|
||||
to_chat(src, "<span class='notice'>[icon2html(origin_atom,src.client)] Receiving communicator request from [origin_atom]. To answer, use the <b>Call Communicator</b> \
|
||||
verb, and select that name to answer the call.</span>")
|
||||
to_chat(src, span_notice("[icon2html(origin_atom,src.client)] Receiving communicator request from [origin_atom]. To answer, use the " + span_bold("Call Communicator") + "\
|
||||
verb, and select that name to answer the call."))
|
||||
src << 'sound/machines/defib_SafetyOn.ogg'
|
||||
comm.voice_invites |= src
|
||||
if(message == "ping")
|
||||
@@ -44,9 +44,9 @@
|
||||
random = random / 10
|
||||
exonet.send_message(origin_address, "64 bytes received from [exonet.address] ecmp_seq=1 ttl=51 time=[random] ms")
|
||||
if(message == "text")
|
||||
to_chat(src, span_notice("[icon2html(origin_atom,src.client)] Received text message from [origin_atom]: <b>\"[text]\"</b>"))
|
||||
to_chat(src, span_notice("[icon2html(origin_atom,src.client)] Received text message from [origin_atom]: " + span_bold("\"[text]\"")))
|
||||
src << 'sound/machines/defib_safetyOff.ogg'
|
||||
exonet_messages.Add("<b>From [origin_atom]:</b><br>[text]")
|
||||
exonet_messages.Add(span_bold("From [origin_atom]:") + "<br>[text]")
|
||||
return
|
||||
|
||||
// Proc: request_im()
|
||||
@@ -135,8 +135,8 @@
|
||||
|
||||
var/obj/machinery/exonet_node/E = get_exonet_node()
|
||||
if(!E || !E.on || !E.allow_external_communicators)
|
||||
to_chat(src, "<span class='danger'>The Exonet node at telecommunications is down at the moment, or is actively blocking you, \
|
||||
so your call can't go through.</span>")
|
||||
to_chat(src, span_danger("The Exonet node at telecommunications is down at the moment, or is actively blocking you, \
|
||||
so your call can't go through."))
|
||||
return
|
||||
|
||||
var/list/choices = list()
|
||||
@@ -158,7 +158,7 @@
|
||||
O.exonet.send_message(chosen_communicator.exonet.address, "text", text_message)
|
||||
|
||||
to_chat(src, span_notice("You have sent '[text_message]' to [chosen_communicator]."))
|
||||
exonet_messages.Add("<b>To [chosen_communicator]:</b><br>[text_message]")
|
||||
exonet_messages.Add(span_bold("To [chosen_communicator]:") + "<br>[text_message]")
|
||||
log_pda("(DCOMM: [src]) sent \"[text_message]\" to [chosen_communicator]", src)
|
||||
for(var/mob/M in player_list)
|
||||
if(M.stat == DEAD && M.client?.prefs?.read_preference(/datum/preference/toggle/ghost_ears))
|
||||
|
||||
@@ -101,9 +101,9 @@
|
||||
qdel(blackness)
|
||||
|
||||
to_chat(new_voice, span_notice("[icon2html(src,new_voice.client)] Connection to [src] established."))
|
||||
to_chat(new_voice, "<b>To talk to the person on the other end of the call, just talk normally.</b>")
|
||||
to_chat(new_voice, "<b>If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.</b>")
|
||||
to_chat(new_voice, "<b>Remember, your character does not know anything you've learned from observing!</b>")
|
||||
to_chat(new_voice, span_infoplain(span_bold("To talk to the person on the other end of the call, just talk normally.")))
|
||||
to_chat(new_voice, span_infoplain(span_bold("If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.")))
|
||||
to_chat(new_voice, span_infoplain(span_bold("Remember, your character does not know anything you've learned from observing!")))
|
||||
if(new_voice.mind)
|
||||
new_voice.mind.assigned_role = JOB_DISEMBODIED_VOICE
|
||||
if(user)
|
||||
@@ -216,7 +216,7 @@
|
||||
var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0) //Range of 3 since it's a tiny video display
|
||||
mobs_to_relay = in_range["mobs"]
|
||||
//VOREStation Edit End
|
||||
var/rendered = "[icon2html(src,mobs_to_relay)] <span class='message'>[text]</span>"
|
||||
var/rendered = "[icon2html(src,mobs_to_relay)] " + span_message("[text]")
|
||||
for(var/mob/mob in mobs_to_relay) //We can't use visible_message(), or else we will get an infinite loop if two communicators hear each other.
|
||||
var/dst = get_dist(get_turf(mob),get_turf(comm))
|
||||
if(dst <= video_range)
|
||||
@@ -263,7 +263,7 @@
|
||||
if(!T) return
|
||||
var/list/in_range = get_mobs_and_objs_in_view_fast(T,world.view,0)
|
||||
var/list/mobs_to_relay = in_range["mobs"]
|
||||
var/rendered = "[icon2html(src, mobs_to_relay)] <span class='message'>[msg]</span>"
|
||||
var/rendered = "[icon2html(src, mobs_to_relay)] " + span_message("[msg]")
|
||||
for(var/mob/mob in mobs_to_relay)
|
||||
mob.show_message(rendered)
|
||||
..()
|
||||
@@ -301,8 +301,8 @@
|
||||
|
||||
var/obj/machinery/exonet_node/E = get_exonet_node()
|
||||
if(!E || !E.on || !E.allow_external_communicators)
|
||||
to_chat(src, "<span class='danger'>The Exonet node at telecommunications is down at the moment, or is actively blocking you, \
|
||||
so your call can't go through.</span>")
|
||||
to_chat(src, span_danger("The Exonet node at telecommunications is down at the moment, or is actively blocking you, \
|
||||
so your call can't go through."))
|
||||
return
|
||||
|
||||
var/list/choices = list()
|
||||
|
||||
@@ -395,7 +395,7 @@
|
||||
user.visible_message(span_warning("\The [user] begins to place [src] on [H]'s chest."), span_warning("You begin to place [src] on [H]'s chest..."))
|
||||
if(!do_after(user, 30, H))
|
||||
return
|
||||
user.visible_message("<b>\The [user]</b> places [src] on [H]'s chest.", span_warning("You place [src] on [H]'s chest."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " places [src] on [H]'s chest."), span_warning("You place [src] on [H]'s chest."))
|
||||
playsound(src, 'sound/machines/defib_charge.ogg', 50, 0)
|
||||
|
||||
var/error = can_defib(H)
|
||||
@@ -472,7 +472,7 @@
|
||||
playsound(src, 'sound/machines/defib_failed.ogg', 50, 0)
|
||||
return
|
||||
|
||||
user.visible_message(span_danger("<i>\The [user] shocks [H] with \the [src]!</i>"), span_warning("You shock [H] with \the [src]!"))
|
||||
user.visible_message(span_danger(span_italics("\The [user] shocks [H] with \the [src]!")), span_warning("You shock [H] with \the [src]!"))
|
||||
playsound(src, 'sound/machines/defib_zap.ogg', 100, 1, -1)
|
||||
playsound(src, 'sound/weapons/Egloves.ogg', 100, 1, -1)
|
||||
set_cooldown(cooldowntime)
|
||||
@@ -533,7 +533,7 @@
|
||||
H.setBrainLoss(brain_damage)
|
||||
|
||||
/obj/item/shockpaddles/proc/make_announcement(var/message, var/msg_class)
|
||||
audible_message("<b>\The [src]</b> [message]", "\The [src] vibrates slightly.", runemessage = "buzz")
|
||||
audible_message(span_bold(span_info("\The [src]") + " [message]"), span_info("\The [src] vibrates slightly."), runemessage = "buzz")
|
||||
|
||||
/obj/item/shockpaddles/emag_act(mob/user)
|
||||
if(safety)
|
||||
@@ -617,7 +617,7 @@
|
||||
return (base_unit.bcell && base_unit.bcell.checked_use(charge_amt))
|
||||
|
||||
/obj/item/shockpaddles/linked/make_announcement(var/message, var/msg_class)
|
||||
base_unit.audible_message("<b>\The [base_unit]</b> [message]", "\The [base_unit] vibrates slightly.")
|
||||
base_unit.audible_message(span_infoplain(span_bold("\The [base_unit]") + " [message]"), span_info("\The [base_unit] vibrates slightly."))
|
||||
|
||||
/*
|
||||
Standalone Shockpaddles
|
||||
|
||||
@@ -77,11 +77,11 @@
|
||||
ghostjoin = FALSE
|
||||
ghostjoin_icon()
|
||||
if(capture_caught)
|
||||
to_chat(src, span_notice("You are bound to [revivedby], follow their commands within reason and to the best of your abilities, and avoid betraying or abandoning them.</span><span class= warning> You are allied with [revivedby]. Do not attack anyone for no reason. Of course, you may do scenes as you like, but you must still respect preferences."))
|
||||
to_chat(src, span_notice("You are bound to [revivedby], follow their commands within reason and to the best of your abilities, and avoid betraying or abandoning them.") + " " + span_warning("You are allied with [revivedby]. Do not attack anyone for no reason. Of course, you may do scenes as you like, but you must still respect preferences."))
|
||||
visible_message("[src]'s eyes flicker with a curious intelligence.", runemessage = "looks around")
|
||||
return
|
||||
if(revivedby != "no one")
|
||||
to_chat(src, span_notice("Where once your life had been rough and scary, you have been assisted by [revivedby]. They seem to be the reason you are on your feet again... so perhaps you should help them out.</span> <span class= warning> Being as you were revived, you are allied with the station. Do not attack anyone unless they are threatening the one who revived you. And try to listen to the one who revived you within reason. Of course, you may do scenes as you like, but you must still respect preferences."))
|
||||
to_chat(src, span_notice("Where once your life had been rough and scary, you have been assisted by [revivedby]. They seem to be the reason you are on your feet again... so perhaps you should help them out.") + " " + span_warning("Being as you were revived, you are allied with the station. Do not attack anyone unless they are threatening the one who revived you. And try to listen to the one who revived you within reason. Of course, you may do scenes as you like, but you must still respect preferences."))
|
||||
visible_message("[src]'s eyes flicker with a curious intelligence.", runemessage = "looks around")
|
||||
|
||||
/// Evaluate someone for being allowed to join as this mob from being a ghost
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
if(repairing)
|
||||
to_chat(user, span_notice("\The [src] is already being repaired!"))
|
||||
return
|
||||
user.visible_message("<b>\The [user]</b> starts trying to repair \the [src]'s bulb.")
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " starts trying to repair \the [src]'s bulb."))
|
||||
repairing = TRUE
|
||||
if(do_after(user, (40 SECONDS + rand(0, 20 SECONDS)) * W.toolspeed) && can_repair)
|
||||
if(prob(30))
|
||||
@@ -54,7 +54,7 @@
|
||||
update_icon()
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> fails to repair \the [src].")
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " fails to repair \the [src]."))
|
||||
repairing = FALSE
|
||||
else
|
||||
..()
|
||||
@@ -141,7 +141,7 @@
|
||||
else if(!charge_only) //can only use it 10 times a minute, unless it runs purely on charge.
|
||||
if(user)
|
||||
update_icon()
|
||||
to_chat(user, span_warning("<i>click</i>"))
|
||||
to_chat(user, span_warning(span_italics("click")))
|
||||
playsound(src, 'sound/weapons/empty.ogg', 80, 1)
|
||||
return FALSE
|
||||
else if(battery && battery.checked_use(charge_cost + (round(charge_cost / 4) * max(0, times_used - max_flashes)))) // Using over your maximum flashes starts taking more charge per added flash.
|
||||
|
||||
@@ -128,13 +128,13 @@
|
||||
if(H.species.vision_organ)
|
||||
vision = H.internal_organs_by_name[H.species.vision_organ]
|
||||
if(!vision)
|
||||
user.visible_message("<b>\The [user]</b> directs [src] at [M]'s face.", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " directs [src] at [M]'s face."), \
|
||||
span_notice("You direct [src] at [M]'s face."))
|
||||
to_chat(user, span_warning("You can't find any [H.species.vision_organ ? H.species.vision_organ : "eyes"] on [H]!"))
|
||||
user.setClickCooldown(user.get_attack_speed(src))
|
||||
return
|
||||
|
||||
user.visible_message("<b>\The [user]</b> directs [src] to [M]'s eyes.", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " directs [src] to [M]'s eyes."), \
|
||||
span_notice("You direct [src] to [M]'s eyes."))
|
||||
if(H != user) //can't look into your own eyes buster
|
||||
if(M.stat == DEAD || M.blinded) //mob is dead or fully blind
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
to_chat(user, span_warning("You are already hacking!"))
|
||||
return 0
|
||||
if(!is_type_in_list(target, supported_types))
|
||||
to_chat(user, "[icon2html(src, user.client)] <span class='warning'>Unable to hack this target, invalid target type.</span>")
|
||||
to_chat(user, "[icon2html(src, user.client)] " + span_warning("Unable to hack this target, invalid target type."))
|
||||
return 0
|
||||
|
||||
if(istype(target, /obj/structure/closet/crate/secure))
|
||||
@@ -103,7 +103,7 @@
|
||||
if(istype(target, /obj/machinery/door/airlock))
|
||||
var/obj/machinery/door/airlock/D = target
|
||||
if(D.security_level > max_level)
|
||||
to_chat(user, "[icon2html(src, user.client)] <span class='warning'>Target's electronic security is too complex.</span>")
|
||||
to_chat(user, "[icon2html(src, user.client)] " + span_warning("Target's electronic security is too complex."))
|
||||
return 0
|
||||
|
||||
var/found = known_targets.Find(D)
|
||||
|
||||
@@ -35,12 +35,12 @@
|
||||
if(emagged)
|
||||
if(insults)
|
||||
var/insult = pick(insultmsg)
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[insult]\"</FONT>", runemessage = insult)
|
||||
user.audible_message(span_infoplain(span_bold("[user.GetVoice()]") + "[user.GetAltName()] broadcasts, " + span_large("\"[insult]\"")), runemessage = insult)
|
||||
insults--
|
||||
else
|
||||
to_chat(user, span_warning("*BZZZZzzzzzt*"))
|
||||
else
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[message]\"</FONT>", runemessage = message)
|
||||
user.audible_message(span_infoplain(span_bold("[user.GetVoice()]") + "[user.GetAltName()] broadcasts, " + span_large("\"[message]\"")), runemessage = message)
|
||||
|
||||
/obj/item/megaphone/attack_self(var/mob/living/user)
|
||||
var/message = sanitize(tgui_input_text(user, "Shout a message?", "Megaphone", null))
|
||||
@@ -136,7 +136,7 @@
|
||||
if(emagged)
|
||||
if(insults)
|
||||
var/insult = pick(insultmsg)
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[insult]\"</FONT>", runemessage = insult)
|
||||
user.audible_message(span_bold("[user.GetVoice()]") + "[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[insult]\"</FONT>", runemessage = insult)
|
||||
if(broadcast_size >= 11)
|
||||
var/turf/T = get_turf(user)
|
||||
playsound(src, 'sound/items/AirHorn.ogg', 100, 1)
|
||||
@@ -165,4 +165,4 @@
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[message]\"</FONT>", runemessage = message)
|
||||
user.audible_message(span_bold("[user.GetVoice()]") + "[user.GetAltName()] broadcasts, <FONT size=[broadcast_size] face='[broadcast_font]' color='[broadcast_color]'>\"[message]\"</FONT>", runemessage = message)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
playsound(src, O.usesound, 100, 1)
|
||||
|
||||
user.visible_message("<b>\The [user]</b> opens \the [src] and modifies \the [O].",span_notice("You open \the [src] and modify \the [O]."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " opens \the [src] and modifies \the [O]."),span_notice("You open \the [src] and modify \the [O]."))
|
||||
|
||||
I.refit_for_species(target_species)
|
||||
|
||||
|
||||
@@ -277,7 +277,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
|
||||
"}
|
||||
dat += "<br>"
|
||||
if(radio)
|
||||
dat += "<b>Radio Uplink</b>"
|
||||
dat += span_bold("Radio Uplink")
|
||||
dat += {"
|
||||
<table class="request">
|
||||
<tr>
|
||||
@@ -296,7 +296,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
|
||||
<br>
|
||||
"}
|
||||
else //</font></font>
|
||||
dat += "<b>Radio Uplink</b><br>"
|
||||
dat += span_bold("Radio Uplink") + "<br>"
|
||||
dat += "<font color=red><i>Radio firmware not loaded. Please install a pAI personality to load firmware.</i></font><br>"
|
||||
/* - //A button for instantly deleting people from the game is lame, especially considering that pAIs on our server tend to activate without a master.
|
||||
dat += {"
|
||||
@@ -308,7 +308,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
|
||||
"}
|
||||
*/
|
||||
if(screen_msg)
|
||||
dat += "<b>Message from [pai.name]</b><br>[screen_msg]"
|
||||
dat += span_bold("Message from [pai.name]") + "<br>[screen_msg]"
|
||||
else
|
||||
if(looking_for_personality)
|
||||
dat += {"
|
||||
|
||||
@@ -126,11 +126,11 @@
|
||||
s.start()
|
||||
shield_active = 0
|
||||
if(bcell.charge_delay) //It WILL blow up soon. Downside of self-charging cells.
|
||||
to_chat(src.loc, "<span class='critical'>Your shield generator sparks and suddenly goes down! A warning message pops up on screen: \
|
||||
'WARNING, INTERNAL CELL MELTDOWN IMMINENT. TIME TILL EXPLOSION: [bcell.charge_delay/10] SECONDS. DISCARD UNIT IMMEDIATELY!'</span>")
|
||||
to_chat(src.loc, span_critical("Your shield generator sparks and suddenly goes down! A warning message pops up on screen: \
|
||||
'WARNING, INTERNAL CELL MELTDOWN IMMINENT. TIME TILL EXPLOSION: [bcell.charge_delay/10] SECONDS. DISCARD UNIT IMMEDIATELY!'"))
|
||||
else //It won't blow up unless you turn it back on again. Upside of using non-charging cells.
|
||||
to_chat(src.loc, "<span class='critical'>Your shield generator sparks and suddenly goes down! A warning message pops up on screen: \
|
||||
'WARNING, INTERNAL CELL CRITICALLY DAMAGED. REPLACE CELL IMMEDIATELY.'</span>")
|
||||
to_chat(src.loc, span_critical("Your shield generator sparks and suddenly goes down! A warning message pops up on screen: \
|
||||
'WARNING, INTERNAL CELL CRITICALLY DAMAGED. REPLACE CELL IMMEDIATELY.'"))
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
update_icon()
|
||||
else
|
||||
|
||||
@@ -205,10 +205,10 @@
|
||||
/obj/item/radio/intercom/AIAltClick(var/mob/user)
|
||||
if(frequency == AI_FREQ)
|
||||
set_frequency(initial(frequency))
|
||||
to_chat(user, span_notice("\The [src]'s frequency is now set to [span_green("<b>Default</b>")]."))
|
||||
to_chat(user, span_notice("\The [src]'s frequency is now set to [span_green(span_bold("Default"))]."))
|
||||
else
|
||||
set_frequency(AI_FREQ)
|
||||
to_chat(user, span_notice("\The [src]'s frequency is now set to [span_pink("<b>AI Private</b>")]."))
|
||||
to_chat(user, span_notice("\The [src]'s frequency is now set to [span_pink(span_bold("AI Private"))]."))
|
||||
//VOREStation Add End
|
||||
/obj/item/radio/intercom/locked
|
||||
var/locked_frequency
|
||||
|
||||
@@ -72,39 +72,40 @@
|
||||
bloodloss = TRUE
|
||||
|
||||
if(bleeding_external)
|
||||
dat += "<b>Surface bleeding</b> - Bandage immediately or apply brute-damage fixing chemicals (i.e. Bicaridine) if no bandages available.<br>"
|
||||
dat += span_bold("Surface bleeding") + " - Bandage immediately or apply brute-damage fixing chemicals (i.e. Bicaridine) if no bandages available.<br>"
|
||||
if(bleeding_internal)
|
||||
dat += "<b>Internal bleeding</b> - Commence internal vein repair surgery or apply clotting chemicals (i.e. Myelamine).<br>"
|
||||
dat += span_bold("Internal bleeding") + " - Commence internal vein repair surgery or apply clotting chemicals (i.e. Myelamine).<br>"
|
||||
if(M.getOxyLoss())
|
||||
dat += "<b>Suffociation</b> - Give Dexalin or Dexalin Plus. Check for heart or lung damage.<br>"
|
||||
dat += span_bold("Suffociation") + " - Give Dexalin or Dexalin Plus. Check for heart or lung damage.<br>"
|
||||
if(infection)
|
||||
dat += "<b>Infection</b> - Give Spaceacillin. If severe, use Corophizine or overdose on Spaceacillin and monitor until well.<br>"
|
||||
dat += span_bold("Infection") + " - Give Spaceacillin. If severe, use Corophizine or overdose on Spaceacillin and monitor until well.<br>"
|
||||
if(M.getBrainLoss() >= 1)
|
||||
dat += "<b>Brain damage</b> - Commence brain repair surgery, apply Alkysine, or universal organ-repair chemicals. (i.e. Peridaxon).<br>"
|
||||
dat += span_bold("Brain damage") + " - Commence brain repair surgery, apply Alkysine, or universal organ-repair chemicals. (i.e. Peridaxon).<br>"
|
||||
if(M.radiation || M.accumulated_rads)
|
||||
dat += "<b>Radiation</b> - Give Hyronalin or Arithrazine. Monitor for genetic damage.<br>"
|
||||
dat += span_bold("Radiation") + " - Give Hyronalin or Arithrazine. Monitor for genetic damage.<br>"
|
||||
if(organ)
|
||||
dat += "<b>Organ damage</b> - Give Peridaxon. Perform full body scan for targeted organ repair surgery.<br>"
|
||||
dat += span_bold("Organ damage") + " - Give Peridaxon. Perform full body scan for targeted organ repair surgery.<br>"
|
||||
if(bloodloss)
|
||||
dat += "<b>Low blood volume</b> - Commence blood transfusion via IV drip or provide blood-restorative chemicals (e.g.: Copper for zorren and skrell, iron for the rest)."
|
||||
dat += span_bold("Low blood volume") + " - Commence blood transfusion via IV drip or provide blood-restorative chemicals (e.g.: Copper for zorren and skrell, iron for the rest)."
|
||||
if(M.getToxLoss())
|
||||
dat += "<b>Toxins</b> - Give Dylovene or Carthatoline. Vomitting is normal and helpful. Tends to be a symptom of larger issues, such as infection.<br>"
|
||||
dat += span_bold("Toxins") + " - Give Dylovene or Carthatoline. Vomitting is normal and helpful. Tends to be a symptom of larger issues, such as infection.<br>"
|
||||
if(M.getBruteLoss())
|
||||
dat += "<b>Brute trauma</b> - Bandage wounded body part. Give Bicaridine or Vermicetol.<br>"
|
||||
dat += span_bold("Brute trauma") + " - Bandage wounded body part. Give Bicaridine or Vermicetol.<br>"
|
||||
if(M.getFireLoss())
|
||||
dat += "<b>Surface burn</b> - Salve wounded body part in ointment. Give Kelotane or Dermaline. Check for infections.<br>"
|
||||
dat += span_bold("Surface burn") + " - Salve wounded body part in ointment. Give Kelotane or Dermaline. Check for infections.<br>"
|
||||
if(M.getCloneLoss())
|
||||
dat += "<b>Genetic damage</b> - Utilize cryogenic pod with appropriate chemicals (i.e. Cryoxadone) and below 70 K, or give Rezadone.<br>"
|
||||
dat += span_bold("Genetic damage") + " - Utilize cryogenic pod with appropriate chemicals (i.e. Cryoxadone) and below 70 K, or give Rezadone.<br>"
|
||||
if(bone)
|
||||
dat += "<b>Bone fracture</b> - Splint damaged area. Treat with bone repair surgery or Osteodaxon after treating brute damage.<br>"
|
||||
dat += span_bold("Bone fracture") + " - Splint damaged area. Treat with bone repair surgery or Osteodaxon after treating brute damage.<br>"
|
||||
if(M.virus2.len)
|
||||
dat += "<b>Viral infection</b> - Proceed with virology pathogen curing procedures or apply antiviral chemicals (i.e. Corophizine).<br>"
|
||||
dat += span_bold("Viral infection") + " - Proceed with virology pathogen curing procedures or apply antiviral chemicals (i.e. Corophizine).<br>"
|
||||
if(robotparts)
|
||||
dat += "<b>Robotic body parts</b> - Should not be repaired by medical personnel, refer to robotics if damaged."
|
||||
dat += span_bold("Robotic body parts") + " - Should not be repaired by medical personnel, refer to robotics if damaged."
|
||||
|
||||
var/peeb
|
||||
if(dat)
|
||||
peeb +="<span class='notice'><b>GUIDANCE SYSTEM BEGIN</b></span><br>"
|
||||
peeb += span_boldnotice("GUIDANCE SYSTEM BEGIN")
|
||||
peeb +="<br>"
|
||||
peeb += dat
|
||||
peeb += span_notice("For more detailed information about patient condition, use the stationary scanner in medbay.")
|
||||
|
||||
|
||||
@@ -62,38 +62,43 @@
|
||||
|
||||
if (!ishuman(M) || M.isSynthetic())
|
||||
//these sensors are designed for organic life
|
||||
dat += "<span class='notice'>Analyzing Results for ERROR:\n\tOverall Status: ERROR<br>"
|
||||
dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
|
||||
dat += "\tDamage Specifics: [span_cyan("?")] - [span_green("?")] - [span_orange("?")] - [span_red("?")]<br>"
|
||||
dat += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)</span><br>"
|
||||
var/analyzed = "Analyzing Results for ERROR:\n\tOverall Status: ERROR<br>"
|
||||
analyzed += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
|
||||
analyzed += "\tDamage Specifics: [span_cyan("?")] - [span_green("?")] - [span_orange("?")] - [span_red("?")]<br>"
|
||||
analyzed += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)"
|
||||
dat += span_notice(analyzed) + "<br>"
|
||||
dat += "[span_warning("Warning: Blood Level ERROR: --% --cl.")] [span_notice("Type: ERROR")]<br>"
|
||||
dat += span_notice("Subject's pulse: [span_red("-- bpm.")]")
|
||||
user.show_message(dat, 1)
|
||||
return
|
||||
|
||||
var/fake_oxy = max(rand(1,40), M.getOxyLoss(), (300 - (M.getToxLoss() + M.getFireLoss() + M.getBruteLoss())))
|
||||
var/OX = M.getOxyLoss() > 50 ? "<b>[M.getOxyLoss()]</b>" : M.getOxyLoss()
|
||||
var/TX = M.getToxLoss() > 50 ? "<b>[M.getToxLoss()]</b>" : M.getToxLoss()
|
||||
var/BU = M.getFireLoss() > 50 ? "<b>[M.getFireLoss()]</b>" : M.getFireLoss()
|
||||
var/BR = M.getBruteLoss() > 50 ? "<b>[M.getBruteLoss()]</b>" : M.getBruteLoss()
|
||||
var/OX = M.getOxyLoss() > 50 ? span_bold("[M.getOxyLoss()]") : M.getOxyLoss()
|
||||
var/TX = M.getToxLoss() > 50 ? span_bold("[M.getToxLoss()]") : M.getToxLoss()
|
||||
var/BU = M.getFireLoss() > 50 ? span_bold("M.getFireLoss()]") : M.getFireLoss()
|
||||
var/BR = M.getBruteLoss() > 50 ? span_bold("[M.getBruteLoss()]") : M.getBruteLoss()
|
||||
var/analyzed_results = ""
|
||||
if(M.status_flags & FAKEDEATH)
|
||||
OX = fake_oxy > 50 ? "<b>[fake_oxy]</b>" : fake_oxy
|
||||
OX = fake_oxy > 50 ? span_bold("[fake_oxy]") : fake_oxy
|
||||
dat += span_notice("Analyzing Results for [M]:")
|
||||
dat += "<br>"
|
||||
dat += span_notice("Overall Status: dead")
|
||||
dat += "<br>"
|
||||
else
|
||||
dat += "<span class='notice'>Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]<br>"
|
||||
dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
|
||||
dat += "\tDamage Specifics: [span_cyan("[OX]")] - [span_green("[TX]")] - [span_orange("[BU]")] - [span_red("[BR]")]<br>"
|
||||
dat += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)</span><br>"
|
||||
analyzed_results += "Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]<br>"
|
||||
analyzed_results += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
|
||||
analyzed_results += "\tDamage Specifics: [span_cyan("[OX]")] - [span_green("[TX]")] - [span_orange("[BU]")] - [span_red("[BR]")]<br>"
|
||||
analyzed_results += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)<br>"
|
||||
if(!(M.status_flags & FAKEDEATH))
|
||||
analyzed_results = span_notice(analyzed_results)
|
||||
dat += analyzed_results
|
||||
//VOREStation edit/addition starts
|
||||
if(M.timeofdeath && (M.stat == DEAD || (M.status_flags & FAKEDEATH)))
|
||||
dat += span_notice("Time of Death: [worldtime2stationtime(M.timeofdeath)]")
|
||||
dat += "<br>"
|
||||
var/tdelta = round(world.time - M.timeofdeath)
|
||||
if(tdelta < (DEFIB_TIME_LIMIT * 10))
|
||||
dat += span_notice("<b>Subject died [DisplayTimeText(tdelta)] ago - resuscitation may be possible!</b>")
|
||||
dat += span_boldnotice("Subject died [DisplayTimeText(tdelta)] ago - resuscitation may be possible!")
|
||||
dat += "<br>"
|
||||
//VOREStation edit/addition ends
|
||||
if(istype(M, /mob/living/carbon/human) && mode == 1)
|
||||
@@ -106,17 +111,18 @@
|
||||
if(org.robotic >= ORGAN_ROBOT)
|
||||
continue
|
||||
else
|
||||
dat += "<span class='notice'> [capitalize(org.name)]: [(org.brute_dam > 0) ? span_warning("[org.brute_dam]") : 0]"
|
||||
dat += "[(org.status & ORGAN_BLEEDING)?span_danger("\[Bleeding\]"):""] - "
|
||||
dat += "[(org.burn_dam > 0) ? "[span_orange("[org.burn_dam]")]" : 0]</span><br>"
|
||||
var/our_damage = " [capitalize(org.name)]: [(org.brute_dam > 0) ? span_warning("[org.brute_dam]") : 0]"
|
||||
our_damage += "[(org.status & ORGAN_BLEEDING)?span_danger("\[Bleeding\]"):""] - "
|
||||
our_damage += "[(org.burn_dam > 0) ? "[span_orange("[org.burn_dam]")]" : 0]"
|
||||
dat += span_notice(our_damage) + "<br>"
|
||||
else
|
||||
dat += span_notice(" Limbs are OK.")
|
||||
dat += "<br>"
|
||||
|
||||
OX = M.getOxyLoss() > 50 ? "[span_cyan("<b>Severe oxygen deprivation detected</b>")]" : "Subject bloodstream oxygen level normal"
|
||||
TX = M.getToxLoss() > 50 ? "[span_green("<b>Dangerous amount of toxins detected</b>")]" : "Subject bloodstream toxin level minimal"
|
||||
BU = M.getFireLoss() > 50 ? "[span_orange("<b>Severe burn damage detected</b>")]" : "Subject burn injury status O.K"
|
||||
BR = M.getBruteLoss() > 50 ? "[span_red("<b>Severe anatomical damage detected</b>")]" : "Subject brute-force injury status O.K"
|
||||
OX = M.getOxyLoss() > 50 ? "[span_cyan(span_bold("Severe oxygen deprivation detected"))]" : "Subject bloodstream oxygen level normal"
|
||||
TX = M.getToxLoss() > 50 ? "[span_green(span_bold("Dangerous amount of toxins detected"))]" : "Subject bloodstream toxin level minimal"
|
||||
BU = M.getFireLoss() > 50 ? "[span_orange(span_bold("Severe burn damage detected"))]" : "Subject burn injury status O.K"
|
||||
BR = M.getBruteLoss() > 50 ? "[span_red(span_bold("Severe anatomical damage detected"))]" : "Subject brute-force injury status O.K"
|
||||
if(M.status_flags & FAKEDEATH)
|
||||
OX = fake_oxy > 50 ? span_warning("Severe oxygen deprivation detected") : "Subject bloodstream oxygen level normal"
|
||||
dat += "[OX] | [TX] | [BU] | [BR]<br>"
|
||||
@@ -358,10 +364,10 @@
|
||||
var/blood_type = H.dna.b_type
|
||||
var/blood_reagent = H.species.blood_reagents
|
||||
if(blood_volume <= H.species.blood_volume*H.species.blood_level_danger)
|
||||
dat += span_danger("<i>Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</i>")
|
||||
dat += span_danger(span_italics("Warning: Blood Level CRITICAL: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent]."))
|
||||
dat += "<br>"
|
||||
else if(blood_volume <= H.species.blood_volume*H.species.blood_level_warning)
|
||||
dat += span_danger("<i>Warning: Blood Level VERY LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].</i>")
|
||||
dat += span_danger(span_italics("Warning: Blood Level VERY LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent]."))
|
||||
dat += "<br>"
|
||||
else if(blood_volume <= H.species.blood_volume*H.species.blood_level_safe)
|
||||
dat += span_danger("Warning: Blood Level LOW: [blood_percent]% [blood_volume]cl. Type: [blood_type]. Basis: [blood_reagent].")
|
||||
|
||||
@@ -107,40 +107,40 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
|
||||
/obj/item/sleevemate/proc/scan_mob(mob/living/carbon/human/H, mob/living/user)
|
||||
var/output = ""
|
||||
|
||||
output += "<br><br><span class='notice'><b>[src.name] Scan Results</b></span><br>"
|
||||
output += "<br><br>" + span_boldnotice("[src.name] Scan Results") + "<br>"
|
||||
|
||||
//Mind name
|
||||
output += "<b>Sleeved Mind:</b> "
|
||||
output += span_bold("Sleeved Mind:") + " "
|
||||
if(H.mind)
|
||||
output += "[H.mind.name]<br>"
|
||||
else
|
||||
output += "<span class='warning'>Unknown/None</span><br>"
|
||||
output += span_warning("Unknown/None") + "<br>"
|
||||
|
||||
//Mind status
|
||||
output += "<b>Mind Status:</b> "
|
||||
output += span_bold("Mind Status:") + " "
|
||||
if(H.client)
|
||||
output += "Healthy<br>"
|
||||
else
|
||||
output += "Space Sleep Disorder<br>"
|
||||
|
||||
//Body status
|
||||
output += "<b>Sleeve Status:</b> "
|
||||
output += span_bold("Sleeve Status:") + " "
|
||||
switch(H.stat)
|
||||
if(CONSCIOUS)
|
||||
output += "Alive<br>"
|
||||
if(UNCONSCIOUS)
|
||||
output += "Unconscious<br>"
|
||||
if(DEAD)
|
||||
output += "<span class='warning'>Deceased</span><br>"
|
||||
output += span_warning("Deceased") + "<br>"
|
||||
else
|
||||
output += "<span class='warning'>Unknown</span><br>"
|
||||
output += span_warning("Unknown") + "<br>"
|
||||
|
||||
//Mind/body comparison
|
||||
output += "<b>Sleeve Pair:</b> "
|
||||
output += span_bold("Sleeve Pair:")
|
||||
if(!H.ckey)
|
||||
output += "<span class='warning'>No mind in that body</span> [stored_mind != null ? "\[<a href='?src=\ref[src];target=\ref[H];mindupload=1'>Upload</a>\]" : null]<br>"
|
||||
output += span_warning("No mind in that body") + " [stored_mind != null ? "\[<a href='?src=\ref[src];target=\ref[H];mindupload=1'>Upload</a>\]" : null]<br>"
|
||||
else if(H.mind && ckey(H.mind.key) != H.ckey)
|
||||
output += "<span class='warning'>May not be correct body</span><br>"
|
||||
output += span_warning("May not be correct body") + "<br>"
|
||||
else if(H.mind && ckey(H.mind.key) == H.ckey)
|
||||
output += "Appears to be correct mind in body<br>"
|
||||
else
|
||||
@@ -148,29 +148,29 @@ var/global/mob/living/carbon/human/dummy/mannequin/sleevemate_mob
|
||||
|
||||
//Actions
|
||||
output += "<br><b>-- Possible Actions --</b><br>"
|
||||
output += "<b>Mind-Scan (One Time): </b>\[<a href='?src=\ref[src];target=\ref[H];mindscan=1'>Perform</a>\]<br>"
|
||||
output += "<b>Body-Scan (One Time): </b>\[<a href='?src=\ref[src];target=\ref[H];bodyscan=1'>Perform</a>\]<br>"
|
||||
output += span_bold("Mind-Scan (One Time): ") + "\[<a href='?src=\ref[src];target=\ref[H];mindscan=1'>Perform</a>\]<br>"
|
||||
output += span_bold("Body-Scan (One Time): ") + "\[<a href='?src=\ref[src];target=\ref[H];bodyscan=1'>Perform</a>\]<br>"
|
||||
|
||||
//Saving a mind
|
||||
output += "<b>Store Full Mind: </b>"
|
||||
output += span_bold("Store Full Mind:") + " "
|
||||
if(stored_mind)
|
||||
output += "<span class='notice'>Already Stored</span> ([stored_mind.name])<br>"
|
||||
output += span_notice("Already Stored") + " ([stored_mind.name])<br>"
|
||||
else if(H.mind)
|
||||
output += "\[<a href='?src=\ref[src];target=\ref[H];mindsteal=1'>Perform</a>\]<br>"
|
||||
else
|
||||
output += "<span class='warning'>Unable</span><br>"
|
||||
output += span_warning("Unable") + "<br>"
|
||||
|
||||
//Soulcatcher transfer
|
||||
if(H.nif)
|
||||
var/datum/nifsoft/soulcatcher/SC = H.nif.imp_check(NIF_SOULCATCHER)
|
||||
if(SC)
|
||||
output += "<br>"
|
||||
output += "<b>Soulcatcher detected ([SC.brainmobs.len] minds)</b><br>"
|
||||
output += span_bold("Soulcatcher detected ([SC.brainmobs.len] minds)") + "<br>"
|
||||
for(var/mob/living/carbon/brain/caught_soul/mind in SC.brainmobs)
|
||||
output += "<i>[mind.name]: </i> [mind.transient == FALSE ? "\[<a href='?src=\ref[src];target=\ref[H];mindrelease=[mind.name]'>Load</a>\]" : span_warning("Incompatible")]<br>"
|
||||
|
||||
if(stored_mind)
|
||||
output += "<b>Store in Soulcatcher: </b>\[<a href='?src=\ref[src];target=\ref[H];mindput=1'>Perform</a>\]<br>"
|
||||
output += span_bold("Store in Soulcatcher: ") + "\[<a href='?src=\ref[src];target=\ref[H];mindput=1'>Perform</a>\]<br>"
|
||||
|
||||
to_chat(user,output)
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
/obj/item/slime_scanner/attack(mob/living/M as mob, mob/living/user as mob)
|
||||
if(!istype(M, /mob/living/simple_mob/slime/xenobio))
|
||||
to_chat(user, "<B>This device can only scan lab-grown slimes!</B>")
|
||||
to_chat(user, span_infoplain(span_bold("This device can only scan lab-grown slimes!")))
|
||||
return
|
||||
var/mob/living/simple_mob/slime/xenobio/S = M
|
||||
user.show_message("Slime scan results:<br>[S.slime_color] [S.is_adult ? "adult" : "baby"] slime<br>Health: [S.health]<br>Mutation Probability: [S.mutation_chance]")
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/obj/item/camerabug/attack_self(mob/user)
|
||||
if(user.a_intent == I_HURT)
|
||||
to_chat(user, span_notice("You crush the [src] under your foot, breaking it."))
|
||||
visible_message("[user.name] crushes the [src] under their foot, breaking it!</span>")
|
||||
visible_message(span_notice("[user.name] crushes the [src] under their foot, breaking it!"))
|
||||
new brokentype(get_turf(src))
|
||||
spawn(0)
|
||||
qdel(src)
|
||||
@@ -44,7 +44,7 @@
|
||||
linkedmonitor = null
|
||||
qdel(camera)
|
||||
camera = new camtype(src)
|
||||
to_chat(usr, "<span class='notice'>You turn the [src] off and on again, delinking it from any monitors.")
|
||||
to_chat(usr, span_notice("You turn the [src] off and on again, delinking it from any monitors."))
|
||||
|
||||
/obj/item/brokenbug
|
||||
name = "broken mobile camera pod"
|
||||
|
||||
@@ -262,13 +262,13 @@
|
||||
var/playedmessage = mytape.storedinfo[i]
|
||||
if (findtextEx(playedmessage,"*",1,2)) //remove marker for action sounds
|
||||
playedmessage = copytext(playedmessage,2)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: [playedmessage]"), runemessage = playedmessage)
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": [playedmessage]"), runemessage = playedmessage)
|
||||
|
||||
if(mytape.storedinfo.len < i+1)
|
||||
playsleepseconds = 1
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: End of recording."), runemessage = "click")
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": End of recording."), runemessage = "click")
|
||||
break
|
||||
else
|
||||
playsleepseconds = mytape.timestamp[i+1] - mytape.timestamp[i]
|
||||
@@ -276,7 +276,7 @@
|
||||
if(playsleepseconds > 14)
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: Skipping [playsleepseconds] seconds of silence"), runemessage = "tape winding")
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": Skipping [playsleepseconds] seconds of silence"), runemessage = "tape winding")
|
||||
playsleepseconds = 1
|
||||
sleep(10 * playsleepseconds)
|
||||
|
||||
@@ -286,19 +286,19 @@
|
||||
|
||||
if(emagged)
|
||||
var/turf/T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: This tape recorder will self-destruct in... Five."), runemessage = "beep beep")
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": This tape recorder will self-destruct in... Five."), runemessage = "beep beep")
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: Four."))
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": Four."))
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: Three."))
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": Three."))
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: Two."))
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": Two."))
|
||||
sleep(10)
|
||||
T = get_turf(src)
|
||||
T.audible_message(span_maroon("<B>Tape Recorder</B>: One."))
|
||||
T.audible_message(span_maroon(span_bold("Tape Recorder") + ": One."))
|
||||
sleep(10)
|
||||
explode()
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
|
||||
to_chat(usr, span_notice("Transcript printed."))
|
||||
var/obj/item/paper/P = new /obj/item/paper(get_turf(src))
|
||||
var/t1 = "<B>Transcript:</B><BR><BR>"
|
||||
var/t1 = span_bold("Transcript:") + "<BR><BR>"
|
||||
for(var/i=1,mytape.storedinfo.len >= i,i++)
|
||||
var/printedmessage = mytape.storedinfo[i]
|
||||
if (findtextEx(printedmessage,"*",1,2)) //replace action sounds
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
if(last_print + print_cooldown <= world.time)
|
||||
print_a_ticket(user)
|
||||
else
|
||||
to_chat(user, "<span class = 'warning'>\The [src] is not ready to print another ticket yet.</span>")
|
||||
to_chat(user, span_warning("\The [src] is not ready to print another ticket yet."))
|
||||
|
||||
/obj/item/ticket_printer/proc/print_a_ticket(mob/user)
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
if(!L.say_understands(null, langset))
|
||||
new_message = langset.scramble(new_message)
|
||||
|
||||
to_chat(L, span_filter_say("<i><b>[src]</b> translates, </i>\"<span class='[langset.colour]'>[new_message]</span>\""))
|
||||
to_chat(L, span_filter_say(span_italics(span_bold("[src]") + "translates, ") + " \"<span class='[langset.colour]'>[new_message]</span>\""))
|
||||
|
||||
/obj/item/universal_translator/proc/user_understands(mob/M, mob/living/L, list/message_pieces)
|
||||
for(var/datum/multilingual_say_piece/S in message_pieces)
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
. = ..()
|
||||
if(camera.status && !isturf(target))
|
||||
show_tvs(target)
|
||||
user.visible_message("<b>[user]</b> aims [src] at [target].", "You aim [src] at [target].")
|
||||
user.visible_message(span_infoplain(span_bold("[user]") + " aims [src] at [target]."), span_info("You aim [src] at [target]."))
|
||||
if(user.machine == src)
|
||||
show_ui(user) // refresh the UI
|
||||
|
||||
|
||||
@@ -170,11 +170,11 @@
|
||||
to_chat(user, span_notice("You cannot access the debug interface with the panel screwed on!"))
|
||||
else if(unscrewed && !wirecutted)
|
||||
message_turf.audible_message(message = examine_multitool,
|
||||
deaf_message = "<b>[src]</b> flashes red repeatedly", runemessage= "Beep! Beep!")
|
||||
deaf_message = span_bold("[src]") + " flashes red repeatedly", runemessage= "Beep! Beep!")
|
||||
to_chat(user, span_warning("The components spark from the multitool's unregulated pulse. \
|
||||
Perhaps it'd been better to use more sophisticated tools..."))
|
||||
fried = TRUE
|
||||
message_turf.visible_message(message = "<b>[src]</b> FLASHES VIOLENTLY!",
|
||||
message_turf.visible_message(message = span_bold("[src]") + " FLASHES VIOLENTLY!",
|
||||
blind_message = "ZAP!", runemessage = "CRACKLE!")
|
||||
var/used_hand = user.get_organ(user.get_active_hand())
|
||||
user.electrocute_act(10,def_zone = used_hand)
|
||||
@@ -192,13 +192,13 @@
|
||||
Perhaps, it would've been a good idea to disconnect some wires while pulsing the security circuit..."))
|
||||
else
|
||||
if(!has_paper)
|
||||
message_turf.visible_message(message = "<b>[src]</b> displays, 'PAPER NOT BIN'",
|
||||
message_turf.visible_message(message = span_bold("[src]") + " displays, 'PAPER NOT BIN'",
|
||||
blind_message = "you hear VERY ANGRY beeping.", runemessage = "BEEP BEEP!")
|
||||
message_turf.audible_message(message = "<b>[src]</b> recites, \n '[examine_canalyzer]'",
|
||||
deaf_message = "<b>[src]</b> flashes green!", runemessage= "Ping!")
|
||||
message_turf.audible_message(message = span_bold("[src]") + " recites, \n '[examine_canalyzer]'",
|
||||
deaf_message = span_bold("[src]") + " flashes green!", runemessage= "Ping!")
|
||||
else
|
||||
message_turf.audible_message(message = "<b>[src]</b> rattles loudly as it prints",
|
||||
deaf_message = "<b>[src]</b> flashes green!", runemessage= "RATTLE RATTLE")
|
||||
message_turf.audible_message(message = span_bold("[src]") + " rattles loudly as it prints",
|
||||
deaf_message = span_bold("[src]") + " flashes green!", runemessage= "RATTLE RATTLE")
|
||||
var/obj/item/paper/P = new /obj/item/paper(get_turf(src))
|
||||
P.name = "[drone_name] blackbox transcript"
|
||||
P.info = "[examine_canalyzer_printed ? examine_canalyzer_printed : examine_canalyzer]"
|
||||
|
||||
@@ -107,8 +107,8 @@
|
||||
return 1
|
||||
else
|
||||
var/available = get_amount()
|
||||
user.visible_message("<b>\The [user]</b> starts bandaging [M]'s [affecting.name].", \
|
||||
span_notice("You start bandaging [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " starts bandaging [M]'s [affecting.name]."), \
|
||||
span_notice("You start bandaging [M]'s [affecting.name]."))
|
||||
var/used = 0
|
||||
for (var/datum/wound/W in affecting.wounds)
|
||||
if(W.internal)
|
||||
@@ -130,11 +130,11 @@
|
||||
break
|
||||
|
||||
if (W.current_stage <= W.max_bleeding_stage)
|
||||
user.visible_message("<b>\The [user]</b> bandages \a [W.desc] on [M]'s [affecting.name].", \
|
||||
span_notice("You bandage \a [W.desc] on [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " bandages \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You bandage \a [W.desc] on [M]'s [affecting.name]."))
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> places a bandage over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
span_notice("You place a bandage over \a [W.desc] on [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " places a bandage over \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You place a bandage over \a [W.desc] on [M]'s [affecting.name]."))
|
||||
W.bandage()
|
||||
playsound(src, pick(apply_sounds), 25)
|
||||
used++
|
||||
@@ -176,8 +176,8 @@
|
||||
return 1
|
||||
else
|
||||
var/available = get_amount()
|
||||
user.visible_message("<b>\The [user]</b> starts treating [M]'s [affecting.name].", \
|
||||
span_notice("You start treating [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " starts treating [M]'s [affecting.name]."), \
|
||||
span_notice("You start treating [M]'s [affecting.name]."))
|
||||
var/used = 0
|
||||
for (var/datum/wound/W in affecting.wounds)
|
||||
if (W.internal)
|
||||
@@ -199,15 +199,15 @@
|
||||
break
|
||||
|
||||
if (W.current_stage <= W.max_bleeding_stage)
|
||||
user.visible_message("<b>\The [user]</b> bandages \a [W.desc] on [M]'s [affecting.name].", \
|
||||
span_notice("You bandage \a [W.desc] on [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " bandages \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You bandage \a [W.desc] on [M]'s [affecting.name]."))
|
||||
//H.add_side_effect("Itch")
|
||||
else if (W.damage_type == BRUISE)
|
||||
user.visible_message("<b>\The [user]</b> places a bruise patch over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
span_notice("You place a bruise patch over \a [W.desc] on [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " places a bruise patch over \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You place a bruise patch over \a [W.desc] on [M]'s [affecting.name]."))
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> places a bandaid over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
span_notice("You place a bandaid over \a [W.desc] on [M]'s [affecting.name].") )
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " places a bandaid over \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You place a bandaid over \a [W.desc] on [M]'s [affecting.name]."))
|
||||
W.bandage()
|
||||
// W.disinfect() // VOREStation - Tech1 should not disinfect
|
||||
playsound(src, pick(apply_sounds), 25)
|
||||
@@ -249,7 +249,7 @@
|
||||
to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been salved."))
|
||||
return 1
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> starts salving wounds on [M]'s [affecting.name].", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " starts salving wounds on [M]'s [affecting.name]."), \
|
||||
span_notice("You start salving the wounds on [M]'s [affecting.name].") )
|
||||
if(!do_mob(user, M, 10, exclusive = TRUE))
|
||||
to_chat(user, span_notice("You must stand still to salve wounds."))
|
||||
@@ -295,7 +295,7 @@
|
||||
return 1
|
||||
else
|
||||
var/available = get_amount()
|
||||
user.visible_message("<b>\The [user]</b> starts treating [M]'s [affecting.name].", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " starts treating [M]'s [affecting.name]."), \
|
||||
span_notice("You start treating [M]'s [affecting.name].") )
|
||||
var/used = 0
|
||||
for (var/datum/wound/W in affecting.wounds)
|
||||
@@ -317,13 +317,13 @@
|
||||
break
|
||||
|
||||
if (W.current_stage <= W.max_bleeding_stage)
|
||||
user.visible_message("<b>\The [user]</b> cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue.", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " cleans \a [W.desc] on [M]'s [affecting.name] and seals the edges with bioglue."), \
|
||||
span_notice("You clean and seal \a [W.desc] on [M]'s [affecting.name].") )
|
||||
else if (W.damage_type == BRUISE)
|
||||
user.visible_message("<b>\The [user]</b> places a medical patch over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " places a medical patch over \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You place a medical patch over \a [W.desc] on [M]'s [affecting.name].") )
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> smears some bioglue over \a [W.desc] on [M]'s [affecting.name].", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " smears some bioglue over \a [W.desc] on [M]'s [affecting.name]."), \
|
||||
span_notice("You smear some bioglue over \a [W.desc] on [M]'s [affecting.name].") )
|
||||
W.bandage()
|
||||
W.disinfect()
|
||||
@@ -363,7 +363,7 @@
|
||||
to_chat(user, span_warning("The wounds on [M]'s [affecting.name] have already been salved."))
|
||||
return 1
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> starts salving wounds on [M]'s [affecting.name].", \
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " starts salving wounds on [M]'s [affecting.name]."), \
|
||||
span_notice("You start salving the wounds on [M]'s [affecting.name].") )
|
||||
if(!do_mob(user, M, 10, exclusive = TRUE))
|
||||
to_chat(user, span_notice("You must stand still to salve wounds."))
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
var/healmessage = span_notice("You spray [src] onto [H], sealing [clotted ? clotted : "no"] wounds.")
|
||||
if(too_far_gone)
|
||||
healmessage += " <span class='warning'>You can see some wounds that are too large where the spray is not taking effect.</span>"
|
||||
healmessage += " " + span_warning("You can see some wounds that are too large where the spray is not taking effect.")
|
||||
|
||||
to_chat(user, healmessage)
|
||||
use(1)
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
//extend the offer of battle to the other mech
|
||||
var/datum/gender/T = gender_datums[user.get_visible_gender()]
|
||||
to_chat(user, span_notice("You offer battle to [target.name]!"))
|
||||
to_chat(target, span_notice("<b>[user.name] wants to battle with [T.His] [name]!</b> <i>Attack them with a toy mech to initiate combat.</i>"))
|
||||
to_chat(target, span_notice(span_bold("[user.name] wants to battle with [T.His] [name]!") + " " + span_italics("Attack them with a toy mech to initiate combat.")))
|
||||
wants_to_battle = TRUE
|
||||
addtimer(CALLBACK(src, PROC_REF(withdraw_offer), user), 6 SECONDS)
|
||||
return
|
||||
@@ -365,7 +365,7 @@
|
||||
span_notice(" [src] collapses!"), null)
|
||||
attacker.visible_message("[pick(winlines)]")
|
||||
attacker_controller.visible_message(span_notice(" [attacker] demolishes [src] and walks away victorious!"), \
|
||||
"<span class='notice'> You raise up [attacker] proudly over [src]</span>!")
|
||||
span_notice("You raise up [attacker] proudly over [src]") + "!")
|
||||
else //both win?
|
||||
visible_message("NEXT TIME.")
|
||||
//don't want to make this a one sided conversation
|
||||
|
||||
@@ -706,9 +706,9 @@
|
||||
/obj/structure/plushie/examine(mob/user)
|
||||
. = ..()
|
||||
if(opened)
|
||||
. += "<i>You notice an incision has been made on [src].</i>"
|
||||
. += span_italics("You notice an incision has been made on [src].")
|
||||
if(in_range(user, src) && stored_item)
|
||||
. += "<i>You can see something in there...</i>"
|
||||
. += span_italics("You can see something in there...")
|
||||
|
||||
/obj/structure/plushie/attack_hand(mob/user)
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
@@ -725,13 +725,13 @@
|
||||
searching = FALSE
|
||||
|
||||
if(user.a_intent == I_HELP)
|
||||
user.visible_message(span_notice("<b>\The [user]</b> hugs [src]!"),span_notice("You hug [src]!"))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " hugs [src]!"),span_notice("You hug [src]!"))
|
||||
else if (user.a_intent == I_HURT)
|
||||
user.visible_message(span_warning("<b>\The [user]</b> punches [src]!"),span_warning("You punch [src]!"))
|
||||
user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!"))
|
||||
else if (user.a_intent == I_GRAB)
|
||||
user.visible_message(span_warning("<b>\The [user]</b> attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!"))
|
||||
user.visible_message(span_warning(span_bold("\The [user]") + " attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!"))
|
||||
else
|
||||
user.visible_message(span_notice("<b>\The [user]</b> pokes the [src]."),span_notice("You poke the [src]."))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " pokes the [src]."),span_notice("You poke the [src]."))
|
||||
visible_message("[src] says, \"[phrase]\"")
|
||||
|
||||
|
||||
@@ -805,9 +805,9 @@
|
||||
/obj/item/toy/plushie/examine(mob/user)
|
||||
. = ..()
|
||||
if(opened)
|
||||
. += "<i>You notice an incision has been made on [src].</i>"
|
||||
. += span_italics("You notice an incision has been made on [src].")
|
||||
if(in_range(user, src) && stored_item)
|
||||
. += "<i>You can see something in there...</i>"
|
||||
. += span_italics("You can see something in there...")
|
||||
|
||||
/obj/item/toy/plushie/attack_self(mob/user as mob)
|
||||
if(stored_item && opened && !searching)
|
||||
@@ -824,13 +824,13 @@
|
||||
if(world.time - last_message <= 15 SECONDS)
|
||||
return
|
||||
if(user.a_intent == I_HELP)
|
||||
user.visible_message(span_notice("<b>\The [user]</b> hugs [src]!"),span_notice("You hug [src]!"))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " hugs [src]!"),span_notice("You hug [src]!"))
|
||||
else if (user.a_intent == I_HURT)
|
||||
user.visible_message(span_warning("<b>\The [user]</b> punches [src]!"),span_warning("You punch [src]!"))
|
||||
user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!"))
|
||||
else if (user.a_intent == I_GRAB)
|
||||
user.visible_message(span_warning("<b>\The [user]</b> attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!"))
|
||||
user.visible_message(span_warning(span_bold("\The [user]") + " attempts to strangle [src]!"),span_warning("You attempt to strangle [src]!"))
|
||||
else
|
||||
user.visible_message(span_notice("<b>\The [user]</b> pokes [src]."),span_notice("You poke [src]."))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " pokes [src]."),span_notice("You poke [src]."))
|
||||
playsound(src, 'sound/items/drop/plushie.ogg', 25, 0)
|
||||
visible_message("[src] says, \"[pokephrase]\"")
|
||||
last_message = world.time
|
||||
@@ -1418,13 +1418,13 @@
|
||||
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
|
||||
|
||||
if(user.a_intent == I_HELP)
|
||||
user.visible_message(span_notice("<b>\The [user]</b> pokes [src]!"),span_notice("You poke [src]!"))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " pokes [src]!"),span_notice("You poke [src]!"))
|
||||
else if (user.a_intent == I_HURT)
|
||||
user.visible_message(span_warning("<b>\The [user]</b> punches [src]!"),span_warning("You punch [src]!"))
|
||||
user.visible_message(span_warning(span_bold("\The [user]") + " punches [src]!"),span_warning("You punch [src]!"))
|
||||
else if (user.a_intent == I_GRAB)
|
||||
user.visible_message(span_warning("<b>\The [user]</b> attempts to pop [src]!"),span_warning("You attempt to pop [src]!"))
|
||||
user.visible_message(span_warning(span_bold("\The [user]") + " attempts to pop [src]!"),span_warning("You attempt to pop [src]!"))
|
||||
else
|
||||
user.visible_message(span_notice("<b>\The [user]</b> lightly bats the [src]."),span_notice("You lightly bat the [src]."))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " lightly bats the [src]."),span_notice("You lightly bat the [src]."))
|
||||
|
||||
/obj/structure/balloon/bat
|
||||
name = "giant bat balloon"
|
||||
|
||||
@@ -435,7 +435,7 @@
|
||||
|
||||
/obj/item/toy/chewtoy/attack_self(mob/user)
|
||||
playsound(loc, 'sound/items/drop/plushie.ogg', 50, 1)
|
||||
user.visible_message(span_notice("<b>\The [user]</b> gnaws on [src]!"),span_notice("You gnaw on [src]!"))
|
||||
user.visible_message(span_notice(span_bold("\The [user]") + " gnaws on [src]!"),span_notice("You gnaw on [src]!"))
|
||||
|
||||
/*
|
||||
* Cat toys
|
||||
@@ -635,7 +635,7 @@
|
||||
icon_state = "nuketoyidle"
|
||||
else
|
||||
var/timeleft = (cooldown - world.time)
|
||||
to_chat(user, span_warning("Nothing happens, and '</span>[round(timeleft/10)]<span class='alert'>' appears on a small display."))
|
||||
to_chat(user, span_warning("Nothing happens, and") + " '[round(timeleft/10)]' " + span_warning("appears on a small display."))
|
||||
|
||||
/obj/item/toy/nuke/attackby(obj/item/I as obj, mob/living/user as mob)
|
||||
if(istype(I, /obj/item/disk/nuclear))
|
||||
@@ -677,7 +677,7 @@
|
||||
O.forceMove(src)
|
||||
stored_minature = O
|
||||
else
|
||||
user.visible_message(span_notice("You stop feeding \the [O] into \the [src].</span>"),"<span class='notice'>[user] stops feeding \the [O] into \the [src]!/span>")
|
||||
user.visible_message(span_notice("You stop feeding \the [O] into \the [src]."),span_notice("[user] stops feeding \the [O] into \the [src]!"))
|
||||
|
||||
else ..()
|
||||
|
||||
@@ -1174,5 +1174,5 @@
|
||||
if(M.stat)
|
||||
to_chat(user, span_notice("\The [M] doesn't look like it's any condition to do that."))
|
||||
return
|
||||
user.visible_message("<span class='danger'>\The [user] waves \the [src] in front of the [M]!</span>!")
|
||||
user.visible_message(span_danger("\The [user] waves \the [src] in front of the [M]!"))
|
||||
M.PounceTarget(user,100)
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
// Can disasemble or reassemble from packed or off (and this one takes time)
|
||||
if("(Dis)Assemble")
|
||||
if(can_transition_to(state == UAV_PACKED ? UAV_OFF : UAV_PACKED, user))
|
||||
user.visible_message("<b>[user]</b> starts [state == UAV_PACKED ? "unpacking" : "packing"] [src].", "You start [state == UAV_PACKED ? "unpacking" : "packing"] [src].")
|
||||
user.visible_message(span_infoplain(span_bold("[user]") + " starts [state == UAV_PACKED ? "unpacking" : "packing"] [src]."), span_info("You start [state == UAV_PACKED ? "unpacking" : "packing"] [src]."))
|
||||
if(do_after(user, 10 SECONDS, src))
|
||||
return toggle_packed(user)
|
||||
// Can toggle power from on and off
|
||||
@@ -314,21 +314,21 @@
|
||||
var/mob/master = wr.resolve()
|
||||
var/list/combined = master.combine_message(message_pieces, verb, M)
|
||||
var/message = combined["formatted"]
|
||||
var/rendered = "<i><span class='game say'>UAV received: <span class='name'>[name_used]</span> [message]</span></i>"
|
||||
var/rendered = span_game(span_say(span_italics("UAV received: " + span_name("[name_used]") + " [message]")))
|
||||
master.show_message(rendered, 2)
|
||||
|
||||
/obj/item/uav/see_emote(var/mob/living/M, text)
|
||||
for(var/wr_master in masters)
|
||||
var/datum/weakref/wr = wr_master
|
||||
var/mob/master = wr.resolve()
|
||||
var/rendered = "<i><span class='game say'>UAV received, <span class='message'>[text]</span></span></i>"
|
||||
var/rendered = span_game(span_say(span_italics("UAV received, " + span_message("[text]"))))
|
||||
master.show_message(rendered, 2)
|
||||
|
||||
/obj/item/uav/show_message(msg, type, alt, alt_type)
|
||||
for(var/wr_master in masters)
|
||||
var/datum/weakref/wr = wr_master
|
||||
var/mob/master = wr.resolve()
|
||||
var/rendered = "<i><span class='game say'>UAV received, <span class='message'>[msg]</span></span></i>"
|
||||
var/rendered = span_game(span_say(span_italics("UAV received, " + span_message("[msg]"))))
|
||||
master.show_message(rendered, type)
|
||||
|
||||
/obj/item/uav/take_damage(var/damage)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
var/scan_data = ""
|
||||
|
||||
if(timeofdeath)
|
||||
scan_data += "<b>Time of death:</b> [worldtime2stationtime(timeofdeath)]<br><br>"
|
||||
scan_data += span_bold("Time of death:") + " [worldtime2stationtime(timeofdeath)]<br><br>"
|
||||
|
||||
var/n = 1
|
||||
for(var/wdata_idx in wdata)
|
||||
@@ -121,7 +121,7 @@
|
||||
|
||||
if(!total_score) total_score = D.organs_scanned.len
|
||||
|
||||
scan_data += "<b>Weapon #[n]</b><br>"
|
||||
scan_data += span_bold("Weapon #[n]") + "<br>"
|
||||
if(damaging_weapon)
|
||||
scan_data += "Severity: [damage_desc]<br>"
|
||||
scan_data += "Hits by weapon: [total_hits]<br>"
|
||||
@@ -136,7 +136,7 @@
|
||||
n++
|
||||
|
||||
if(chemtraces.len)
|
||||
scan_data += "<b>Trace Chemicals: </b><br>"
|
||||
scan_data += span_bold("Trace Chemicals: ") + "<br>"
|
||||
for(var/chemID in chemtraces)
|
||||
scan_data += chemID
|
||||
scan_data += "<br>"
|
||||
@@ -177,7 +177,7 @@
|
||||
if(!S.open)
|
||||
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]")
|
||||
M.visible_message(span_infoplain(span_bold("\The [user]") + " scans the wounds on [M]'s [S.name] with [src]"))
|
||||
|
||||
src.add_data(S)
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
/obj/item/cane/white/collapsible/attack_self(mob/user as mob)
|
||||
on = !on
|
||||
if(on)
|
||||
user.visible_message("<b>\The [user]</b> extends the white cane.",\
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " extends the white cane."),\
|
||||
span_warning("You extend the white cane."),\
|
||||
"You hear an ominous click.")
|
||||
icon_state = "whitecane1out"
|
||||
@@ -106,7 +106,7 @@
|
||||
force = 5
|
||||
attack_verb = list("smacked", "struck", "cracked", "beaten")
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> collapses the white cane.",\
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " collapses the white cane."),\
|
||||
span_notice("You collapse the white cane."),\
|
||||
"You hear a click.")
|
||||
icon_state = "whitecane1in"
|
||||
|
||||
@@ -40,11 +40,11 @@
|
||||
/obj/item/capture_crystal/examine(user)
|
||||
. = ..()
|
||||
if(user == owner && bound_mob)
|
||||
. += "<span class = 'notice'>[bound_mob]'s crystal</span>"
|
||||
. += span_notice("[bound_mob]'s crystal")
|
||||
if(isanimal(bound_mob))
|
||||
. += "<span class = 'notice'>[bound_mob.health / bound_mob.maxHealth * 100]%</span>"
|
||||
. += span_notice("[bound_mob.health / bound_mob.maxHealth * 100]%")
|
||||
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_deptradio("OOC Notes:") + " <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_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.
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/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_notice("You adjust the jumper on the access protocol pins."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " 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
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/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_notice("You adjust the jumper on the access protocol pins."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " 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
|
||||
|
||||
@@ -108,20 +108,20 @@
|
||||
icon_state = "circuit"
|
||||
|
||||
/obj/item/circuitboard/mecha/imperion/main
|
||||
desc = "It is marked with a <span class='alien'>strange glyph</span>."
|
||||
desc = "It is marked with a " + span_alien("strange glyph") + "."
|
||||
|
||||
/obj/item/circuitboard/mecha/imperion/peripherals
|
||||
desc = "It is marked with a <span class='alien'>pulsing glyph</span>."
|
||||
desc = "It is marked with a " + span_alien("pulsing glyph") + "."
|
||||
|
||||
/obj/item/circuitboard/mecha/imperion/targeting
|
||||
desc = "It is marked with an <span class='alien'>ominous glyph</span>."
|
||||
desc = "It is marked with an " + span_alien("ominous glyph") + "."
|
||||
|
||||
/obj/item/circuitboard/mecha/imperion/phasing
|
||||
desc = "It is marked with a <span class='alien'>disturbing glyph</span>."
|
||||
desc = "It is marked with a " + span_alien("disturbing glyph") + "."
|
||||
|
||||
/obj/item/circuitboard/mecha/imperion/damaged
|
||||
name = "Damaged Alien Circuit"
|
||||
desc = "It is marked with a <span class='alien'>constantly shifting glyph</span>."
|
||||
desc = "It is marked with a " + span_alien("constantly shifting glyph") + "."
|
||||
origin_tech = list(TECH_DATA = 3, TECH_BLUESPACE = 1, TECH_PRECURSOR = 2)
|
||||
|
||||
//Undef the macro, shouldn't be needed anywhere else
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
// Used by admin log.
|
||||
var/injected_with_monkey = ""
|
||||
if((buf.types & DNA2_BUF_SE) && (block ? (GetState() && block == MONKEYBLOCK) : GetState(MONKEYBLOCK)))
|
||||
injected_with_monkey = " <span class='danger'>(MONKEY)</span>"
|
||||
injected_with_monkey = span_danger("(MONKEY)")
|
||||
|
||||
add_attack_logs(user,M,"[injected_with_monkey] used the [name] on")
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
var/mob/living/carbon/human/C = loc
|
||||
if (src == C.wear_mask && C.check_has_mouth()) // if it's in the human/monkey mouth, transfer reagents to the mob
|
||||
if (!active || !ec_cartridge || !ec_cartridge.reagents.total_volume)//no cartridge
|
||||
to_chat(C, "<span class='notice'>[src] turns off.</span> ")
|
||||
to_chat(C, span_notice("[src] turns off."))
|
||||
active=0//autodisable the cigarette
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
update_icon()
|
||||
@@ -109,27 +109,27 @@
|
||||
/obj/item/clothing/mask/smokable/ecig/attackby(var/obj/item/I, var/mob/user as mob)
|
||||
if(istype(I, /obj/item/reagent_containers/ecig_cartridge))
|
||||
if (ec_cartridge)//can't add second one
|
||||
to_chat(user, "<span class='notice'>A cartridge has already been installed.</span> ")
|
||||
to_chat(user, span_notice("A cartridge has already been installed."))
|
||||
else//fits in new one
|
||||
user.remove_from_mob(I)
|
||||
I.forceMove(src)//I.loc=src
|
||||
ec_cartridge = I
|
||||
update_icon()
|
||||
to_chat(user, "<span class='notice'>You insert [I] into [src].</span> ")
|
||||
to_chat(user, span_notice("You insert [I] into [src]."))
|
||||
|
||||
/obj/item/clothing/mask/smokable/ecig/attack_self(mob/user as mob)
|
||||
if (active)
|
||||
active=0
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
to_chat(user, "<span class='notice'>You turn off \the [src]. </span> ")
|
||||
to_chat(user, span_notice("You turn off \the [src]. "))
|
||||
update_icon()
|
||||
else
|
||||
if (!ec_cartridge)
|
||||
to_chat(user, "<span class='notice'>You can't use it with no cartridge installed!.</span> ")
|
||||
to_chat(user, span_notice("You can't use it with no cartridge installed!."))
|
||||
return
|
||||
active=1
|
||||
START_PROCESSING(SSobj, src)
|
||||
to_chat(user, "<span class='notice'>You turn on \the [src]. </span> ")
|
||||
to_chat(user, span_notice("You turn on \the [src]. "))
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/mask/smokable/ecig/attack_hand(mob/user as mob)//eject cartridge
|
||||
@@ -137,7 +137,7 @@
|
||||
if (ec_cartridge)
|
||||
active=0
|
||||
user.put_in_hands(ec_cartridge)
|
||||
to_chat(user, "<span class='notice'>You eject [ec_cartridge] from \the [src].</span> ")
|
||||
to_chat(user, span_notice("You eject [ec_cartridge] from \the [src]."))
|
||||
ec_cartridge = null
|
||||
update_icon()
|
||||
else
|
||||
|
||||
@@ -302,7 +302,7 @@ var/last_chew = 0
|
||||
return 1
|
||||
|
||||
/obj/item/handcuffs/legcuffs/bola/dropped()
|
||||
visible_message("<b>\The [src]</b> falls apart!")
|
||||
visible_message(span_infoplain(span_bold("\The [src]") + " falls apart!"))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/handcuffs/legcuffs/bola/place_legcuffs(var/mob/living/carbon/target, var/mob/user)
|
||||
@@ -314,7 +314,7 @@ var/last_chew = 0
|
||||
return 0
|
||||
|
||||
if(!H.has_organ_for_slot(slot_legcuffed))
|
||||
H.visible_message("<b>\The [src]</b> slams into [H], but slides off!")
|
||||
H.visible_message(span_infoplain(span_bold("\The [src]") + " slams into [H], but slides off!"))
|
||||
src.dropped()
|
||||
return 0
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ Due to the small chemical capacity of the implant, the life of the implant is re
|
||||
var/newlaws = tgui_input_text(user, "Please Input Laws", "Compliance Laws", "", multiline = TRUE, prevent_enter = TRUE)
|
||||
newlaws = sanitize(newlaws,2048)
|
||||
if(newlaws)
|
||||
to_chat(user,"You set the laws to: <br><span class='notice'>[newlaws]</span>")
|
||||
to_chat(user,"You set the laws to: <br>" + span_notice("[newlaws]"))
|
||||
implant.laws = newlaws //Organic
|
||||
else //No using other implants.
|
||||
to_chat(user,span_notice("A red warning pops up on the implanter's micro-screen: 'INVALID IMPLANT DETECTED.'"))
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<b>Important Notes:</b> Nanites will fail to complete their task if a suitable location cannot be found for the organ.<BR>
|
||||
<HR>
|
||||
<b>Implant Details:</b><BR>
|
||||
<b>Function:</b> Nanites will fabricate: <span class='alien'>[organ_display_name]</span><BR>
|
||||
<b>Function:</b> Nanites will fabricate: [span_alien("[organ_display_name]")]<BR>
|
||||
<b>Special Features:</b> Organ identification protocols.<BR>
|
||||
<b>Integrity:</b> N/A"}
|
||||
return dat
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
else
|
||||
health_text = "[round(src.occupant.health,0.1)]"
|
||||
|
||||
var/dat ="<B>Implanter Status</B><BR>"
|
||||
var/dat =span_bold("Implanter Status") + "<BR>"
|
||||
|
||||
dat +="<B>Current occupant:</B> [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>"
|
||||
dat += "<B>Implants:</B> [src.implant_list.len ? "[implant_list.len]" : "<A href='?src=\ref[src];replenish=1'>Replenish</A>"]<BR>"
|
||||
dat +=span_bold("Current occupant:") + " [src.occupant ? "<BR>Name: [src.occupant]<BR>Health: [health_text]<BR>" : "<FONT color=red>None</FONT>"]<BR>"
|
||||
dat += span_bold("Implants:") + " [src.implant_list.len ? "[implant_list.len]" : "<A href='?src=\ref[src];replenish=1'>Replenish</A>"]<BR>"
|
||||
if(src.occupant)
|
||||
dat += "[src.ready ? "<A href='?src=\ref[src];implant=1'>Implant</A>" : "Recharging"]<BR>"
|
||||
user.set_machine(src)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
/obj/item/implantpad/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
var/dat = "<B>Implant Mini-Computer:</B><HR>"
|
||||
var/dat = span_bold("Implant Mini-Computer:") + "<HR>"
|
||||
if (src.case)
|
||||
if(src.case.imp)
|
||||
if(istype(src.case.imp, /obj/item/implant))
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
/obj/item/chainsaw/examine(mob/user)
|
||||
. = ..()
|
||||
if(max_fuel && get_dist(user, src) == 0)
|
||||
. += "<span class = 'notice'>The [src] feels like it contains roughtly [get_fuel()] units of fuel left.</span>"
|
||||
. += span_notice("The [src] feels like it contains roughtly [get_fuel()] units of fuel left.")
|
||||
|
||||
/obj/item/chainsaw/update_icon()
|
||||
if(on)
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
loaded = "\the [loading]"
|
||||
user.visible_message( \
|
||||
"<b>\The [user]</b> scoops up some of [loaded] with \the [src]!",
|
||||
span_infoplain(span_bold("\The [user]") + " scoops up some of [loaded] with \the [src]!"),
|
||||
span_notice("You scoop up some of [loaded] with \the [src]!")
|
||||
)
|
||||
loading.bitecount++
|
||||
@@ -108,12 +108,12 @@
|
||||
if(M == user)
|
||||
if(!M.can_eat(loaded))
|
||||
return
|
||||
M.visible_message("<b>\The [user]</b> eats some of [loaded] with \the [src].")
|
||||
M.visible_message(span_bold("\The [user]") + "eats some of [loaded] with \the [src].")
|
||||
else
|
||||
user.visible_message(span_warning("\The [user] begins to feed \the [M]!"))
|
||||
if(!(M.can_force_feed(user, loaded) && do_mob(user, M, 5 SECONDS)))
|
||||
return
|
||||
M.visible_message("<b>\The [user]</b> feeds some of [loaded] to \the [M] with \the [src].")
|
||||
M.visible_message(span_bold("\The [user]") + "feeds some of [loaded] to \the [M] with \the [src].")
|
||||
playsound(src,'sound/items/eatfood.ogg', rand(10,40), 1)
|
||||
loaded = null
|
||||
update_icon()
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
src.set_material(material)
|
||||
return TRUE
|
||||
else
|
||||
to_chat(M, "<span class = 'warning'>You can't sharpen and re-edge [src].</span>")
|
||||
to_chat(M, span_warning("You can't sharpen and re-edge [src]."))
|
||||
return FALSE
|
||||
|
||||
/*
|
||||
|
||||
@@ -333,7 +333,7 @@ var/list/tape_roll_applications = list()
|
||||
|
||||
/obj/item/tape/attack_hand(mob/user as mob)
|
||||
if (user.a_intent == I_HELP && src.allowed(user))
|
||||
user.show_viewers("<b>\The [user]</b> lifts \the [src], allowing passage.")
|
||||
user.show_viewers(span_infoplain(span_bold("\The [user]") + " lifts \the [src], allowing passage."))
|
||||
for(var/obj/item/tape/T in gettapeline())
|
||||
T.lift(100) //~10 seconds
|
||||
else
|
||||
@@ -377,7 +377,7 @@ var/list/tape_roll_applications = list()
|
||||
if(user.a_intent == I_HELP)
|
||||
to_chat(user, span_warning("You refrain from breaking \the [src]."))
|
||||
return
|
||||
user.visible_message("<b>\The [user]</b> breaks \the [src]!",span_notice("You break \the [src]."))
|
||||
user.visible_message(span_bold("\The [user]") + "breaks \the [src]!",span_notice("You break \the [src]."))
|
||||
|
||||
for (var/obj/item/tape/T in gettapeline())
|
||||
if(T == src)
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
return
|
||||
|
||||
user.set_machine(src)
|
||||
var/dat = "<B>Teleportation Scroll:</B><BR>"
|
||||
var/dat = span_bold("Teleportation Scroll:") + "<BR>"
|
||||
dat += "Number of uses: [src.uses]<BR>"
|
||||
dat += "<HR>"
|
||||
dat += "<B>Four uses use them wisely:</B><BR>"
|
||||
dat += span_bold("Four uses use them wisely:") + "<BR>"
|
||||
dat += "<A href='byond://?src=\ref[src];spell_teleport=1'>Teleport</A><BR>"
|
||||
dat += "Kind regards,<br>Wizards Federation<br><br>P.S. Don't forget to bring your gear, you'll need it to cast most spells.<HR>"
|
||||
user << browse(dat, "window=scroll")
|
||||
|
||||
@@ -518,29 +518,29 @@
|
||||
return
|
||||
|
||||
if(!parachute) //This packs the parachute
|
||||
H.visible_message("<b>\The [H]</b> starts to pack \the [src]!", \
|
||||
H.visible_message(span_infoplain(span_bold("\The [H]") + " starts to pack \the [src]!"), \
|
||||
span_notice("You start to pack \the [src]!"), \
|
||||
"You hear the shuffling of cloth.")
|
||||
span_infoplain("You hear the shuffling of cloth."))
|
||||
if(do_after(H, 50))
|
||||
H.visible_message("<b>\The [H]</b> finishes packing \the [src]!", \
|
||||
H.visible_message(span_infoplain(span_bold("\The [H]") + " finishes packing \the [src]!"), \
|
||||
span_notice("You finish packing \the [src]!"), \
|
||||
"You hear the shuffling of cloth.")
|
||||
span_infoplain("You hear the shuffling of cloth."))
|
||||
parachute = TRUE
|
||||
else
|
||||
H.visible_message("<b>\The [src]</b> gives up on packing \the [src]!", \
|
||||
H.visible_message(span_infoplain(span_bold("\The [src]") + " gives up on packing \the [src]!"), \
|
||||
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]!", \
|
||||
H.visible_message(span_infoplain(span_bold("\The [src]") + " starts to unpack \the [src]!"), \
|
||||
span_notice("You start to unpack \the [src]!"), \
|
||||
"You hear the shuffling of cloth.")
|
||||
span_infoplain("You hear the shuffling of cloth."))
|
||||
if(do_after(H, 25))
|
||||
H.visible_message("<b>\The [src]</b> finishes unpacking \the [src]!", \
|
||||
H.visible_message(span_infoplain(span_bold("\The [src]") + " finishes unpacking \the [src]!"), \
|
||||
span_notice("You finish unpacking \the [src]!"), \
|
||||
"You hear the shuffling of cloth.")
|
||||
span_infoplain("You hear the shuffling of cloth."))
|
||||
parachute = FALSE
|
||||
else
|
||||
H.visible_message("<b>\The [src]</b> decides not to unpack \the [src]!", \
|
||||
H.visible_message(span_infoplain(span_bold("\The [src]") + " decides not to unpack \the [src]!"), \
|
||||
span_notice("You decide not to unpack \the [src]!"))
|
||||
return
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
|
||||
/obj/item/storage/box/flashbangs
|
||||
name = "box of flashbangs (WARNING)"
|
||||
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.</B>"
|
||||
desc = span_bold("WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.")
|
||||
icon_state = "flashbang"
|
||||
starts_with = list(/obj/item/grenade/flashbang = 7)
|
||||
drop_sound = 'sound/items/drop/ammobox.ogg'
|
||||
@@ -335,7 +335,7 @@
|
||||
|
||||
/obj/item/storage/box/mousetraps
|
||||
name = "box of Pest-B-Gon mousetraps"
|
||||
desc = span_red("<B>WARNING:</B>") + " <I>Keep out of reach of children</I>."
|
||||
desc = span_red(span_bold("WARNING:")) + " " + span_italics("Keep out of reach of children") + "."
|
||||
icon_state = "mousetraps"
|
||||
starts_with = list(/obj/item/assembly/mousetrap = 7)
|
||||
|
||||
@@ -466,7 +466,7 @@
|
||||
//Donk-pockets
|
||||
/obj/item/storage/box/donkpockets
|
||||
name = "box of donk-pockets"
|
||||
desc = "<B>Instructions:</B> <I>Heat in microwave. Product will cool if not eaten within seven minutes.</I>"
|
||||
desc = span_bold("Instructions:") + " " + span_italics("Heat in microwave. Product will cool if not eaten within seven minutes.")
|
||||
icon_state = "donkpocketbox"
|
||||
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket = 7)
|
||||
|
||||
@@ -502,6 +502,6 @@
|
||||
|
||||
/obj/item/storage/box/sinpockets
|
||||
name = "box of sin-pockets"
|
||||
desc = "<B>Instructions:</B> <I>Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.</I>"
|
||||
desc = span_bold("Instructions:") + " " + span_italics("Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.")
|
||||
icon_state = "donk_kit"
|
||||
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/sinpocket = 7)
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
force = 15//quite robust
|
||||
attack_verb = list("smacked", "struck", "slapped")
|
||||
else
|
||||
user.visible_message("<b>\The [user]</b> collapses their telescopic baton.",\
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " collapses their telescopic baton."),\
|
||||
span_notice("You collapse the baton."),\
|
||||
"You hear a click.")
|
||||
icon_state = "telebaton0"
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
icon_state = "c-4[size]_1"
|
||||
playsound(src, 'sound/weapons/armbomb.ogg', 75, 1)
|
||||
for(var/mob/O in hearers(src, null))
|
||||
O.show_message("[icon2html(src, O.client)] <span class = 'warning'> The [src.name] beeps! </span>")
|
||||
O.show_message("[icon2html(src, O.client)] " + span_warning(" The [src.name] beeps!"))
|
||||
sleep(50)
|
||||
explosion(get_turf(src), devastate, heavy_impact, light_impact, flash_range)
|
||||
for(var/dirn in cardinal) //This is to guarantee that C4 at least breaks down all immediately adjacent walls and doors.
|
||||
|
||||
@@ -191,7 +191,7 @@ var/list/global/tank_gauge_cache = list()
|
||||
if(!valve_welded)
|
||||
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_notice("You carefully weld \the [src] emergency pressure relief valve shut.</span><span class='warning'> \The [src] may now rupture under pressure!"))
|
||||
to_chat(user, span_notice("You carefully weld \the [src] emergency pressure relief valve shut.") + " " + span_warning("\The [src] may now rupture under pressure!"))
|
||||
src.valve_welded = 1
|
||||
src.leaking = 0
|
||||
else
|
||||
@@ -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_warning("You hear a bang!"))
|
||||
visible_message("[icon2html(src,viewers(src))] " + span_danger("\The [src] flies apart!"), span_warning("You hear a bang!"))
|
||||
T.hotspot_expose(air_contents.temperature, 70, 1)
|
||||
|
||||
|
||||
@@ -500,7 +500,7 @@ var/list/global/tank_gauge_cache = list()
|
||||
|
||||
T.assume_air(leaked_gas)
|
||||
if(!leaking)
|
||||
visible_message("[icon2html(src,viewers(src))] <span class='warning'>\The [src] relief valve flips open with a hiss!</span>", "You hear hissing.")
|
||||
visible_message("[icon2html(src,viewers(src))] " + span_warning("\The [src] relief valve flips open with a hiss!"), "You hear hissing.")
|
||||
playsound(src, 'sound/effects/spray.ogg', 10, 1, -3)
|
||||
leaking = 1
|
||||
#ifdef FIREDBG
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
user.drop_from_inventory(I)
|
||||
I.loc = src
|
||||
qdel(I)
|
||||
to_chat(user, "<span-class='notice'>You place \the [I] back into \the [src].</span>")
|
||||
to_chat(user, span_notice("You place \the [I] back into \the [src]."))
|
||||
|
||||
/obj/item/ducttape/attack_hand(mob/living/L)
|
||||
anchored = FALSE
|
||||
|
||||
@@ -55,11 +55,11 @@ Frequency:
|
||||
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))))
|
||||
usr.set_machine(src)
|
||||
if (href_list["refresh"])
|
||||
src.temp = "<B>Persistent Signal Locator</B><HR>"
|
||||
src.temp = span_bold("Persistent Signal Locator") + "<HR>"
|
||||
var/turf/sr = get_turf(src)
|
||||
|
||||
if (sr)
|
||||
src.temp += "<B>Located Beacons:</B><BR>"
|
||||
src.temp += span_bold("Located Beacons:") + "<BR>"
|
||||
|
||||
for(var/obj/item/radio/beacon/W in all_beacons)
|
||||
if (W.frequency == src.frequency)
|
||||
@@ -78,7 +78,7 @@ Frequency:
|
||||
direct = "very weak"
|
||||
src.temp += "[W.code]-[dir2text(get_dir(sr, tr))]-[direct]<BR>"
|
||||
|
||||
src.temp += "<B>Extraneous Signals:</B><BR>"
|
||||
src.temp += span_bold("Extraneous Signals:") + "<BR>"
|
||||
for (var/obj/item/implant/tracking/W in all_tracking_implants)
|
||||
if (!W.implanted || !(istype(W.loc,/obj/item/organ/external) || ismob(W.loc) || W.malfunction))
|
||||
continue
|
||||
@@ -96,9 +96,9 @@ Frequency:
|
||||
direct = "weak"
|
||||
src.temp += "[W.id]-[dir2text(get_dir(sr, tr))]-[direct]<BR>"
|
||||
|
||||
src.temp += "<B>You are at \[[sr.x],[sr.y],[sr.z]\]</B> in orbital coordinates.<BR><BR><A href='byond://?src=\ref[src];refresh=1'>Refresh</A><BR>"
|
||||
src.temp += span_bold("You are at \[[sr.x],[sr.y],[sr.z]\]") + " in orbital coordinates.<BR><BR><A href='byond://?src=\ref[src];refresh=1'>Refresh</A><BR>"
|
||||
else
|
||||
src.temp += "<B><FONT color='red'>Processing Error:</FONT></B> Unable to locate orbital position.<BR>"
|
||||
src.temp += span_bold("<FONT color='red'>Processing Error:</FONT>") + " Unable to locate orbital position.<BR>"
|
||||
else
|
||||
if (href_list["freq"])
|
||||
src.frequency += text2num(href_list["freq"])
|
||||
|
||||
@@ -517,7 +517,7 @@
|
||||
|
||||
if(mounted_pack.loc != src.loc && src.loc != mounted_pack)
|
||||
mounted_pack.return_nozzle()
|
||||
visible_message("<b>\The [src]</b> retracts to its fueltank.")
|
||||
visible_message(span_infoplain(span_bold("\The [src]") + " retracts to its fueltank."))
|
||||
|
||||
if(get_fuel() <= get_max_fuel())
|
||||
mounted_pack.reagents.trans_to_obj(src, 1)
|
||||
|
||||
@@ -82,13 +82,13 @@
|
||||
|
||||
/obj/item/tool/wirecutters/cyborg
|
||||
name = "wirecutters"
|
||||
desc = "This cuts wires. With science."
|
||||
desc = "This cuts wires. With science."
|
||||
usesound = 'sound/items/jaws_cut.ogg'
|
||||
toolspeed = 0.5
|
||||
|
||||
/obj/item/tool/wirecutters/hybrid
|
||||
name = "strange wirecutters"
|
||||
desc = "This cuts wires. With <span class='alien'>Science!</span>"
|
||||
desc = "This cuts wires. With " + span_purple("Science!")
|
||||
icon_state = "hybcutters"
|
||||
w_class = ITEMSIZE_NORMAL
|
||||
origin_tech = list(TECH_MATERIAL = 3, TECH_ENGINEERING = 3, TECH_PHORON = 2)
|
||||
@@ -102,4 +102,4 @@
|
||||
desc = "You shouldn't see this."
|
||||
usesound = 'sound/items/jaws_cut.ogg'
|
||||
force = 15
|
||||
toolspeed = 0.25
|
||||
toolspeed = 0.25
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
L.visible_message(
|
||||
span_danger("[L] steps on \the [src]."),
|
||||
span_danger("You step on \the [src]!"),
|
||||
"<b>You hear a loud metallic snap!</b>"
|
||||
span_infoplain(span_bold("You hear a loud metallic snap!"))
|
||||
)
|
||||
attack_mob(L)
|
||||
if(!has_buckled_mobs())
|
||||
@@ -275,7 +275,7 @@
|
||||
L.visible_message(
|
||||
span_danger("[L] steps in \the [src]."),
|
||||
span_danger("You step in \the [src]!"),
|
||||
"<b>You hear a sharp rustling!</b>"
|
||||
span_infoplain(span_bold("You hear a sharp rustling!"))
|
||||
)
|
||||
attack_mob(L)
|
||||
update_icon()
|
||||
|
||||
@@ -30,7 +30,7 @@ LINEN BINS
|
||||
|
||||
/obj/item/bedsheet/attackby(obj/item/I, mob/user)
|
||||
if(is_sharp(I))
|
||||
user.visible_message("<b>\The [user]</b> begins cutting up [src] with [I].", span_notice("You begin cutting up [src] with [I]."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " begins cutting up [src] with [I]."), span_notice("You begin cutting up [src] with [I]."))
|
||||
if(do_after(user, 50))
|
||||
to_chat(user, span_notice("You cut [src] into pieces!"))
|
||||
for(var/i in 1 to rand(2,5))
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
burning = FALSE
|
||||
update_icon()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
visible_message("<b>\The [src]</b> stops burning.")
|
||||
visible_message(span_infoplain(span_bold("\The [src]") + " stops burning."))
|
||||
|
||||
/obj/structure/bonfire/proc/ignite()
|
||||
if(!burning && get_fuel_amount())
|
||||
@@ -354,7 +354,7 @@
|
||||
burning = FALSE
|
||||
update_icon()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
visible_message("<b>\The [src]</b> stops burning.")
|
||||
visible_message(span_infoplain(span_bold("\The [src]") + " stops burning."))
|
||||
|
||||
/obj/structure/fireplace/proc/ignite()
|
||||
if(!burning && get_fuel_amount())
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
if(locked && tamper_proof && health <= Proj.damage)
|
||||
if(tamper_proof == 2) // Mainly used for events to prevent any chance of opening the box improperly.
|
||||
visible_message(span_red("<b>The anti-tamper mechanism of [src] triggers an explosion!</b>"))
|
||||
visible_message(span_bolddanger("The anti-tamper mechanism of [src] triggers an explosion!"))
|
||||
var/turf/T = get_turf(src.loc)
|
||||
explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security.
|
||||
qdel(src)
|
||||
@@ -15,18 +15,18 @@
|
||||
var/open_chance = rand(1,5)
|
||||
switch(open_chance)
|
||||
if(1)
|
||||
visible_message(span_red("<b>The anti-tamper mechanism of [src] causes an explosion!</b>"))
|
||||
visible_message(span_bolddanger("The anti-tamper mechanism of [src] causes an explosion!"))
|
||||
var/turf/T = get_turf(src.loc)
|
||||
explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security.
|
||||
qdel(src)
|
||||
if(2 to 4)
|
||||
visible_message(span_red("<b>The anti-tamper mechanism of [src] causes a small fire!</b>"))
|
||||
visible_message(span_boldwarning("The anti-tamper mechanism of [src] causes a small fire!"))
|
||||
for(var/atom/movable/A as mob|obj in src) // For every item in the box, we spawn a pile of ash.
|
||||
new /obj/effect/decal/cleanable/ash(src.loc)
|
||||
new /obj/fire(src.loc)
|
||||
qdel(src)
|
||||
if(5)
|
||||
visible_message(span_green("<b>The anti-tamper mechanism of [src] fails!</b>"))
|
||||
visible_message(span_infoplain(span_green(span_bold("The anti-tamper mechanism of [src] fails!"))))
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
to_chat(user, span_warning("Nothing left to do with it now. Maybe you can break it down into materials."))
|
||||
else
|
||||
open_pod()
|
||||
user.visible_message("<b>[user]</b> opens \the [src]!","You open \the [src]!")
|
||||
user.visible_message(span_infoplain(span_bold("[user]") + " opens \the [src]!"),span_infoplain("You open \the [src]!"))
|
||||
|
||||
/obj/structure/drop_pod/attackby(obj/item/O, mob/user)
|
||||
if(O.has_tool_quality(TOOL_WRENCH))
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
playsound(src, 'sound/machines/lockreset.ogg', 50, 1)
|
||||
if(do_after(user, 20 * O.toolspeed))
|
||||
locked = 0
|
||||
to_chat(user, "<span class = 'caution'> You disable the locking modules.</span>")
|
||||
to_chat(user, span_warning("You disable the locking modules."))
|
||||
update_icon()
|
||||
return
|
||||
else if(istype(O, /obj/item))
|
||||
@@ -89,7 +89,7 @@
|
||||
playsound(src, 'sound/machines/lockenable.ogg', 50, 1)
|
||||
if(do_after(user,20 * O.toolspeed))
|
||||
locked = 1
|
||||
to_chat(user, "<span class = 'caution'> You re-enable the locking modules.</span>")
|
||||
to_chat(user, span_warning("You re-enable the locking modules."))
|
||||
return
|
||||
else
|
||||
toggle_close_open()
|
||||
|
||||
@@ -282,7 +282,7 @@
|
||||
/obj/structure/flora/pottedplant/examine(mob/user)
|
||||
. = ..()
|
||||
if(in_range(user, src) && stored_item)
|
||||
. += span_filter_notice("<i>You can see something in there...</i>")
|
||||
. += span_filter_notice(span_italics("You can see something in there..."))
|
||||
|
||||
/obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user)
|
||||
if(issilicon(user))
|
||||
@@ -308,7 +308,7 @@
|
||||
|
||||
/obj/structure/flora/pottedplant/attack_hand(mob/user)
|
||||
if(!stored_item)
|
||||
to_chat(user, span_filter_notice("<b>You see nothing of interest in [src]...</b>"))
|
||||
to_chat(user, span_filter_notice(span_bold("You see nothing of interest in [src]...")))
|
||||
else
|
||||
if(do_after(user, 10))
|
||||
to_chat(user, span_filter_notice("You find [icon2html(stored_item, user.client)] [stored_item] in [src]!"))
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
if(is_stump)
|
||||
if(istype(W,/obj/item/shovel))
|
||||
if(do_after(user, 5 SECONDS))
|
||||
visible_message("<b>\The [user]</b> digs up \the [src] stump with \the [W].")
|
||||
visible_message(span_infoplain(span_bold("\The [user]") + " digs up \the [src] stump with \the [W]."))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
M.mind.transfer_to(R)
|
||||
// Description for new larva, so they understand what to expect.
|
||||
to_chat(M, span_notice("You are a <b>Xenomorph Larva</b>, freshly slithered out of their egg to serve the hive."))
|
||||
to_chat(M, span_notice("<b>Be sure to carefully listen to your queen, as xenomorph egg spawns may act different to loner xenomorph spawns.</b>"))
|
||||
to_chat(M, span_warning("<b>Remember, you are technically a antagonist. Be sure to learn the context of your existence via IC or ahelp to prevent headaches, and follow the orders of your queen to the letter.</b>"))
|
||||
to_chat(M, span_boldnotice("Be sure to carefully listen to your queen, as xenomorph egg spawns may act different to loner xenomorph spawns."))
|
||||
to_chat(M, span_boldwarning("Remember, you are technically a antagonist. Be sure to learn the context of your existence via IC or ahelp to prevent headaches, and follow the orders of your queen to the letter."))
|
||||
to_chat(M, span_notice(" Your life for the hive!"))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("\the [src] peels open, and a fresh larva slithers out!"))
|
||||
|
||||
@@ -108,9 +108,9 @@
|
||||
//newPred.movement_cooldown = 0 // The "needless artificial speed cap" exists for a reason
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(newPred)
|
||||
to_chat(M, "<span class='notice'>You are <b>[newPred]</b>, somehow having gotten aboard the station in search of food. \
|
||||
to_chat(M, span_notice("You are <b>[newPred]</b>, somehow having gotten aboard the station in search of food. \
|
||||
You are wary of environment around you, but you do feel rather peckish. Stick around dark, secluded places to avoid danger or, \
|
||||
if you are cute enough, try to make friends with this place's inhabitants.</span>")
|
||||
if you are cute enough, try to make friends with this place's inhabitants."))
|
||||
to_chat(M, span_critical("Please be advised, this role is NOT AN ANTAGONIST."))
|
||||
to_chat(M, span_warning("You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind."))
|
||||
newPred.ckey = M.ckey
|
||||
@@ -144,12 +144,12 @@
|
||||
var/mob/living/simple_mob/vore/morph/newMorph = new /mob/living/simple_mob/vore/morph(get_turf(src))
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(newMorph)
|
||||
to_chat(M, "<span class='notice'>You are a <b>Morph</b>, somehow having gotten aboard the station in your wandering. \
|
||||
to_chat(M, span_notice("You are a <b>Morph</b>, somehow having gotten aboard the station in your wandering. \
|
||||
You are wary of environment around you, but your primal hunger still calls for you to find prey. Seek a convincing disguise, \
|
||||
using your amorphous form to traverse vents to find and consume weak prey.</span>")
|
||||
to_chat(M, "<span class='notice'>You can use shift + click on objects to disguise yourself as them, but your strikes are nearly useless when you are disguised. \
|
||||
using your amorphous form to traverse vents to find and consume weak prey."))
|
||||
to_chat(M, span_notice("You can use shift + click on objects to disguise yourself as them, but your strikes are nearly useless when you are disguised. \
|
||||
You can undisguise yourself by shift + clicking yourself, but disguise being switched, or turned on and off has a short cooldown. You can also ventcrawl, \
|
||||
by using alt + click on the vent or scrubber.</span>")
|
||||
by using alt + click on the vent or scrubber."))
|
||||
to_chat(M, span_critical("Please be advised, this role is NOT AN ANTAGONIST."))
|
||||
to_chat(M, span_warning("You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind."))
|
||||
|
||||
|
||||
@@ -40,10 +40,10 @@
|
||||
/obj/structure/ghost_pod/manual/cursedblade/create_occupant(var/mob/M)
|
||||
density = FALSE
|
||||
var/obj/item/melee/cursedblade/R = new(get_turf(src))
|
||||
to_chat(M, "<span class='notice'>You are a <b>Cursed Sword</b>, discovered by a hapless explorer. \
|
||||
to_chat(M, span_notice("You are a " + span_bold("Cursed Sword") + ", discovered by a hapless explorer. \
|
||||
You were once an explorer yourself, when one day you discovered a strange sword made from a red crystal. As soon as you touched it,\
|
||||
your body was reduced to ashes and your soul was cursed to remain trapped in the blade forever. \
|
||||
Now it is up to you to decide whether you want to be a faithful companion, or a bitter prisoner of the blade.</span>")
|
||||
Now it is up to you to decide whether you want to be a faithful companion, or a bitter prisoner of the blade."))
|
||||
R.ghost_inhabit(M)
|
||||
visible_message(span_warning("The blade shines brightly for a brief moment as [usr] pulls it out of the stone!"))
|
||||
log_and_message_admins("successfully acquired a cursed sword.")
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Lost Drone</b>, discovered inside the wreckage of your previous home. \
|
||||
to_chat(M, span_notice("You are a <b>Lost Drone</b>, discovered inside the wreckage of your previous home. \
|
||||
Something has reactivated you, with their intentions unknown to you, and yours unknown to them. They are a foreign entity, \
|
||||
however they did free you from your pod...</span>")
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
however they did free you from your pod..."))
|
||||
to_chat(M, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " Remember, your \
|
||||
definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \
|
||||
from the pod is not a crewmember.</span>")
|
||||
from the pod is not a crewmember."))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
@@ -53,8 +53,8 @@
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, span_notice("You are a <b>Gravekeeper Drone</b>, activated once again to tend to the restful dead."))
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
definiton of 'your gravesite' is where your pod is.</span>")
|
||||
to_chat(M, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " Remember, your \
|
||||
definiton of 'your gravesite' is where your pod is."))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
@@ -92,7 +92,7 @@
|
||||
. = ..()
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
say_dead_object("A <span class='notice'>[drone_class] swarm drone</span> shell is now available in \the [T.loc].", src)
|
||||
say_dead_object("A " + span_notice("[drone_class] swarm drone") + " shell is now available in \the [T.loc].", src)
|
||||
|
||||
/obj/structure/ghost_pod/ghost_activated/swarm_drone/event/gunner
|
||||
name = "gunner shell"
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
if(M.mind)
|
||||
M.mind.transfer_to(R)
|
||||
// Put this text here before ckey change so that their laws are shown below it, since borg login() shows it.
|
||||
to_chat(M, "<span class='notice'>You are a <b>Lost Drone</b>, discovered inside the wreckage of your previous home. \
|
||||
to_chat(M, span_notice("You are a " + span_bold("Lost Drone") + ", discovered inside the wreckage of your previous home. \
|
||||
Something has reactivated you, with their intentions unknown to you, and yours unknown to them. They are a foreign entity, \
|
||||
however they did free you from your pod...</span>")
|
||||
to_chat(M, "<span class='notice'><b>Be sure to examine your currently loaded lawset closely.</b> Remember, your \
|
||||
however they did free you from your pod..."))
|
||||
to_chat(M, span_notice(span_bold("Be sure to examine your currently loaded lawset closely.") + " Remember, your \
|
||||
definiton of 'the station' is where your pod is, and unless your laws say otherwise, the entity that released you \
|
||||
from the pod is not a crewmember.</span>")
|
||||
from the pod is not a crewmember."))
|
||||
R.ckey = M.ckey
|
||||
visible_message(span_warning("As \the [src] opens, the eyes of the robot flicker as it is activated."))
|
||||
R.namepick()
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
if(!istype(G, /obj/item/grab) || !ismob(G.affecting))
|
||||
return
|
||||
if(occupied)
|
||||
to_chat(user, "<span class = 'danger'>The spike already has something on it, finish collecting its meat first!</span>")
|
||||
to_chat(user, span_danger("The spike already has something on it, finish collecting its meat first!"))
|
||||
else
|
||||
if(spike(G.affecting))
|
||||
var/datum/gender/T = gender_datums[G.affecting.get_visible_gender()]
|
||||
visible_message("<span class = 'danger'>[user] has forced [G.affecting] onto the spike, killing [T.him] instantly!</span>")
|
||||
visible_message(span_danger("[user] has forced [G.affecting] onto the spike, killing [T.him] instantly!"))
|
||||
var/mob/M = G.affecting
|
||||
M.forceMove(src)
|
||||
qdel(G)
|
||||
|
||||
@@ -129,10 +129,10 @@
|
||||
qdel(contained)
|
||||
contained = new mask_type(src)
|
||||
breather = null
|
||||
src.visible_message("<b>\The [contained]</b> slips to \the [src]!")
|
||||
src.visible_message(span_infoplain(span_bold("\The [contained]") + " slips to \the [src]!"))
|
||||
update_icon()
|
||||
return
|
||||
usr.visible_message("<b>\The [usr]</b> begins carefully placing the mask onto [target].",
|
||||
usr.visible_message(span_infoplain(span_bold("\The [usr]") + " begins carefully placing the mask onto [target]."),
|
||||
span_notice("You begin carefully placing the mask onto [target]."))
|
||||
if(!do_mob(usr, target, 100) || !can_apply_to_target(target, usr))
|
||||
return
|
||||
@@ -151,14 +151,14 @@
|
||||
visible_message("\The [attached] is taken off \the [src]")
|
||||
attached = null
|
||||
else if(ishuman(target))
|
||||
usr.visible_message("<b>\The [usr]</b> begins inserting needle into [target]'s vein.",
|
||||
usr.visible_message(span_infoplain(span_bold("\The [usr]") + " begins inserting needle into [target]'s vein."),
|
||||
span_notice("You begin inserting needle into [target]'s vein."))
|
||||
if(!do_mob(usr, target, 50))
|
||||
usr.visible_message(span_notice("\The [usr]'s hand slips and pricks \the [target]."),
|
||||
span_notice("Your hand slips and pricks \the [target]."))
|
||||
target.apply_damage(3, BRUTE, pick(BP_R_ARM, BP_L_ARM))
|
||||
return
|
||||
usr.visible_message("<b>\The [usr]</b> hooks \the [target] up to \the [src].",
|
||||
usr.visible_message(span_infoplain(span_bold("\The [usr]") + "hooks \the [target] up to \the [src]."),
|
||||
span_notice("You hook \the [target] up to \the [src]."))
|
||||
attached = target
|
||||
START_PROCESSING(SSobj,src)
|
||||
@@ -184,13 +184,13 @@
|
||||
to_chat(user, span_warning("There is no tank in \the [src]!"))
|
||||
return
|
||||
else if (tank && is_loosen)
|
||||
user.visible_message("<b>\The [user]</b> removes \the [tank] from \the [src].", "<span class='warning'>You remove \the [tank] from \the [src].</span</span>>")
|
||||
user.visible_message(span_warningplain(span_bold("\The [user]") + " removes \the [tank] from \the [src]."), span_warning("You remove \the [tank] from \the [src]."))
|
||||
user.put_in_hands(tank)
|
||||
tank = null
|
||||
update_icon()
|
||||
return
|
||||
else if (!is_loosen)
|
||||
user.visible_message("<b>\The [user]</b> tries to removes \the [tank] from \the [src] but it won't budge.", "<span class='warning'>You try to removes \the [tank] from \the [src] but it won't budge.</span</span>>")
|
||||
user.visible_message(span_warningplain(span_bold("\The [user]") + " tries to removes \the [tank] from \the [src] but it won't budge."), span_warning("You try to removes \the [tank] from \the [src] but it won't budge."))
|
||||
return
|
||||
if ("Toggle valve")
|
||||
if (!tank)
|
||||
@@ -198,7 +198,7 @@
|
||||
return
|
||||
else
|
||||
if (valve_opened)
|
||||
src.visible_message("<b>\The [user]</b> closes valve on \the [src]!",
|
||||
src.visible_message(span_infoplain(span_bold("\The [user]") + " closes valve on \the [src]!"),
|
||||
span_notice("You close valve on \the [src]."))
|
||||
if(breather)
|
||||
breather.internals?.icon_state = "internal0"
|
||||
@@ -206,7 +206,7 @@
|
||||
valve_opened = FALSE
|
||||
update_icon()
|
||||
else
|
||||
src.visible_message("<b>\The [user]</b> opens valve on \the [src]!",
|
||||
src.visible_message(span_infoplain(span_bold("\The [user]") + " opens valve on \the [src]!"),
|
||||
span_notice("You open valve on \the [src]."))
|
||||
if(breather)
|
||||
breather.internal = tank
|
||||
@@ -319,7 +319,7 @@
|
||||
user.drop_item()
|
||||
W.forceMove(src)
|
||||
tank = W
|
||||
user.visible_message("<b>\The [user]</b> attaches \the [tank] to \the [src].", span_notice("You attach \the [tank] to \the [src]."))
|
||||
user.visible_message(span_bold("\The [user]") + " attaches \the [tank] to \the [src].", span_notice("You attach \the [tank] to \the [src]."))
|
||||
src.add_fingerprint(user)
|
||||
update_icon()
|
||||
|
||||
@@ -373,7 +373,7 @@
|
||||
else
|
||||
qdel(contained)
|
||||
contained = new mask_type (src)
|
||||
src.visible_message("<b>\The [contained]</b> slips to \the [src]!")
|
||||
src.visible_message(span_bold("\The [contained]") + " slips to \the [src]!")
|
||||
breather = null
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
name = "alien console"
|
||||
desc = "The console flashes what appear to be symbols you've never seen before."
|
||||
icon_state = "console-c"
|
||||
interaction_message = "<span class='warning'>The console flashes a series of unknown symbols as you press a button on what is presumably a keyboard. It probably some sort of \
|
||||
authentication error. Since you're not an alien, you should probably leave it alone.</span>"
|
||||
interaction_message = span_warning("The console flashes a series of unknown symbols as you press a button on what is presumably a keyboard. It probably some sort of \
|
||||
authentication error. Since you're not an alien, you should probably leave it alone.")
|
||||
|
||||
/obj/structure/prop/alien/computer/camera
|
||||
desc = "This console is briefly flashing video feeds of various locations close by."
|
||||
|
||||
@@ -90,11 +90,11 @@
|
||||
|
||||
/obj/structure/prop/prism/proc/rotate_auto(var/new_bearing)
|
||||
if(rotation_lock)
|
||||
visible_message("<b>\The [src]</b> shudders.")
|
||||
visible_message(span_infoplain(span_bold("\The [src]") + " shudders."))
|
||||
playsound(src, 'sound/effects/clang.ogg', 50, 1)
|
||||
return
|
||||
|
||||
visible_message("<b>\The [src]</b> rotates to a bearing of [new_bearing].")
|
||||
visible_message(span_infoplain(span_bold("\The [src]") + " rotates to a bearing of [new_bearing]."))
|
||||
|
||||
var/rotate_degrees = new_bearing - degrees_from_north
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
desc = "A sculpture made of pure phoron. It is covered in a lacquer that prevents erosion and renders it fireproof. It's safe. Probably."
|
||||
icon_state = "phoronic"
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
interaction_message = "<span class = 'notice'>Cool to touch and unbelievable smooth. You can almost see your reflection in it.</span>"
|
||||
interaction_message = span_notice("Cool to touch and unbelievable smooth. You can almost see your reflection in it.")
|
||||
|
||||
/obj/structure/prop/statue/phoron/New()
|
||||
set_light(2, 3, "#cc66ff")
|
||||
@@ -71,4 +71,4 @@
|
||||
/obj/structure/prop/statue/pillar/dark
|
||||
name = "pillar"
|
||||
desc = "A dark pillar."
|
||||
icon_state = "dark_pillar"
|
||||
icon_state = "dark_pillar"
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
if(W.has_tool_quality(TOOL_WRENCH) && !anchored)
|
||||
playsound(src, W.usesound, 50, 1)
|
||||
if(do_after(user, 20, src))
|
||||
user.visible_message("<b>\The [user]</b> dismantles \the [src].", span_notice("You dismantle \the [src]."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " dismantles \the [src]."), span_notice("You dismantle \the [src]."))
|
||||
new /obj/item/stack/material/steel(get_turf(usr), 2)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -216,13 +216,13 @@
|
||||
if(F.welding)
|
||||
playsound(src, F.usesound, 50, 1)
|
||||
if(do_after(user, 20, src))
|
||||
user.visible_message("<b>\The [user]</b> repairs some damage to \the [src].", span_notice("You repair some damage to \the [src]."))
|
||||
user.visible_message(span_infoplain(span_bold("\The [user]") + " repairs some damage to \the [src]."), span_notice("You repair some damage to \the [src]."))
|
||||
health = min(health+(maxhealth/5), maxhealth) // 20% repair per application
|
||||
return
|
||||
|
||||
// Install
|
||||
if(W.has_tool_quality(TOOL_SCREWDRIVER))
|
||||
user.visible_message(anchored ? "<b>\The [user]</b> begins unscrewing \the [src]." : "<b>\The [user]</b> begins fasten \the [src]." )
|
||||
user.visible_message(span_info(anchored ? span_bold("\The [user]") + " begins unscrewing \the [src]." : span_bold("\The [user]") + "begins fasten \the [src]." ))
|
||||
playsound(src, W.usesound, 75, 1)
|
||||
if(do_after(user, 10, src))
|
||||
to_chat(user, (anchored ? span_notice("You have unfastened \the [src] from the floor.") : span_notice("You have fastened \the [src] to the floor.")))
|
||||
|
||||
@@ -48,7 +48,7 @@ FLOOR SAFES
|
||||
if(tumbler_2_pos == tumbler_2_open)
|
||||
to_chat(user, span_notice("You hear a [pick("tink", "krink", "plink")] from \the [src]."))
|
||||
if(tumbler_1_pos == tumbler_1_open && tumbler_2_pos == tumbler_2_open)
|
||||
if(user) visible_message("<b>[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!</b>")
|
||||
if(user) visible_message(span_infoplain(span_bold("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!")))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
playsound(src, I.usesound, 50, 1)
|
||||
var/actual_time = I.toolspeed * 170
|
||||
user.visible_message( \
|
||||
"<b>\The [user]</b> begins salvaging from \the [src].", \
|
||||
span_infoplain(span_bold("\The [user]") + " begins salvaging from \the [src]."), \
|
||||
span_notice("You start salvaging from \the [src]."))
|
||||
if(do_after(user, actual_time, target = src))
|
||||
user.visible_message( \
|
||||
|
||||
@@ -1494,7 +1494,7 @@
|
||||
. = ..()
|
||||
. += "The calendar shows that the date is [stationdate2text()]."
|
||||
if (Holiday.len)
|
||||
. += "Today is <strong><span class='green'>[english_list(Holiday)]</span></strong>."
|
||||
. += "Today is " + span_bold(span_green("[english_list(Holiday)]")) + "."
|
||||
|
||||
/obj/structure/sign/explosive
|
||||
name = "\improper HIGH EXPLOSIVES sign"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/obj/structure/undies_wardrobe/interact(var/mob/living/carbon/human/H)
|
||||
var/dat = list()
|
||||
dat += "<b>Underwear:</b><br>"
|
||||
dat += span_bold("Underwear:") + "<br>"
|
||||
for(var/datum/category_group/underwear/UWC in global_underwear.categories)
|
||||
var/datum/category_item/underwear/UWI = H.all_underwear[UWC.name]
|
||||
var/item_name = UWI ? UWI.name : "None"
|
||||
|
||||
@@ -525,7 +525,7 @@
|
||||
to_chat(usr, span_warning("\The [thing] is empty."))
|
||||
return
|
||||
// Clear the vessel.
|
||||
visible_message("<b>\The [usr]</b> tips the contents of \the [thing] into \the [src].")
|
||||
visible_message(span_infoplain(span_bold("\The [usr]") + " tips the contents of \the [thing] into \the [src]."))
|
||||
thing.reagents.clear_reagents()
|
||||
thing.update_icon()
|
||||
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
damage = damage / 2
|
||||
take_damage(damage)
|
||||
else
|
||||
visible_message("<b>\The [user]</b> bonks \the [src] harmlessly.")
|
||||
visible_message(span_infoplain(span_bold("\The [user]") + " bonks \the [src] harmlessly."))
|
||||
user.do_attack_animation(src)
|
||||
return 1
|
||||
|
||||
@@ -304,7 +304,7 @@
|
||||
if (C.use(1))
|
||||
playsound(src, 'sound/effects/sparks1.ogg', 75, 1)
|
||||
user.visible_message( \
|
||||
"<b>\The [user]</b> begins to wire \the [src] for electrochromic tinting.", \
|
||||
span_infoplain(span_bold("\The [user]") + " begins to wire \the [src] for electrochromic tinting."), \
|
||||
span_notice("You begin to wire \the [src] for electrochromic tinting."), \
|
||||
"You hear sparks.")
|
||||
if(do_after(user, 20 * C.toolspeed, src) && state == 0)
|
||||
|
||||
Reference in New Issue
Block a user