converts our spans (#9185)

This commit is contained in:
Kashargul
2024-10-07 20:47:23 +02:00
committed by GitHub
parent f4155aa973
commit a92a42b85b
162 changed files with 1360 additions and 1269 deletions
@@ -18,10 +18,10 @@
/* Temp removal while I figure out how to reduce the respawn time to 1 minute
var/time_till_respawn = time_till_respawn()
if(time_till_respawn == -1) // Special case, never allowed to respawn
to_chat(usr, "<span class='warning'>Respawning is not allowed!</span>")
to_chat(usr, span_warning("Respawning is not allowed!"))
return
if(time_till_respawn) // Nonzero time to respawn
to_chat(usr, "<span class='warning'>You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.</span>")
to_chat(usr, span_warning("You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes."))
return
*/
var/datum/data/record/record_found
@@ -11,7 +11,7 @@
set category = "IC.Settings"
if(stat)
to_chat(src, "<span class='warning'>You must be awake and standing to perform this action!</span>")
to_chat(src, span_warning("You must be awake and standing to perform this action!"))
return
speech_sound_enabled = !speech_sound_enabled
@@ -73,7 +73,7 @@
set category = "IC.Game"
if(stat || world.time < last_special)
to_chat(usr, "<span class='warning'>You recently tried to create an area. Wait a while before using it again.</span>")
to_chat(usr, span_warning("You recently tried to create an area. Wait a while before using it again."))
return
last_special = world.time + 2 SECONDS // Antispam.
@@ -8,10 +8,10 @@
var/darkness = 1
var/turf/T = get_turf(src)
if(!T)
to_chat(src,"<span class='warning'>You can't use that here!</span>")
to_chat(src,span_warning("You can't use that here!"))
return FALSE
if((get_area(src).flags & PHASE_SHIELDED)) //CHOMPAdd - Mapping tools to control phasing
to_chat(src,"<span class='warning'>This area is preventing you from phasing!</span>")
to_chat(src,span_warning("This area is preventing you from phasing!"))
return FALSE
if(ability_flags & AB_PHASE_SHIFTING)
@@ -48,23 +48,23 @@
log_debug("[src] attempted to shift with [watcher] observers with a cost of [ability_cost] in a darkness level of [darkness]")
//CHOMPEdit start - inform about the observers affecting phasing
if(darkness<=0.4 && watcher>=2)
to_chat(src, "<span class='warning'>You have a few observers in a well-lit area! This may prevent phasing. (Working cameras count towards observers)</span>")
to_chat(src, span_warning("You have a few observers in a well-lit area! This may prevent phasing. (Working cameras count towards observers)"))
else if(watcher>=3)
to_chat(src, "<span class='warning'>You have a large number of observers! This may prevent phasing. (Working cameras count towards observers)</span>")
to_chat(src, span_warning("You have a large number of observers! This may prevent phasing. (Working cameras count towards observers)"))
//CHOMPEdit end
var/datum/species/shadekin/SK = species
/* CHOMPEdit start - general shadekin ability check
if(!istype(SK))
to_chat(src, "<span class='warning'>Only a shadekin can use that!</span>")
to_chat(src, span_warning("Only a shadekin can use that!"))
return FALSE
else if(stat)
to_chat(src, "<span class='warning'>Can't use that ability in your state!</span>")
to_chat(src, span_warning("Can't use that ability in your state!"))
return FALSE
//CHOMPEdit Start - Dark Respite
else if((ability_flags & AB_DARK_RESPITE || has_modifier_of_type(/datum/modifier/dark_respite)) && !(ability_flags & AB_PHASE_SHIFTED))
to_chat(src, "<span class='warning'>You can't use that so soon after an emergency warp!</span>")
to_chat(src, span_warning("You can't use that so soon after an emergency warp!"))
return FALSE
*/
if(!shadekin_ability_check())
@@ -72,12 +72,12 @@
//CHOMPEdit End
//CHOMPEdit Start - Prevent bugs when spamming phase button
else if(SK.doing_phase)
to_chat(src, "<span class='warning'>You are already trying to phase!</span>")
to_chat(src, span_warning("You are already trying to phase!"))
return FALSE
//CHOMPEdit End
else if(shadekin_get_energy() < ability_cost && !(ability_flags & AB_PHASE_SHIFTED))
to_chat(src, "<span class='warning'>Not enough energy for that ability!</span>")
to_chat(src, span_warning("Not enough energy for that ability!"))
return FALSE
if(!(ability_flags & AB_PHASE_SHIFTED))
@@ -85,7 +85,7 @@
playsound(src, 'sound/effects/stealthoff.ogg', 75, 1)
if(!T.CanPass(src,T) || loc != T)
to_chat(src,"<span class='warning'>You can't use that here!</span>")
to_chat(src,span_warning("You can't use that here!"))
return FALSE
@@ -119,7 +119,6 @@
// change
ability_flags &= ~AB_PHASE_SHIFTED
ability_flags |= AB_PHASE_SHIFTING
mouse_opacity = 1
name = get_visible_name()
for(var/obj/belly/B as anything in vore_organs)
B.escapable = initial(B.escapable)
@@ -158,12 +157,12 @@
var/mob/living/target = pick(potentials)
if(can_be_drop_pred && istype(target) && target.devourable && target.can_be_drop_prey && target.phase_vore && vore_selected && phase_vore)
target.forceMove(vore_selected)
to_chat(target, "<span class='vwarning'>\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!</span>")
to_chat(src, "<span class='vwarning'>You phase around [target], [vore_selected.vore_verb]ing them into your [vore_selected.name]!</span>")
to_chat(target, span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!"))
to_chat(src, span_vwarning("You phase around [target], [vore_selected.vore_verb]ing them into your [vore_selected.name]!"))
else if(can_be_drop_prey && istype(target) && devourable && target.can_be_drop_pred && target.phase_vore && target.vore_selected && phase_vore)
forceMove(target.vore_selected)
to_chat(target, "<span class='vwarning'>\The [src] phases into you, [target.vore_selected.vore_verb]ing them into your [target.vore_selected.name]!</span>")
to_chat(src, "<span class='vwarning'>You phase into [target], having them [target.vore_selected.vore_verb] you into their [target.vore_selected.name]!</span>")
to_chat(target, span_vwarning("\The [src] phases into you, [target.vore_selected.vore_verb]ing them into your [target.vore_selected.name]!"))
to_chat(src, span_vwarning("You phase into [target], having them [target.vore_selected.vore_verb] you into their [target.vore_selected.name]!"))
ability_flags &= ~AB_PHASE_SHIFTING
@@ -230,7 +229,6 @@
// change
ability_flags |= AB_PHASE_SHIFTED
ability_flags |= AB_PHASE_SHIFTING
mouse_opacity = 0
custom_emote(1,"phases out!")
name = get_visible_name()
@@ -301,13 +299,13 @@
var/datum/species/shadekin/SK = species
if(!istype(SK))
to_chat(src, "<span class='warning'>Only a shadekin can use that!</span>")
to_chat(src, span_warning("Only a shadekin can use that!"))
return FALSE
if(SK.phase_gentle)
to_chat(src, "<span class='notice'>Phasing toggled to Normal. You may damage lights.</span>")
to_chat(src, span_notice("Phasing toggled to Normal. You may damage lights."))
SK.phase_gentle = 0
else
to_chat(src, "<span class='notice'>Phasing toggled to Gentle. You won't damage lights, but concentrating on that incurs a short stun.</span>")
to_chat(src, span_notice("Phasing toggled to Gentle. You won't damage lights, but concentrating on that incurs a short stun."))
SK.phase_gentle = 1
//CHOMPEdit End
@@ -23,9 +23,9 @@
var/oocnotes = 0
if(input == "Yes")
oocnotes = 1
to_chat(src, "<span class='notify'>You begin to reform. You will need to remain still.</span>")
visible_message("<span class='notify'>[src] rapidly contorts and shifts!</span>", "<span class='danger'>You begin to reform.</span>")
to_chat(src, span_notify("You begin to reform. You will need to remain still."))
visible_message(span_notify("[src] rapidly contorts and shifts!"), span_danger("You begin to reform."))
if (do_after(src, 40,exclusive = TASK_ALL_EXCLUSIVE))
if (client?.prefs)
client.prefs.vanity_copy_to(src, FALSE, flavour, oocnotes, FALSE)
visible_message("<span class='notify'>[src] adopts a new form!</span>", "<span class='danger'>You have reformed.</span>")
visible_message(span_notify("[src] adopts a new form!"), span_danger("You have reformed."))
@@ -370,7 +370,7 @@
if(target.buckled)
target.buckled.unbuckle_mob(target, force = TRUE)
target.forceMove(vore_selected)
to_chat(target,"<span class='warning'>\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!</span>")
to_chat(target,span_warning("\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!"))
update_canmove()
/mob/living/simple_mob/protean_blob/update_canmove()
@@ -392,22 +392,22 @@
if(!allowed)
return
if(refactory.add_stored_material(S.material.name,1*S.perunit) && S.use(1))
visible_message("<b>[name]</b> gloms over some of \the [S], absorbing it.")
visible_message(span_infoplain(span_bold("[name]") + " gloms over some of \the [S], absorbing it."))
else if(isitem(A) && a_intent == "grab") //CHOMP Add all this block, down to I.forceMove.
var/obj/item/I = A
if(!vore_selected)
to_chat(src,"<span class='warning'>You either don't have a belly selected, or don't have a belly!</span>")
to_chat(src,span_warning("You either don't have a belly selected, or don't have a belly!"))
return FALSE
if(is_type_in_list(I,item_vore_blacklist) || I.anchored)
to_chat(src, "<span class='warning'>You can't eat this.</span>")
to_chat(src, span_warning("You can't eat this."))
return
if(is_type_in_list(I,edible_trash) | adminbus_trash)
if(I.hidden_uplink)
to_chat(src, "<span class='warning'>You really should not be eating this.</span>")
to_chat(src, span_warning("You really should not be eating this."))
message_admins("[key_name(src)] has attempted to ingest an uplink item. ([src ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[src.x];Y=[src.y];Z=[src.z]'>JMP</a>" : "null"])")
return
visible_message("<b>[name]</b> stretches itself over the [I], engulfing it whole!")
visible_message(span_infoplain(span_bold("[name]") + " stretches itself over the [I], engulfing it whole!"))
I.forceMove(vore_selected)
else
return ..()
@@ -423,7 +423,7 @@
if(!allowed)
return
if(refactory.add_stored_material(S.material.name,1*S.perunit) && S.use(1))
visible_message("<b>[name]</b> gloms over some of \the [S], absorbing it.")
visible_message(span_infoplain(span_bold("[name]") + " gloms over some of \the [S], absorbing it."))
else
return ..()
@@ -453,9 +453,9 @@
// Helpers - Unsafe, WILL perform change.
/mob/living/carbon/human/proc/nano_intoblob(force)
if(!force && !isturf(loc) && !loc == /obj/item/rig/protean)
to_chat(src,"<span class='warning'>You can't change forms while inside something.</span>")
to_chat(src,span_warning("You can't change forms while inside something."))
return
to_chat(src, "<span class='notice'>You rapidly disassociate your form.</span>")
to_chat(src, span_notice("You rapidly disassociate your form."))
if(force || do_after(src,20,exclusive = TASK_ALL_EXCLUSIVE))
handle_grasp() //It's possible to blob out before some key parts of the life loop. This results in things getting dropped at null. TODO: Fix the code so this can be done better.
remove_micros(src, src) //Living things don't fare well in roblobs.
@@ -506,7 +506,7 @@
moveToNullspace()
//Message
blob.visible_message("<b>[src.name]</b> collapses into a gooey blob!")
blob.visible_message(span_infoplain(span_bold("[src.name]") + " collapses into a gooey blob!"))
//Duration of the to_puddle iconstate that the blob starts with
sleep(13)
@@ -536,7 +536,7 @@
//Return our blob in case someone wants it
return blob
else
to_chat(src, "<span class='warning'>You must remain still to blobform!</span>")
to_chat(src, span_warning("You must remain still to blobform!"))
//For some reason, there's no way to force drop all the mobs grabbed. This ought to fix that. And be moved elsewhere. Call with caution, doesn't handle cycles.
/proc/remove_micros(var/src, var/mob/root)
@@ -563,9 +563,9 @@
if(blob.loc == /obj/item/rig/protean)
return
if(!force && !isturf(blob.loc))
to_chat(blob,"<span class='warning'>You can't change forms while inside something.</span>")
to_chat(blob,span_warning("You can't change forms while inside something."))
return
to_chat(src, "<span class='notice'>You rapidly reassemble your form.</span>")
to_chat(src, span_notice("You rapidly reassemble your form."))
if(force || do_after(blob,20,exclusive = TASK_ALL_EXCLUSIVE))
if(buckled)
buckled.unbuckle_mob()
@@ -593,7 +593,7 @@
blob.icon_state = "from_puddle"
//Message
blob.visible_message("<b>[src.name]</b> reshapes into a humanoid appearance!")
blob.visible_message(span_infoplain(span_bold("[src.name]") + " reshapes into a humanoid appearance!"))
//Size update
resize(blob.size_multiplier, FALSE, TRUE, ignore_prefs = TRUE)
@@ -639,7 +639,7 @@
//Return ourselves in case someone wants it
return src
else
to_chat(src, "<span class='warning'>You must remain still to reshape yourself!</span>")
to_chat(src, span_warning("You must remain still to reshape yourself!"))
/mob/living/carbon/human/proc/nano_set_panel(var/client/C)
if(C)
@@ -13,20 +13,20 @@
if(temporary_form)
caller = temporary_form
if(nano_dead_check(caller))
to_chat(caller, "<span class='warning'>You need to be repaired first before you can act!</span>")
to_chat(caller, span_warning("You need to be repaired first before you can act!"))
return
if(stat)
to_chat(caller,"<span class='warning'>You must be awake and standing to perform this action!</span>")
to_chat(caller,span_warning("You must be awake and standing to perform this action!"))
return
if(!isturf(caller.loc))
to_chat(caller,"<span class='warning'>You need more space to perform this action!</span>")
to_chat(caller,span_warning("You need more space to perform this action!"))
return
var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory()
//Missing the organ that does this
if(!istype(refactory))
to_chat(caller,"<span class='warning'>You don't have a working refactory module!</span>")
to_chat(caller,span_warning("You don't have a working refactory module!"))
return
var/choice = tgui_input_list(caller,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs)
@@ -36,7 +36,7 @@
//Organ is missing, needs restoring
if(!organs_by_name[choice] || istype(organs_by_name[choice], /obj/item/organ/external/stump)) //allows limb stumps to regenerate like removed limbs.
if(refactory.get_stored_material(MAT_STEEL) < PER_LIMB_STEEL_COST)
to_chat(caller,"<span class='warning'>You're missing that limb, and need to store at least [PER_LIMB_STEEL_COST] steel to regenerate it.</span>")
to_chat(caller,span_warning("You're missing that limb, and need to store at least [PER_LIMB_STEEL_COST] steel to regenerate it."))
return
var/regen = tgui_alert(caller,"That limb is missing, do you want to regenerate it in exchange for [PER_LIMB_STEEL_COST] steel?","Regenerate limb?",list("Yes","No"))
if(regen != "Yes")
@@ -105,15 +105,15 @@
if(input == "Rebuild")
var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory()
if(refactory.get_stored_material(MAT_STEEL) >= 10000)
to_chat(caller, "<span class='notify'>You begin to rebuild. You will need to remain still.</span>")
to_chat(caller, span_notify("You begin to rebuild. You will need to remain still."))
if(do_after(caller, 400,exclusive = TASK_ALL_EXCLUSIVE))
if(species?:OurRig) //Unsafe, but we should only ever be using this with a Protean
species?:OurRig?:make_alive(src,1) //Re-using this proc
refactory.use_stored_material(MAT_STEEL,refactory.get_stored_material(MAT_STEEL)) //Use all of our steel
else
to_chat(caller, "<span class='usrdanger'>Somehow, you are missing your protean rig. You are unable to rebuild without one.</span>")
to_chat(caller, span_userdanger("Somehow, you are missing your protean rig. You are unable to rebuild without one."))
else
to_chat(caller, "<span class='warning'>You do not have enough steel stored for this operation.</span>")
to_chat(caller, span_warning("You do not have enough steel stored for this operation."))
else
input = tgui_alert(caller,{"Include Flavourtext?"},"Reassembly",list("Yes","No","Cancel"))
if(input == "Cancel" || !input)
@@ -127,14 +127,14 @@
var/oocnotes = 0
if(input == "Yes")
oocnotes = 1
to_chat(caller, "<span class='notify'>You begin to reassemble. You will need to remain still.</span>")
caller.visible_message("<span class='notify'>[caller] rapidly contorts and shifts!</span>", "<span class='danger'>You begin to reassemble.</span>")
to_chat(caller, span_notify("You begin to reassemble. You will need to remain still."))
caller.visible_message(span_notify("[caller] rapidly contorts and shifts!"), span_danger("You begin to reassemble."))
if(do_after(caller, 40,exclusive = TASK_ALL_EXCLUSIVE))
if(caller.client.prefs) //Make sure we didn't d/c
var/obj/item/rig/protean/Rig = species?:OurRig
caller.client.prefs.vanity_copy_to(src, FALSE, flavour, oocnotes, TRUE)
species?:OurRig = Rig //Get a reference to our Rig and put it back after reassembling
caller.visible_message("<span class='notify'>[caller] adopts a new form!</span>", "<span class='danger'>You have reassembled.</span>")
caller.visible_message(span_notify("[caller] adopts a new form!"), span_danger("You have reassembled."))
/mob/living/carbon/human/proc/nano_copy_body()
@@ -156,22 +156,22 @@
victim = G.affecting
if (!victim)
if (grabbing_but_not_enough)
to_chat(caller, "<span class='warning'>You need a better grip to do that!</span>")
to_chat(caller, span_warning("You need a better grip to do that!"))
else
to_chat(caller, "<span class='notice'>You need to be aggressively grabbing someone before you can copy their form.</span>")
to_chat(caller, span_notice("You need to be aggressively grabbing someone before you can copy their form."))
return
if (!istype(victim))
to_chat(caller, "<span class='warning'>You can only perform this on human mobs!</span>")
to_chat(caller, span_warning("You can only perform this on human mobs!"))
return
if (!victim.client)
to_chat(caller, "<span class='notice'>The person you try this on must have a client!</span>")
to_chat(caller, span_notice("The person you try this on must have a client!"))
return
to_chat(caller, "<span class='notice'>Waiting for other person's consent.</span>")
to_chat(caller, span_notice("Waiting for other person's consent."))
var/consent = tgui_alert(victim, "Allow [src] to copy what you look like?", "Consent", list("Yes", "No"))
if (consent != "Yes")
to_chat(caller, "<span class='notice'>They declined your request.</span>")
to_chat(caller, span_notice("They declined your request."))
return
var/input = tgui_alert(caller,{"Copy [victim]'s flavourtext?"},"Copy Form",list("Yes","No","Cancel"))
@@ -186,24 +186,24 @@
if(G.affecting == victim && G.state >= GRAB_AGGRESSIVE)
checking = TRUE
if (!checking)
to_chat(caller, "<span class='warning'>You lost your grip on [victim]!</span>")
to_chat(caller, span_warning("You lost your grip on [victim]!"))
return
to_chat(caller, "<span class='notify'>You begin to reassemble into [victim]. You will need to remain still.</span>")
caller.visible_message("<span class='notify'>[caller] rapidly contorts and shifts!</span>", "<span class='danger'>You begin to reassemble into [victim].</span>")
to_chat(caller, span_notify("You begin to reassemble into [victim]. You will need to remain still."))
caller.visible_message(span_notify("[caller] rapidly contorts and shifts!"), span_danger("You begin to reassemble into [victim]."))
if(do_after(caller, 40,exclusive = TASK_ALL_EXCLUSIVE))
checking = FALSE
for(var/obj/item/grab/G in caller)
if(G.affecting == victim && G.state >= GRAB_AGGRESSIVE)
checking = TRUE
if (!checking)
to_chat(caller, "<span class='warning'>You lost your grip on [victim]!</span>")
to_chat(caller, span_warning("You lost your grip on [victim]!"))
return
if(caller.client) //Make sure we didn't d/c
var/obj/item/rig/protean/Rig = species?:OurRig
transform_into_other_human(victim, FALSE, flavour, TRUE)
species?:OurRig = Rig //Get a reference to our Rig and put it back after reassembling
caller.visible_message("<span class='notify'>[caller] adopts the form of [victim]!</span>", "<span class='danger'>You have reassembled into [victim].</span>")
caller.visible_message(span_notify("[caller] adopts the form of [victim]!"), span_danger("You have reassembled into [victim]."))
////
// Storing metal
@@ -218,18 +218,18 @@
if(temporary_form)
caller = temporary_form
if(nano_dead_check(caller))
to_chat(caller, "<span class='warning'>You need to be repaired first before you can act!</span>")
to_chat(caller, span_warning("You need to be repaired first before you can act!"))
return
var/obj/item/organ/internal/nano/refactory/refactory = nano_get_refactory()
//Missing the organ that does this
if(!istype(refactory))
to_chat(caller,"<span class='warning'>You don't have a working refactory module!</span>")
to_chat(caller,span_warning("You don't have a working refactory module!"))
return
var/held = caller.get_active_hand()
if(!istype(held,/obj/item/stack/material))
to_chat(caller,"<span class='warning'>You aren't holding a stack of materials in your active hand!</span>")
to_chat(caller,span_warning("You aren't holding a stack of materials in your active hand!"))
return
var/obj/item/stack/material/matstack = held
@@ -238,7 +238,7 @@
for(var/material in PROTEAN_EDIBLE_MATERIALS)
if(material == substance) allowed = 1
if(!allowed)
to_chat(caller,"<span class='warning'>You can't process [substance]!</span>")
to_chat(caller,span_warning("You can't process [substance]!"))
return
var/howmuch = tgui_input_number(caller,"How much do you want to store? (0-[matstack.get_amount()])","Select amount",null,matstack.get_amount())
@@ -248,13 +248,13 @@
var/actually_added = refactory.add_stored_material(substance,howmuch*matstack.perunit)
matstack.use(CEILING((actually_added/matstack.perunit), 1))
if(actually_added && actually_added < howmuch)
to_chat(caller,"<span class='warning'>Your refactory module is now full, so only [actually_added] units were stored.</span>")
visible_message("<span class='notice'>[caller] nibbles some of the [substance] right off the stack!</span>")
to_chat(caller,span_warning("Your refactory module is now full, so only [actually_added] units were stored."))
visible_message(span_notice("[caller] nibbles some of the [substance] right off the stack!"))
else if(actually_added)
to_chat(caller,"<span class='notice'>You store [actually_added] units of [substance].</span>")
visible_message("<span class='notice'>[caller] devours some of the [substance] right off the stack!</span>")
to_chat(caller,span_notice("You store [actually_added] units of [substance]."))
visible_message(span_notice("[caller] devours some of the [substance] right off the stack!"))
else
to_chat(caller,"<span class='notice'>You're completely capped out on [substance]!</span>")
to_chat(caller,span_notice("You're completely capped out on [substance]!"))
////
// Blob Form
@@ -275,21 +275,21 @@
return
var/atom/movable/to_locate = temporary_form || src
if(!isturf(to_locate.loc) && !forced)
to_chat(to_locate,"<span class='warning'>You need more space to perform this action!</span>")
to_chat(to_locate,span_warning("You need more space to perform this action!"))
return
//Blob form
if(temporary_form)
if(temporary_form.stat)
to_chat(temporary_form,"<span class='warning'>You can only do this while not stunned.</span>")
to_chat(temporary_form,span_warning("You can only do this while not stunned."))
else
nano_outofblob(temporary_form)
//Human form
else if(stat)
to_chat(src,"<span class='warning'>You can only do this while not stunned.</span>")
to_chat(src,span_warning("You can only do this while not stunned."))
return
else if(handcuffed)
to_chat(src, "<span class='warning'>You can't do this while handcuffed!</span>")
to_chat(src, span_warning("You can't do this while handcuffed!"))
return
else
nano_intoblob()
@@ -303,7 +303,7 @@
set category = "Abilities.Protean"
if(stat)
to_chat(src,"<span class='warning'>You must be awake and standing to perform this action!</span>")
to_chat(src,span_warning("You must be awake and standing to perform this action!"))
return
var/new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", list(species?.vanity_base_fit)|species?.get_valid_shapeshifter_forms())
@@ -324,9 +324,9 @@
if(temporary_form)
caller = temporary_form
if(nano_dead_check(src))
to_chat(caller, "<span class='warning'>You need to be repaired first before you can act!</span>")
to_chat(caller, span_warning("You need to be repaired first before you can act!"))
return
to_chat(caller, "<span class='notice'>You rapidly condense into your module.</span>")
to_chat(caller, span_notice("You rapidly condense into your module."))
if(forced || do_after(caller,20,exclusive = TASK_ALL_EXCLUSIVE))
if(!temporary_form) //If you're human, force you into blob form before rig'ing
nano_blobform(forced)
@@ -353,7 +353,7 @@
P.has_hands = 1
else //We're not in our own RIG
if(P.stat || P.resting && !forced)
to_chat(P,"<span class='warning'>You can only do this while not stunned.</span>")
to_chat(P,span_warning("You can only do this while not stunned."))
else
if(P.l_hand)
P.drop_l_hand()
@@ -366,10 +366,10 @@
S.OurRig.canremove = 1
P.reset_view()
else //Make one if not
to_chat(temporary_form, "<span class='warning'>Somehow, your RIG got disconnected from your species. This may have been caused by an admin heal. A new one has been created for you, contact a coder.</span>")
to_chat(temporary_form, span_warning("Somehow, your RIG got disconnected from your species. This may have been caused by an admin heal. A new one has been created for you, contact a coder."))
new /obj/item/rig/protean(src,src)
else
to_chat(caller, "<span class='warning'>You must remain still to condense!</span>")
to_chat(caller, span_warning("You must remain still to condense!"))
/mob/living/carbon/human/proc/appearance_switch()
set name = "Switch Blob Appearance"
@@ -556,9 +556,9 @@
target = S.OurRig.wearer
if(target)
target.drop_from_inventory(S.OurRig)
to_chat(caller, "<span class='notice'>You detach from your host.</span>")
to_chat(caller, span_notice("You detach from your host."))
else
to_chat(caller, "<span class='warning'>You aren't being worn, dummy.</span>")
to_chat(caller, span_warning("You aren't being worn, dummy."))
return
var/obj/held_item = caller.get_active_hand()
if(istype(held_item,/obj/item/grab))
@@ -566,14 +566,14 @@
if(istype(G.affecting, /mob/living/carbon/human))
target = G.affecting
if(istype(target.species, /datum/species/protean))
to_chat(caller, "<span class='danger'>You can't latch onto a fellow Protean!</span>")
to_chat(caller, span_danger("You can't latch onto a fellow Protean!"))
return
if(G.loc == caller && G.state >= GRAB_AGGRESSIVE)
caller.visible_message("<span class='warning'>[caller] is attempting to latch onto [target]!</span>", "<span class='danger'>You attempt to latch onto [target]!</span>")
caller.visible_message(span_warning("[caller] is attempting to latch onto [target]!"), span_danger("You attempt to latch onto [target]!"))
if(do_after(caller, 50, target,exclusive = TASK_ALL_EXCLUSIVE))
if(G.loc == caller && G.state >= GRAB_AGGRESSIVE)
target.drop_from_inventory(target.back)
caller.visible_message("<span class='danger'>[caller] latched onto [target]!</span>", "<span class='danger'>You latch yourself onto [target]!</span>")
caller.visible_message(span_danger("[caller] latched onto [target]!"), span_danger("You latch yourself onto [target]!"))
target.Weaken(3)
nano_rig_transform(1)
spawn(5) //Have to give time for the above proc to resolve
@@ -583,11 +583,11 @@
spawn(1) //Same here :(
S.OurRig.wearer = target
else
to_chat(caller, "<span class='warning'>You need a more aggressive grab to do this!</span>")
to_chat(caller, span_warning("You need a more aggressive grab to do this!"))
else
to_chat(caller, "<span class='warning'>You can only latch onto humanoid mobs!</span>")
to_chat(caller, span_warning("You can only latch onto humanoid mobs!"))
else
to_chat(caller, "<span class='warning'>You need to be grabbing a humanoid mob aggressively to latch onto them.</span>")
to_chat(caller, span_warning("You need to be grabbing a humanoid mob aggressively to latch onto them."))
/// /// /// A helper to reuse
/mob/living/proc/nano_get_refactory(obj/item/organ/internal/nano/refactory/R)
@@ -634,7 +634,7 @@
var/opts = clickprops["shift"]
if(opts)
to_chat(usr,"<span class='notice'><b>[ability_name]</b> - [desc]</span>")
to_chat(usr,span_notice(span_bold("[ability_name]") + " - [desc]"))
else
//Humanform using it
if(ishuman(usr))
@@ -716,7 +716,7 @@
if(proteanlimbs.organ_tag == BP_HEAD)
continue
proteanlimbs.transparent = !proteanlimbs.transparent
visible_message("<span class='notice'>\The [src]'s internal composition seems to change.</span>")
visible_message(span_notice("\The [src]'s internal composition seems to change."))
update_icons_body()
update_hair()
@@ -736,7 +736,7 @@
for(var/obj/item/organ/external/proteanlimbs as anything in src.organs)
proteanlimbs.transparent = !proteanlimbs.transparent
visible_message("<span class='notice'>\The [src]'s internal composition seems to change.</span>")
visible_message(span_notice("\The [src]'s internal composition seems to change."))
update_icons_body()
update_hair()
@@ -53,7 +53,7 @@
addtimer(CALLBACK(src, PROC_REF(AssimilateBag), P, 1, P.back), 3)
myprotean = P
else
to_chat(P, "<span class='notice'>You should have spawned with a backpack to assimilate into your RIG. Try clicking it with a backpack.</span>")
to_chat(P, span_notice("You should have spawned with a backpack to assimilate into your RIG. Try clicking it with a backpack."))
..(newloc)
/obj/item/rig/protean/Destroy()
@@ -75,12 +75,12 @@
B.forceMove(src)
rig_storage = B
P.drop_item(B)
to_chat(P, "<span class='notice'>[B] has been integrated into the [src].</span>")
to_chat(P, span_notice("[B] has been integrated into the [src]."))
if(spawned) //This feels very dumb to have a second if but I'm lazy
P.equip_to_slot_if_possible(src, slot_back)
src.Moved()
else
to_chat(P,"<span class ='warning'>Your rigsuit can only assimilate a backpack into itself. If you are seeing this message, and you do not have a rigsuit, tell a coder.</span>")
to_chat(P,span_warning("Your rigsuit can only assimilate a backpack into itself. If you are seeing this message, and you do not have a rigsuit, tell a coder."))
/obj/item/rig/protean/verb/RemoveBag()
set name = "Remove Stored Bag"
@@ -243,14 +243,14 @@
if(W.is_screwdriver())
playsound(src, W.usesound, 50, 1)
if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE))
to_chat(user, "<span class='notice'>You unscrew the maintenace panel on the [src].</span>")
to_chat(user, span_notice("You unscrew the maintenace panel on the [src]."))
dead +=1
return
if(2)
if(istype(W, /obj/item/protean_reboot))//placeholder
if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE))
playsound(src, 'sound/items/Deconstruct.ogg', 50, 1)
to_chat(user, "<span class='notice'>You carefully slot [W] in the [src].</span>")
to_chat(user, span_notice("You carefully slot [W] in the [src]."))
dead +=1
qdel(W)
return
@@ -258,14 +258,14 @@
if(istype(W, /obj/item/stack/nanopaste))
if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE))
playsound(src, 'sound/effects/ointment.ogg', 50, 1)
to_chat(user, "<span class='notice'>You slather the interior confines of the [src] with the [W].</span>")
to_chat(user, span_notice("You slather the interior confines of the [src] with the [W]."))
dead +=1
W?:use(1)
return
if(4)
if(istype(W, /obj/item/shockpaddles))
if(W?:can_use(user))
to_chat(user, "<span class='notice'>You hook up the [W] to the contact points in the maintenance assembly</span>")
to_chat(user, span_notice("You hook up the [W] to the contact points in the maintenance assembly"))
if(do_after(user,50,src,exclusive = TASK_ALL_EXCLUSIVE))
playsound(src, 'sound/machines/defib_charge.ogg', 50, 0)
if(do_after(user,10,src))
@@ -398,7 +398,7 @@
var/datum/species/protean/S
S = H.species
S.pseudodead = 0
to_chat(myprotean, "<span class='notice'>You have finished reconstituting.</span>")
to_chat(myprotean, span_notice("You have finished reconstituting."))
playsound(src.loc, 'sound/machines/ding.ogg', 50, 1)
dead = 0
@@ -413,7 +413,7 @@
/obj/item/rig/protean/force_rest(var/mob/user)
wearer.lay_down()
to_chat(user, "<span class='notice'>\The [wearer] is now [wearer.resting ? "resting" : "getting up"].</span>")
to_chat(user, span_notice("\The [wearer] is now [wearer.resting ? "resting" : "getting up"]."))
/obj/item/cell/protean
name = "Protean power cell"
@@ -456,11 +456,11 @@
return 0 //We don't do that here.
if(offline || !cell || !cell.charge || locked_down)
if(user)
to_chat(user, "<span class='warning'>Your host rig is unpowered and unresponsive.</span>")
to_chat(user, span_warning("Your host rig is unpowered and unresponsive."))
return 0
if(!wearer || (wearer.back != src && wearer.belt != src))
if(user)
to_chat(user, "<span class='warning'>Your host rig is not being worn.</span>")
to_chat(user, span_warning("Your host rig is not being worn."))
return 0
return 1
@@ -495,9 +495,9 @@
if(!R || assimilated_rig)
return
if(istype(R, /obj/item/rig/protean))
to_chat(user, "<span class='warning'>The world is not ready for such a technological singularity.</span>")
to_chat(user, span_warning("The world is not ready for such a technological singularity."))
return
to_chat(user, "<span class='notice'>You assimilate the [R] into the [src]. Mimicking its stats and appearance.</span>")
to_chat(user, span_notice("You assimilate the [R] into the [src]. Mimicking its stats and appearance."))
for(var/obj/item/piece in list(gloves,helmet,boots,chest))
piece.armor = R.armor.Copy()
piece.max_pressure_protection = R.max_pressure_protection
@@ -96,7 +96,7 @@ So here it sits, snowflake code for a single item.
toggle_cooling(wearer)
. = TRUE
if("toggle_ai_control")
to_chat(usr, "<span class='notice'>Proteans cannot be AI controlled.</span>")
to_chat(usr, span_notice("Proteans cannot be AI controlled."))
. = TRUE
if("toggle_suit_lock")
locked = !locked
@@ -125,4 +125,4 @@ So here it sits, snowflake code for a single item.
if("select_charge_type")
module.charge_selected = params["charge_type"]
. = TRUE
*/
*/
@@ -3,7 +3,7 @@
name = SPECIES_PROTEAN
name_plural = "Proteans"
blurb = "Sometimes very advanced civilizations will produce the ability to swap into manufactured, robotic bodies. And sometimes \
<i>VERY</i> advanced civilizations have the option of 'nanoswarm' bodies. Effectively a single robot body comprised \
" + span_italics("VERY") + " advanced civilizations have the option of 'nanoswarm' bodies. Effectively a single robot body comprised \
of millions of tiny nanites working in concert to maintain cohesion."
show_ssd = "totally quiescent"
death_message = "rapidly loses cohesion, retreating into their hardened control module..."
@@ -246,8 +246,8 @@
if(H.temporary_form)
temp = H.temporary_form
playsound(temp, 'modular_chomp/sound/voice/borg_deathsound.ogg', 50, 1)
temp.visible_message("<b>[temp.name]</b> shudders and retreats inwards, coalescing into a single core componant!")
to_chat(temp, "<span class='warning'>You've died as a Protean! While dead, you will be locked to your core RIG control module until you can be repaired. Instructions to your revival can be found in the Examine tab when examining your module.</span>")
temp.visible_message(span_bold("[temp.name]") + " shudders and retreats inwards, coalescing into a single core componant!")
to_chat(temp, span_warning("You've died as a Protean! While dead, you will be locked to your core RIG control module until you can be repaired. Instructions to your revival can be found in the Examine tab when examining your module."))
if(H.temporary_form)
if(!istype(H.temporary_form.loc, /obj/item/rig/protean))
H.nano_rig_transform(1)
@@ -347,8 +347,8 @@ CHOMP Station removal end*/
name = "Protean Effect - M.Hydrogen"
desc = "You're affected by the presence of metallic hydrogen."
on_created_text = "<span class='notice'>You feel yourself accelerate, the metallic hydrogen increasing your speed temporarily.</span>"
on_expired_text = "<span class='notice'>Your refactory finishes consuming the metallic hydrogen, and you return to normal speed.</span>"
on_created_text = span_notice("You feel yourself accelerate, the metallic hydrogen increasing your speed temporarily.")
on_expired_text = span_notice("Your refactory finishes consuming the metallic hydrogen, and you return to normal speed.")
material_name = MAT_METALHYDROGEN
@@ -358,8 +358,8 @@ CHOMP Station removal end*/
name = "Protean Effect - Uranium"
desc = "You're affected by the presence of uranium."
on_created_text = "<span class='notice'>You feel yourself become nearly impervious to physical attacks as uranium is incorporated in your nanites.</span>"
on_expired_text = "<span class='notice'>Your refactory finishes consuming the uranium, and you return to your normal nanites.</span>"
on_created_text = span_notice("You feel yourself become nearly impervious to physical attacks as uranium is incorporated in your nanites.")
on_expired_text = span_notice("Your refactory finishes consuming the uranium, and you return to your normal nanites.")
material_name = MAT_URANIUM
@@ -369,8 +369,8 @@ CHOMP Station removal end*/
name = "Protean Effect - Gold"
desc = "You're affected by the presence of gold."
on_created_text = "<span class='notice'>You feel yourself become more reflective, able to resist heat and fire better for a time.</span>"
on_expired_text = "<span class='notice'>Your refactory finishes consuming the gold, and you return to your normal nanites.</span>"
on_created_text = span_notice("You feel yourself become more reflective, able to resist heat and fire better for a time.")
on_expired_text = span_notice("Your refactory finishes consuming the gold, and you return to your normal nanites.")
material_name = MAT_GOLD
@@ -380,8 +380,8 @@ CHOMP Station removal end*/
name = "Protean Effect - Silver"
desc = "You're affected by the presence of silver."
on_created_text = "<span class='notice'>Your physical control is improved for a time, making it easier to hit targets, and avoid being hit.</span>"
on_expired_text = "<span class='notice'>Your refactory finishes consuming the silver, and your motor control returns to normal.</span>"
on_created_text = span_notice("Your physical control is improved for a time, making it easier to hit targets, and avoid being hit.")
on_expired_text = span_notice("Your refactory finishes consuming the silver, and your motor control returns to normal.")
material_name = MAT_SILVER
@@ -393,8 +393,8 @@ CHOMP Removal end*/
name = "Protean Effect - Steel"
desc = "You're affected by the presence of steel."
on_created_text = "<span class='notice'>You feel new nanites being produced from your stockpile of steel, healing you slowly.</span>"
on_expired_text = "<span class='notice'>Your steel supply has either run out, or is no longer needed, and your healing stops.</span>"
on_created_text = span_notice("You feel new nanites being produced from your stockpile of steel, healing you slowly.")
on_expired_text = span_notice("Your steel supply has either run out, or is no longer needed, and your healing stops.")
material_name = MAT_STEEL
@@ -179,7 +179,7 @@
if(I.damage > 0)
I.damage = max(I.damage - heal_rate, 0)
if (prob(5))
to_chat(H, "<span class='alien'>We feel a soothing sensation within our [I.parent_organ]...</span>")
to_chat(H, span_alien("We feel a soothing sensation within our [I.parent_organ]..."))
return 1
// Next, heal external damage.
@@ -189,7 +189,7 @@
H.adjustOxyLoss(-heal_rate)
H.adjustToxLoss(-heal_rate)
if (prob(5))
to_chat(H, "<span class='alien'>A soothing sensation falls over us...</span>")
to_chat(H, span_alien("A soothing sensation falls over us..."))
return 1
// Lastly, mend broken bones. May remove this if it's abused.
@@ -197,7 +197,7 @@
if (E.status & ORGAN_BROKEN)
if (prob(mend_prob))
if (E.mend_fracture())
to_chat(H, "<span class='alien'>We feel something mend within our [E.name].</span>")
to_chat(H, span_alien("We feel something mend within our [E.name]."))
return 1
return 0
@@ -212,7 +212,7 @@
set category = "Abilities.Alien"
if(check_alien_ability(150,1,O_RESIN))
visible_message("<span class='alium'><B>[src] has planted some alien weeds!</B></span>")
visible_message(span_alium(span_bold("[src] has planted some alien weeds!")))
new /obj/effect/alien/weeds/node/weak(get_turf(src), null, "#321D37") // Aliens.dm for weed node origin.
playsound(src, 'sound/effects/blobattack.ogg', 40, 1)
return
@@ -223,7 +223,7 @@
var/obj/item/organ/internal/xenos/plasmavessel/I = M.internal_organs_by_name[O_PLASMA]
if(!istype(I))
to_chat(src, "<span class='alium'>Our plasma vessel is missing!</span>")
to_chat(src, span_alium("Our plasma vessel is missing!"))
return
to_chat(src, "Our plasma reserves are at [I.stored_plasma]/[I.max_plasma].")
@@ -273,7 +273,7 @@
else O = new /obj/item/stack/material/resin(targetLoc)
if(O)
visible_message("<span class='warning'><B>[src] vomits up a thick purple substance and begins to shape it!</B></span>", "<span class='alium'>You shape a [choice].</span>")
visible_message(span_warning(span_bold("[src] vomits up a thick purple substance and begins to shape it!")), span_alium("You shape a [choice]."))
// O.color = "#321D37" // Adding predefined colour icons.
playsound(src, 'sound/effects/blobattack.ogg', 40, 1)
@@ -116,7 +116,7 @@ Maybe later, gotta figure out a way to click yourself when in a locker etc.
add_verb(new_mob,/mob/living/proc/shapeshift_form) //CHOMPEdit TGPanel
new_mob.tf_form = src
new_mob.forceMove(src.loc)
visible_message("<span class='warning'>[src] twists and contorts, shapeshifting into a different form!</span>")
visible_message(span_warning("[src] twists and contorts, shapeshifting into a different form!"))
if(new_mob.ckey)
new_mob.tf_form_ckey = new_mob.ckey
else
@@ -184,7 +184,7 @@ Maybe later, gotta figure out a way to click yourself when in a locker etc.
set category = "Abilities.Shapeshift"
set desc = "Shape shift between set mob forms. (Requires a spawned mob to be varedited into the user's tf_form var as mob reference.)"
if(!istype(tf_form))
to_chat(src, "<span class='notice'>No shapeshift form set. (Requires a spawned mob to be varedited into the user's tf_form var as mob reference.)</span>")
to_chat(src, span_notice("No shapeshift form set. (Requires a spawned mob to be varedited into the user's tf_form var as mob reference.)"))
return
else
transform_into_mob(tf_form, TRUE, TRUE, TRUE)
@@ -204,7 +204,7 @@ Maybe later, gotta figure out a way to click yourself when in a locker etc.
new_metadata = ""
ooc_notes_favs = new_metadata
client.prefs.metadata_favs = new_metadata
to_chat(user, "<span class='filter_notice'>OOC note favs have been updated. Don't forget to save!</span>")
to_chat(user, span_filter_notice("OOC note favs have been updated. Don't forget to save!"))
log_admin("[key_name(user)] updated their OOC note favs mid-round.")
if(reopen)
ooc_notes_window(user)
@@ -218,7 +218,7 @@ Maybe later, gotta figure out a way to click yourself when in a locker etc.
new_metadata = ""
ooc_notes_maybes = new_metadata
client.prefs.metadata_maybes = new_metadata
to_chat(user, "<span class='filter_notice'>OOC note maybes have been updated. Don't forget to save!</span>")
to_chat(user, span_filter_notice("OOC note maybes have been updated. Don't forget to save!"))
log_admin("[key_name(user)] updated their OOC note maybes mid-round.")
if(reopen)
ooc_notes_window(user)
@@ -112,7 +112,7 @@
if(style)
dat += {"<div class='row'><div class='column'>"}
if(favs || user == src)
dat += {"<div class="collapsible"><b><center>Favourites</center></b></div>"}
dat += "<div class=\"collapsible\">" + span_bold("<center>Favourites</center>") + "</div>"
if(user == src)
dat += {"
<table>
@@ -132,7 +132,7 @@
dat += {"</div>"}
dat += {"<div class='column'>"}
if(likes || user == src)
dat += {"<div class="collapsible_a"><b><center>Likes</center></b></div>"}
dat += "<div class=\"collapsible_a\">" + span_bold("<center>Likes</center>") + "</div>"
if(user == src)
dat += {"
<table>
@@ -152,7 +152,7 @@
dat += {"</div>"}
dat += {"<div class='column'>"}
if(maybes || user == src)
dat += {"<div class="collapsible_b"><b><center>Maybes</center></b></div>"}
dat += "<div class=\"collapsible_b\">" + span_bold("<center>Maybes</center>") + "</div>"
if(user == src)
dat += {"
<table>
@@ -174,7 +174,7 @@
dat += {"</div>"}
dat += {"<div class='column'>"}
if(dislikes || user == src)
dat += {"<div class="collapsible_c"><b><center>Dislikes</center></b></div>"}
dat += "<div class=\"collapsible_c\">" + span_bold("<center>Dislikes</center>") + "</div>"
if(user == src)
dat += {"
<table>
@@ -2,9 +2,9 @@
. = ..()
if(Adjacent(user))
if(water.energy)
. += "<span class='notice'>[src] is wet. Just like it should be.</span>"
. += span_notice("[src] is wet. Just like it should be.")
if(water.energy < 5)
. += "<span class='notice'>[src] is dry.</span>"
. += span_notice("[src] is dry.")
/obj/item/gun/energy/taser/mounted/cyborg/flare
name = "flare gun"
@@ -15,7 +15,7 @@
if (stat != CONSCIOUS || nutrition <= 1000)
return
nutrition = 1000
to_chat(src, "<span class='warning'>You have purged most of the nutrition lingering in your systems.</span>")
to_chat(src, span_warning("You have purged most of the nutrition lingering in your systems."))
return TRUE
/mob/living/silicon/robot/proc/ex_reserve_refill()
@@ -30,9 +30,9 @@
amount = water.energy
water.use_charge(amount)
E.reagents.add_reagent("water", amount)
to_chat(src, "<span class='filter_notice'>You refill the extinguisher using your water reserves.</span>")
to_chat(src, span_filter_notice("You refill the extinguisher using your water reserves."))
else
to_chat(src, "<span class='filter_notice'>Insufficient water reserves.</span>")
to_chat(src, span_filter_notice("Insufficient water reserves."))
/mob/living/silicon/robot/proc/reset_belly_lights(var/b_class)
if(sprite_datum.belly_light_list.len && sprite_datum.belly_light_list.Find(b_class))
@@ -379,7 +379,7 @@
L.adjustFireLoss(damage_done)
return
else
to_chat(src,"<span class='notice'>Your stomach bounces off of the victim's armor!</span>")
to_chat(src,span_notice("Your stomach bounces off of the victim's armor!"))
return
return //If stomach is distended, return here to perform no forcefeeding or poison injecton.
@@ -398,7 +398,7 @@
var/target_zone = pick(BP_TORSO,BP_TORSO,BP_TORSO,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_HEAD)
if(L.can_inject(src, null, target_zone))
if(prob(poison_chance))
to_chat(L, "<span class='warning'>You feel a strange substance on you.</span>")
to_chat(L, span_warning("You feel a strange substance on you."))
L.reagents.add_reagent(poison_type, poison_per_bite)
@@ -435,7 +435,7 @@
/mob/living/simple_mob/animal/synx/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay) //Synx can only eat people if their organs are on the inside.
if(stomach_distended)
to_chat(src,"<span class='notice'>You can't eat people without your stomach inside of you!</span>")
to_chat(src,span_notice("You can't eat people without your stomach inside of you!"))
return
else
..()
@@ -455,12 +455,12 @@
if(status_flags & HIDING)
status_flags &= ~HIDING
reset_plane_and_layer()
to_chat(src,"<span class='notice'>You have stopped hiding.</span>")
to_chat(src,span_notice("You have stopped hiding."))
else
status_flags |= HIDING
layer = HIDING_LAYER //Just above cables with their 2.44
plane = OBJ_PLANE
to_chat(src,"<span class='notice'>You are now hiding.</span>")
to_chat(src,span_notice("You are now hiding."))
update_icons()
@@ -475,14 +475,14 @@
// If transform isn't true
if(stomach_distended)
to_chat(src,"<span class='warning'>You can't disguise with your stomach outside of your body!</span>")
to_chat(src,span_warning("You can't disguise with your stomach outside of your body!"))
return
if(!transformed)
to_chat(src,"<span class='warning'>Now they see your true form.</span>")
to_chat(src,span_warning("Now they see your true form."))
icon_living = transformed_state //Switch state to transformed state
movement_cooldown = 3
else // If transformed is true.
to_chat(src,"<span class='warning'>You changed back into your disguise.</span>")
to_chat(src,span_warning("You changed back into your disguise."))
icon_living = initial(icon_living) //Switch state to what it was originally defined.
movement_cooldown = 6
@@ -497,7 +497,7 @@
if(speak && voices)
handle_mimic()
else
usr << "<span class='warning'>YOU NEED TO HEAR THINGS FIRST, try using Ventcrawl to eevesdrop on nerds.</span>"
usr << span_warning("YOU NEED TO HEAR THINGS FIRST, try using Ventcrawl to eevesdrop on nerds.")
/mob/living/simple_mob/animal/synx/proc/handle_mimic()
name = pick(voices)
@@ -517,24 +517,24 @@
set category = "Abilities.Synx"
if(incapacitated())
to_chat(src, "<span class='warning'>You need to recover before you can use this ability.</span>")
to_chat(src, span_warning("You need to recover before you can use this ability."))
return
if(world.time < next_sonar_ping)
to_chat(src, "<span class='warning'>You need another moment to focus.</span>")
to_chat(src, span_warning("You need another moment to focus."))
return
if(is_deaf() || is_below_sound_pressure(get_turf(src)))
to_chat(src, "<span class='warning'>You are for all intents and purposes currently deaf!</span>")
to_chat(src, span_warning("You are for all intents and purposes currently deaf!"))
return
next_sonar_ping += 10 SECONDS
var/heard_something = FALSE
to_chat(src, "<span class='notice'>You take a moment to listen in to your environment...</span>")
to_chat(src, span_notice("You take a moment to listen in to your environment..."))
for(var/mob/living/L in range(client.view, src))
var/turf/T = get_turf(L)
if(!T || L == src || L.stat == DEAD || is_below_sound_pressure(T))
continue
heard_something = TRUE
var/feedback = list()
feedback += "<span class='notice'>There are noises of movement "
feedback += "There are noises of movement "
var/direction = get_dir(src, L)
if(direction)
feedback += "towards the [dir2text(direction)], "
@@ -551,10 +551,9 @@
feedback += "far away."
else // No need to check distance if they're standing right on-top of us
feedback += "right on top of you."
feedback += "</span>"
to_chat(src,jointext(feedback,null))
to_chat(src,span_notice(jointext(feedback,null)))
if(!heard_something)
to_chat(src, "<span class='notice'>You hear no movement but your own.</span>")
to_chat(src, span_notice("You hear no movement but your own."))
@@ -566,12 +565,12 @@
set category = "Abilities.Synx"
if(transformed)
to_chat(src,"<span class='warning'>Your limbs are in the way!</span>") //Kind of a weak excuse but since you already can't transform when your stomach is out, this avoids situations calling a sprite that doesn't exist and lightens my workload on making and implementing them
to_chat(src,span_warning("Your limbs are in the way!")) //Kind of a weak excuse but since you already can't transform when your stomach is out, this avoids situations calling a sprite that doesn't exist and lightens my workload on making and implementing them
return
if(!stomach_distended && !transformed) //true if stomach distended is null, 0, or ""
stomach_distended = !stomach_distended //switch statement
to_chat (src, "<span class='notice'>You disgorge your stomach, spilling its contents!</span>")
to_chat (src, span_notice("You disgorge your stomach, spilling its contents!"))
melee_damage_lower = 1 //Hopefully this will make all brute damage not apply while stomach is distended. I don't see a better way to do this.
melee_damage_upper = 1
icon_living = stomach_distended_state
@@ -589,7 +588,7 @@
if(stomach_distended) //If our stomach has been vomitted
stomach_distended = !stomach_distended
to_chat (src, "<span class='notice'>You swallow your insides!</span>")
to_chat (src, span_notice("You swallow your insides!"))
melee_damage_lower = SYNX_LOWER_DAMAGE //This is why I'm using a define
melee_damage_upper = SYNX_UPPER_DAMAGE
icon_living = initial(icon_living)
@@ -781,13 +780,13 @@
//HOLOSEEDSPAWNCODE
/mob/living/simple_mob/animal/synx/ai/pet/holo/death()
..()
visible_message("<span class='notice'>\The [src] fades away!</span>")
visible_message(span_notice("\The [src] fades away!"))
var/location = get_turf(src)
new /obj/item/seeds/hardlightseed/typesx(location)
qdel(src)
/mob/living/simple_mob/animal/synx/ai/pet/holo/gib()
visible_message("<span class='notice'>\The [src] fades away!</span>")
visible_message(span_notice("\The [src] fades away!"))
var/location = get_turf(src)
new /obj/item/seeds/hardlightseed/typesx(location)
qdel(src)
@@ -26,15 +26,15 @@
set category = "Abilities.Vore"
if(!vore_icons && !vore_icons_cache)
to_chat(src,"<span class='warning'>This simplemob has no vore sprite.</span>")
to_chat(src,span_warning("This simplemob has no vore sprite."))
else if(isnull(vore_icons_cache))
vore_icons_cache = vore_icons
vore_icons = 0
to_chat(src,"<span class='warning'>Vore sprite disabled.</span>")
to_chat(src,span_warning("Vore sprite disabled."))
else
vore_icons = vore_icons_cache
vore_icons_cache = null
to_chat(src,"<span class='warning'>Vore sprite enabled.</span>")
to_chat(src,span_warning("Vore sprite enabled."))
update_icon()
@@ -44,7 +44,7 @@
set category = "IC.Mob"
if(stat)
to_chat(src, "<span class='warning'>You must be awake and standing to perform this action!</span>")
to_chat(src, span_warning("You must be awake and standing to perform this action!"))
return
speech_sound_enabled = !speech_sound_enabled
@@ -109,7 +109,7 @@
if(istype(mob_radio, /obj/item/radio/headset))
mob_radio.tgui_interact(src)
else
to_chat(src, "<span class='warning'>Your mob does not have a radio in its radio slot.</span>")
to_chat(src, span_warning("Your mob does not have a radio in its radio slot."))
/mob/living/simple_mob/proc/use_pda()
set name = "Use PDA"
@@ -119,7 +119,7 @@
if(istype(myid, /obj/item/pda))
myid.tgui_interact(src)
else
to_chat(src, "<span class='warning'>Your mob does not have a PDA in its ID slot.</span>")
to_chat(src, span_warning("Your mob does not have a PDA in its ID slot."))
/mob/living/simple_mob/New(var/newloc)
..()
@@ -111,10 +111,10 @@
set category = "Abilities.Mob"
if(pouncing)
to_chat(src, "<span class='notice'>Pouncing toggled off.</span>")
to_chat(src, span_notice("Pouncing toggled off."))
pouncing = 0
else
to_chat(src, "<span class='notice'>Pouncing toggled on! DoubleClick somewhere to pounce there.</span>")
to_chat(src, span_notice("Pouncing toggled on! DoubleClick somewhere to pounce there."))
pouncing = 1
update_icon()
@@ -162,9 +162,9 @@
if(!foundpm)
pass_flags &= ~PASSMOB
else
to_chat(src, "<span class='warning'>Pouncing blind isn't wise!</span>")
to_chat(src, span_warning("Pouncing blind isn't wise!"))
else
to_chat(src, "<span class='warning'>You can't do that right now!</span>")
to_chat(src, span_warning("You can't do that right now!"))
// some sanity incase the callback didn't fire for some reason
if(status_flags & LEAPING)
status_flags &= ~LEAPING
@@ -227,7 +227,7 @@
return
if((spit_last + spit_delay) > world.time) //To prevent YATATATATATAT spitting.
to_chat(src, "<span class='warning'>You have not yet prepared your chemical glands. You must wait before spitting again.</span>")
to_chat(src, span_warning("You have not yet prepared your chemical glands. You must wait before spitting again."))
return
else
spit_last = world.time
@@ -238,7 +238,7 @@
update_icon()
return
else if(spitting)
//visible_message("<span class='warning'>[src] spits [spit_name] at \the [A]!</span>", "<span class='alium'>You spit [spit_name] at \the [A].</span>")
//visible_message(span_warning("[src] spits [spit_name] at \the [A]!"), span_alium("You spit [spit_name] at \the [A]."))
var/obj/item/projectile/P = new spit_projectile(get_turf(src))
P.firer = src
P.old_style_target(A)
@@ -251,12 +251,12 @@
set category = "Abilities.Mob"
if(spitting)
to_chat(src, "<span class='notice'>You stop preparing to spit.</span>")
to_chat(src, span_notice("You stop preparing to spit."))
spitting = 0
else
spitting = 1
spit_projectile = /obj/item/projectile/energy/neurotoxin
to_chat(src, "<span class='notice'>You prepare to spit neurotoxin.</span>")
to_chat(src, span_notice("You prepare to spit neurotoxin."))
update_icon()
/mob/living/simple_mob/proc/acidspit()
@@ -265,12 +265,12 @@
set category = "Abilities.Mob"
if(spitting)
to_chat(src, "<span class='notice'>You stop preparing to spit.</span>")
to_chat(src, span_notice("You stop preparing to spit."))
spitting = 0
else
spitting = 1
spit_projectile = /obj/item/projectile/energy/acid
to_chat(src, "<span class='notice'>You prepare to spit acid.</span>")
to_chat(src, span_notice("You prepare to spit acid."))
update_icon()
/mob/living/simple_mob/proc/corrosive_acid(O as obj|turf in oview(1)) //If they right click to corrode, an error will flash if its an invalid target./N
@@ -279,7 +279,7 @@
set category = "Abilities.Mob"
if(!(O in oview(1)))
to_chat(src, "<span class='notice'>[O] is too far away.</span>")
to_chat(src, span_notice("[O] is too far away."))
return
// OBJ CHECK
@@ -301,11 +301,11 @@
cannot_melt = 1 //Gurgs : Everything that isn't a object, simulated wall, or simulated floor is assumed to be acid immune. Includes weird things like unsimulated floors and space.
if(cannot_melt)
to_chat(src, "<span class='notice'>You cannot dissolve this object.</span>")
to_chat(src, span_notice("You cannot dissolve this object."))
return
new /obj/effect/alien/acid(get_turf(O), O)
visible_message("<span class='alium'><B>[src] vomits globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!</B></span>")
visible_message(span_alium(span_bold("[src] vomits globs of vile stuff all over [O]. It begins to sizzle and melt under the bubbling mess of acid!")))
return
@@ -316,7 +316,7 @@
set category = "Abilities.Mob"
if(world.time < speen_last)
to_chat(src, "<span class='warning'>You cannot spin again so soon.</span>")
to_chat(src, span_warning("You cannot spin again so soon."))
return
speen_last = world.time + speen_delay
@@ -344,6 +344,6 @@
M.Weaken(1.5)
if(!gentle)
M.adjustBruteLoss(damage)
to_chat(M, "<span class='userdanger'>You're thrown back by [src]!</span>")
to_chat(M, span_userdanger("You're thrown back by [src]!"))
playsound(src, get_sfx("punch"), 50, 1)
AM.throw_at(throwtarget, maxthrow, 3, src)
@@ -254,7 +254,7 @@ ANT STRUCTURES
L.visible_message(
span_danger("[L] steps in \the [src]."),
span_danger("You step in \the [src]!"),
"<b>You hear a strange rustling!</b>"
span_hear(span_bold("You hear a strange rustling!"))
)
attack_mob(L)
update_icon()
@@ -87,8 +87,8 @@
desc = "Can you even see this in game?"
mob_overlay_state = "cult_aura"
on_created_text = "<span class='warning'>You feel incrediably vulnerable.</span>"
on_expired_text = "<span class='notice'>You feel better.</span>"
on_created_text = span_warning("You feel incrediably vulnerable.")
on_expired_text = span_notice("You feel better.")
stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot.
incoming_damage_percent = 2 // Adjusts all incoming damage.
incoming_brute_damage_percent = 2 // Only affects bruteloss.
@@ -571,8 +571,8 @@
/datum/modifier/bossbuff
name = "boss_buff"
on_created_text = "<span class='critical'>You feel an intense and overwhelming rage overtake you as you go berserk!</span>"
on_expired_text = "<span class='notice'>The blaze of rage inside you has ran out.</span>"
on_created_text = span_critical("You feel an intense and overwhelming rage overtake you as you go berserk!")
on_expired_text = span_notice("The blaze of rage inside you has ran out.")
stacks = MODIFIER_STACK_EXTEND
disable_duration_percent = 0
@@ -587,8 +587,8 @@
aura_max_distance = 28
on_created_text = "<span class='critical'>You feel like you're falling into ruin!</span>"
on_expired_text = "<span class='notice'>The ruin feeling is gone.</span>"
on_created_text = span_critical("You feel like you're falling into ruin!")
on_expired_text = span_notice("The ruin feeling is gone.")
stacks = MODIFIER_STACK_EXTEND
/datum/modifier/aura/despair/tick()
@@ -26,8 +26,8 @@
var/armorcheck = run_armor_check(null, P.check_armour)
var/soakedcheck = get_armor_soak(null, P.check_armour)
if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)))
visible_message("<span class='danger'>The [P.name] bounces off of [src]'s shield!</span>", \
"<span class='userdanger'>The [P.name] bounces off of [src]'s shield!</span>")
visible_message(span_danger("The [P.name] bounces off of [src]'s shield!"), \
span_userdanger("The [P.name] bounces off of [src]'s shield!"))
new /obj/item/material/shard/shrapnel(src.loc)
if(!(P.damage_type == BRUTE || P.damage_type == BURN))
projectile_dam_type = BRUTE
@@ -35,8 +35,8 @@
apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P)
return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect.
else
visible_message("<span class='danger'>The [P.name] gets reflected by [src]'s shield!</span>", \
"<span class='userdanger'>The [P.name] gets reflected by [src]'s shield!</span>")
visible_message(span_danger("The [P.name] gets reflected by [src]'s shield!"), \
span_userdanger("The [P.name] gets reflected by [src]'s shield!"))
damage_mod = rand(3,5)
incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3)))
if(!(P.damage_type == BRUTE || P.damage_type == BURN))
@@ -139,8 +139,8 @@
desc = "Can you even see this in game?"
mob_overlay_state = "on_fire"
on_created_text = "<span class='warning'>You are on digital fire.</span>"
on_expired_text = "<span class='notice'>You feel better.</span>"
on_created_text = span_warning("You are on digital fire.")
on_expired_text = span_notice("You feel better.")
stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot.
var/damage_per_tick = 1.5
bleeding_rate_percent = 0.7
@@ -153,8 +153,8 @@
desc = "Can you even see this in game?."
mob_overlay_state = "blue_electricity_constant"
on_created_text = "<span class='warning'>You are filled with digital lighting.</span>"
on_expired_text = "<span class='notice'>You feel better.</span>"
on_created_text = span_warning("You are filled with digital lighting.")
on_expired_text = span_notice("You feel better.")
stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot.
damage_per_tick = 1.0
incoming_fire_damage_percent = 1.1
@@ -164,8 +164,8 @@
desc = "Can you even see this in game?."
mob_overlay_state = "poisoned"
on_created_text = "<span class='warning'>You are on digital poisoned.</span>"
on_expired_text = "<span class='notice'>You feel better.</span>"
on_created_text = span_warning("You are on digital poisoned.")
on_expired_text = span_notice("You feel better.")
stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot.
var/damage_per_tick = 3
@@ -179,8 +179,8 @@
desc = "Can you even see this in game?."
mob_overlay_state = "chilled"
on_created_text = "<span class='warning'>You are on freezing, digitally.</span>"
on_expired_text = "<span class='notice'>You feel better.</span>"
on_created_text = span_warning("You are on freezing, digitally.")
on_expired_text = span_notice("You feel better.")
stacks = MODIFIER_STACK_ALLOWED // Multiple instances will hurt a lot.
damage_per_tick = 1
slowdown = 0.5
@@ -190,8 +190,8 @@
desc = "Can you even see this in game?."
mob_overlay_state = "corana"
on_created_text = "<span class='warning'>You feel less real.</span>"
on_expired_text = "<span class='notice'>You feel real again.</span>"
on_created_text = span_warning("You feel less real.")
on_expired_text = span_notice("You feel real again.")
stacks = MODIFIER_STACK_ALLOWED //How does this stack?
max_health_percent = 0.7
@@ -200,8 +200,8 @@
desc = "Can you even see this in game?."
mob_overlay_state = "cult_aura"
on_created_text = "<span class='warning'>You feel like the end is nigh.</span>"
on_expired_text = "<span class='notice'>You feel safe for now.</span>"
on_created_text = span_warning("You feel like the end is nigh.")
on_expired_text = span_notice("You feel safe for now.")
aura_max_distance = 4
max_health_percent = 0.9
disable_duration_percent = 1.2
@@ -113,7 +113,7 @@
/mob/living/simple_mob/humanoid/eclipse/solar/bullet_act(obj/item/projectile/P)
if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))
visible_message(span_orange("<B>[P] seems ineffective!.</B>"))
visible_message(span_boldwarning(span_orange("[P] seems ineffective!.")))
..()
else
..()
@@ -231,7 +231,7 @@
try_reload()
return FALSE
visible_message(span_danger("<b>\The [src]</b> fires at \the [orig_targ]!"))
visible_message(span_danger(span_bold("\The [src]") + " fires at \the [orig_targ]!"))
shoot(A)
if(casingtype)
new casingtype(loc)
@@ -284,7 +284,7 @@
/mob/living/simple_mob/humanoid/eclipse/lunar/bullet_act(obj/item/projectile/P)
if(istype(P, /obj/item/projectile/bullet))
visible_message(span_orange("<B>[P] seems ineffective!.</B>"))
visible_message(span_boldwarning(span_orange("[P] seems ineffective!.")))
..()
else
..()
@@ -333,7 +333,7 @@
try_reload()
return FALSE
visible_message(span_danger("<b>\The [src]</b> fires at \the [orig_targ]!"))
visible_message(span_danger(span_bold("\The [src]") + " fires at \the [orig_targ]!"))
shoot(A)
if(casingtype)
new casingtype(loc)
@@ -646,7 +646,7 @@
try_reload()
return FALSE
visible_message(span_danger("<b>\The [src]</b> fires at \the [orig_targ]!"))
visible_message(span_danger(span_bold("\The [src]") + " fires at \the [orig_targ]!"))
shoot(A)
if(casingtype)
new casingtype(loc)
@@ -384,16 +384,16 @@
if(fullshield > 0)
fullshield--
if(fullshield > 0)
visible_message(span_warning(span_orange("<B>[P] is absorbed by the shield!.</B>")))
visible_message(span_boldwarning(span_orange("[P] is absorbed by the shield!.")))
else
visible_message(span_warning(span_orange("<B>[P] breaks the shield!!.</B>")))
visible_message(span_boldwarning(span_orange("[P] breaks the shield!!.")))
else
..()
shieldrage--
if(shieldrage == 0)
shieldrage = 6
fullshield = 6
visible_message(span_warning(span_orange("<B>The shield reactivates!!.</B>")))
visible_message(span_boldwarning(span_orange("The shield reactivates!!.")))
/mob/living/simple_mob/humanoid/eclipse/head/tyrlead/do_special_attack(atom/A)
if(vore_fullness > 2) //If they nompf someone already
@@ -128,7 +128,7 @@
if(L.can_be_drop_prey && L.devourable)
L.forceMove(belly_dest)
to_chat(target, "<span class='danger'>[src] materializes around you, as you end up in their [belly_dest]!</span>")
to_chat(target, span_danger("[src] materializes around you, as you end up in their [belly_dest]!"))
/mob/living/simple_mob/humanoid/starhunter/hunter/proc/smokebomb(atom/target)
@@ -18,7 +18,7 @@
/mob/living/simple_mob/humanoid/starhunter/hunter/bullet_act(obj/item/projectile/P)
if(istype(P, /obj/item/projectile/energy/lightpillar))
visible_message(span_orange("<B>[P] seems ineffective!.</B>")) //immune to their own attack
visible_message(span_bolddanger(span_orange("[P] seems ineffective!."))) //immune to their own attack
else
..()
@@ -89,7 +89,7 @@
*/
if(ranged_cooldown_time) //If you have a non-zero number in a mob's variables, this pattern begins.
if(ranged_cooldown <= world.time) //Further down, a timer keeps adding to the ranged_cooldown variable automatically.
visible_message("<span class='danger'><b>\The [src]</b> fires at \the [A]!</span>") //Leave notice of shooting.
visible_message(span_danger(span_bold("\The [src]") + " fires at \the [A]!")) //Leave notice of shooting.
shoot(A) //Perform the shoot action
if(casingtype) //If the mob is designated to leave casings...
new casingtype(loc) //... leave the casing.
@@ -98,7 +98,7 @@
return TRUE //End these commands here.
// CHOMPAddition End
visible_message("<span class='danger'><b>\The [src]</b> fires at \the [orig_targ]!</span>")
visible_message(span_danger(span_bold("\The [src]") + " fires at \the [orig_targ]!"))
shoot(A)
if(casingtype)
new casingtype(loc)
@@ -75,7 +75,7 @@
W.forceMove(src)
coin = W
categories |= CAT_COIN
to_chat(user, "<span class='notice'>You insert \the [W] into \the [src].</span>")
to_chat(user, span_notice("You insert \the [W] into \the [src]."))
SStgui.update_uis(src)
return
else
@@ -92,12 +92,12 @@
// This is not a status display message, since it's something the character
// themselves is meant to see BEFORE putting the money in
to_chat(usr, "[icon2html(cashmoney,user.client)] <span class='warning'>That is not enough money.</span>")
to_chat(usr, "[icon2html(cashmoney,user.client)] " + span_warning("That is not enough money."))
return 0
if(istype(cashmoney, /obj/item/spacecash))
visible_message("<span class='info'>\The [usr] inserts some cash into \the [src].</span>")
visible_message(span_info("\The [usr] inserts some cash into \the [src]."))
cashmoney.worth -= currently_vending.price
if(cashmoney.worth <= 0)
@@ -186,20 +186,20 @@
return FALSE
if(!coin)
to_chat(usr, "<span class='filter_notice'>There is no coin in this machine.</span>")
to_chat(usr, span_filter_notice("There is no coin in this machine."))
return
coin.forceMove(src.loc)
if(!usr.get_active_hand())
usr.put_in_hands(coin)
to_chat(usr, "<span class='notice'>You remove \the [coin] from \the [src].</span>")
to_chat(usr, span_notice("You remove \the [coin] from \the [src]."))
coin = null
categories &= ~CAT_COIN
return TRUE
if("vend")
if(!vend_ready)
to_chat(usr, "<span class='warning'>[src] is busy!</span>")
to_chat(usr, span_warning("[src] is busy!"))
return
var/key = text2num(params["vend"])
@@ -218,7 +218,7 @@
return TRUE
if(issilicon(usr)) //If the item is not free, provide feedback if a synth is trying to buy something.
to_chat(usr, "<span class='danger'>Lawed unit recognized. Lawed units cannot complete this transaction. Purchase canceled.</span>")
to_chat(usr, span_danger("Lawed unit recognized. Lawed units cannot complete this transaction. Purchase canceled."))
return
if(!ishuman(usr))
return
@@ -229,7 +229,7 @@
var/obj/item/card/id/C = H.GetIdCard()
if(!vendor_account || vendor_account.suspended)
to_chat(usr, "<span class='filter_notice'>Vendor account offline. Unable to process transaction.</span>")
to_chat(usr, span_filter_notice("Vendor account offline. Unable to process transaction."))
flick("[icon_state]-deny",src)
vend_ready = TRUE
return
@@ -247,10 +247,10 @@
else if(istype(C, /obj/item/card))
paid = pay_with_card(C, usr)
/*else if(usr.can_advanced_admin_interact())
to_chat(usr, "<span class='notice'>Vending object due to admin interaction.</span>")
to_chat(usr, span_notice("Vending object due to admin interaction."))
paid = TRUE*/
else
to_chat(usr, "<span class='warning'>Payment failure: you have no ID or other method of payment.</span>")
to_chat(usr, span_warning("Payment failure: you have no ID or other method of payment."))
vend_ready = TRUE
flick("[icon_state]-deny",src)
return TRUE // we set this because they shouldn't even be able to get this far, and we want the UI to update.
@@ -258,7 +258,7 @@
vend(currently_vending, usr) // vend will handle vend_ready
. = TRUE
else
to_chat(usr, "<span class='warning'>Payment failure: unable to process payment.</span>")
to_chat(usr, span_warning("Payment failure: unable to process payment."))
vend_ready = TRUE
/mob/living/simple_mob/humanoid/starhunter/trader/proc/vend(datum/stored_item/vending_product/R, mob/user)
@@ -266,7 +266,7 @@
return
if(!R.amount)
to_chat(user, "<span class='warning'>[src] has ran out of that product.</span>")
to_chat(user, span_warning("[src] has ran out of that product."))
vend_ready = TRUE
return
@@ -275,7 +275,7 @@
if(R.category & CAT_COIN)
if(!coin)
to_chat(user, "<span class='notice'>You need to insert a coin to get this item.</span>")
to_chat(user, span_notice("You need to insert a coin to get this item."))
return
else
qdel(coin)
@@ -300,7 +300,7 @@
if(!user.unEquip(W))
return
to_chat(user, "<span class='notice'>You insert \the [W] in the product receptor.</span>")
to_chat(user, span_notice("You insert \the [W] in the product receptor."))
R.add_product(W)
if(has_logs)
do_logging(R, user)
@@ -308,10 +308,10 @@
SStgui.update_uis(src)
/mob/living/simple_mob/humanoid/starhunter/trader/proc/pay_with_ewallet(var/obj/item/spacecash/ewallet/wallet)
visible_message("<span class='info'>\The [usr] swipes \the [wallet] through \the [src].</span>")
visible_message(span_info("\The [usr] swipes \the [wallet] through \the [src]."))
playsound(src, 'sound/machines/id_swipe.ogg', 50, 1)
if(currently_vending.price > wallet.worth)
to_chat(usr, "<span class='warning'>Insufficient funds on chargecard.</span>")
to_chat(usr, span_warning("Insufficient funds on chargecard."))
return 0
else
wallet.worth -= currently_vending.price
@@ -325,16 +325,16 @@
* successful, 0 if failed
*/
/mob/living/simple_mob/humanoid/starhunter/trader/proc/pay_with_card(obj/item/card/id/I, mob/M)
visible_message("<span class='info'>[M] swipes a card through [src].</span>")
visible_message(span_info("[M] swipes a card through [src]."))
playsound(src, 'sound/machines/id_swipe.ogg', 50, 1)
var/datum/money_account/customer_account = get_account(I.associated_account_number)
if(!customer_account)
to_chat(M, "<span class='warning'>Error: Unable to access account. Please contact technical support if problem persists.</span>")
to_chat(M, span_warning("Error: Unable to access account. Please contact technical support if problem persists."))
return FALSE
if(customer_account.suspended)
to_chat(M, "<span class='warning'>Unable to access account: account suspended.</span>")
to_chat(M, span_warning("Unable to access account: account suspended."))
return FALSE
// Have the customer punch in the PIN before checking if there's enough money. Prevents people from figuring out acct is
@@ -344,11 +344,11 @@
customer_account = attempt_account_access(I.associated_account_number, attempt_pin, 2)
if(!customer_account)
to_chat(M, "<span class='warning'>Unable to access account: incorrect credentials.</span>")
to_chat(M, span_warning("Unable to access account: incorrect credentials."))
return FALSE
if(currently_vending.price > customer_account.money)
to_chat(M, "<span class='warning'>Insufficient funds in account.</span>")
to_chat(M, span_warning("Insufficient funds in account."))
return FALSE
// Okay to move the money at this point
@@ -25,8 +25,8 @@
/mob/living/simple_mob/construct/juggernaut/behemoth/unstoppable/bullet_act(var/obj/item/projectile/P)
var/reflectchance = 100 - round(P.damage*2)
if(prob(reflectchance))
visible_message("<span class='danger'>The [P.name] gets reflected by [src]'s shell!</span>", \
"<span class='userdanger'>The [P.name] gets reflected by [src]'s shell!</span>")
visible_message(span_danger("The [P.name] gets reflected by [src]'s shell!"), \
span_userdanger("The [P.name] gets reflected by [src]'s shell!"))
// Find a turf near or on the original location to bounce to
if(P.starting)
@@ -236,8 +236,8 @@
var/armorcheck = run_armor_check(null, P.check_armour)
var/soakedcheck = get_armor_soak(null, P.check_armour)
if(!(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)))
visible_message("<span class='danger'>The [P.name] bounces off of [src]'s shell!</span>", \
"<span class='userdanger'>The [P.name] bounces off of [src]'s shell!</span>")
visible_message(span_danger("The [P.name] bounces off of [src]'s shell!"), \
span_userdanger("The [P.name] bounces off of [src]'s shell!"))
new /obj/item/material/shard/shrapnel(src.loc)
if(!(P.damage_type == BRUTE || P.damage_type == BURN))
projectile_dam_type = BRUTE
@@ -245,8 +245,8 @@
apply_damage(incoming_damage, projectile_dam_type, null, armorcheck, soakedcheck, is_sharp(P), has_edge(P), P)
return -1 //Doesn't reflect non-beams or non-energy projectiles. They just smack and drop with little to no effect.
else
visible_message("<span class='danger'>The [P.name] gets reflected by [src]'s shell!</span>", \
"<span class='userdanger'>The [P.name] gets reflected by [src]'s shell!</span>")
visible_message(span_danger("The [P.name] gets reflected by [src]'s shell!"), \
span_userdanger("The [P.name] gets reflected by [src]'s shell!"))
damage_mod = rand(3,5)
incoming_damage = (round(P.damage / damage_mod) - (round((P.damage / damage_mod) * 0.3)))
if(!(P.damage_type == BRUTE || P.damage_type == BURN))
@@ -40,7 +40,7 @@
required = /obj/item/slime_extract/sepia
/decl/chemical_reaction/instant/slime/secertslime/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with the mixture, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with the mixture, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/redspace(get_turf(holder.my_atom))
..()
@@ -53,7 +53,7 @@
required = /obj/item/slime_extract/sepia
/decl/chemical_reaction/instant/slime/sepia_new_slime/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/sepia(get_turf(holder.my_atom))
..()
@@ -203,7 +203,7 @@
required = /obj/item/slime_extract/dark
/decl/chemical_reaction/instant/slime/dark_carpotoxin/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/oceanic(get_turf(holder.my_atom))
..()
@@ -313,8 +313,8 @@
name = "Aura Healing Tide"
desc = "You are filled with an overwhelming energy."
on_created_text = "<span class='critical'>Your body begins to focus on recovering!</span>"
on_expired_text = "<span class='notice'>The healing subsides.</span>"
on_created_text = span_critical("Your body begins to focus on recovering!")
on_expired_text = span_notice("The healing subsides.")
stacks = MODIFIER_STACK_FORBID
aura_max_distance = 4
@@ -374,7 +374,7 @@
required = /obj/item/slime_extract/plague
/decl/chemical_reaction/instant/slime/warplague/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/nuclear(get_turf(holder.my_atom))
..()
@@ -408,8 +408,8 @@
name = "Radiation Hide"
desc = "Your body defensivly warps."
on_created_text = "<span class='critical'>Your body strangly mutates!</span>"
on_expired_text = "<span class='notice'>Your body returns to normal.</span>"
on_created_text = span_critical("Your body strangly mutates!")
on_expired_text = span_notice("Your body returns to normal.")
stacks = MODIFIER_STACK_FORBID
aura_max_distance = 4
@@ -435,7 +435,7 @@
/decl/chemical_reaction/instant/slime/nuclear_radpulse/on_reaction(var/datum/reagents/holder)
log_and_message_admins("Green extract reaction (radiation pulse) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]")
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1)
holder.my_atom.visible_message("<span class='danger'>\The [holder.my_atom] begins to vibrate violently!</span>")
holder.my_atom.visible_message(span_danger("\The [holder.my_atom] begins to vibrate violently!"))
spawn(5 SECONDS)
SSradiation.flat_radiate(src, 30, 7, TRUE)
..()
@@ -513,7 +513,7 @@
required = /obj/item/slime_extract/dream
/decl/chemical_reaction/instant/slime/nightmareslime/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with slime jelly, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/nightmare(get_turf(holder.my_atom))
..()
@@ -630,7 +630,7 @@
required = /obj/item/slime_extract/redspace
/decl/chemical_reaction/instant/slime/redspace_sound/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with the mixture, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with the mixture, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/sound(get_turf(holder.my_atom))
..()
@@ -664,8 +664,8 @@
name = "Soothing Song"
desc = "Your body is soothed."
on_created_text = "<span class='critical'>Your mind is put to rest!</span>"
on_expired_text = "<span class='notice'>Your mind functions normally.</span>"
on_created_text = span_critical("Your mind is put to rest!")
on_expired_text = span_notice("Your mind functions normally.")
stacks = MODIFIER_STACK_FORBID
aura_max_distance = 4
@@ -709,7 +709,7 @@
required = /obj/item/slime_extract/sound
/decl/chemical_reaction/instant/slime/soundwater/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("<span class='warning'>Infused with the mixture, the core begins to quiver and grow, and soon a new baby slime emerges from it!</span>")
holder.my_atom.visible_message(span_warning("Infused with the mixture, the core begins to quiver and grow, and soon a new baby slime emerges from it!"))
new /mob/living/simple_mob/slime/xenobio/sound(get_turf(holder.my_atom))
..()
@@ -20,7 +20,7 @@
horns,
overlay_colors["Eyes"],
eyes), ";")
to_chat(src, "<span class='notice'>Exported style string is \" [output_style] \". Use this to get the same style in the future with import style</span>")
to_chat(src, span_notice("Exported style string is \" [output_style] \". Use this to get the same style in the future with import style"))
/mob/living/simple_mob/vore/bigdragon/proc/import_style()
set name = "Import style string"
@@ -647,15 +647,15 @@
/mob/living/simple_mob/vore/candy/peppermint/attackby(var/obj/item/O as obj, var/mob/user as mob)
if(O.force)
if(prob(80))
visible_message("<span class='danger'>\The [src] deflects \the [O] with its shell!</span>")
visible_message(span_danger("\The [src] deflects \the [O] with its shell!"))
if(user)
ai_holder.react_to_attack(user)
return
else
..()
else
to_chat(user, "<span class='warning'>This weapon is ineffective, it does no damage.</span>")
visible_message("<span class='warning'>\The [user] gently taps [src] with \the [O].</span>")
to_chat(user, span_warning("This weapon is ineffective, it does no damage."))
visible_message(span_warning("\The [user] gently taps [src] with \the [O]."))
/*
/mob/living/simple_mob/vore/candy/worm
@@ -42,8 +42,8 @@
set category = "Abilities.Shadekin"
if(phase_gentle)
to_chat(src, "<span class='notice'>Phasing toggled to Normal. You may damage lights.</span>")
to_chat(src, span_notice("Phasing toggled to Normal. You may damage lights."))
phase_gentle = 0
else
to_chat(src, "<span class='notice'>Phasing toggled to Gentle. You won't damage lights, but concentrating on that incurs a short stun.</span>")
to_chat(src, span_notice("Phasing toggled to Gentle. You won't damage lights, but concentrating on that incurs a short stun."))
phase_gentle = 1
@@ -57,11 +57,11 @@
L = new evolve(get_turf(src))
if(mind)
src.mind.transfer_to(L)
visible_message("<span class='warning'>\The [src] suddenly evolves!</span>")
visible_message(span_warning("\The [src] suddenly evolves!"))
qdel(src)
/mob/living/simple_mob/vore/spacecritter/proc/duplicate()
visible_message("<span class='warning'>\The [src] splits into two!</span>")
visible_message(span_warning("\The [src] splits into two!"))
new copy (src.loc)
@@ -253,15 +253,15 @@
if(istype(AM, /mob/living))
var/mob/living/M = AM
if(!M.devourable || !M.can_be_drop_prey)
to_chat(M, "<span class='warning'>[src] plunges their head into \the [D], while you narrowly avoid being sucked up!</span>")
to_chat(M, span_warning("[src] plunges their head into \the [D], while you narrowly avoid being sucked up!"))
continue
to_chat(M, "<span class='warning'>[src] plunges their head into \the [D], sucking up everything inside- Including you!</span>")
to_chat(M, span_warning("[src] plunges their head into \the [D], sucking up everything inside- Including you!"))
foundstuff = 1
AM.forceMove(src)
if(foundstuff)
src.visible_message("<span class='warning'>[src] plunges their head into \the [D], greedily sucking up everything inside!</span>")
src.visible_message(span_warning("[src] plunges their head into \the [D], greedily sucking up everything inside!"))
else //Oh, Nothing was inside...
to_chat(src, "You poke your head into \the [D], but there doesnt seem to be anything of interest...")
to_chat(src, span_infoplain("You poke your head into \the [D], but there doesnt seem to be anything of interest..."))
return
var/resolved = Vac.resolve_attackby(A, src, click_parameters = params)
if(!resolved && A && Vac)
@@ -278,7 +278,7 @@
if(L.a_intent == I_GRAB && Vac && Vac.loc == src)
if(L.zone_sel.selecting == BP_HEAD)
if(L.put_in_active_hand(Vac))
L.visible_message("<span class='warning'>[L] grabs [src] by the neck, brandishing the thing like a regular vacuum cleaner!</span>")
L.visible_message(span_warning("[L] grabs [src] by the neck, brandishing the thing like a regular vacuum cleaner!"))
L.start_pulling(src)
return
. = ..()
@@ -303,9 +303,9 @@
set category = "IC"
set src in oview(1)
if(!has_AI() || !IIsAlly(usr))
to_chat(usr, "<span class=danger></span>")
to_chat(usr, span_danger(""))
if(!ai_holder == /datum/ai_holder/simple_mob/retaliate/swoopie || !ai_holder)
to_chat(usr, "<span class=warning>This [src] doesnt seem to have changable settings!</span>")
to_chat(usr, span_warning("This [src] doesnt seem to have changable settings!"))
return
var/datum/ai_holder/simple_mob/retaliate/swoopie/ai = ai_holder
var/list/swooping_options = list(
@@ -67,7 +67,7 @@
var/leap_warmup = 0.5 SECOND // How long the leap telegraphing is.
var/leap_sound = 'sound/weapons/spiderlunge.ogg'
player_msg = "You are very fast, and <b>can perform a leaping attack</b> by clicking on someone from a short distance away.<br>\
player_msg = "You are very fast, and " + span_bold("can perform a leaping attack") + " by clicking on someone from a short distance away.<br>\
If the leap succeeds, the target will be knocked down briefly and you will be on top of them.<br>\
Note that there is a short delay before you leap!<br>\
In addition, you will do more damage to incapacitated opponents."
@@ -11,10 +11,10 @@
set category = "Abilities.Settings"
if(picked_size)
to_chat(src, "<span class='notice'>You have already picked a size! If you picked the wrong size, ask an admin to change your picked_size variable to 0.</span>")
to_chat(src, span_notice("You have already picked a size! If you picked the wrong size, ask an admin to change your picked_size variable to 0."))
return
if(!resizable)
to_chat(src, "<span class='warning'>You are immune to resizing!</span>")
to_chat(src, span_warning("You are immune to resizing!"))
return
var/nagmessage = "Pick a size between 25 to 200%. (Only usable once!)"
@@ -31,7 +31,7 @@
set category = "Abilities.Settings"
set desc = "You can set your color!"
if(picked_color)
to_chat(src, "<span class='notice'>You have already picked a color! If you picked the wrong color, ask an admin to change your picked_color variable to 0.</span>")
to_chat(src, span_notice("You have already picked a color! If you picked the wrong color, ask an admin to change your picked_color variable to 0."))
return
var/newcolor = input(usr, "Choose a color.", "", color) as color|null
if(newcolor)
@@ -167,7 +167,7 @@
/mob/living/simple_mob/vore/weatherbeast/sandstorm/do_special_attack(atom/A)
if(health < maxHealth*0.25)
visible_message(span_orange("<B>The fossil tank begins self repairs!.</B>"))
visible_message(span_bolddanger(span_orange("The fossil tank begins self repairs!.")))
sleep(30)
for(var/i =1 to 10)
adjustBruteLoss(-100)
@@ -215,7 +215,7 @@
/mob/living/simple_mob/vore/weatherbeast/acidrain/do_special_attack(atom/A)
if(nutrition > 1100)
visible_message(span_orange("<B>The giant jellyfish begins to regenerate!.</B>"))
visible_message(span_bolddanger(span_orange("The giant jellyfish begins to regenerate!.")))
adjustBruteLoss(-300)
adjustFireLoss(-300)
adjust_nutrition(-500)
@@ -36,7 +36,7 @@
O = new /obj/effect/alien/weeds/node(targetLoc)
if(O)
visible_message("<span class='warning'><B>[src] vomits up a thick purple substance and begins to shape it!</B></span>", "<span class='alium'>You shape a [choice].</span>")
visible_message(span_boldwarning("[src] vomits up a thick purple substance and begins to shape it!"), span_alium("You shape a [choice]."))
O.color = "#321D37"
playsound(src, 'sound/effects/blobattack.ogg', 40, 1)