Steals tg's span macros (#12232)

* Steals tg's span macros

* Fix alphabet

* Updated some more spans

* Misses a conflict

* Fix compile errors

* Converts more spans

* oops
This commit is contained in:
adamsong
2021-09-17 06:50:16 -05:00
committed by GitHub
parent 3b63dff207
commit 3baeaeb0c4
1702 changed files with 15112 additions and 14933 deletions

View File

@@ -27,17 +27,17 @@
/datum/component/archaeology/proc/Dig(datum/source, obj/item/I, mob/living/user)
if(dug)
to_chat(user, "<span class='notice'>Looks like someone has dug here already.</span>")
to_chat(user, span_notice("Looks like someone has dug here already."))
return
if(!isturf(user.loc))
return
if(I.tool_behaviour == TOOL_SHOVEL || I.tool_behaviour == TOOL_MINING)
to_chat(user, "<span class='notice'>You start digging...</span>")
to_chat(user, span_notice("You start digging..."))
if(I.use_tool(parent, user, 40, volume=50))
to_chat(user, "<span class='notice'>You dig a hole.</span>")
to_chat(user, span_notice("You dig a hole."))
gets_dug()
dug = TRUE
SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type)

View File

@@ -34,29 +34,29 @@
if(ismecha(parent))
if(amount)
if(amount < maxamount)
examine_list += "<span class='notice'>Its armor is enhanced with [amount] [upgrade_name].</span>"
examine_list += span_notice("Its armor is enhanced with [amount] [upgrade_name].")
else
examine_list += "<span class='notice'>It's wearing a fearsome carapace entirely composed of [upgrade_name] - its pilot must be an experienced monster hunter.</span>"
examine_list += span_notice("It's wearing a fearsome carapace entirely composed of [upgrade_name] - its pilot must be an experienced monster hunter.")
else
examine_list += "<span class='notice'>It has attachment points for strapping monster hide on for added protection.</span>"
examine_list += span_notice("It has attachment points for strapping monster hide on for added protection.")
else
if(amount)
examine_list += "<span class='notice'>It has been strengthened with [amount]/[maxamount] [upgrade_name].</span>"
examine_list += span_notice("It has been strengthened with [amount]/[maxamount] [upgrade_name].")
else
examine_list += "<span class='notice'>It can be strengthened with up to [maxamount] [upgrade_name].</span>"
examine_list += span_notice("It can be strengthened with up to [maxamount] [upgrade_name].")
/datum/component/armor_plate/proc/applyplate(datum/source, obj/item/I, mob/user, params)
if(!istype(I,upgrade_item))
return
if(amount >= maxamount)
to_chat(user, "<span class='warning'>You can't improve [parent] any further!</span>")
to_chat(user, span_warning("You can't improve [parent] any further!"))
return
if(istype(I,/obj/item/stack))
I.use(1)
else
if(length(I.contents))
to_chat(user, "<span class='warning'>[I] cannot be used for armoring while there's something inside!</span>")
to_chat(user, span_warning("[I] cannot be used for armoring while there's something inside!"))
return
qdel(I)
@@ -67,9 +67,9 @@
if(ismecha(O))
var/obj/mecha/R = O
R.update_icon()
to_chat(user, "<span class='info'>You strengthen [R], improving its resistance against melee, bullet and laser damage.</span>")
to_chat(user, span_info("You strengthen [R], improving its resistance against melee, bullet and laser damage."))
else
to_chat(user, "<span class='info'>You strengthen [O], improving its resistance against melee attacks.</span>")
to_chat(user, span_info("You strengthen [O], improving its resistance against melee attacks."))
/datum/component/armor_plate/proc/dropplates(datum/source, force)

View File

@@ -18,7 +18,7 @@
/datum/component/art/proc/apply_moodlet(mob/M, impress)
M.visible_message("[M] stops to admire [parent].", \
"<span class='notice'>You take in [parent], admiring the fine craftsmanship.</span>")
span_notice("You take in [parent], admiring the fine craftsmanship."))
switch(impress)
if(GREAT_ART to INFINITY)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "artgreat", /datum/mood_event/artgreat)

View File

@@ -27,10 +27,10 @@
for(var/_i in 1 to amount)
if(!prob(final_effectiveness))
if(butcher)
to_chat(butcher, "<span class='warning'>You fail to harvest some of the [initial(bones.name)] from [meat].</span>")
to_chat(butcher, span_warning("You fail to harvest some of the [initial(bones.name)] from [meat]."))
else if(prob(bonus_chance))
if(butcher)
to_chat(butcher, "<span class='info'>You harvest some extra [initial(bones.name)] from [meat]!</span>")
to_chat(butcher, span_info("You harvest some extra [initial(bones.name)] from [meat]!"))
for(var/i in 1 to 2)
new bones (T)
else
@@ -43,7 +43,7 @@
new sinew (T)
meat.guaranteed_butcher_results.Remove(sinew)
if(butcher)
meat.visible_message("<span class='notice'>[butcher] butchers [meat].</span>")
meat.visible_message(span_notice("[butcher] butchers [meat]."))
ButcherEffects(meat)
meat.harvest(butcher)
meat.gib(FALSE, FALSE, TRUE)

View File

@@ -52,11 +52,11 @@
if(cooldown < world.time - 10) //cooldown to avoid message spam.
if(!H.incapacitated(ignore_restraints = TRUE))
H.visible_message("<span class='danger'>[H] steps on [A].</span>", \
"<span class='userdanger'>You step on [A]!</span>")
H.visible_message(span_danger("[H] steps on [A]."), \
span_userdanger("You step on [A]!"))
else
H.visible_message("<span class='danger'>[H] slides on [A]!</span>", \
"<span class='userdanger'>You slide on [A]!</span>")
H.visible_message(span_danger("[H] slides on [A]!"), \
span_userdanger("You slide on [A]!"))
cooldown = world.time
H.Paralyze(60)

View File

@@ -82,7 +82,7 @@
if(istype(H.belt, /obj/item/wormhole_jaunter))
var/obj/item/wormhole_jaunter/J = H.belt
//To freak out any bystanders
H.visible_message("<span class='boldwarning'>[H] falls into [parent]!</span>")
H.visible_message(span_boldwarning("[H] falls into [parent]!"))
J.chasm_react(H)
return FALSE
return TRUE
@@ -96,8 +96,8 @@
if(T)
// send to the turf below
AM.visible_message("<span class='boldwarning'>[AM] falls into [parent]!</span>", "<span class='userdanger'>[fall_message]</span>")
T.visible_message("<span class='boldwarning'>[AM] falls from above!</span>")
AM.visible_message(span_boldwarning("[AM] falls into [parent]!"), span_userdanger("[fall_message]"))
T.visible_message(span_boldwarning("[AM] falls from above!"))
AM.forceMove(T)
if(isliving(AM))
var/mob/living/L = AM
@@ -107,7 +107,7 @@
else
// send to oblivion
AM.visible_message("<span class='boldwarning'>[AM] falls into [parent]!</span>", "<span class='userdanger'>[oblivion_message]</span>")
AM.visible_message(span_boldwarning("[AM] falls into [parent]!"), span_userdanger("[oblivion_message]"))
if (isliving(AM))
var/mob/living/L = AM
L.notransform = TRUE
@@ -137,7 +137,7 @@
qdel(AM)
if(AM && !QDELETED(AM)) //It's indestructible
var/atom/parent = src.parent
parent.visible_message("<span class='boldwarning'>[parent] spits out [AM]!</span>")
parent.visible_message(span_boldwarning("[parent] spits out [AM]!"))
AM.alpha = oldalpha
AM.color = oldcolor
AM.transform = oldtransform

View File

@@ -25,4 +25,4 @@
if(!(cleaned_human.mobility_flags & MOBILITY_STAND))
cleaned_human.wash(CLEAN_WASH)
cleaned_human.regenerate_icons()
to_chat(cleaned_human, "<span class='danger'>[AM] cleans your face!</span>")
to_chat(cleaned_human, span_danger("[AM] cleans your face!"))

View File

@@ -378,9 +378,9 @@
ui_interact(usr)
var/fail_msg = construct_item(usr, TR)
if(!fail_msg)
to_chat(usr, "<span class='notice'>[TR.name] constructed.</span>")
to_chat(usr, span_notice("[TR.name] constructed."))
else
to_chat(usr, "<span class='warning'>Construction failed[fail_msg]</span>")
to_chat(usr, span_warning("Construction failed[fail_msg]"))
busy = FALSE
if("toggle_recipes")
display_craftable_only = !display_craftable_only

View File

@@ -105,7 +105,7 @@
if(canFail && prob((quality - 9)*10))
var/turf/place = get_turf(parent)
place.visible_message("<span class='danger'>[parent] <span class='inathneq_large'>violently glows blue</span> for a while, then evaporates.</span>")
place.visible_message(span_danger("[parent] [span_inathneq_large("violently glows blue")] for a while, then evaporates."))
master.burn()
return
else if(announce)
@@ -136,9 +136,9 @@
var/effect_description
if(quality >= 0)
span = "<span class='notice'>"
effect_description = "<span class='heavy_brass'>shimmering golden glow</span>"
effect_description = "[span_heavy_brass("shimmering golden glow")]"
else
span = "<span class='danger'>"
effect_description = "<span class='umbra_emphasis'>mottled black glow</span>"
effect_description = "[span_umbra_emphasis("mottled black glow")]"
location.visible_message("[span][originalName] is covered by a [effect_description] and then transforms into [parent]!</span>")
location.visible_message("[span][originalName] is covered by a [effect_description] and then transforms into [parent]!</span>")

View File

@@ -41,9 +41,9 @@
RegisterSignal(targ, list(COMSIG_MOB_ATTACK_HAND, COMSIG_MOB_FIRED_GUN, COMSIG_MOB_THROW, COMSIG_MOB_ITEM_ATTACK), .proc/trigger_reaction, TRUE) //any actions by the hostage will trigger the shot no exceptions
RegisterSignal(weapon, list(COMSIG_ITEM_DROPPED, COMSIG_ITEM_EQUIPPED), .proc/cancel)
shooter.visible_message("<span class='danger'>[shooter] aims [weapon] point blank at [target]!</span>", \
"<span class='danger'>You aim [weapon] point blank at [target]!</span>", target)
to_chat(target, "<span class='userdanger'>[shooter] aims [weapon] point blank at you!</span>")
shooter.visible_message(span_danger("[shooter] aims [weapon] point blank at [target]!"), \
span_danger("You aim [weapon] point blank at [target]!"), target)
to_chat(target, span_userdanger("[shooter] aims [weapon] point blank at you!"))
if(!target.has_status_effect(STATUS_EFFECT_NOTSCARED))
target.Immobilize(10) //short immobilize to let them know they're getting shot at
target.apply_status_effect(STATUS_EFFECT_NOTSCARED)//this can only trigger once per minute so you can't use it to meme people a bunch in a fight
@@ -76,13 +76,13 @@
/datum/component/gunpoint/proc/update_stage(new_stage)
stage = new_stage
if(stage == 2)
to_chat(parent, "<span class='danger'>You steady [weapon] on [target].</span>")
to_chat(target, "<span class='userdanger'>[parent] has steadied [weapon] on you!</span>")
to_chat(parent, span_danger("You steady [weapon] on [target]."))
to_chat(target, span_userdanger("[parent] has steadied [weapon] on you!"))
damage_mult = GUNPOINT_MULT_STAGE_2
addtimer(CALLBACK(src, .proc/update_stage, 3), GUNPOINT_DELAY_STAGE_3)
else if(stage == 3)
to_chat(parent, "<span class='danger'>You have fully steadied [weapon] on [target].</span>")
to_chat(target, "<span class='userdanger'>[parent] has fully steadied [weapon] on you!</span>")
to_chat(parent, span_danger("You have fully steadied [weapon] on [target]."))
to_chat(target, span_userdanger("[parent] has fully steadied [weapon] on you!"))
damage_mult = GUNPOINT_MULT_STAGE_3
/datum/component/gunpoint/proc/check_deescalate()
@@ -100,9 +100,9 @@
target.remove_status_effect(STATUS_EFFECT_HELDUP)
if(!weapon.can_shoot() || !weapon.can_trigger_gun(shooter) || (weapon.weapon_weight == WEAPON_HEAVY && shooter.get_inactive_held_item()))
shooter.visible_message("<span class='danger'>[shooter] fumbles [weapon]!</span>", \
"<span class='danger'>You fumble [weapon] and fail to fire at [target]!</span>", target)
to_chat(target, "<span class='userdanger'>[shooter] fumbles [weapon] and fails to fire at you!</span>")
shooter.visible_message(span_danger("[shooter] fumbles [weapon]!"), \
span_danger("You fumble [weapon] and fail to fire at [target]!"), target)
to_chat(target, span_userdanger("[shooter] fumbles [weapon] and fails to fire at you!"))
qdel(src)
return
if(weapon.check_botched(shooter))
@@ -127,16 +127,16 @@
if(!disrupted)
disrupted = TRUE
addtimer(CALLBACK(src, .proc/reshooted), 5)
to_chat(parent, "<span class='boldwarning'>You lose your aim for a second, try not to bump into things or throw stuff.</span>")
to_chat(parent, span_boldwarning("You lose your aim for a second, try not to bump into things or throw stuff."))
/datum/component/gunpoint/proc/reshooted()
disrupted = FALSE
/datum/component/gunpoint/proc/cancel()
var/mob/living/shooter = parent
shooter.visible_message("<span class='danger'>[shooter] breaks [shooter.p_their()] aim on [target]!</span>", \
"<span class='danger'>You are no longer aiming [weapon] at [target].</span>", target)
to_chat(target, "<span class='userdanger'>[shooter] breaks [shooter.p_their()] aim on you!</span>")
shooter.visible_message(span_danger("[shooter] breaks [shooter.p_their()] aim on [target]!"), \
span_danger("You are no longer aiming [weapon] at [target]."), target)
to_chat(target, span_userdanger("[shooter] breaks [shooter.p_their()] aim on you!"))
qdel(src)
/datum/component/gunpoint/proc/check_movement()
@@ -160,8 +160,8 @@
flinch_chance = 80
if(prob(flinch_chance))
shooter.visible_message("<span class='danger'>[shooter] flinches!</span>", \
"<span class='danger'>You flinch!</span>")
shooter.visible_message(span_danger("[shooter] flinches!"), \
span_danger("You flinch!"))
trigger_reaction() //flinching will always result in firing at the target
/datum/component/gunpoint/proc/flinch_disarm(attacker,zone_targeted)
@@ -177,8 +177,8 @@
flinch_chance = 80
if(prob(flinch_chance))
shooter.visible_message("<span class='danger'>[shooter] flinches!</span>", \
"<span class='danger'>You flinch!</span>")
shooter.visible_message(span_danger("[shooter] flinches!"), \
span_danger("You flinch!"))
trigger_reaction(TRUE) //flinching will always result in firing at the target
#undef GUNPOINT_SHOOTER_STRAY_RANGE

View File

@@ -13,10 +13,10 @@
/datum/component/heirloom/proc/examine(datum/source, mob/user, list/examine_list)
if(user.mind == owner)
examine_list += "<span class='notice'>It is your precious [family_name] family heirloom. Keep it safe!</span>"
examine_list += span_notice("It is your precious [family_name] family heirloom. Keep it safe!")
else if(isobserver(user))
examine_list += "<span class='notice'>It is the [family_name] family heirloom, belonging to [owner].</span>"
examine_list += span_notice("It is the [family_name] family heirloom, belonging to [owner].")
else
var/datum/antagonist/obsessed/creeper = user.mind.has_antag_datum(/datum/antagonist/obsessed)
if(creeper && creeper.trauma.obsession == owner)
examine_list += "<span class='nicegreen'>This must be [owner]'s family heirloom! It smells just like them...</span>"
examine_list += span_nicegreen("This must be [owner]'s family heirloom! It smells just like them...")

View File

@@ -56,7 +56,7 @@
target.buckled.unbuckle_mob(target)
target.Paralyze(knockdown_time)
if(length(msg))
user.visible_message("<span class='danger'>[msg]!</span>")
user.visible_message(span_danger("[msg]!"))
/datum/component/jousting/proc/mob_move(datum/source, newloc, dir)
if(!current_holder || (requires_mount && ((requires_mob_riding && !ismob(current_holder.buckled)) || (!current_holder.buckled))))

View File

@@ -30,7 +30,7 @@
if(!wearer.dropItemToGround(I))
return
wearer.visible_message("<span class='warning'>[attacker] knocks off [wearer]'s [I.name]!</span>","<span class='userdanger'>[attacker] knocks off your [I.name]!</span>")
wearer.visible_message(span_warning("[attacker] knocks off [wearer]'s [I.name]!"),span_userdanger("[attacker] knocks off your [I.name]!"))
/datum/component/knockoff/proc/OnEquipped(datum/source, mob/living/carbon/human/H,slot)
if(!istype(H))

View File

@@ -51,7 +51,7 @@
var/datum/material/M = I
var/amt = materials[I]
if(amt)
to_chat(user, "<span class='notice'>It has [amt] units of [lowertext(M.name)] stored.</span>")
to_chat(user, span_notice("It has [amt] units of [lowertext(M.name)] stored."))
/// Proc that allows players to fill the parent with mats
/datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user)
@@ -63,7 +63,7 @@
if(I.item_flags & ABSTRACT)
return
if((I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION) || (tc && !is_type_in_typecache(I, tc)))
to_chat(user, "<span class='warning'>[parent] won't accept [I]!</span>")
to_chat(user, span_warning("[parent] won't accept [I]!"))
return
. = COMPONENT_NO_AFTERATTACK
var/datum/callback/pc = precondition
@@ -71,10 +71,10 @@
return
var/material_amount = get_item_material_amount(I)
if(!material_amount)
to_chat(user, "<span class='warning'>[I] does not contain sufficient amounts of metal or glass to be accepted by [parent].</span>")
to_chat(user, span_warning("[I] does not contain sufficient amounts of metal or glass to be accepted by [parent]."))
return
if(!has_space(material_amount))
to_chat(user, "<span class='warning'>[parent] is full. Please remove metal or glass from [parent] in order to insert more.</span>")
to_chat(user, span_warning("[parent] is full. Please remove metal or glass from [parent] in order to insert more."))
return
user_insert(I, user)
@@ -92,18 +92,18 @@
if(QDELETED(I) || QDELETED(user) || QDELETED(src) || parent != current_parent || user.physical_can_use_topic(current_parent) < UI_INTERACTIVE || user.get_active_held_item() != active_held)
return
if(!user.temporarilyRemoveItemFromInventory(I))
to_chat(user, "<span class='warning'>[I] is stuck to you and cannot be placed into [parent].</span>")
to_chat(user, span_warning("[I] is stuck to you and cannot be placed into [parent]."))
return
var/inserted = insert_item(I, stack_amt = requested_amount)
if(inserted)
if(istype(I, /obj/item/stack))
var/obj/item/stack/S = I
to_chat(user, "<span class='notice'>You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent].</span>")
to_chat(user, span_notice("You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent]."))
if(!QDELETED(I) && I == active_held && !user.put_in_hands(I))
stack_trace("Warning: User could not put object back in hand during material container insertion, line [__LINE__]! This can lead to issues.")
I.forceMove(user.drop_location())
else
to_chat(user, "<span class='notice'>You insert a material total of [inserted] into [parent].</span>")
to_chat(user, span_notice("You insert a material total of [inserted] into [parent]."))
qdel(I)
if(after_insert)
after_insert.Invoke(I.type, last_inserted_id, inserted)

View File

@@ -36,7 +36,7 @@
/datum/component/mood/proc/print_mood(mob/user)
var/msg = "<span class='info'>*---------*\n<EM>Your current mood</EM>\n"
msg += "<span class='notice'>My mental status: </span>" //Long term
msg += span_notice("My mental status: ") //Long term
switch(sanity)
if(SANITY_GREAT to INFINITY)
msg += "<span class='nicegreen'>My mind feels like a temple!<span>\n"
@@ -45,13 +45,13 @@
if(SANITY_DISTURBED to SANITY_NEUTRAL)
msg += "<span class='nicegreen'>I have felt quite decent lately.<span>\n"
if(SANITY_UNSTABLE to SANITY_DISTURBED)
msg += "<span class='warning'>I'm feeling a little bit unhinged...</span>\n"
msg += "[span_warning("I'm feeling a little bit unhinged...")]\n"
if(SANITY_CRAZY to SANITY_UNSTABLE)
msg += "<span class='boldwarning'>I'm freaking out!!</span>\n"
msg += "[span_boldwarning("I'm freaking out!!")]\n"
if(SANITY_INSANE to SANITY_CRAZY)
msg += "<span class='boldwarning'>AHAHAHAHAHAHAHAHAHAH!!</span>\n"
msg += "[span_boldwarning("AHAHAHAHAHAHAHAHAHAH!!")]\n"
msg += "<span class='notice'>My current mood: </span>" //Short term
msg += span_notice("My current mood: ") //Short term
switch(mood_level)
if(1)
msg += "<span class='boldwarning'>I wish I was dead!<span>\n"
@@ -72,7 +72,7 @@
if(9)
msg += "<span class='nicegreen'>I love life!<span>\n"
msg += "<span class='notice'>Moodlets:\n</span>"//All moodlets
msg += span_notice("Moodlets:\n")//All moodlets
if(mood_events.len)
for(var/i in mood_events)
var/datum/mood_event/event = mood_events[i]

View File

@@ -269,23 +269,23 @@
/datum/component/nanites/proc/nanite_scan(datum/source, mob/user, full_scan)
if(!full_scan)
if(!stealth)
to_chat(user, "<span class='notice'><b>Nanites Detected</b></span>")
to_chat(user, "<span class='notice'>Saturation: [nanite_volume]/[max_nanites]</span>")
to_chat(user, span_notice("<b>Nanites Detected</b>"))
to_chat(user, span_notice("Saturation: [nanite_volume]/[max_nanites]"))
return TRUE
else
to_chat(user, "<span class='info'>NANITES DETECTED</span>")
to_chat(user, "<span class='info'>================</span>")
to_chat(user, "<span class='info'>Saturation: [nanite_volume]/[max_nanites]</span>")
to_chat(user, "<span class='info'>Safety Threshold: [safety_threshold]</span>")
to_chat(user, "<span class='info'>Cloud ID: [cloud_id ? cloud_id : "Disabled"]</span>")
to_chat(user, "<span class='info'>================</span>")
to_chat(user, "<span class='info'>Program List:</span>")
to_chat(user, span_info("NANITES DETECTED"))
to_chat(user, span_info("================"))
to_chat(user, span_info("Saturation: [nanite_volume]/[max_nanites]"))
to_chat(user, span_info("Safety Threshold: [safety_threshold]"))
to_chat(user, span_info("Cloud ID: [cloud_id ? cloud_id : "Disabled"]"))
to_chat(user, span_info("================"))
to_chat(user, span_info("Program List:"))
if(stealth)
to_chat(user, "<span class='alert'>%#$ENCRYPTED&^@</span>")
to_chat(user, span_alert("%#$ENCRYPTED&^@"))
else
for(var/X in programs)
var/datum/nanite_program/NP = X
to_chat(user, "<span class='info'><b>[NP.name]</b> | [NP.activated ? "Active" : "Inactive"]</span>")
to_chat(user, span_info("<b>[NP.name]</b> | [NP.activated ? "Active" : "Inactive"]"))
return TRUE
/datum/component/nanites/proc/nanite_ui_data(datum/source, list/data, scan_level)

View File

@@ -90,7 +90,7 @@
//we stack the orbits up client side, so we can assign this back to normal server side without it breaking the orbit
orbiter.forceMove(get_turf(parent))
to_chat(orbiter, "<span class='notice'>Now orbiting [parent].</span>")
to_chat(orbiter, span_notice("Now orbiting [parent]."))
/datum/component/orbiter/proc/end_orbit(atom/movable/orbiter, refreshing=FALSE)
if(!orbiters[orbiter])

View File

@@ -17,7 +17,7 @@
return
. = COMPONENT_NO_AFTERATTACK
if(spraycan.is_capped)
to_chat(user, "<span class='warning'>Take the cap off first!</span>")
to_chat(user, span_warning("Take the cap off first!"))
return
RemoveCurrentCoat()
if(spraycan.use_charges(user, 2))
@@ -26,4 +26,4 @@
var/atom/A = parent
A.add_atom_colour(colour, FIXED_COLOUR_PRIORITY)
playsound(spraycan, 'sound/effects/spray.ogg', 5, 1, 5)
to_chat(user, "<span class='notice'>You spray [spraycan] on [A], painting it.</span>")
to_chat(user, span_notice("You spray [spraycan] on [A], painting it."))

View File

@@ -138,10 +138,10 @@
return
if(!easy_access_sect)
if(operation_flags & RELIGION_TOOL_SECTSELECT)
examine_list += "<span class='notice'>This looks like it can be used to select a sect.</span>"
examine_list += span_notice("This looks like it can be used to select a sect.")
return
examine_list += "<span class='notice'>The sect currently has [round(easy_access_sect.favor)] favor with [GLOB.deity].[(operation_flags & RELIGION_TOOL_SACRIFICE) ? "Desired items can be used on this to increase favor." : ""]</span>"
examine_list += span_notice("The sect currently has [round(easy_access_sect.favor)] favor with [GLOB.deity].[(operation_flags & RELIGION_TOOL_SACRIFICE) ? "Desired items can be used on this to increase favor." : ""]")
if(!easy_access_sect.rites_list)
return //if we dont have rites it doesnt do us much good if the object can be used to invoke them!
if(operation_flags & RELIGION_TOOL_INVOKE)

View File

@@ -80,7 +80,7 @@ handles linking back and forth.
var/obj/item/multitool/M = I
if (!QDELETED(M.buffer) && istype(M.buffer, /obj/machinery/ore_silo))
if (silo == M.buffer)
to_chat(user, "<span class='notice'>[parent] is already connected to [silo].</span>")
to_chat(user, span_notice("[parent] is already connected to [silo]."))
return COMPONENT_NO_AFTERATTACK
if (silo)
silo.connected -= src
@@ -92,7 +92,7 @@ handles linking back and forth.
silo.connected += src
silo.updateUsrDialog()
mat_container = silo.GetComponent(/datum/component/material_container)
to_chat(user, "<span class='notice'>You connect [parent] to [silo] from the multitool's buffer.</span>")
to_chat(user, span_notice("You connect [parent] to [silo] from the multitool's buffer."))
return COMPONENT_NO_AFTERATTACK
else if (silo && istype(I, /obj/item/stack))

View File

@@ -69,7 +69,7 @@
var/atom/movable/AM = parent
var/mob/AMM = AM
if((ride_check_rider_restrained && M.restrained(TRUE)) || (ride_check_rider_incapacitated && M.incapacitated(FALSE, TRUE)) || (ride_check_ridden_incapacitated && istype(AMM) && AMM.incapacitated(FALSE, TRUE)))
AM.visible_message("<span class='warning'>[M] falls off of [AM]!</span>")
AM.visible_message(span_warning("[M] falls off of [AM]!"))
AM.unbuckle_mob(M)
return TRUE
@@ -192,7 +192,7 @@
handle_vehicle_layer(direction)
handle_vehicle_offsets()
else
to_chat(user, "<span class='notice'>You'll need the keys in one of your hands to [drive_verb] [AM].</span>")
to_chat(user, span_notice("You'll need the keys in one of your hands to [drive_verb] [AM]."))
/datum/component/riding/proc/Unbuckle(atom/movable/M)
addtimer(CALLBACK(parent, /atom/movable/.proc/unbuckle_mob, M), 0, TIMER_UNIQUE)
@@ -263,7 +263,7 @@
var/atom/movable/AM = parent
AM.unbuckle_mob(user)
user.Knockdown(60)
user.visible_message("<span class='warning'>[AM] pushes [user] off of [AM.p_them()]!</span>")
user.visible_message(span_warning("[AM] pushes [user] off of [AM.p_them()]!"))
/datum/component/riding/cyborg
del_on_unbuckle_all = TRUE
@@ -277,14 +277,14 @@
if(R.module && R.module.ride_allow_incapacitated)
kick = FALSE
if(kick)
to_chat(user, "<span class='userdanger'>You fall off of [AM]!</span>")
to_chat(user, span_userdanger("You fall off of [AM]!"))
Unbuckle(user)
return
if(iscarbon(user))
var/mob/living/carbon/carbonuser = user
if(!carbonuser.get_num_arms())
Unbuckle(user)
to_chat(user, "<span class='userdanger'>You can't grab onto [AM] with no hands!</span>")
to_chat(user, span_userdanger("You can't grab onto [AM] with no hands!"))
return
/datum/component/riding/cyborg/handle_vehicle_layer(dir)
@@ -323,7 +323,7 @@
var/turf/target = get_edge_target_turf(AM, AM.dir)
var/turf/targetm = get_step(get_turf(AM), AM.dir)
M.Move(targetm)
M.visible_message("<span class='warning'>[M] is thrown clear of [AM]!</span>")
M.visible_message(span_warning("[M] is thrown clear of [AM]!"))
M.throw_at(target, 14, 5, AM)
M.Paralyze(60)
S.throwcooldown = TRUE

View File

@@ -100,7 +100,7 @@
/datum/component/simple_rotation/proc/ExamineMessage(datum/source, mob/user, list/examine_list)
if(rotation_flags & ROTATION_ALTCLICK)
examine_list += "<span class='notice'>Alt-click to rotate it clockwise.</span>"
examine_list += span_notice("Alt-click to rotate it clockwise.")
/datum/component/simple_rotation/proc/HandRot(datum/source, mob/user, rotation = default_rotation_direction)
if(!can_be_rotated.Invoke(user, rotation) || !can_user_rotate.Invoke(user, rotation))
@@ -137,7 +137,7 @@
return !AM.anchored
/datum/component/simple_rotation/proc/default_after_rotation(mob/user, rotation_type)
to_chat(user,"<span class='notice'>You [rotation_type == ROTATION_FLIP ? "flip" : "rotate"] [parent].</span>")
to_chat(user,span_notice("You [rotation_type == ROTATION_FLIP ? "flip" : "rotate"] [parent]."))
/atom/movable/proc/simple_rotate_clockwise()
set name = "Rotate Clockwise"

View File

@@ -48,4 +48,4 @@
spawned_mobs += L
L.nest = src
L.faction = src.faction
P.visible_message("<span class='danger'>[L] [spawn_text] [P].</span>")
P.visible_message(span_danger("[L] [spawn_text] [P]."))

View File

@@ -38,7 +38,7 @@
if((H.getStaminaLoss() > 95) && (!istype(H.dna.species, /datum/species/skeleton)) && (!istype(H.dna.species, /datum/species/golem)) && (!istype(H.dna.species, /datum/species/android)) && (!istype(H.dna.species, /datum/species/jelly)))
H.Paralyze(20)
H.set_species(/datum/species/skeleton)
H.visible_message("<span class='warning'>[H] has given up on life as a mortal.</span>")
H.visible_message(span_warning("[H] has given up on life as a mortal."))
var/T = get_turf(H)
if(too_spooky)
if(prob(30))

View File

@@ -33,7 +33,7 @@
var/atom/movable/AM = parent
AM.forceMove(targetturf)
to_chat(get(parent, /mob), "<span class='danger'>You can't help but feel that you just lost something back there...</span>")
to_chat(get(parent, /mob), span_danger("You can't help but feel that you just lost something back there..."))
// move the disc, so ghosts remain orbiting it even if it's "destroyed"
return targetturf

View File

@@ -16,12 +16,12 @@
return
var/turf/loccheck = get_turf(A)
if(is_reebe(loccheck.z))
user.visible_message("<span class='warning'>An unseen force knocks [user] to the ground!</span>", "<span class='big_brass'>\"I think not!\"</span>")
user.visible_message(span_warning("An unseen force knocks [user] to the ground!"), "[span_big_brass("\"I think not!\"")]")
user.Paralyze(60)
return
if(istype(loccheck.loc, /area/fabric_of_reality))
to_chat(user, "<span class='danger'>You can't do that here!</span>")
to_chat(user, "<span class='danger'>The Bluespace interfaces of the two devices catastrophically malfunction!</span>")
to_chat(user, span_danger("You can't do that here!"))
to_chat(user, span_danger("The Bluespace interfaces of the two devices catastrophically malfunction!"))
qdel(W)
playsound(loccheck,'sound/effects/supermatter.ogg', 200, 1)
@@ -40,7 +40,7 @@
var/mob/living/M = AT
M.take_overall_damage(85)
if(M.movement_type & FLYING)
M.visible_message("<span class='danger'>The bluespace collapse crushes the air towards it, pulling [M] towards the ground...</span>")
M.visible_message(span_danger("The bluespace collapse crushes the air towards it, pulling [M] towards the ground..."))
M.Paralyze(5, TRUE, TRUE) //Overrides stun absorbs.
T.TerraformTurf(/turf/open/chasm/magic, /turf/open/chasm/magic)
for(var/fabricarea in get_areas(/area/fabric_of_reality))

View File

@@ -8,9 +8,9 @@
. = ..()
if(. && silent && !prevent_warning)
if(quickdraw)
to_chat(user, "<span class='notice'>You discreetly slip [I] into [parent]. Alt-click [parent] to remove it.</span>")
to_chat(user, span_notice("You discreetly slip [I] into [parent]. Alt-click [parent] to remove it."))
else
to_chat(user, "<span class='notice'>You discreetly slip [I] into [parent].</span>")
to_chat(user, span_notice("You discreetly slip [I] into [parent]."))
/datum/component/storage/concrete/pockets
max_w_class = WEIGHT_CLASS_NORMAL

View File

@@ -12,7 +12,7 @@
. = ..()
if(!I.get_part_rating())
if (!stop_messages)
to_chat(M, "<span class='warning'>[parent] only accepts machine parts!</span>")
to_chat(M, span_warning("[parent] only accepts machine parts!"))
return FALSE
/datum/component/storage/concrete/bluespace/rped
@@ -29,5 +29,5 @@
. = ..()
if(!I.get_part_rating())
if (!stop_messages)
to_chat(M, "<span class='warning'>[parent] only accepts machine parts!</span>")
to_chat(M, span_warning("[parent] only accepts machine parts!"))
return FALSE

View File

@@ -135,7 +135,7 @@
var/obj/item/valid_item = valid_type
desc += "\a [initial(valid_item.name)]"
return "\n\t<span class='notice'>[desc.Join("\n\t")]</span>"
return "\n\t[span_notice("[desc.Join("\n\t")]")]"
/datum/component/storage/proc/update_actions()
QDEL_NULL(modeswitch_action)
@@ -187,7 +187,7 @@
/datum/component/storage/proc/attack_self(datum/source, mob/M)
if(locked)
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(M, span_warning("[parent] seems to be locked!"))
return FALSE
if((M.get_active_held_item() == parent) && allow_quick_empty)
quick_empty(M)
@@ -197,7 +197,7 @@
return FALSE
. = COMPONENT_NO_ATTACK
if(locked)
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(M, span_warning("[parent] seems to be locked!"))
return FALSE
var/obj/item/I = O
if(collection_mode == COLLECT_ONE)
@@ -211,14 +211,14 @@
things = typecache_filter_list(things, typecacheof(I.type))
var/len = length(things)
if(!len)
to_chat(M, "<span class='notice'>You failed to pick up anything with [parent].</span>")
to_chat(M, span_notice("You failed to pick up anything with [parent]."))
return
var/datum/progressbar/progress = new(M, len, I.loc)
var/list/rejections = list()
while(do_after(M, 10, TRUE, parent, FALSE, CALLBACK(src, .proc/handle_mass_pickup, things, I.loc, rejections, progress)))
stoplag(1)
qdel(progress)
to_chat(M, "<span class='notice'>You put everything you could [insert_preposition] [parent].</span>")
to_chat(M, span_notice("You put everything you could [insert_preposition] [parent]."))
/datum/component/storage/proc/handle_mass_item_insertion(list/things, datum/component/storage/src_object, mob/user, datum/progressbar/progress)
var/atom/source_real_location = src_object.real_location()
@@ -266,10 +266,10 @@
if(!M.canUseStorage() || !A.Adjacent(M) || M.incapacitated())
return
if(locked)
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(M, span_warning("[parent] seems to be locked!"))
return FALSE
A.add_fingerprint(M)
to_chat(M, "<span class='notice'>You start dumping out [parent].</span>")
to_chat(M, span_notice("You start dumping out [parent]."))
var/turf/T = get_turf(A)
var/list/things = contents()
var/datum/progressbar/progress = new(M, length(things), T)
@@ -481,7 +481,7 @@
var/atom/dump_destination = dest_object.get_dumping_location()
if(A.Adjacent(M) && dump_destination && M.Adjacent(dump_destination))
if(locked)
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(M, span_warning("[parent] seems to be locked!"))
return FALSE
if(dump_destination.storage_contents_dump_act(src, M))
playsound(A, "rustle", 50, 1, -5)
@@ -529,7 +529,7 @@
handle_show_valid_items(source, user)
/datum/component/storage/proc/handle_show_valid_items(datum/source, user)
to_chat(user, "<span class='notice'>[source] can hold: [can_hold_description]</span>")
to_chat(user, span_notice("[source] can hold: [can_hold_description]"))
/datum/component/storage/proc/mousedrop_onto(datum/source, atom/over_object, mob/M)
set waitfor = FALSE
@@ -563,7 +563,7 @@
return FALSE
A.add_fingerprint(M)
if(locked && !force)
to_chat(M, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(M, span_warning("[parent] seems to be locked!"))
return FALSE
if(force || M.CanReach(parent, view_only = TRUE))
show_to(M)
@@ -591,46 +591,46 @@
if(locked)
if(M && !stop_messages)
host.add_fingerprint(M)
to_chat(M, "<span class='warning'>[host] seems to be locked!</span>")
to_chat(M, span_warning("[host] seems to be locked!"))
return FALSE
if(real_location.contents.len >= max_items)
if(!stop_messages)
to_chat(M, "<span class='warning'>[host] is full, make some space!</span>")
to_chat(M, span_warning("[host] is full, make some space!"))
return FALSE //Storage item is full
if(length(can_hold))
if(!is_type_in_typecache(I, can_hold))
if(!stop_messages)
to_chat(M, "<span class='warning'>[host] cannot hold [I]!</span>")
to_chat(M, span_warning("[host] cannot hold [I]!"))
return FALSE
if(is_type_in_typecache(I, cant_hold)) //Check for specific items which this container can't hold.
if(!stop_messages)
to_chat(M, "<span class='warning'>[host] cannot hold [I]!</span>")
to_chat(M, span_warning("[host] cannot hold [I]!"))
return FALSE
if(I.w_class > max_w_class && !is_type_in_typecache(I, exception_hold))
if(!stop_messages)
to_chat(M, "<span class='warning'>[I] is too big for [host]!</span>")
to_chat(M, span_warning("[I] is too big for [host]!"))
return FALSE
var/sum_w_class = I.w_class
for(var/obj/item/_I in real_location)
sum_w_class += _I.w_class //Adds up the combined w_classes which will be in the storage item if the item is added to it.
if(sum_w_class > max_combined_w_class)
if(!stop_messages)
to_chat(M, "<span class='warning'>[I] won't fit in [host], make some space!</span>")
to_chat(M, span_warning("[I] won't fit in [host], make some space!"))
return FALSE
if(isitem(host))
var/obj/item/IP = host
var/datum/component/storage/STR_I = I.GetComponent(/datum/component/storage)
if((I.w_class >= IP.w_class) && STR_I && !allow_big_nesting)
if(!stop_messages)
to_chat(M, "<span class='warning'>[IP] cannot hold [I] as it's a storage item of the same size!</span>")
to_chat(M, span_warning("[IP] cannot hold [I] as it's a storage item of the same size!"))
return FALSE //To prevent the stacking of same sized storage items.
if(HAS_TRAIT(I, TRAIT_NO_STORAGE))
if(!stop_messages)
to_chat(M, "<span class='warning'>\the [I] can't seem to fit in \the [host]!</span>")
to_chat(M, span_warning("\the [I] can't seem to fit in \the [host]!"))
return FALSE
if(HAS_TRAIT(I, TRAIT_NODROP)) //SHOULD be handled in unEquip, but better safe than sorry.
if(!stop_messages)
to_chat(M, "<span class='warning'>\the [I] is stuck to your hand, you can't put it in \the [host]!</span>")
to_chat(M, span_warning("\the [I] is stuck to your hand, you can't put it in \the [host]!"))
return FALSE
var/datum/component/storage/concrete/master = master()
if(!istype(master))
@@ -661,11 +661,11 @@
playsound(parent, "rustle", 50, 1, -5)
for(var/mob/viewing in viewers(user, null))
if(M == viewing)
to_chat(usr, "<span class='notice'>You put [I] [insert_preposition]to [parent].</span>")
to_chat(usr, span_notice("You put [I] [insert_preposition]to [parent]."))
else if(in_range(M, viewing)) //If someone is standing close enough, they can tell what it is...
viewing.show_message("<span class='notice'>[M] puts [I] [insert_preposition]to [parent].</span>", MSG_VISUAL)
viewing.show_message(span_notice("[M] puts [I] [insert_preposition]to [parent]."), MSG_VISUAL)
else if(I && I.w_class >= 3) //Otherwise they can only see large or normal items from a distance...
viewing.show_message("<span class='notice'>[M] puts [I] [insert_preposition]to [parent].</span>", MSG_VISUAL)
viewing.show_message(span_notice("[M] puts [I] [insert_preposition]to [parent]."), MSG_VISUAL)
/datum/component/storage/proc/update_icon()
if(isobj(parent))
@@ -751,7 +751,7 @@
if(A.loc == user)
. = COMPONENT_NO_ATTACK_HAND
if(locked)
to_chat(user, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(user, span_warning("[parent] seems to be locked!"))
else
show_to(user)
@@ -780,7 +780,7 @@
if(locked)
if(istype(parent, /obj/item/storage/lockbox))
return
to_chat(user, "<span class='warning'>[parent] seems to be locked!</span>")
to_chat(user, span_warning("[parent] seems to be locked!"))
return
var/atom/A = parent
@@ -797,9 +797,9 @@
A.add_fingerprint(user)
remove_from_storage(I, get_turf(user))
if(!user.put_in_hands(I))
to_chat(user, "<span class='notice'>You fumble for [I] and it falls on the floor.</span>")
to_chat(user, span_notice("You fumble for [I] and it falls on the floor."))
return
user.visible_message("<span class='warning'>[user] draws [I] from [parent]!</span>", "<span class='notice'>You draw [I] from [parent].</span>")
user.visible_message(span_warning("[user] draws [I] from [parent]!"), span_notice("You draw [I] from [parent]."))
return
/datum/component/storage/proc/action_trigger(datum/signal_source, datum/action/source)

View File

@@ -62,7 +62,7 @@
L.faction = faction
RegisterSignal(L, COMSIG_MOB_DEATH, .proc/on_spawned_death) // so we can remove them from the list, etc (for mobs with corpses)
playsound(spawn_location,spawn_sound, 50, 1)
spawn_location.visible_message("<span class='danger'>[L] [spawn_text].</span>")
spawn_location.visible_message(span_danger("[L] [spawn_text]."))
/datum/component/summoning/proc/on_spawned_death(mob/killed, gibbed)
spawned_mobs -= killed

View File

@@ -18,7 +18,7 @@
/datum/component/tether/proc/checkTether(mob/mover, newloc)
if (get_dist(mover,newloc) > max_dist)
to_chat(mover, "<span class='userdanger'>The [tether_name] runs out of slack and prevents you from moving!</span>")
to_chat(mover, span_userdanger("The [tether_name] runs out of slack and prevents you from moving!"))
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE
var/atom/blocker
@@ -33,5 +33,5 @@
blocker = A
break out
if (blocker)
to_chat(mover, "<span class='userdanger'>The [tether_name] catches on [blocker] and prevents you from moving!</span>")
to_chat(mover, span_userdanger("The [tether_name] catches on [blocker] and prevents you from moving!"))
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE

View File

@@ -88,7 +88,7 @@ GLOBAL_LIST_EMPTY(uplinks)
/datum/component/uplink/proc/LoadTC(mob/user, obj/item/stack/telecrystal/TC, silent = FALSE)
if(!silent)
to_chat(user, "<span class='notice'>You slot [TC] into [parent] and charge its internal uplink.</span>")
to_chat(user, span_notice("You slot [TC] into [parent] and charge its internal uplink."))
var/amt = TC.amount
telecrystals += amt
TC.use(amt)
@@ -118,7 +118,7 @@ GLOBAL_LIST_EMPTY(uplinks)
telecrystals += cost
if(purchase_log)
purchase_log.total_spent -= cost
to_chat(user, "<span class='notice'>[I] refunded.</span>")
to_chat(user, span_notice("[I] refunded."))
qdel(I)
/datum/component/uplink/proc/interact(datum/source, mob/user)
@@ -301,7 +301,7 @@ GLOBAL_LIST_EMPTY(uplinks)
previous_attempts.Cut()
master.degrees = 0
interact(null, user)
to_chat(user, "<span class='warning'>Your pen makes a clicking noise, before quickly rotating back to 0 degrees!</span>")
to_chat(user, span_warning("Your pen makes a clicking noise, before quickly rotating back to 0 degrees!"))
else if(compare_list(previous_attempts, failsafe_code))
failsafe()