mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-28 23:58:07 +01:00
Spans to procs (#9495)
This commit is contained in:
@@ -80,7 +80,7 @@
|
||||
//It's really not recommended to use this proc to give feedback, hence why silent is defaulting to true.
|
||||
/mob/living/carbon/proc/KnockToFloor(silent = TRUE, ignore_canknockdown = FALSE, knockdown_amt = 1)
|
||||
if(!silent && body_position != LYING_DOWN)
|
||||
to_chat(src, "<span class='warning'>You are knocked to the floor!</span>")
|
||||
to_chat(src, span_warning("You are knocked to the floor!"))
|
||||
Knockdown(knockdown_amt, ignore_canknockdown)
|
||||
|
||||
/mob/living/proc/StaminaKnockdown(stamina_damage, disarm, brief_stun, hardstun, ignore_canknockdown = FALSE, paralyze_amount, knockdown_amt = 1)
|
||||
@@ -124,12 +124,12 @@
|
||||
var/time_doing = 4 SECONDS
|
||||
if(target.stat != CONSCIOUS)
|
||||
time_doing = 2 SECONDS
|
||||
target.visible_message("<span class='danger'>[user.name] holds [target.name]'s head tight and slams it down!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You grasp [target.name]'s head and slam it down!</span>")
|
||||
target.visible_message(span_danger("[user.name] holds [target.name]'s head tight and slams it down!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You grasp [target.name]'s head and slam it down!"))
|
||||
else
|
||||
target.visible_message("<span class='danger'>[user.name] holds [target.name]'s head and tries to overpower [target.p_them()]!</span>", \
|
||||
"<span class='userdanger'>You struggle as [user.name] holds your head and tries to overpower you!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You grasp [target.name]'s head and try to overpower [target.p_them()]...</span>")
|
||||
target.visible_message(span_danger("[user.name] holds [target.name]'s head and tries to overpower [target.p_them()]!"), \
|
||||
span_userdanger("'>You struggle as [user.name] holds your head and tries to overpower you!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You grasp [target.name]'s head and try to overpower [target.p_them()]..."))
|
||||
user.changeNext_move(time_doing)
|
||||
if(do_mob(user, target, time_doing))
|
||||
var/armor_block = target.run_armor_check(affecting, MELEE)
|
||||
@@ -137,9 +137,9 @@
|
||||
if(armor_block < HEADSMASH_BLOCK_ARMOR)
|
||||
head_knock = TRUE
|
||||
|
||||
target.visible_message("<span class='danger'>[user.name] violently slams [target.name]'s head into the floor!</span>", \
|
||||
"<span class='userdanger'>[user.name] slams your head against the floor!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You slam [target.name] head against the floor!</span>")
|
||||
target.visible_message(span_danger("[user.name] violently slams [target.name]'s head into the floor!"), \
|
||||
span_userdanger("'>[user.name] slams your head against the floor!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You slam [target.name] head against the floor!"))
|
||||
|
||||
//Check to see if our head is protected by at least 20 melee armor
|
||||
if(head_knock)
|
||||
@@ -158,9 +158,9 @@
|
||||
//Suplex!
|
||||
. = TRUE
|
||||
user.changeNext_move(3 SECONDS)
|
||||
target.visible_message("<span class='danger'>[user.name] holds [target.name] tight and starts lifting [target.p_them()] up!</span>", \
|
||||
"<span class='userdanger'>[user.name] holds you tight and lifts you up!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You hold [target.name] tight and lift [target.p_them()] up...</span>")
|
||||
target.visible_message(span_danger("[user.name] holds [target.name] tight and starts lifting [target.p_them()] up!"), \
|
||||
span_userdanger("'>[user.name] holds you tight and lifts you up!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You hold [target.name] tight and lift [target.p_them()] up..."))
|
||||
if(do_mob(user, target, 3 SECONDS))
|
||||
var/move_dir = get_dir(target, user)
|
||||
var/moved_turf = get_turf(target)
|
||||
@@ -169,9 +169,9 @@
|
||||
if(IS_OPAQUE_TURF(next_turf))
|
||||
break
|
||||
moved_turf = next_turf
|
||||
target.visible_message("<span class='danger'>[user.name] suplexes [target.name] down to the ground!</span>", \
|
||||
"<span class='userdanger'>[user.name] suplexes you!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You suplex [target.name]!</span>")
|
||||
target.visible_message(span_danger("[user.name] suplexes [target.name] down to the ground!"), \
|
||||
span_userdanger("'>[user.name] suplexes you!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You suplex [target.name]!"))
|
||||
user.StaminaKnockdown(30, TRUE, TRUE)
|
||||
user.SpinAnimation(7,1)
|
||||
target.SpinAnimation(7,1)
|
||||
@@ -187,13 +187,13 @@
|
||||
//Dislocation
|
||||
. = TRUE
|
||||
user.changeNext_move(4 SECONDS)
|
||||
target.visible_message("<span class='danger'>[user.name] twists [target.name]'s [affecting.name] violently!</span>", \
|
||||
"<span class='userdanger'>[user.name] twists your [affecting.name] violently!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You start twisting [target.name]'s [affecting.name] violently!</span>")
|
||||
target.visible_message(span_danger("[user.name] twists [target.name]'s [affecting.name] violently!"), \
|
||||
span_userdanger("'>[user.name] twists your [affecting.name] violently!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You start twisting [target.name]'s [affecting.name] violently!"))
|
||||
if(do_mob(user, target, 4 SECONDS))
|
||||
target.visible_message("<span class='danger'>[user.name] dislocates [target.name]'s [affecting.name]!</span>", \
|
||||
"<span class='userdanger'>[user.name] dislocates your [affecting.name]!</span>", ignored_mobs=user)
|
||||
to_chat(user, "<span class='danger'>You dislocate [target.name]'s [affecting.name]!</span>")
|
||||
target.visible_message(span_danger("[user.name] dislocates [target.name]'s [affecting.name]!"), \
|
||||
span_userdanger("'>[user.name] dislocates your [affecting.name]!"), ignored_mobs=user)
|
||||
to_chat(user, span_danger("You dislocate [target.name]'s [affecting.name]!"))
|
||||
affecting.force_wound_upwards(/datum/wound/blunt/moderate)
|
||||
log_combat(user, target, "dislocates", "the [affecting.name]")
|
||||
|
||||
|
||||
@@ -1 +1,12 @@
|
||||
#define span_emote(str) ("<span class='emote'>" + str + "</span>")
|
||||
#define span_header(str) ("<span class='header'>" + str + "</span>")
|
||||
#define span_italics(str) ("<span class='italics'>" + str + "</span>")
|
||||
#define span_maptext(str) ("<span class='maptext'>" + str + "</span>")
|
||||
#define span_mentor(str) ("<span class='mentor'>" + str + "</span>")
|
||||
#define span_mentornotice(str) ("<span class='mentornotice'>" + str + "</span>")
|
||||
#define span_oocplain(str) ("<span class='oocplain'>" + str + "</span>")
|
||||
#define span_pink(str) ("<span class='pink'>" + str + "</span>")
|
||||
#define span_rlooc(str) ("<span class='rlooc'>" + str + "</span>")
|
||||
#define span_smalldanger(str) ("<span class='smalldanger'>" + str + "</span>")
|
||||
#define span_userlove(str) ("<span class='userlove'>" + str + "</span>")
|
||||
#define span_warningplain(str) ("<span class='warningplain'>" + str + "</span>")
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
return FALSE
|
||||
var/obj/item/bodypart/other_hand = shooter.has_hand_for_held_index(shooter.get_inactive_hand_index())
|
||||
if(weapon_weight == WEAPON_HEAVY && (shooter.get_inactive_held_item() || !other_hand))
|
||||
to_chat(shooter, "<span class='warning'>You need two hands to fire [src]!</span>")
|
||||
to_chat(shooter, span_warning("You need two hands to fire [src]!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
if(!isturf(A.loc)) //NO MOTHERFLIPPIN MECHS!
|
||||
return BULLET_ACT_HIT
|
||||
if(A.throw_mode)
|
||||
A.visible_message("<span class='danger'>[A] effortlessly swats the projectile aside! They can block bullets with their bare hands!</span>", "<span class='userdanger'>You deflect the projectile!</span>")
|
||||
A.visible_message(span_danger("[A] effortlessly swats the projectile aside! They can block bullets with their bare hands!"), span_userdanger("You deflect the projectile!"))
|
||||
playsound(get_turf(A), pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 75, TRUE)
|
||||
P.firer = A
|
||||
P.set_angle(rand(0, 360))//SHING
|
||||
@@ -27,4 +27,4 @@
|
||||
name = "old but gold manual"
|
||||
martialname = "close quarters combat plus"
|
||||
desc = "A small, black manual. There are drawn instructions of tactical hand-to-hand combat. This includes how to deflect projectiles too."
|
||||
greet = "<span class='boldannounce'>You've mastered the basics of CQC+.</span>"
|
||||
greet = span_boldannounce("You've mastered the basics of CQC+.")
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
desc = "You're used to walking barefoot, and won't receive the negative effects of doing so."
|
||||
value = 2
|
||||
mob_trait = TRAIT_HARD_SOLES
|
||||
gain_text = "<span class='notice'>The ground doesn't feel so rough on your feet anymore.</span>"
|
||||
lose_text = "<span class='danger'>You start feeling the ridges and imperfections on the ground.</span>"
|
||||
gain_text = span_notice("The ground doesn't feel so rough on your feet anymore.")
|
||||
lose_text = span_danger("You start feeling the ridges and imperfections on the ground.")
|
||||
medical_record_text = "Patient's feet are more resilient against traction."
|
||||
icon = "boot"
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
desc = "(Aquatic innate) Underwater societies are home to you, space ain't much different. (Say *turf to cast)"
|
||||
value = 0
|
||||
mob_trait = TRAIT_WATER_ASPECT
|
||||
gain_text = "<span class='notice'>You feel like you can control water.</span>"
|
||||
lose_text = "<span class='danger'>Somehow, you've lost your ability to control water!</span>"
|
||||
gain_text = span_notice("You feel like you can control water.")
|
||||
lose_text = span_danger("Somehow, you've lost your ability to control water!")
|
||||
medical_record_text = "Patient holds a collection of nanobots designed to synthesize H2O."
|
||||
icon = "water"
|
||||
|
||||
@@ -36,8 +36,8 @@
|
||||
desc = "(Insect innate) Insect folk capable of weaving aren't unfamiliar with receiving envy from those lacking a natural 3D printer. (Say *turf to cast)"
|
||||
value = 0
|
||||
mob_trait = TRAIT_WEBBING_ASPECT
|
||||
gain_text = "<span class='notice'>You could easily spin a web.</span>"
|
||||
lose_text = "<span class='danger'>Somehow, you've lost your ability to weave.</span>"
|
||||
gain_text = span_notice("You could easily spin a web.")
|
||||
lose_text = span_danger("Somehow, you've lost your ability to weave.")
|
||||
medical_record_text = "Patient has the ability to weave webs with naturally synthesized silk."
|
||||
icon = "spider-web"
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
desc = "(Podperson innate) Kudzu research isn't pointless, rapid photosynthesis technology is here! (Say *turf to cast)"
|
||||
value = 0
|
||||
mob_trait = TRAIT_FLORAL_ASPECT
|
||||
gain_text = "<span class='notice'>You feel like you can grow vines.</span>"
|
||||
lose_text = "<span class='danger'>Somehow, you've lost your ability to rapidly photosynthesize.</span>"
|
||||
gain_text = span_notice("You feel like you can grow vines.")
|
||||
lose_text = span_danger("Somehow, you've lost your ability to rapidly photosynthesize.")
|
||||
medical_record_text = "Patient can rapidly photosynthesize to grow vines."
|
||||
icon = "seedling"
|
||||
|
||||
@@ -56,8 +56,8 @@
|
||||
desc = "(Lizard innate) The ability to forge ash and flame, a mighty power - yet mostly used for theatrics. (Say *turf to cast)"
|
||||
value = 0
|
||||
mob_trait = TRAIT_ASH_ASPECT
|
||||
gain_text = "<span class='notice'>There is a forge smouldering inside of you.</span>"
|
||||
lose_text = "<span class='danger'>Somehow, you've lost your ability to breathe fire.</span>"
|
||||
gain_text = span_notice("There is a forge smouldering inside of you.")
|
||||
lose_text = span_danger("Somehow, you've lost your ability to breathe fire.")
|
||||
medical_record_text = "Patients possess a fire breathing gland commonly found in lizard folk."
|
||||
icon = "fire"
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
desc = "(Moth innate) Sparkle like the dust off of a moth's wing, or like a cheap red-light hook-up. (Say *turf to cast)"
|
||||
value = 0
|
||||
mob_trait = TRAIT_SPARKLE_ASPECT
|
||||
gain_text = "<span class='notice'>You're covered in sparkling dust!</span>"
|
||||
lose_text = "<span class='danger'>Somehow, you've completely cleaned yourself of glitter..</span>"
|
||||
gain_text = span_notice("You're covered in sparkling dust!")
|
||||
lose_text = span_danger("Somehow, you've completely cleaned yourself of glitter..")
|
||||
medical_record_text = "Patient seems to be looking fabulous."
|
||||
icon = "hand-sparkles"
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
/datum/quirk/sensitivesnout
|
||||
name = "Sensitive Snout"
|
||||
desc = "Your face has always been sensitive, and it really hurts when someone pokes it!"
|
||||
gain_text = "<span class='notice'>Your face is awfully sensitive.</span>"
|
||||
lose_text = "<span class='notice'>Your face feels numb.</span>"
|
||||
gain_text = span_notice("Your face is awfully sensitive.")
|
||||
lose_text = span_notice("Your face feels numb.")
|
||||
medical_record_text = "Patient's nose seems to have a cluster of nerves in the tip, would advise against direct contact."
|
||||
value = -2
|
||||
mob_trait = TRAIT_SENSITIVESNOUT
|
||||
@@ -22,8 +22,8 @@
|
||||
name = "Monophobia"
|
||||
desc = "You will become increasingly stressed when not in company of others, triggering panic reactions ranging from sickness to heart attacks."
|
||||
value = -6
|
||||
gain_text = "<span class='danger'>You feel really lonely...</span>"
|
||||
lose_text = "<span class='notice'>You feel like you could be safe on your own.</span>"
|
||||
gain_text = span_danger("You feel really lonely...")
|
||||
lose_text = span_notice("You feel like you could be safe on your own.")
|
||||
medical_record_text = "Patient feels sick and distressed when not around other people, leading to potentially lethal levels of stress."
|
||||
icon = "people-arrows"
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
/datum/quirk/ashwalkertalons
|
||||
name = "Chunky Fingers"
|
||||
desc = "Your digits are thick and tough and unable to use modular computers including tablets, certain devices like laser pointers, and non-adapted firearms."
|
||||
gain_text = "<span class='notice'>Your fingers feel thicker and slightly less dextrous. You expect you'll have a difficult time using computers, certain small devices and firearms.</span>"
|
||||
lose_text = "<span class='notice'>Your digits feel lithe and capable once more.</span>"
|
||||
gain_text = span_notice("Your fingers feel thicker and slightly less dextrous. You expect you'll have a difficult time using computers, certain small devices and firearms.")
|
||||
lose_text = span_notice("Your digits feel lithe and capable once more.")
|
||||
medical_record_text = "Patient's digits are thick and lack the dexterity for operating some small devices, computers and non-adapted firearms."
|
||||
value = -8
|
||||
mob_trait = TRAIT_CHUNKYFINGERS
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
/datum/quirk/excitable
|
||||
name = "Excitable!"
|
||||
desc = "Head patting makes your tail wag! You're very excitable! WAG WAG."
|
||||
gain_text = "<span class='notice'>You crave for some headpats!</span>"
|
||||
lose_text = "<span class='notice'>You no longer care for headpats all that much.</span>"
|
||||
gain_text = span_notice("You crave for some headpats!")
|
||||
lose_text = span_notice("You no longer care for headpats all that much.")
|
||||
medical_record_text = "Patient seems to get excited easily."
|
||||
value = 0
|
||||
mob_trait = TRAIT_EXCITABLE
|
||||
@@ -14,8 +14,8 @@
|
||||
/datum/quirk/ironass
|
||||
name = "Iron Ass"
|
||||
desc = "Your ass is incredibly firm, so firm infact that anyone slapping it will suffer grave injuries."
|
||||
gain_text = "<span class='notice'>Your ass feels solid!</span>"
|
||||
lose_text = "<span class='notice'>Your ass doesn't feel so solid anymore.</span>"
|
||||
gain_text = span_notice("Your ass feels solid!")
|
||||
lose_text = span_notice("Your ass doesn't feel so solid anymore.")
|
||||
medical_record_text = "Patient's ass seems incredibly solid."
|
||||
value = 0
|
||||
mob_trait = TRAIT_IRONASS
|
||||
@@ -24,8 +24,8 @@
|
||||
/datum/quirk/dnr
|
||||
name = "Do Not Revive"
|
||||
desc = "For whatever reason, you cannot be revived in any way."
|
||||
gain_text = "<span class='notice'>Your spirit gets too scarred to accept revival.</span>"
|
||||
lose_text = "<span class='notice'>You can feel your soul healing again.</span>"
|
||||
gain_text = span_notice("Your spirit gets too scarred to accept revival.")
|
||||
lose_text = span_notice("You can feel your soul healing again.")
|
||||
medical_record_text = "Patient is a DNR, and cannot be revived in any way."
|
||||
value = 0
|
||||
mob_trait = TRAIT_DNR
|
||||
@@ -92,11 +92,11 @@
|
||||
if(flipped)
|
||||
info = initial(info)
|
||||
flipped = FALSE
|
||||
to_chat(user, "<span class='notice'>You unflip the card.</span>")
|
||||
to_chat(user, span_notice("You unflip the card."))
|
||||
else
|
||||
info = info2
|
||||
flipped = TRUE
|
||||
to_chat(user, "<span class='notice'>You flip the card.</span>")
|
||||
to_chat(user, span_notice("You flip the card."))
|
||||
|
||||
/datum/quirk/item_quirk/joker/process()
|
||||
if(pcooldown > world.time)
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
|
||||
user.visible_message("<span class='notice'>[user] bangs on \the [src].</span>", \
|
||||
"<span class='notice'>You bang on \the [src].</span>")
|
||||
user.visible_message(span_notice("[user] bangs on \the [src]."), \
|
||||
span_notice("You bang on \the [src]."))
|
||||
playsound(loc, 'sound/effects/glassknock.ogg', 10, FALSE, frequency = 32000)
|
||||
|
||||
/obj/machinery/door/proc/try_manual_override(mob/user)
|
||||
if(density)
|
||||
to_chat(user, "<span class='notice'>You begin working the manual override mechanism...</span>")
|
||||
to_chat(user, span_notice("You begin working the manual override mechanism..."))
|
||||
if(do_after(user, 10 SECONDS, target = src))
|
||||
try_to_crowbar(null, user)
|
||||
return TRUE
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
/obj/machinery/door/firedoor/try_to_crowbar(obj/item/I, mob/user)
|
||||
if(welded || operating)
|
||||
to_chat(user, "<span class='warning'>[src] refuses to budge!</span>")
|
||||
to_chat(user, span_warning("[src] refuses to budge!"))
|
||||
return
|
||||
|
||||
if(density)
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
var/obj/item/organ/lungs/L = user.getorganslot(ORGAN_SLOT_LUNGS)
|
||||
|
||||
if(can_use(user) && L)
|
||||
user.visible_message("<span class='suicide'>[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
user.visible_message(span_suicide("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
|
||||
use(user)
|
||||
|
||||
// Once you've inhaled the toner, you throw up your lungs
|
||||
@@ -100,20 +100,20 @@
|
||||
|
||||
// TODO maybe add some colorful vomit?
|
||||
|
||||
user.visible_message("<span class='suicide'>[user] vomits out [user.p_their()] [L]!</span>")
|
||||
user.visible_message(span_suicide("[user] vomits out [user.p_their()] [L]!"))
|
||||
playsound(user.loc, 'sound/effects/splat.ogg', 50, TRUE)
|
||||
|
||||
L.forceMove(T)
|
||||
|
||||
return (TOXLOSS|OXYLOSS)
|
||||
else if(can_use(user) && !L)
|
||||
user.visible_message("<span class='suicide'>[user] is spraying toner on [user.p_them()]self from [src]! It looks like [user.p_theyre()] trying to commit suicide.</span>")
|
||||
user.visible_message(span_suicide("[user] is spraying toner on [user.p_them()]self from [src]! It looks like [user.p_theyre()] trying to commit suicide."))
|
||||
user.reagents.add_reagent(/datum/reagent/colorful_reagent, 1)
|
||||
user.reagents.expose(user, TOUCH, 1)
|
||||
return TOXLOSS
|
||||
|
||||
else
|
||||
user.visible_message("<span class='suicide'>[user] is trying to inhale toner from [src]! It might be a suicide attempt if [src] had any toner.</span>")
|
||||
user.visible_message(span_suicide("[user] is trying to inhale toner from [src]! It might be a suicide attempt if [src] had any toner."))
|
||||
return SHAME
|
||||
|
||||
/obj/item/airlock_painter/decal
|
||||
@@ -144,7 +144,7 @@
|
||||
. = ..()
|
||||
var/turf/open/floor/F = target
|
||||
if(!proximity)
|
||||
to_chat(user, "<span class='notice'>You need to get closer!</span>")
|
||||
to_chat(user, span_notice("You need to get closer!"))
|
||||
return
|
||||
if(use_paint(user) && isturf(F))
|
||||
F.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, null, null, alpha, color, null, CLEAN_TYPE_PAINT, null)
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
H.dna.features["mcolor"] = sanitize_hexcolor(new_mutantcolor)
|
||||
|
||||
else
|
||||
to_chat(H, "<span class='notice'>Invalid color. Your color is not bright enough.</span>")
|
||||
to_chat(H, span_notice("Invalid color. Your color is not bright enough."))
|
||||
|
||||
H.update_body()
|
||||
H.update_hair()
|
||||
@@ -93,14 +93,14 @@
|
||||
if(H.gender == "male")
|
||||
if(alert(H, "Become a Witch?", "Confirmation", "Yes", "No") == "Yes")
|
||||
H.gender = "female"
|
||||
to_chat(H, "<span class='notice'>Man, you feel like a woman!</span>")
|
||||
to_chat(H, span_notice("Man, you feel like a woman!"))
|
||||
else
|
||||
return
|
||||
|
||||
else
|
||||
if(alert(H, "Become a Warlock?", "Confirmation", "Yes", "No") == "Yes")
|
||||
H.gender = "male"
|
||||
to_chat(H, "<span class='notice'>Whoa man, you feel like a man!</span>")
|
||||
to_chat(H, span_notice("Whoa man, you feel like a man!"))
|
||||
else
|
||||
return
|
||||
H.dna.update_ui_block(DNA_GENDER_BLOCK)
|
||||
@@ -179,14 +179,14 @@
|
||||
if(H.gender == "male")
|
||||
if(alert(H, "Become a Witch?", "Confirmation", "Yes", "No") == "Yes")
|
||||
H.gender = "female"
|
||||
to_chat(H, "<span class='notice'>Man, you feel like a woman!</span>")
|
||||
to_chat(H, span_notice("Man, you feel like a woman!"))
|
||||
else
|
||||
return
|
||||
|
||||
else
|
||||
if(alert(H, "Become a Warlock?", "Confirmation", "Yes", "No") == "Yes")
|
||||
H.gender = "male"
|
||||
to_chat(H, "<span class='notice'>Whoa man, you feel like a man!</span>")
|
||||
to_chat(H, span_notice("Whoa man, you feel like a man!"))
|
||||
else
|
||||
return
|
||||
H.dna.update_ui_block(DNA_GENDER_BLOCK)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
/obj/item/nullrod/cultdagger/attack_self(mob/user)
|
||||
if(narsian)
|
||||
else if(user.mind && (user.mind.holy_role))
|
||||
to_chat(user, "<span class='cultlarge'>\"Partake in the language of blood..\"</span>")
|
||||
to_chat(user, span_cultlarge("\"Partake in the language of blood..\""))
|
||||
user.grant_language(/datum/language/narsie, TRUE, TRUE, LANGUAGE_MIND)
|
||||
special_desc_requirement = NONE // No point in keeping something that can't no longer be used
|
||||
narsian = TRUE
|
||||
@@ -107,7 +107,7 @@
|
||||
/obj/item/nullrod/claymore/darkblade/attack_self(mob/user)
|
||||
if(narsian)
|
||||
else if(user.mind && (user.mind.holy_role))
|
||||
to_chat(user, "<span class='cultlarge'>\"Partake in the language of blood..\"</span>")
|
||||
to_chat(user, span_cultlarge("\"Partake in the language of blood..\""))
|
||||
user.grant_language(/datum/language/narsie, TRUE, TRUE, LANGUAGE_MIND)
|
||||
special_desc_requirement = NONE // No point in keeping something that can't no longer be used
|
||||
narsian = TRUE
|
||||
@@ -147,28 +147,28 @@
|
||||
|
||||
/obj/item/nullrod/rosary/attack(mob/living/M, mob/living/user, params)
|
||||
if(!user.mind || user.mind.assigned_role != "Chaplain")
|
||||
to_chat(user, "<span class='notice'>You are not close enough with [deity_name] to use [src].</span>")
|
||||
to_chat(user, span_notice("You are not close enough with [deity_name] to use [src]."))
|
||||
return
|
||||
if(user.combat_mode)
|
||||
return ..()
|
||||
if(praying)
|
||||
to_chat(user, "<span class='notice'>You are already using [src].</span>")
|
||||
to_chat(user, span_notice("You are already using [src]."))
|
||||
return
|
||||
|
||||
user.visible_message("<span class='info'>[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [deity_name].</span>", \
|
||||
"<span class='info'>You kneel[M == user ? null : " next to [M]"] and begin a prayer to [deity_name].</span>")
|
||||
user.visible_message(span_info("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [deity_name]."), \
|
||||
span_info("You kneel[M == user ? null : " next to [M]"] and begin a prayer to [deity_name]."))
|
||||
|
||||
praying = TRUE
|
||||
if(do_after(user, 20, target = M))
|
||||
M.reagents?.add_reagent(/datum/reagent/water/holywater, 5)
|
||||
to_chat(M, "<span class='notice'>[user]'s prayer to [deity_name] has eased your pain!</span>")
|
||||
to_chat(M, span_notice("[user]'s prayer to [deity_name] has eased your pain!"))
|
||||
M.adjustToxLoss(-5, TRUE, TRUE)
|
||||
M.adjustOxyLoss(-5)
|
||||
M.adjustBruteLoss(-5)
|
||||
M.adjustFireLoss(-5)
|
||||
praying = FALSE
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Your prayer to [deity_name] was interrupted.</span>")
|
||||
to_chat(user, span_notice("Your prayer to [deity_name] was interrupted."))
|
||||
praying = FALSE
|
||||
|
||||
/obj/item/nullrod/scythe/sickle
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
/obj/item/oxygen_candle/attack_self(mob/user)
|
||||
if(!pulled)
|
||||
playsound(src, 'sound/effects/fuse.ogg', 75, 1)
|
||||
to_chat(user, "<span class='notice'>You pull the cord and [src] ignites.</span>")
|
||||
to_chat(user, span_notice("You pull the cord and [src] ignites."))
|
||||
icon_state = "oxycandle_burning"
|
||||
pulled = TRUE
|
||||
processing = TRUE
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
|
||||
/obj/structure/sauna_oven/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>The rocks are [water_amount ? "moist" : "dry"].</span>"
|
||||
. += "<span class='notice'>There's [fuel_amount ? "some fuel" : "no fuel"] in the oven.</span>"
|
||||
. += span_notice("The rocks are [water_amount ? "moist" : "dry"].")
|
||||
. += span_notice("There's [fuel_amount ? "some fuel" : "no fuel"] in the oven.")
|
||||
|
||||
/obj/structure/sauna_oven/Destroy()
|
||||
if(lit)
|
||||
@@ -33,11 +33,11 @@
|
||||
if(lit)
|
||||
lit = FALSE
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
user.visible_message("<span class='notice'>[user] turns off [src].</span>", "<span class='notice'>You turn off [src].</span>")
|
||||
user.visible_message(span_notice("[user] turns off [src]."), span_notice("You turn off [src]."))
|
||||
else if (fuel_amount)
|
||||
lit = TRUE
|
||||
START_PROCESSING(SSobj, src)
|
||||
user.visible_message("<span class='notice'>[user] turns on [src].</span>", "<span class='notice'>You turn on [src].</span>")
|
||||
user.visible_message(span_notice("[user] turns on [src]."), span_notice("You turn on [src]."))
|
||||
update_icon()
|
||||
|
||||
/obj/structure/sauna_oven/update_overlays()
|
||||
@@ -51,9 +51,9 @@
|
||||
|
||||
/obj/structure/sauna_oven/attackby(obj/item/T, mob/user)
|
||||
if(T.tool_behaviour == TOOL_WRENCH)
|
||||
to_chat(user, "<span class='notice'>You begin to deconstruct [src].</span>")
|
||||
to_chat(user, span_notice("You begin to deconstruct [src]."))
|
||||
if(T.use_tool(src, user, 60, volume=50))
|
||||
to_chat(user, "<span class='notice'>You successfully deconstructed [src].</span>")
|
||||
to_chat(user, span_notice("You successfully deconstructed [src]."))
|
||||
new /obj/item/stack/sheet/mineral/wood(get_turf(src), 30)
|
||||
qdel(src)
|
||||
|
||||
@@ -63,34 +63,34 @@
|
||||
return ..()
|
||||
if(reagent_container.reagents.has_reagent(/datum/reagent/water))
|
||||
reagent_container.reagents.remove_reagent(/datum/reagent/water, 5)
|
||||
user.visible_message("<span class='notice'>[user] pours some \
|
||||
water into [src].</span>", "<span class='notice'>You pour \
|
||||
some water to [src].</span>")
|
||||
user.visible_message(span_notice("[user] pours some \
|
||||
water into [src]."), span_notice("You pour \
|
||||
some water to [src]."))
|
||||
water_amount += 5 * SAUNA_WATER_PER_WATER_UNIT
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There's no water in [reagent_container]</span>")
|
||||
to_chat(user, span_warning("There's no water in [reagent_container]"))
|
||||
|
||||
else if(istype(T, /obj/item/stack/sheet/mineral/wood))
|
||||
var/obj/item/stack/sheet/mineral/wood/wood = T
|
||||
if(fuel_amount > SAUNA_MAXIMUM_FUEL)
|
||||
to_chat(user, "<span class='warning'>You can't fit any more of [T] in [src]!</span>")
|
||||
to_chat(user, span_warning("You can't fit any more of [T] in [src]!"))
|
||||
return
|
||||
fuel_amount += SAUNA_LOG_FUEL * wood.amount
|
||||
wood.use(wood.amount)
|
||||
user.visible_message("<span class='notice'>[user] tosses some \
|
||||
wood into [src].</span>", "<span class='notice'>You add \
|
||||
some fuel to [src].</span>")
|
||||
user.visible_message(span_notice("[user] tosses some \
|
||||
wood into [src]."), span_notice("You add \
|
||||
some fuel to [src]."))
|
||||
else if(istype(T, /obj/item/paper_bin))
|
||||
var/obj/item/paper_bin/paper_bin = T
|
||||
user.visible_message("<span class='notice'>[user] throws [T] into \
|
||||
[src].</span>", "<span class='notice'>You add [T] to [src].\
|
||||
</span>")
|
||||
user.visible_message(span_notice("[user] throws [T] into \
|
||||
[src]."), span_notice("You add [T] to [src].\
|
||||
"))
|
||||
fuel_amount += SAUNA_PAPER_FUEL * paper_bin.total_paper
|
||||
qdel(paper_bin)
|
||||
else if(istype(T, /obj/item/paper))
|
||||
user.visible_message("<span class='notice'>[user] throws [T] into \
|
||||
[src].</span>", "<span class='notice'>You throw [T] into [src].\
|
||||
</span>")
|
||||
user.visible_message(span_notice("[user] throws [T] into \
|
||||
[src]."), span_notice("You throw [T] into [src].\
|
||||
"))
|
||||
fuel_amount += SAUNA_PAPER_FUEL
|
||||
qdel(T)
|
||||
return ..()
|
||||
|
||||
@@ -38,27 +38,27 @@
|
||||
var/atom/A = contents[contents.len] //Get the most recent hidden thing
|
||||
if(istype(A, /mob/living))
|
||||
var/mob/living/M = A
|
||||
to_chat(user,"<span class='notice'>You found someone in the trash!</span>")
|
||||
to_chat(user,span_notice("You found someone in the trash!"))
|
||||
eject_mob(M)
|
||||
else if (istype(A, /obj/item))
|
||||
var/obj/item/I = A
|
||||
to_chat(user,"<span class='notice'>You found something!</span>")
|
||||
to_chat(user,span_notice("You found something!"))
|
||||
I.forceMove(src.loc)
|
||||
else
|
||||
//You already searched this one bruh
|
||||
if(user.ckey in searchedby)
|
||||
to_chat(user,"<span class='warning'>There's nothing else for you in \the [src]!</span>")
|
||||
to_chat(user,span_warning("There's nothing else for you in \the [src]!"))
|
||||
//You found an item!
|
||||
else
|
||||
produce_alpha_item()
|
||||
to_chat(user,"<span class='notice'>You found something!</span>")
|
||||
to_chat(user,span_notice("You found something!"))
|
||||
searchedby += user.ckey
|
||||
|
||||
/obj/structure/trash_pile/attack_hand(mob/user)
|
||||
//Human mob
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
H.visible_message("[user] searches through \the [src].","<span class='notice'>You search through \the [src].</span>")
|
||||
H.visible_message("[user] searches through \the [src].",span_notice("You search through \the [src]."))
|
||||
//Do the searching
|
||||
if(do_after(user,rand(4 SECONDS,6 SECONDS),target=src))
|
||||
if(src.loc) //Let's check if the pile still exists
|
||||
@@ -84,21 +84,21 @@
|
||||
|
||||
/obj/structure/trash_pile/proc/eject_mob(var/mob/living/M)
|
||||
M.forceMove(src.loc)
|
||||
to_chat(M,"<span class='warning'>You've been found!</span>")
|
||||
to_chat(M,span_warning("You've been found!"))
|
||||
playsound(M.loc, 'sound/machines/chime.ogg', 50, FALSE, -5)
|
||||
M.do_alert_animation(M)
|
||||
|
||||
/obj/structure/trash_pile/proc/do_dive(mob/user)
|
||||
if(contents.len)
|
||||
for(var/mob/M in contents)
|
||||
to_chat(user,"<span class='warning'>There's someone in the trash already!</span>")
|
||||
to_chat(user,span_warning("There's someone in the trash already!"))
|
||||
eject_mob(M)
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/structure/trash_pile/proc/dive_in_pile(mob/user)
|
||||
user.visible_message("<span class='warning'>[user] starts diving into [src].</span>", \
|
||||
"<span class='notice'>You start diving into [src]...</span>")
|
||||
user.visible_message(span_warning("[user] starts diving into [src]."), \
|
||||
span_notice("You start diving into [src]..."))
|
||||
var/adjusted_dive_time = hide_person_time
|
||||
if(HAS_TRAIT(user, TRAIT_RESTRAINED)) //hiding takes twice as long when restrained.
|
||||
adjusted_dive_time *= 2
|
||||
@@ -106,7 +106,7 @@
|
||||
if(do_mob(user, user, adjusted_dive_time))
|
||||
if(src.loc) //Checking if structure has been destroyed
|
||||
if(do_dive(user))
|
||||
to_chat(user,"<span class='notice'>You hide in the trashpile.</span>")
|
||||
to_chat(user,span_notice("You hide in the trashpile."))
|
||||
user.forceMove(src)
|
||||
|
||||
/obj/structure/trash_pile/proc/can_hide_item(obj/item/I)
|
||||
@@ -117,15 +117,15 @@
|
||||
/obj/structure/trash_pile/attackby(obj/item/I, mob/living/user, params)
|
||||
if(!user.combat_mode)
|
||||
if(can_hide_item(I))
|
||||
to_chat(user,"<span class='notice'>You begin to stealthily hide [I] in the [src].</span>")
|
||||
to_chat(user,span_notice("You begin to stealthily hide [I] in the [src]."))
|
||||
if(do_mob(user, user, hide_item_time))
|
||||
if(src.loc)
|
||||
if(user.transferItemToLoc(I, src))
|
||||
to_chat(user,"<span class='notice'>You hide [I] in the trash.</span>")
|
||||
to_chat(user,span_notice("You hide [I] in the trash."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>\The [I] is stuck to your hand, you cannot put it in the trash!</span>")
|
||||
to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot put it in the trash!"))
|
||||
else
|
||||
to_chat(user,"<span class='warning'>The [src] is way too full to fit [I].</span>")
|
||||
to_chat(user,span_warning("The [src] is way too full to fit [I]."))
|
||||
return
|
||||
|
||||
. = ..()
|
||||
|
||||
@@ -17,4 +17,4 @@ GLOBAL_VAR_INIT(dchat_allowed, TRUE)
|
||||
return
|
||||
else //otherwise just toggle it
|
||||
GLOB.dchat_allowed = !GLOB.dchat_allowed
|
||||
to_chat(world, "<span class='oocplain'><B>The dead chat channel has been globally [GLOB.dchat_allowed ? "enabled" : "disabled"].</B></span>")
|
||||
to_chat(world, span_oocplain("<B>The dead chat channel has been globally [GLOB.dchat_allowed ? "enabled" : "disabled"].</B>"))
|
||||
|
||||
+1
-1
@@ -4,6 +4,6 @@
|
||||
for(var/mob/living/M in GLOB.mob_living_list)
|
||||
if(M.loc.z == level)
|
||||
M.flash_act(100, TRUE, TRUE)
|
||||
to_chat(M, "<span class='userdanger'>You feel your skin prickle with heat as you're ripped atom from atom in the raging inferno of a nuclear blast. Your last thought is 'Oh fuck.'</span>")
|
||||
to_chat(M, span_userdanger("You feel your skin prickle with heat as you're ripped atom from atom in the raging inferno of a nuclear blast. Your last thought is 'Oh fuck.'"))
|
||||
M.emote("scream")
|
||||
M.gib()
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
var/mob/living/carbon/human/human_to_dunk = hit_atom
|
||||
if(!human_to_dunk.get_item_by_slot(ITEM_SLOT_HEAD) && prob(50)) //Anything on de head stops the head hump
|
||||
if(zombify(human_to_dunk))
|
||||
to_chat(human_to_dunk, "<span class='userdanger'>[src] latches onto your head as it pierces your skull, instantly killing you!</span>")
|
||||
to_chat(human_to_dunk, span_userdanger("[src] latches onto your head as it pierces your skull, instantly killing you!"))
|
||||
playsound(src, 'modular_skyrat/master_files/sound/blackmesa/headcrab/headbite.ogg', 100)
|
||||
human_to_dunk.death(FALSE)
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
H.forceMove(src)
|
||||
oldguy = H
|
||||
update_appearance()
|
||||
visible_message("<span class='warning'>The corpse of [H.name] suddenly rises!</span>")
|
||||
visible_message(span_warning("The corpse of [H.name] suddenly rises!"))
|
||||
charger = FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
key = "offercontrol"
|
||||
|
||||
/datum/buildmode_mode/offercontrol/show_help(client/c)
|
||||
to_chat(c, "<span class='notice'>***********************************************************\n\
|
||||
to_chat(c, span_notice("***********************************************************\n\
|
||||
Left Mouse Button on mob/living = Offer control to ghosts.\n\
|
||||
***********************************************************</span>")
|
||||
***********************************************************"))
|
||||
|
||||
/datum/buildmode_mode/offercontrol/handle_click(client/c, params, object)
|
||||
if(!ismob(object))
|
||||
|
||||
+12
-12
@@ -16,12 +16,12 @@
|
||||
|
||||
/obj/item/clothing/head/helmet/monkey_sentience/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='boldwarning'>---WARNING: REMOVAL OF HELMET ON SUBJECT MAY LEAD TO:---</span>"
|
||||
. += "<span class='warning'>BLOOD RAGE</span>"
|
||||
. += "<span class='warning'>BRAIN DEATH</span>"
|
||||
. += "<span class='warning'>PRIMAL GENE ACTIVATION</span>"
|
||||
. += "<span class='warning'>GENETIC MAKEUP MASS SUSCEPTIBILITY</span>"
|
||||
. += "<span class='boldnotice'>Ask your CMO if mind magnification is right for you.</span>"
|
||||
. += span_boldwarning("---WARNING: REMOVAL OF HELMET ON SUBJECT MAY LEAD TO:---")
|
||||
. += span_warning("BLOOD RAGE")
|
||||
. += span_warning("BRAIN DEATH")
|
||||
. += span_warning("PRIMAL GENE ACTIVATION")
|
||||
. += span_warning("GENETIC MAKEUP MASS SUSCEPTIBILITY")
|
||||
. += span_boldnotice("Ask your CMO if mind magnification is right for you.")
|
||||
|
||||
/obj/item/clothing/head/helmet/monkey_sentience/update_icon_state()
|
||||
. = ..()
|
||||
@@ -35,7 +35,7 @@
|
||||
return
|
||||
if(!ismonkey(user) || user.ckey)
|
||||
var/mob/living/something = user
|
||||
to_chat(something, "<span class='boldnotice'>You feel a stabbing pain in the back of your head for a moment.</span>")
|
||||
to_chat(something, span_boldnotice("You feel a stabbing pain in the back of your head for a moment."))
|
||||
something.apply_damage(5,BRUTE,BODY_ZONE_HEAD,FALSE,FALSE,FALSE) //notably: no damage resist (it's in your helmet), no damage spread (it's in your helmet)
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE)
|
||||
return
|
||||
@@ -43,7 +43,7 @@
|
||||
say("ERROR: Central Command has temporarily outlawed monkey sentience helmets in this sector. NEAREST LAWFUL SECTOR: 2.537 million light years away.")
|
||||
return
|
||||
magnification = user //this polls ghosts
|
||||
visible_message("<span class='warning'>[src] powers up!</span>")
|
||||
visible_message(span_warning("[src] powers up!"))
|
||||
playsound(src, 'sound/machines/ping.ogg', 30, TRUE)
|
||||
RegisterSignal(magnification, COMSIG_SPECIES_LOSS, .proc/make_fall_off)
|
||||
INVOKE_ASYNC(src, /obj/item/clothing/head/helmet/monkey_sentience.proc/connect, user)
|
||||
@@ -57,14 +57,14 @@
|
||||
if(!candidates.len)
|
||||
UnregisterSignal(magnification, COMSIG_SPECIES_LOSS)
|
||||
magnification = null
|
||||
visible_message("<span class='notice'>[src] falls silent and drops on the floor. Maybe you should try again later?</span>")
|
||||
visible_message(span_notice("[src] falls silent and drops on the floor. Maybe you should try again later?"))
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, TRUE)
|
||||
user.dropItemToGround(src)
|
||||
return
|
||||
var/mob/picked = pick(candidates)
|
||||
magnification.key = picked.key
|
||||
playsound(src, 'sound/machines/microwave/microwave-end.ogg', 100, FALSE)
|
||||
to_chat(magnification, "<span class='notice'>You're a mind magnified monkey! Protect your helmet with your life- if you lose it, your sentience goes with it!</span>")
|
||||
to_chat(magnification, span_notice("You're a mind magnified monkey! Protect your helmet with your life- if you lose it, your sentience goes with it!"))
|
||||
var/policy = get_policy(ROLE_MONKEY_HELMET)
|
||||
if(policy)
|
||||
to_chat(magnification, policy)
|
||||
@@ -86,7 +86,7 @@
|
||||
ADD_TRAIT(magnification, TRAIT_PRIMITIVE, SPECIES_TRAIT) //We removed it, now that they're back to being dumb, add the trait again.
|
||||
if(!polling)//put on a viable head, but taken off after polling finished.
|
||||
if(magnification.client)
|
||||
to_chat(magnification, "<span class='userdanger'>You feel your flicker of sentience ripped away from you, as everything becomes dim...</span>")
|
||||
to_chat(magnification, span_userdanger("You feel your flicker of sentience ripped away from you, as everything becomes dim..."))
|
||||
magnification.ghostize(FALSE)
|
||||
if(prob(10))
|
||||
switch(rand(1,4))
|
||||
@@ -107,5 +107,5 @@
|
||||
/obj/item/clothing/head/helmet/monkey_sentience/proc/make_fall_off()
|
||||
SIGNAL_HANDLER
|
||||
if(magnification)
|
||||
visible_message("<span class='warning'>[src] falls off of [magnification]'s head as it changes shape!</span>")
|
||||
visible_message(span_warning("[src] falls off of [magnification]'s head as it changes shape!"))
|
||||
magnification.dropItemToGround(src)
|
||||
|
||||
@@ -162,11 +162,11 @@
|
||||
/mob/living/simple_animal/pet/dog/corgi/borgi/emag_act(user as mob)
|
||||
if(!emagged)
|
||||
emagged = 1
|
||||
visible_message(span_warning("[user] swipes a card through [src].</span>"),span_notice("You overload [src]s internal reactor.</span>"))
|
||||
visible_message(span_warning("[user] swipes a card through [src]."), span_notice("You overload [src]s internal reactor."))
|
||||
addtimer(CALLBACK(src, .proc/explode), 60 SECONDS)
|
||||
|
||||
/mob/living/simple_animal/pet/dog/corgi/borgi/proc/explode()
|
||||
visible_message(span_warning("[src] makes an odd whining noise.</span>"))
|
||||
visible_message(span_warning("[src] makes an odd whining noise."))
|
||||
explosion(get_turf(src), 0, 1, 6, 9, 2, TRUE)
|
||||
death()
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
if(!query || query == "No" || !src || QDELETED(src))
|
||||
return
|
||||
if(key)
|
||||
to_chat(user, "<span class='warning'>Someone else already took this mob!</span>")
|
||||
to_chat(user, span_warning("Someone else already took this mob!"))
|
||||
return
|
||||
key = user.key
|
||||
var/string_to_send = CONFIG_GET(string/pc_mob_text)
|
||||
|
||||
@@ -211,7 +211,7 @@
|
||||
. = ..()
|
||||
. += "<b>alt + click</b> to [cover_open ? "close" : "open"] the dust cover."
|
||||
if(cover_open && magazine)
|
||||
. += "<span class='notice'>It seems like you could use an <b>empty hand</b> to remove the magazine.</span>"
|
||||
. += span_notice("It seems like you could use an <b>empty hand</b> to remove the magazine.")
|
||||
|
||||
|
||||
/obj/item/gun/ballistic/automatic/l6_saw/AltClick(mob/user)
|
||||
@@ -219,7 +219,7 @@
|
||||
if(!user.canUseTopic(src))
|
||||
return
|
||||
cover_open = !cover_open
|
||||
to_chat(user, "<span class='notice'>You [cover_open ? "open" : "close"] [src]'s cover.</span>")
|
||||
to_chat(user, span_notice("You [cover_open ? "open" : "close"] [src]'s cover."))
|
||||
playsound(src, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE)
|
||||
update_appearance()
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
|
||||
/obj/item/gun/ballistic/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params)
|
||||
if(cover_open)
|
||||
to_chat(user, "<span class='warning'>[src]'s cover is open! Close it before firing!</span>")
|
||||
to_chat(user, span_warning("[src]'s cover is open! Close it before firing!"))
|
||||
return
|
||||
else
|
||||
. = ..()
|
||||
@@ -246,13 +246,13 @@
|
||||
..()
|
||||
return
|
||||
if (!cover_open)
|
||||
to_chat(user, "<span class='warning'>[src]'s cover is closed! Open it before trying to remove the magazine!</span>")
|
||||
to_chat(user, span_warning("[src]'s cover is closed! Open it before trying to remove the magazine!"))
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
|
||||
if(!cover_open && istype(A, mag_type))
|
||||
to_chat(user, "<span class='warning'>[src]'s dust cover prevents a magazine from being fit.</span>")
|
||||
to_chat(user, span_warning("[src]'s dust cover prevents a magazine from being fit."))
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -191,14 +191,14 @@
|
||||
if(gun_light)
|
||||
. += "It has \a [gun_light] [can_flashlight ? "" : "permanently "]mounted on it."
|
||||
if(can_flashlight) //if it has a light and this is false, the light is permanent.
|
||||
. += "<span class='info'>[gun_light] looks like it can be <b>unscrewed</b> from [src].</span>"
|
||||
. += span_info("[gun_light] looks like it can be <b>unscrewed</b> from [src].")
|
||||
else if(can_flashlight)
|
||||
. += "It has a mounting point for a <b>seclite</b>."
|
||||
|
||||
if(bayonet)
|
||||
. += "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it."
|
||||
if(can_bayonet) //if it has a bayonet and this is false, the bayonet is permanent.
|
||||
. += "<span class='info'>[bayonet] looks like it can be <b>unscrewed</b> from [src].</span>"
|
||||
. += span_info("[bayonet] looks like it can be <b>unscrewed</b> from [src].")
|
||||
if(can_bayonet)
|
||||
. += "It has a <b>bayonet</b> lug on it."
|
||||
if(has_gun_safety)
|
||||
@@ -215,7 +215,7 @@
|
||||
var/max_mode = fire_select_modes.len
|
||||
|
||||
if(max_mode <= 1)
|
||||
to_chat(user, "<span class='warning'>[src] is not capable of switching firemodes!</span>")
|
||||
to_chat(user, span_warning("[src] is not capable of switching firemodes!"))
|
||||
return
|
||||
|
||||
fire_select_index = 1 + fire_select_index % max_mode //Magic math to cycle through this shit!
|
||||
@@ -227,16 +227,16 @@
|
||||
burst_size = 1
|
||||
fire_delay = 0
|
||||
SEND_SIGNAL(src, COMSIG_GUN_AUTOFIRE_DESELECTED, user)
|
||||
to_chat(user, "<span class='notice'>You switch [src] to semi-automatic.</span>")
|
||||
to_chat(user, span_notice("You switch [src] to semi-automatic."))
|
||||
if(SELECT_BURST_SHOT)
|
||||
burst_size = initial(burst_size)
|
||||
fire_delay = initial(fire_delay)
|
||||
SEND_SIGNAL(src, COMSIG_GUN_AUTOFIRE_DESELECTED, user)
|
||||
to_chat(user, "<span class='notice'>You switch [src] to [burst_size]-round burst.</span>")
|
||||
to_chat(user, span_notice("You switch [src] to [burst_size]-round burst."))
|
||||
if(SELECT_FULLY_AUTOMATIC)
|
||||
burst_size = 1
|
||||
SEND_SIGNAL(src, COMSIG_GUN_AUTOFIRE_SELECTED, user)
|
||||
to_chat(user, "<span class='notice'>You switch [src] to automatic.</span>")
|
||||
to_chat(user, span_notice("You switch [src] to automatic."))
|
||||
|
||||
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
|
||||
update_appearance()
|
||||
@@ -260,7 +260,7 @@
|
||||
return TRUE
|
||||
|
||||
/obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj)
|
||||
to_chat(user, "<span class='danger'>*click*</span>")
|
||||
to_chat(user, span_danger("*click*"))
|
||||
playsound(src, dry_fire_sound, 30, TRUE)
|
||||
|
||||
|
||||
@@ -274,18 +274,18 @@
|
||||
playsound(user, fire_sound, fire_sound_volume, vary_fire_sound)
|
||||
if(message)
|
||||
if(pointblank)
|
||||
user.visible_message("<span class='danger'>[user] fires [src] point blank at [pbtarget]!</span>", \
|
||||
"<span class='danger'>You fire [src] point blank at [pbtarget]!</span>", \
|
||||
"<span class='hear'>You hear a gunshot!</span>", COMBAT_MESSAGE_RANGE, pbtarget)
|
||||
to_chat(pbtarget, "<span class='userdanger'>[user] fires [src] point blank at you!</span>")
|
||||
user.visible_message(span_danger("[user] fires [src] point blank at [pbtarget]!"), \
|
||||
span_danger("You fire [src] point blank at [pbtarget]!"), \
|
||||
span_hear("You hear a gunshot!"), COMBAT_MESSAGE_RANGE, pbtarget)
|
||||
to_chat(pbtarget, span_userdanger("[user] fires [src] point blank at you!"))
|
||||
if(pb_knockback > 0 && ismob(pbtarget))
|
||||
var/mob/PBT = pbtarget
|
||||
var/atom/throw_target = get_edge_target_turf(PBT, user.dir)
|
||||
PBT.throw_at(throw_target, pb_knockback, 2)
|
||||
else
|
||||
user.visible_message("<span class='danger'>[user] fires [src]!</span>", \
|
||||
"<span class='danger'>You fire [src]!</span>", \
|
||||
"<span class='hear'>You hear a gunshot!</span>", COMBAT_MESSAGE_RANGE)
|
||||
user.visible_message(span_danger("[user] fires [src]!"), \
|
||||
span_danger("You fire [src]!"), \
|
||||
span_hear("You hear a gunshot!"), COMBAT_MESSAGE_RANGE)
|
||||
if(user.resting) // SKYRAT EDIT ADD - no crawlshooting
|
||||
user.Immobilize(20, TRUE) // SKYRAT EDIT END
|
||||
|
||||
@@ -297,10 +297,10 @@
|
||||
|
||||
/obj/item/gun/attack_secondary(mob/living/victim, mob/living/user, params)
|
||||
if(user.GetComponent(/datum/component/gunpoint))
|
||||
to_chat(user, "<span class='warning'>You are already holding someone up!</span>")
|
||||
to_chat(user, span_warning("You are already holding someone up!"))
|
||||
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
|
||||
if(user == victim)
|
||||
to_chat(user,"<span class='warning'>You can't hold yourself up!</span>")
|
||||
to_chat(user,span_warning("You can't hold yourself up!"))
|
||||
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
|
||||
|
||||
user.AddComponent(/datum/component/gunpoint, victim, src)
|
||||
@@ -347,7 +347,7 @@
|
||||
|
||||
var/obj/item/bodypart/other_hand = user.has_hand_for_held_index(user.get_inactive_hand_index()) //returns non-disabled inactive hands
|
||||
if(weapon_weight == WEAPON_HEAVY && (user.get_inactive_held_item() || !other_hand))
|
||||
to_chat(user, "<span class='warning'>You need two hands to fire [src]!</span>")
|
||||
to_chat(user, span_warning("You need two hands to fire [src]!"))
|
||||
return
|
||||
//DUAL (or more!) WIELDING
|
||||
var/bonus_spread = 0
|
||||
@@ -368,7 +368,7 @@
|
||||
if(clumsy_check)
|
||||
if(istype(user))
|
||||
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40))
|
||||
to_chat(user, "<span class='userdanger'>You shoot yourself in the foot with [src]!</span>")
|
||||
to_chat(user, span_userdanger("You shoot yourself in the foot with [src]!"))
|
||||
var/shot_leg = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
|
||||
process_fire(user, user, FALSE, params, shot_leg)
|
||||
SEND_SIGNAL(user, COMSIG_MOB_CLUMSY_SHOOT_FOOT)
|
||||
@@ -380,7 +380,7 @@
|
||||
if(!handle_pins(user))
|
||||
return FALSE
|
||||
if(has_gun_safety && safety)
|
||||
to_chat(user, "<span class='warning'>The safety is on!</span>")
|
||||
to_chat(user, span_warning("The safety is on!"))
|
||||
return FALSE
|
||||
|
||||
/obj/item/gun/proc/toggle_safety(mob/user, override)
|
||||
@@ -396,8 +396,8 @@
|
||||
tsafety.button_icon_state = "safety_[safety ? "on" : "off"]"
|
||||
tsafety.UpdateButtonIcon()
|
||||
playsound(src, 'sound/weapons/empty.ogg', 100, TRUE)
|
||||
user.visible_message("<span class='notice'>[user] toggles [src]'s safety [safety ? "<font color='#00ff15'>ON</font>" : "<font color='#ff0000'>OFF</font>"].",
|
||||
"<span class='notice'>You toggle [src]'s safety [safety ? "<font color='#00ff15'>ON</font>" : "<font color='#ff0000'>OFF</font>"].</span>")
|
||||
user.visible_message(span_notice("[user] toggles [src]'s safety [safety ? "<font color='#00ff15'>ON</font>" : "<font color='#ff0000'>OFF</font>"]."),
|
||||
span_notice("You toggle [src]'s safety [safety ? "<font color='#00ff15'>ON</font>" : "<font color='#ff0000'>OFF</font>"]."))
|
||||
SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD)
|
||||
|
||||
/obj/item/gun/proc/handle_pins(mob/living/user)
|
||||
@@ -410,7 +410,7 @@
|
||||
pin.auth_fail(user)
|
||||
return FALSE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src]'s trigger is locked. This weapon doesn't have a firing pin installed!</span>")
|
||||
to_chat(user, span_warning("[src]'s trigger is locked. This weapon doesn't have a firing pin installed!"))
|
||||
return FALSE
|
||||
|
||||
/obj/item/gun/proc/recharge_newshot()
|
||||
@@ -427,7 +427,7 @@
|
||||
if(chambered?.loaded_projectile)
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal.
|
||||
if(chambered.harmful) // Is the bullet chambered harmful?
|
||||
to_chat(user, "<span class='warning'>[src] is lethally chambered! You don't want to risk harming anyone...</span>")
|
||||
to_chat(user, span_warning("[src] is lethally chambered! You don't want to risk harming anyone..."))
|
||||
return
|
||||
if(randomspread)
|
||||
sprd = round((rand(0, 1) - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread))
|
||||
@@ -486,7 +486,7 @@
|
||||
if(chambered)
|
||||
if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal.
|
||||
if(chambered.harmful) // Is the bullet chambered harmful?
|
||||
to_chat(user, "<span class='warning'>[src] is lethally chambered! You don't want to risk harming anyone...</span>")
|
||||
to_chat(user, span_warning("[src] is lethally chambered! You don't want to risk harming anyone..."))
|
||||
return
|
||||
sprd = round((rand(0, 1) - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread))
|
||||
before_firing(target,user)
|
||||
@@ -543,7 +543,7 @@
|
||||
if(!gun_light)
|
||||
if(!user.transferItemToLoc(I, src))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You click [S] into place on [src].</span>")
|
||||
to_chat(user, span_notice("You click [S] into place on [src]."))
|
||||
set_gun_light(S)
|
||||
update_gunlight()
|
||||
alight = new(src)
|
||||
@@ -555,7 +555,7 @@
|
||||
return ..()
|
||||
if(!user.transferItemToLoc(I, src))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You attach [K] to [src]'s bayonet lug.</span>")
|
||||
to_chat(user, span_notice("You attach [K] to [src]'s bayonet lug."))
|
||||
bayonet = K
|
||||
update_appearance()
|
||||
|
||||
@@ -582,13 +582,13 @@
|
||||
return remove_gun_attachment(user, I, bayonet, "unfix")
|
||||
|
||||
else if(pin && user.is_holding(src))
|
||||
user.visible_message("<span class='warning'>[user] attempts to remove [pin] from [src] with [I].</span>",
|
||||
"<span class='notice'>You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)</span>", null, 3)
|
||||
user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."),
|
||||
span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3)
|
||||
if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, volume = 50))
|
||||
if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay
|
||||
return
|
||||
user.visible_message("<span class='notice'>[pin] is pried out of [src] by [user], destroying the pin in the process.</span>",
|
||||
"<span class='warning'>You pry [pin] out with [I], destroying the pin in the process.</span>", null, 3)
|
||||
user.visible_message(span_notice("[pin] is pried out of [src] by [user], destroying the pin in the process."),
|
||||
span_warning("You pry [pin] out with [I], destroying the pin in the process."), null, 3)
|
||||
QDEL_NULL(pin)
|
||||
return TRUE
|
||||
|
||||
@@ -599,13 +599,13 @@
|
||||
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
if(pin && user.is_holding(src))
|
||||
user.visible_message("<span class='warning'>[user] attempts to remove [pin] from [src] with [I].</span>",
|
||||
"<span class='notice'>You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)</span>", null, 3)
|
||||
user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."),
|
||||
span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3)
|
||||
if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, 5, volume = 50))
|
||||
if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay
|
||||
return
|
||||
user.visible_message("<span class='notice'>[pin] is spliced out of [src] by [user], melting part of the pin in the process.</span>",
|
||||
"<span class='warning'>You splice [pin] out of [src] with [I], melting part of the pin in the process.</span>", null, 3)
|
||||
user.visible_message(span_notice("[pin] is spliced out of [src] by [user], melting part of the pin in the process."),
|
||||
span_warning("You splice [pin] out of [src] with [I], melting part of the pin in the process."), null, 3)
|
||||
QDEL_NULL(pin)
|
||||
return TRUE
|
||||
|
||||
@@ -616,20 +616,20 @@
|
||||
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
if(pin && user.is_holding(src))
|
||||
user.visible_message("<span class='warning'>[user] attempts to remove [pin] from [src] with [I].</span>",
|
||||
"<span class='notice'>You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)</span>", null, 3)
|
||||
user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."),
|
||||
span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3)
|
||||
if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, volume = 50))
|
||||
if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay
|
||||
return
|
||||
user.visible_message("<span class='notice'>[pin] is ripped out of [src] by [user], mangling the pin in the process.</span>",
|
||||
"<span class='warning'>You rip [pin] out of [src] with [I], mangling the pin in the process.</span>", null, 3)
|
||||
user.visible_message(span_notice("[pin] is ripped out of [src] by [user], mangling the pin in the process."),
|
||||
span_warning("You rip [pin] out of [src] with [I], mangling the pin in the process."), null, 3)
|
||||
QDEL_NULL(pin)
|
||||
return TRUE
|
||||
|
||||
/obj/item/gun/proc/remove_gun_attachment(mob/living/user, obj/item/tool_item, obj/item/item_to_remove, removal_verb)
|
||||
if(tool_item)
|
||||
tool_item.play_tool_sound(src)
|
||||
to_chat(user, "<span class='notice'>You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src].</span>")
|
||||
to_chat(user, span_notice("You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src]."))
|
||||
item_to_remove.forceMove(drop_location())
|
||||
|
||||
if(Adjacent(user) && !issilicon(user))
|
||||
@@ -699,7 +699,7 @@
|
||||
var/mob/living/carbon/human/user = usr
|
||||
gun_light.on = !gun_light.on
|
||||
gun_light.update_brightness()
|
||||
to_chat(user, "<span class='notice'>You toggle the gunlight [gun_light.on ? "on":"off"].</span>")
|
||||
to_chat(user, span_notice("You toggle the gunlight [gun_light.on ? "on":"off"]."))
|
||||
|
||||
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
|
||||
update_gunlight()
|
||||
@@ -713,8 +713,8 @@
|
||||
if(azoom)
|
||||
azoom.Grant(user)
|
||||
if(w_class > WEIGHT_CLASS_SMALL && !suppressed)
|
||||
user.visible_message("<span class='warning'>[user] grabs <b>[src]</b>!</span>",
|
||||
"<span class='warning'>You grab [src]!</span>")
|
||||
user.visible_message(span_warning("[user] grabs <b>[src]</b>!"),
|
||||
span_warning("You grab [src]!"))
|
||||
|
||||
/obj/item/gun/dropped(mob/user)
|
||||
. = ..()
|
||||
@@ -754,26 +754,26 @@
|
||||
return
|
||||
|
||||
if(user == target)
|
||||
target.visible_message("<span class='warning'>[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...</span>", \
|
||||
"<span class='userdanger'>You stick [src] in your mouth, ready to pull the trigger...</span>")
|
||||
target.visible_message(span_warning("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger..."), \
|
||||
span_userdanger("You stick [src] in your mouth, ready to pull the trigger..."))
|
||||
else
|
||||
target.visible_message("<span class='warning'>[user] points [src] at [target]'s head, ready to pull the trigger...</span>", \
|
||||
"<span class='userdanger'>[user] points [src] at your head, ready to pull the trigger...</span>")
|
||||
target.visible_message(span_warning("[user] points [src] at [target]'s head, ready to pull the trigger..."), \
|
||||
span_userdanger("[user] points [src] at your head, ready to pull the trigger..."))
|
||||
|
||||
semicd = TRUE
|
||||
|
||||
if(!bypass_timer && (!do_mob(user, target, 120) || user.zone_selected != BODY_ZONE_PRECISE_MOUTH))
|
||||
if(user)
|
||||
if(user == target)
|
||||
user.visible_message("<span class='notice'>[user] decided not to shoot.</span>")
|
||||
user.visible_message(span_notice("[user] decided not to shoot."))
|
||||
else if(target?.Adjacent(user))
|
||||
target.visible_message("<span class='notice'>[user] has decided to spare [target]</span>", "<span class='notice'>[user] has decided to spare your life!</span>")
|
||||
target.visible_message(span_notice("[user] has decided to spare [target]"), span_notice("[user] has decided to spare your life!"))
|
||||
semicd = FALSE
|
||||
return
|
||||
|
||||
semicd = FALSE
|
||||
|
||||
target.visible_message("<span class='warning'>[user] pulls the trigger!</span>", "<span class='userdanger'>[(user == target) ? "You pull" : "[user] pulls"] the trigger!</span>")
|
||||
target.visible_message(span_warning("[user] pulls the trigger!"), span_userdanger("[(user == target) ? "You pull" : "[user] pulls"] the trigger!"))
|
||||
|
||||
if(chambered?.loaded_projectile)
|
||||
chambered.loaded_projectile.damage *= 5
|
||||
|
||||
@@ -14,14 +14,14 @@
|
||||
if(3 to 5)
|
||||
affected_carbon.emote("cough")
|
||||
if(5 to 7)
|
||||
to_chat(affected_carbon, "<span class='warning'>Your head hurts.</span>")
|
||||
to_chat(affected_carbon, span_warning("Your head hurts."))
|
||||
affected_carbon.adjustStaminaLoss(4*strength)
|
||||
if(8)
|
||||
if(strength>=2)
|
||||
to_chat(affected_carbon, "<span class='warning'>You feel a little dizzy.</span>")
|
||||
to_chat(affected_carbon, span_warning("You feel a little dizzy."))
|
||||
affected_carbon.Dizzy(3*strength)
|
||||
if(8 to 10)
|
||||
to_chat(affected_carbon, "<span class='warning'>You feel tired.</span>")
|
||||
to_chat(affected_carbon, span_warning("You feel tired."))
|
||||
affected_carbon.adjustStaminaLoss(6*strength)
|
||||
|
||||
/datum/addiction/nicotine/withdrawal_enters_stage_1(mob/living/carbon/affected_carbon, delta_time)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/stimpack/cast(mob/living/user)
|
||||
..()
|
||||
to_chat(user, "<span class='notice'>Time appears to slow as your bodily functions rapidly speed up.</span>")
|
||||
to_chat(user, span_notice("Time appears to slow as your bodily functions rapidly speed up."))
|
||||
user.SetKnockdown(0)
|
||||
user.setStaminaLoss(0)
|
||||
user.set_resting(FALSE)
|
||||
|
||||
@@ -35,18 +35,18 @@
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/obj/item/bodypart/selected_hand = H.get_active_hand()
|
||||
if(selected_hand.status != BODYPART_ROBOTIC)
|
||||
to_chat(user, "<span class='warning'>You can't seem to figure out how to use [src], perhaps you need to check the manual?")
|
||||
to_chat(user, span_warning("You can't seem to figure out how to use [src], perhaps you need to check the manual?"))
|
||||
return
|
||||
. = ..()
|
||||
|
||||
/obj/item/gun/ballistic/automatic/pistol/j3516/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message)
|
||||
if(!istype(AM, mag_type))
|
||||
to_chat(user, "<span class='warning'>\The [AM] doesn't seem to fit into \the [src]...</span>")
|
||||
to_chat(user, span_warning("\The [AM] doesn't seem to fit into \the [src]..."))
|
||||
return FALSE
|
||||
if(user.transferItemToLoc(AM, src))
|
||||
magazine = AM
|
||||
if (display_message)
|
||||
to_chat(user, "<span class='notice'>You load a new [magazine_wording] into \the [src].</span>")
|
||||
to_chat(user, span_notice("You load a new [magazine_wording] into \the [src]."))
|
||||
playsound(src, load_empty_sound, load_sound_volume, load_sound_vary)
|
||||
if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked)
|
||||
chamber_round(TRUE)
|
||||
@@ -57,7 +57,7 @@
|
||||
animate(transform = null, time = 2)
|
||||
return TRUE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You cannot seem to get \the [src] out of your hands!</span>")
|
||||
to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!"))
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -73,16 +73,16 @@
|
||||
var/obj/item/ammo_box/magazine/old_mag = magazine
|
||||
if (tac_load)
|
||||
if (insert_magazine(user, tac_load, FALSE))
|
||||
to_chat(user, "<span class='notice'>You perform an elite tactical reload on \the [src].</span>")
|
||||
to_chat(user, span_notice("You perform an elite tactical reload on \the [src]."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.</span>")
|
||||
to_chat(user, span_warning("You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing."))
|
||||
magazine = null
|
||||
else
|
||||
magazine = null
|
||||
user.put_in_hands(old_mag)
|
||||
old_mag.update_appearance()
|
||||
if (display_message)
|
||||
to_chat(user, "<span class='notice'>You pull the [magazine_wording] out of \the [src].</span>")
|
||||
to_chat(user, span_notice("You pull the [magazine_wording] out of \the [src]."))
|
||||
update_appearance()
|
||||
animate(src, transform = turn(matrix(), 120), time = 2, loop = 1) //Le johnny robohand again
|
||||
animate(transform = turn(matrix(), 240), time = 2)
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
|
||||
/obj/item/autosurgeon/bodypart/attack_self(mob/user)//when the object it used...
|
||||
if(!uses)
|
||||
to_chat(user, "<span class='alert'>[src] has already been used. The tools are dull and won't reactivate.</span>")
|
||||
to_chat(user, span_alert("[src] has already been used. The tools are dull and won't reactivate."))
|
||||
return
|
||||
if(!storedbodypart)
|
||||
to_chat(user, "<span class='alert'>[src] currently has no implant stored.</span>")
|
||||
to_chat(user, span_alert("[src] currently has no implant stored."))
|
||||
return
|
||||
if(!ishuman(user))
|
||||
return
|
||||
@@ -33,13 +33,13 @@
|
||||
var/obj/item/bodypart/oldBP = H.get_bodypart(storedbodypart.body_zone)
|
||||
|
||||
if(oldBP)
|
||||
to_chat(H, "<span class='warning'>The [src] removes your [oldBP.name]!")
|
||||
to_chat(H, span_warning("The [src] removes your [oldBP.name]!"))
|
||||
oldBP.dismember()
|
||||
|
||||
user.visible_message("<span class='notice'>[H] presses a button on [src], and you hear a short mechanical noise.</span>", "<span class='notice'>You feel a sharp sting as [src] plunges into your body.</span>")
|
||||
user.visible_message(span_notice("[H] presses a button on [src], and you hear a short mechanical noise."), span_notice("You feel a sharp sting as [src] plunges into your body."))
|
||||
|
||||
if(!storedbodypart.attach_limb(H))
|
||||
to_chat(H, "<span class='warning'>The [src] fails to attach [storedbodypart]!")
|
||||
to_chat(H, span_warning("The [src] fails to attach [storedbodypart]!"))
|
||||
return
|
||||
|
||||
playsound(get_turf(H), 'sound/weapons/circsawhit.ogg', 50, TRUE)
|
||||
@@ -53,15 +53,15 @@
|
||||
/obj/item/autosurgeon/bodypart/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, bodypart_type))
|
||||
if(storedbodypart)
|
||||
to_chat(user, "<span class='alert'>[src] already has an implant stored.</span>")
|
||||
to_chat(user, span_alert("[src] already has an implant stored."))
|
||||
return
|
||||
else if(!uses)
|
||||
to_chat(user, "<span class='alert'>[src] has already been used up.</span>")
|
||||
to_chat(user, span_alert("[src] has already been used up."))
|
||||
return
|
||||
if(!user.transferItemToLoc(I, src))
|
||||
return
|
||||
storedbodypart = I
|
||||
to_chat(user, "<span class='notice'>You insert the [I] into [src].</span>")
|
||||
to_chat(user, span_notice("You insert the [I] into [src]."))
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -69,14 +69,14 @@
|
||||
if(..())
|
||||
return TRUE
|
||||
if(!storedbodypart)
|
||||
to_chat(user, "<span class='warning'>There's no implant in [src] for you to remove!</span>")
|
||||
to_chat(user, span_warning("There's no implant in [src] for you to remove!"))
|
||||
else
|
||||
var/atom/drop_loc = user.drop_location()
|
||||
for(var/J in src)
|
||||
var/atom/movable/AM = J
|
||||
AM.forceMove(drop_loc)
|
||||
|
||||
to_chat(user, "<span class='notice'>You remove the [storedbodypart] from [src].</span>")
|
||||
to_chat(user, span_notice("You remove the [storedbodypart] from [src]."))
|
||||
I.play_tool_sound(src)
|
||||
storedbodypart = null
|
||||
if(uses != INFINITE)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/obj/item/melee/energy/sword/ignis/transform_messages(mob/living/user, supress_message_text)
|
||||
playsound(user, 'modular_skyrat/modules/ERT_Factions/FTU/sound/ignis_toggle.ogg', 35, TRUE) //changed it from 50% volume to 35% because deafness
|
||||
if(!supress_message_text)
|
||||
to_chat(user, "<span class='notice'>[src] [active ? "is now active":"can now be concealed"].</span>")
|
||||
to_chat(user, span_notice("[src] [active ? "is now active":"can now be concealed"]."))
|
||||
*/
|
||||
|
||||
///////40x32 R37 PULSE RIFLE
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
. = ..()
|
||||
if(has_sensor == HAS_SENSORS)
|
||||
sensor_mode = SENSOR_COORDS
|
||||
to_chat(usr, "<span class='notice'>Your suit will now report your exact vital lifesigns as well as your coordinate position.</span>")
|
||||
to_chat(usr, span_notice("Your suit will now report your exact vital lifesigns as well as your coordinate position."))
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
last_AH = pop(prev_tickets)
|
||||
last_AH.PlayerTicketPanel()
|
||||
return
|
||||
|
||||
|
||||
// client had no tickets this round
|
||||
to_chat(src, "<span class='warning'>You have not had an ahelp ticket this round.</span>")
|
||||
to_chat(src, span_warning("You have not had an ahelp ticket this round."))
|
||||
return
|
||||
|
||||
current_ticket.PlayerTicketPanel()
|
||||
|
||||
@@ -10,7 +10,7 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name)
|
||||
set category = "OOC"
|
||||
|
||||
if(GLOB.say_disabled) //This is here to try to identify lag problems
|
||||
to_chat(usr, "<span class='danger'>Speech is currently admin-disabled.</span>")
|
||||
to_chat(usr, span_danger("Speech is currently admin-disabled."))
|
||||
return
|
||||
|
||||
if(!mob)
|
||||
@@ -18,16 +18,16 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name)
|
||||
|
||||
if(!holder)
|
||||
if(!mob.mind || !length(mob.mind.antag_datums))
|
||||
to_chat(src, "<span class='danger'>You're not an antagonist!</span>")
|
||||
to_chat(src, span_danger("You're not an antagonist!"))
|
||||
return
|
||||
if(!GLOB.aooc_allowed)
|
||||
to_chat(src, "<span class='danger'>AOOC is globally muted.</span>")
|
||||
to_chat(src, span_danger("AOOC is globally muted."))
|
||||
return
|
||||
if(prefs.muted & MUTE_OOC)
|
||||
to_chat(src, "<span class='danger'>You cannot use OOC (muted).</span>")
|
||||
to_chat(src, span_danger("You cannot use OOC (muted)."))
|
||||
return
|
||||
if(is_banned_from(ckey, "OOC"))
|
||||
to_chat(src, "<span class='danger'>You have been banned from OOC.</span>")
|
||||
to_chat(src, span_danger("You have been banned from OOC."))
|
||||
return
|
||||
if(QDELETED(src))
|
||||
return
|
||||
@@ -41,7 +41,7 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name)
|
||||
msg = emoji_parse(msg)
|
||||
|
||||
if(!(prefs.chat_toggles & CHAT_OOC))
|
||||
to_chat(src, "<span class='danger'>You have OOC muted.</span>")
|
||||
to_chat(src, span_danger("You have OOC muted."))
|
||||
return
|
||||
|
||||
mob.log_talk(raw_msg, LOG_OOC, tag="AOOC")
|
||||
@@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name)
|
||||
var/mode = listeners[c]
|
||||
var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && C.prefs?.read_preference(/datum/preference/color/ooc_color)) ? C.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.AOOC_COLOR
|
||||
var/name = (mode == AOOC_LISTEN_ADMIN && anon) ? "([key])[keyname]" : keyname
|
||||
to_chat(C, "<span class='oocplain'><font color='[color]'><b><span class='prefix'>AOOC:</span> <EM>[name]:</EM> <span class='message linkify'>[msg]</span></b></font></span>")
|
||||
to_chat(C, span_oocplain("<font color='[color]'><b><span class='prefix'>AOOC:</span> <EM>[name]:</EM> <span class='message linkify'>[msg]</span></b></font>"))
|
||||
|
||||
#undef AOOC_LISTEN_PLAYER
|
||||
#undef AOOC_LISTEN_ADMIN
|
||||
@@ -101,7 +101,7 @@ GLOBAL_LIST_EMPTY(ckey_to_aooc_name)
|
||||
listeners[M.client] = TRUE
|
||||
for(var/c in listeners)
|
||||
var/client/C = c
|
||||
to_chat(C, "<span class='oocplain'><B>The AOOC channel has been globally [GLOB.aooc_allowed ? "enabled" : "disabled"].</B></span>")
|
||||
to_chat(C, span_oocplain("<B>The AOOC channel has been globally [GLOB.aooc_allowed ? "enabled" : "disabled"].</B>"))
|
||||
|
||||
/datum/admins/proc/toggleaooc()
|
||||
set category = "Server"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
msg = keywords_lookup(msg)
|
||||
var/custom_asay_color = (CONFIG_GET(flag/allow_admin_asaycolor) && prefs?.read_preference(/datum/preference/color/asay_color)) ? "<font color=[prefs?.read_preference(/datum/preference/color/asay_color)]>" : "<font color='#FF4500'>"
|
||||
msg = "<span class='command_headset'> <span class='adminsay'><span class='prefix'>ADMIN:</span> <EM>[key_name(usr, 1)]</EM> [ADMIN_FLW(mob)]: [custom_asay_color]<span class='message linkify'>[msg]</span></span></span>[custom_asay_color ? "</font>":null]"
|
||||
msg = span_command_headset("<span class='adminsay'><span class='prefix'>ADMIN:</span> <EM>[key_name(usr, 1)]</EM> [ADMIN_FLW(mob)]: [custom_asay_color]<span class='message linkify'>[msg]</span></span></span>[custom_asay_color ? "</font>":null]")
|
||||
to_chat(GLOB.admins,
|
||||
type = MESSAGE_TYPE_ADMINCHAT,
|
||||
html = msg,
|
||||
|
||||
@@ -10,7 +10,7 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name)
|
||||
set category = "OOC"
|
||||
|
||||
if(GLOB.say_disabled) //This is here to try to identify lag problems
|
||||
to_chat(usr, "<span class='danger'>Speech is currently admin-disabled.</span>")
|
||||
to_chat(usr, span_danger("Speech is currently admin-disabled."))
|
||||
return
|
||||
|
||||
if(!mob)
|
||||
@@ -20,16 +20,16 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name)
|
||||
if(!holder)
|
||||
var/job = mob?.mind.assigned_role.title
|
||||
if(!job || !job_lookup[job])
|
||||
to_chat(src, "<span class='danger'>You're not a security role!</span>")
|
||||
to_chat(src, span_danger("You're not a security role!"))
|
||||
return
|
||||
if(!GLOB.sooc_allowed)
|
||||
to_chat(src, "<span class='danger'>SOOC is globally muted.</span>")
|
||||
to_chat(src, span_danger("SOOC is globally muted."))
|
||||
return
|
||||
if(prefs.muted & MUTE_OOC)
|
||||
to_chat(src, "<span class='danger'>You cannot use OOC (muted).</span>")
|
||||
to_chat(src, span_danger("You cannot use OOC (muted)."))
|
||||
return
|
||||
if(is_banned_from(ckey, "OOC"))
|
||||
to_chat(src, "<span class='danger'>You have been banned from OOC.</span>")
|
||||
to_chat(src, span_danger("You have been banned from OOC."))
|
||||
return
|
||||
if(QDELETED(src))
|
||||
return
|
||||
@@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name)
|
||||
msg = emoji_parse(msg)
|
||||
|
||||
if(!(prefs.chat_toggles & CHAT_OOC))
|
||||
to_chat(src, "<span class='danger'>You have OOC muted.</span>")
|
||||
to_chat(src, span_danger("You have OOC muted."))
|
||||
return
|
||||
|
||||
mob.log_talk(raw_msg, LOG_OOC, tag="SOOC")
|
||||
@@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name)
|
||||
var/mode = listeners[c]
|
||||
var/color = (!anon && CONFIG_GET(flag/allow_admin_ooccolor) && C.prefs?.read_preference(/datum/preference/color/ooc_color)) ? C.prefs?.read_preference(/datum/preference/color/ooc_color) : GLOB.SOOC_COLOR
|
||||
var/name = (mode == SOOC_LISTEN_ADMIN && anon) ? "([key])[keyname]" : keyname
|
||||
to_chat(C, "<span class='oocplain'><font color='[color]'><b><span class='prefix'>SOOC:</span> <EM>[name]:</EM> <span class='message linkify'>[msg]</span></b></font></span>")
|
||||
to_chat(C, span_oocplain("<font color='[color]'><b><span class='prefix'>SOOC:</span> <EM>[name]:</EM> <span class='message linkify'>[msg]</span></b></font>"))
|
||||
|
||||
#undef SOOC_LISTEN_PLAYER
|
||||
#undef SOOC_LISTEN_ADMIN
|
||||
@@ -102,7 +102,7 @@ GLOBAL_LIST_EMPTY(ckey_to_sooc_name)
|
||||
listeners[M.client] = TRUE
|
||||
for(var/c in listeners)
|
||||
var/client/C = c
|
||||
to_chat(C, "<span class='oocplain'><B>The SOOC channel has been globally [GLOB.sooc_allowed ? "enabled" : "disabled"].</B></span>")
|
||||
to_chat(C, span_oocplain("<B>The SOOC channel has been globally [GLOB.sooc_allowed ? "enabled" : "disabled"].</B>"))
|
||||
|
||||
/datum/admins/proc/togglesooc()
|
||||
set category = "Server"
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
/obj/item/gun/energy/e_gun/nuclear/emag_act(mob/user, obj/item/card/emag/E)
|
||||
. = ..()
|
||||
if(pin)
|
||||
to_chat(user, "<span class='warning'>You probably want to do this on a new gun!")
|
||||
to_chat(user, span_warning("You probably want to do this on a new gun!"))
|
||||
return FALSE
|
||||
to_chat(user, "<font color='#ff2700'>T</font><font color='#ff4e00'>h</font><font color='#ff7500'>e</font> <font color='#ffc400'>g</font><font color='#ffeb00'>u</font><font color='#ebff00'>n</font> <font color='#9cff00'>s</font><font color='#75ff00'>u</font><font color='#4eff00'>d</font><font color='#27ff00'>d</font><font color='#00ff00'>e</font><font color='#00ff27'>n</font><font color='#00ff4e'>l</font><font color='#00ff75'>y</font> <font color='#00ffc4'>f</font><font color='#00ffeb'>e</font><font color='#00ebff'>e</font><font color='#00c4ff'>l</font><font color='#009cff'>s</font> <font color='#004eff'>q</font><font color='#0027ff'>u</font><font color='#0000ff'>i</font><font color='#2700ff'>t</font><font color='#4e00ff'>e</font> <font color='#9c00ff'>f</font><font color='#c400ff'>a</font><font color='#eb00ff'>n</font><font color='#ff00eb'>t</font><font color='#ff00c4'>a</font><font color='#ff009c'>s</font><font color='#ff0075'>t</font><font color='#ff004e'>i</font><font color='#ff0027'>c</font><font color='#ff0000'>!</font>")
|
||||
new /obj/item/gun/energy/e_gun/nuclear/rainbow(get_turf(user))
|
||||
@@ -293,13 +293,13 @@
|
||||
name = "\improper Type-69 Surplus Rifle"
|
||||
desc = "One of countless obsolete ballistic rifles that still sees use as a cheap deterrent. Uses 10mm ammo and its bulky frame prevents one-hand firing."
|
||||
icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi'
|
||||
|
||||
|
||||
/obj/item/gun/ballistic/automatic/c20r/unrestricted/cmg1
|
||||
name = "\improper NT CMG-1"
|
||||
desc = "A bullpup three-round burst .45 PDW with an eerily familiar design. It has a foldable stock and a dot sight."
|
||||
icon_state = "cmg1"
|
||||
icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi'
|
||||
|
||||
|
||||
/obj/item/gun/ballistic/automatic/ar/modular/model75
|
||||
name = "\improper NT ARG-75"
|
||||
desc = "A contemporary rifle that just exited its prototype phase and has started production, a rare sight for now. It's equipped with a heavy duty integrally suppressed barrel, 1.4 times scope and a topmounted laser sight."
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
if(!isnewplayer(M) && M.can_hear())
|
||||
to_chat(M, "<span class='minorannounce'><font color = red>[title]</font color><BR>[message]</span><BR>")
|
||||
to_chat(M, span_minorannounce("<font color = red>[title]</font color><BR>[message]</span><BR>"))
|
||||
|
||||
if(sound)
|
||||
if(SSstation.announcer.event_sounds[sound])
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
/mob/living/silicon/ai/proc/announcement()
|
||||
var/static/announcing_vox = 0 // Stores the time of the last announcement
|
||||
if(announcing_vox > world.time)
|
||||
to_chat(src, "<span class='notice'>Please wait [DisplayTimeText(announcing_vox - world.time)].</span>")
|
||||
to_chat(src, span_notice("Please wait [DisplayTimeText(announcing_vox - world.time)]."))
|
||||
return
|
||||
|
||||
var/message = input(src, "WARNING: Misuse of this verb can result in you being job banned. More help is available in 'Announcement Help'", "Announcement", src.last_announcement) as text|null
|
||||
@@ -74,7 +74,7 @@
|
||||
return
|
||||
|
||||
if(control_disabled)
|
||||
to_chat(src, "<span class='warning'>Wireless interface disabled, unable to interact with announcement PA.</span>")
|
||||
to_chat(src, span_warning("Wireless interface disabled, unable to interact with announcement PA."))
|
||||
return
|
||||
|
||||
var/list/words = splittext(trim(message), " ")
|
||||
@@ -110,7 +110,7 @@
|
||||
incorrect_words += word
|
||||
|
||||
if(incorrect_words.len)
|
||||
to_chat(src, "<span class='notice'>These words are not available on the announcement system: [english_list(incorrect_words)].</span>")
|
||||
to_chat(src, span_notice("These words are not available on the announcement system: [english_list(incorrect_words)]."))
|
||||
return
|
||||
|
||||
announcing_vox = world.time + VOX_DELAY
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
set category = "AI Commands"
|
||||
set desc = "Select your resting pose."
|
||||
if(!is_dogborg())
|
||||
to_chat(src, "<span class='warning'>You can't do that!</span>")
|
||||
to_chat(src, span_warning("You can't do that!"))
|
||||
return
|
||||
var/choice = tgui_alert(src, "Select resting pose", "", list("Resting", "Sitting", "Belly up"))
|
||||
switch(choice)
|
||||
@@ -41,17 +41,17 @@
|
||||
set name = "Lay down"
|
||||
set category = "AI Commands"
|
||||
if(!is_dogborg())
|
||||
to_chat(src, "<span class='warning'>You can't do that!</span>")
|
||||
to_chat(src, span_warning("You can't do that!"))
|
||||
return
|
||||
if(stat != CONSCIOUS) //Make sure we don't enable movement when not concious
|
||||
return
|
||||
if(robot_resting)
|
||||
to_chat(src, "<span class='notice'>You are now getting up.</span>")
|
||||
to_chat(src, span_notice("You are now getting up."))
|
||||
robot_resting = FALSE
|
||||
mobility_flags = MOBILITY_FLAGS_DEFAULT
|
||||
on_standing_up()
|
||||
else
|
||||
to_chat(src, "<span class='notice'>You are now laying down.</span>")
|
||||
to_chat(src, span_notice("You are now laying down."))
|
||||
robot_resting = robot_rest_style
|
||||
on_lying_down()
|
||||
update_icons()
|
||||
@@ -82,7 +82,7 @@
|
||||
return
|
||||
|
||||
if(wires.is_cut(WIRE_RESET_MODEL))
|
||||
to_chat(src,"<span class='userdanger'>ERROR: Module installer reply timeout. Please check internal connections.</span>")
|
||||
to_chat(src,span_userdanger("ERROR: Module installer reply timeout. Please check internal connections."))
|
||||
return
|
||||
|
||||
var/list/skyratmodel = list(
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
var/mob/living/mob = target
|
||||
|
||||
if(check_zone(borg.zone_selected) == "head")
|
||||
borg.visible_message("<span class='warning'>\the [borg] affectionally licks \the [mob]'s face!</span>", "<span class='notice'>You affectionally lick \the [mob]'s face!</span>")
|
||||
borg.visible_message(span_warning("\the [borg] affectionally licks \the [mob]'s face!"), span_notice("You affectionally lick \the [mob]'s face!"))
|
||||
playsound(borg, 'sound/effects/attackblob.ogg', 50, 1)
|
||||
else
|
||||
borg.visible_message("<span class='warning'>\the [borg] affectionally licks \the [mob]!</span>", "<span class='notice'>You affectionally lick \the [mob]!</span>")
|
||||
borg.visible_message(span_warning("\the [borg] affectionally licks \the [mob]!"), span_notice("You affectionally lick \the [mob]!"))
|
||||
playsound(borg, 'sound/effects/attackblob.ogg', 50, 1)
|
||||
|
||||
/obj/item/dogborg_nose
|
||||
@@ -34,4 +34,4 @@
|
||||
if(!proximity)
|
||||
return
|
||||
do_attack_animation(target, null, src)
|
||||
user.visible_message("<span class='notice'>[user] [pick("nuzzles", "pushes", "boops")] \the [target.name] with their nose!</span>")
|
||||
user.visible_message(span_notice("[user] [pick("nuzzles", "pushes", "boops")] \the [target.name] with their nose!"))
|
||||
|
||||
@@ -35,9 +35,9 @@
|
||||
else
|
||||
owner_name = my_mind.current.real_name
|
||||
//Greet our antag player and give him a link to open ambitions!
|
||||
to_chat(my_mind.current, "<span class='boldwarning'>You're a story driven antagonist, this means you'll have to fill ambitions before you start antagonising!</span>")
|
||||
to_chat(my_mind.current, "<span class='boldwarning'>After filling them out you'll get access to your uplink or powers.</span>")
|
||||
to_chat(my_mind.current, "<span class='boldwarning'>Click <a href='?src=[REF(src)];pref=show_ambitions'>here</a> to set your ambitions, or access them at any time from your IC tab.</span>")
|
||||
to_chat(my_mind.current, span_boldwarning("You're a story driven antagonist, this means you'll have to fill ambitions before you start antagonising!"))
|
||||
to_chat(my_mind.current, span_boldwarning("After filling them out you'll get access to your uplink or powers."))
|
||||
to_chat(my_mind.current, span_boldwarning("Click <a href='?src=[REF(src)];pref=show_ambitions'>here</a> to set your ambitions, or access them at any time from your IC tab."))
|
||||
|
||||
/datum/ambitions/proc/ShowPanel(mob/user, admin_view = FALSE)
|
||||
if(!user || !user.client)
|
||||
@@ -271,8 +271,8 @@
|
||||
return
|
||||
GLOB.ambitions_to_review[src] = usr.ckey
|
||||
log_action("HANDLING")
|
||||
message_admins("<span class='adminhelp'>[key_name(usr, FALSE, TRUE)] is handling [owner_name]'s ambitions. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)</span>")
|
||||
to_chat(my_mind.current, "<span class='boldnotice'>[key_name(usr, FALSE, FALSE)] is handling your ambitions.</span>")
|
||||
message_admins(span_adminhelp("[key_name(usr, FALSE, TRUE)] is handling [owner_name]'s ambitions. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)"))
|
||||
to_chat(my_mind.current, span_boldnotice("[key_name(usr, FALSE, FALSE)] is handling your ambitions."))
|
||||
if("request_changes")
|
||||
cancel_auto_approve()
|
||||
var/changes_wanted = input(usr, "Requested changes:", "Ambitions") as message|null
|
||||
@@ -280,8 +280,8 @@
|
||||
if(changes_wanted)
|
||||
last_requested_change = changes_wanted
|
||||
log_action("CHANGES REQUESTED: [changes_wanted]")
|
||||
to_chat(my_mind.current, "<span class='boldwarning'>[key_name(usr, FALSE, FALSE)] requested changes on your ambitions: [changes_wanted]. (<a href='?src=[REF(src)];pref=show_ambitions'>VIEW</a>)</span>")
|
||||
message_admins("<span class='adminhelp'>[key_name(usr, FALSE, TRUE)] requested changes in [ADMIN_TPMONTY(my_mind.current)]'s ambitions. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)</span>")
|
||||
to_chat(my_mind.current, span_boldwarning("[key_name(usr, FALSE, FALSE)] requested changes on your ambitions: [changes_wanted]. (<a href='?src=[REF(src)];pref=show_ambitions'>VIEW</a>)"))
|
||||
message_admins(span_adminhelp("[key_name(usr, FALSE, TRUE)] requested changes in [ADMIN_TPMONTY(my_mind.current)]'s ambitions. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)"))
|
||||
if("discard_review")
|
||||
var/action = tgui_alert(usr, "Are you sure you want to discard this review request (Use request changes if you want it changed instead)?", "", list("Yes", "No"))
|
||||
if(action && action == "Yes" && admin_review_requested)
|
||||
@@ -291,8 +291,8 @@
|
||||
last_requested_change = null
|
||||
GLOB.ambitions_to_review -= src
|
||||
log_action("DISCARDED: Review discarded without approval")
|
||||
to_chat(my_mind.current, "<span class='warning'><b>Your ambitions review request was discarded by [key_name(usr, FALSE, FALSE)].</b></span>")
|
||||
message_admins("<span class='adminhelp'>[ADMIN_TPMONTY(my_mind.current)]'s ambitions review request was DISCARDED by [key_name(usr, FALSE, TRUE)]. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)</span>")
|
||||
to_chat(my_mind.current, span_warning("<b>Your ambitions review request was discarded by [key_name(usr, FALSE, FALSE)].</b>"))
|
||||
message_admins(span_adminhelp("[ADMIN_TPMONTY(my_mind.current)]'s ambitions review request was DISCARDED by [key_name(usr, FALSE, TRUE)]. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)"))
|
||||
if("approve")
|
||||
cancel_auto_approve()
|
||||
admin_approval = TRUE
|
||||
@@ -300,8 +300,8 @@
|
||||
last_requested_change = null
|
||||
GLOB.ambitions_to_review -= src
|
||||
log_action("APPROVED", FALSE)
|
||||
to_chat(my_mind.current, "<span class='nicegreen'><b>Your ambitions were approved by [key_name(usr, FALSE, FALSE)].</b></span>")
|
||||
message_admins("<span class='nicegreen'>[ADMIN_TPMONTY(my_mind.current)]'s ambitions were approved by [key_name(usr, FALSE, TRUE)]. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)</span>")
|
||||
to_chat(my_mind.current, span_nicegreen("<b>Your ambitions were approved by [key_name(usr, FALSE, FALSE)].</b>"))
|
||||
message_admins(span_nicegreen("[ADMIN_TPMONTY(my_mind.current)]'s ambitions were approved by [key_name(usr, FALSE, TRUE)]. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)"))
|
||||
submit()
|
||||
if("logs")
|
||||
var/datum/browser/popup = new(usr, "Ambition logging", "Ambition logs", 500, 200)
|
||||
@@ -321,7 +321,7 @@
|
||||
ShowTemplatePanel(usr)
|
||||
return
|
||||
if("requested_done")
|
||||
to_chat(src, "<span class='nicegreen'><b>You notify admins that you have adressed the requested changes.</b></span>")
|
||||
to_chat(src, span_nicegreen("<b>You notify admins that you have adressed the requested changes.</b>"))
|
||||
message_admins(span_adminhelp("[ADMIN_TPMONTY(usr)] notifies that he has finished the requested changes in his ambitions. (<a href='?src=[REF(src)];admin_pref=show_ambitions'>VIEW</a>)"))
|
||||
if("request_review")
|
||||
admin_review_requested = TRUE
|
||||
|
||||
@@ -421,7 +421,7 @@
|
||||
if(!user.transferItemToLoc(O, src))
|
||||
return FALSE
|
||||
if(loaded_magazine)
|
||||
to_chat(user, "<span class='notice'>You swap quickly swap [O] for [loaded_magazine].</span>")
|
||||
to_chat(user, span_notice("You swap quickly swap [O] for [loaded_magazine]."))
|
||||
loaded_magazine.forceMove(drop_location())
|
||||
user.put_in_hands(loaded_magazine)
|
||||
loaded_magazine = null
|
||||
@@ -432,7 +432,7 @@
|
||||
deltimer(timer_id)
|
||||
timer_id = null
|
||||
loaded_magazine = O
|
||||
to_chat(user, "<span class='notice'>You insert [O] to into [src]'s reciprocal.</span>")
|
||||
to_chat(user, span_notice("You insert [O] to into [src]'s reciprocal."))
|
||||
flick("h_lathe_load", src)
|
||||
update_appearance()
|
||||
playsound(loc, 'sound/weapons/autoguninsert.ogg', 35, 1)
|
||||
@@ -441,7 +441,7 @@
|
||||
if(!user.transferItemToLoc(O, src))
|
||||
return FALSE
|
||||
loaded_datadisk = O
|
||||
to_chat(user, "<span class='notice'>You insert [O] to into [src]'s floppydisk port.</span>")
|
||||
to_chat(user, span_notice("You insert [O] to into [src]'s floppydisk port."))
|
||||
flick("h_lathe_load", src)
|
||||
update_appearance()
|
||||
playsound(loc, 'sound/machines/terminal_insert_disc.ogg', 35, 1)
|
||||
@@ -450,19 +450,19 @@
|
||||
|
||||
/obj/machinery/ammo_workbench/proc/is_insertion_ready(mob/user, obj/item/O)
|
||||
if(panel_open)
|
||||
to_chat(user, "<span class='warning'>You can't load [src] while it's opened!</span>")
|
||||
to_chat(user, span_warning("You can't load [src] while it's opened!"))
|
||||
return FALSE
|
||||
if(disabled)
|
||||
to_chat(user, "<span class='warning'>The insertion belts of [src] won't engage!</span>")
|
||||
to_chat(user, span_warning("The insertion belts of [src] won't engage!"))
|
||||
return FALSE
|
||||
if(machine_stat & BROKEN)
|
||||
to_chat(user, "<span class='warning'>[src] is broken.</span>")
|
||||
to_chat(user, span_warning("[src] is broken."))
|
||||
return FALSE
|
||||
if(machine_stat & NOPOWER)
|
||||
to_chat(user, "<span class='warning'>[src] has no power.</span>")
|
||||
to_chat(user, span_warning("[src] has no power."))
|
||||
return FALSE
|
||||
if(istype(O, /obj/item/disk/ammo_workbench) && loaded_datadisk)
|
||||
to_chat(user, "<span class='warning'>[src] already has a disk inserted.</span>")
|
||||
to_chat(user, span_warning("[src] already has a disk inserted."))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
flags_1 = NODECONSTRUCT_1
|
||||
|
||||
/obj/machinery/scanner_gate/anti_nanite/emag_act(mob/user)
|
||||
to_chat(user, "<span class='notice'>This gate has advanced security measures!</span>")
|
||||
to_chat(user, span_notice("This gate has advanced security measures!"))
|
||||
return
|
||||
|
||||
/obj/machinery/scanner_gate/anti_nanite/attackby(obj/item/W, mob/user, params)
|
||||
|
||||
@@ -10,7 +10,7 @@ GLOBAL_LIST_EMPTY(hell) //eorg banned players go here
|
||||
. = ..()
|
||||
if(ckey)
|
||||
if(is_banned_from(ckey, BAN_DONOTREVIVE))
|
||||
to_chat(src, "<span class='notice'>As you are revival banned, you cannot reenter your body.")
|
||||
to_chat(src, span_notice("As you are revival banned, you cannot reenter your body."))
|
||||
can_reenter_corpse = FALSE
|
||||
|
||||
/proc/process_eorg_bans()
|
||||
|
||||
@@ -21,41 +21,41 @@
|
||||
if(2)
|
||||
if(DT_PROB(2, delta_time))
|
||||
affected_mob.emote("twitch")
|
||||
to_chat(affected_mob, "<span class='danger'>You twitch.</span>")
|
||||
to_chat(affected_mob, span_danger("You twitch."))
|
||||
if(DT_PROB(2, delta_time))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel tired.</span>")
|
||||
to_chat(affected_mob, span_danger("You feel tired."))
|
||||
if(DT_PROB(5, delta_time))
|
||||
to_chat(affected_mob, "<span class='danger'>Your head hurts.</span>")
|
||||
to_chat(affected_mob, span_danger("Your head hurts."))
|
||||
if(3,4)
|
||||
if(DT_PROB(2, delta_time))
|
||||
to_chat(affected_mob, "<span class='userdanger'>You see four of everything!</span>")
|
||||
to_chat(affected_mob, span_userdanger("You see four of everything!"))
|
||||
affected_mob.Dizzy(5)
|
||||
if(DT_PROB(2, delta_time))
|
||||
to_chat(affected_mob, "<span class='danger'>You suddenly feel exhausted.</span>")
|
||||
to_chat(affected_mob, span_danger("You suddenly feel exhausted."))
|
||||
affected_mob.adjustStaminaLoss(30, FALSE)
|
||||
if(DT_PROB(2, delta_time))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel hot.</span>")
|
||||
to_chat(affected_mob, span_danger("You feel hot."))
|
||||
affected_mob.adjust_bodytemperature(20)
|
||||
if(DT_PROB(5, delta_time))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel air escape from your lungs painfully.</span>")
|
||||
to_chat(affected_mob, span_danger("You feel air escape from your lungs painfully."))
|
||||
affected_mob.adjustOxyLoss(25, FALSE)
|
||||
affected_mob.emote("gasp")
|
||||
if(5)
|
||||
if(DT_PROB(5, delta_time))
|
||||
to_chat(affected_mob, "<span class='userdanger'>[pick("Your muscles seize!", "You collapse!")]</span>")
|
||||
to_chat(affected_mob, span_userdanger("[pick("Your muscles seize!", "You collapse!")]"))
|
||||
affected_mob.adjustStaminaLoss(50, FALSE)
|
||||
affected_mob.Paralyze(40, FALSE)
|
||||
affected_mob.adjustBruteLoss(5) //It's damaging the muscles
|
||||
if(DT_PROB(2, delta_time))
|
||||
affected_mob.adjustStaminaLoss(100, FALSE)
|
||||
affected_mob.visible_message("<span class='warning'>[affected_mob] faints!</span>", "<span class='userdanger'>You surrender yourself and feel at peace...</span>")
|
||||
affected_mob.visible_message(span_warning("[affected_mob] faints!"), span_userdanger("You surrender yourself and feel at peace..."))
|
||||
affected_mob.AdjustSleeping(100)
|
||||
if(DT_PROB(5, delta_time))
|
||||
to_chat(affected_mob, "<span class='userdanger'>You feel your mind relax and your thoughts drift!</span>")
|
||||
to_chat(affected_mob, span_userdanger("You feel your mind relax and your thoughts drift!"))
|
||||
affected_mob.set_confusion(min(100, affected_mob.get_confusion() + 8))
|
||||
affected_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10)
|
||||
if(DT_PROB(10, delta_time))
|
||||
to_chat(affected_mob, "<span class='danger'>[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]</span>")
|
||||
to_chat(affected_mob, span_danger("[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]"))
|
||||
affected_mob.adjust_bodytemperature(30)
|
||||
if(DT_PROB(5, delta_time))
|
||||
affected_mob.vomit(20)
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
var/turf/my_turf = get_turf(src)
|
||||
switch(blob_type)
|
||||
if(BIO_BLOB_TYPE_FUNGUS)
|
||||
visible_message("<span class='warning'>The [src] emitts a cloud!</span>")
|
||||
visible_message(span_warning("The [src] emitts a cloud!"))
|
||||
var/datum/reagents/R = new/datum/reagents(300)
|
||||
R.my_atom = src
|
||||
R.add_reagent(/datum/reagent/cordycepsspores, 50)
|
||||
@@ -105,10 +105,10 @@
|
||||
smoke.attach(src)
|
||||
smoke.start()
|
||||
if(BIO_BLOB_TYPE_FIRE)
|
||||
visible_message("<span class='warning'>The [src] puffs a cloud of flames!</span>")
|
||||
visible_message(span_warning("The [src] puffs a cloud of flames!"))
|
||||
my_turf.atmos_spawn_air("o2=20;plasma=20;TEMP=600")
|
||||
if(BIO_BLOB_TYPE_EMP)
|
||||
visible_message("<span class='warning'>The [src] sends out electrical discharges!</span>")
|
||||
visible_message(span_warning("The [src] sends out electrical discharges!"))
|
||||
empulse(src, 5, 10)
|
||||
if(prob(50))
|
||||
for(var/mob/living/M in get_hearers_in_view(3, my_turf))
|
||||
@@ -120,7 +120,7 @@
|
||||
do_sparks(3, TRUE, src)
|
||||
tesla_zap(src, 4, 10000, ZAP_MOB_DAMAGE | ZAP_OBJ_DAMAGE)
|
||||
if(BIO_BLOB_TYPE_TOXIC)
|
||||
visible_message("<span class='warning'>The [src] spews out foam!</span>")
|
||||
visible_message(span_warning("The [src] spews out foam!"))
|
||||
var/datum/reagents/R = new/datum/reagents(300)
|
||||
R.my_atom = src
|
||||
R.add_reagent(/datum/reagent/toxin, 30)
|
||||
@@ -128,7 +128,7 @@
|
||||
foam.set_up(40, my_turf, R)
|
||||
foam.start()
|
||||
if(BIO_BLOB_TYPE_RADIOACTIVE)
|
||||
visible_message("<span class='warning'>The [src] emits a strong radiation pulse!</span>")
|
||||
visible_message(span_warning("The [src] emits a strong radiation pulse!"))
|
||||
radiation_pulse(src, 1500, 10, FALSE, TRUE)
|
||||
var/datum/reagents/R = new/datum/reagents(300)
|
||||
R.my_atom = src
|
||||
@@ -287,7 +287,7 @@
|
||||
if(!is_full)
|
||||
return
|
||||
var/turf/T = get_turf(src)
|
||||
visible_message("<span class='warning'>The [src] ruptures!</span>")
|
||||
visible_message(span_warning("The [src] ruptures!"))
|
||||
switch(blob_type)
|
||||
if(BIO_BLOB_TYPE_FUNGUS)
|
||||
var/datum/reagents/R = new/datum/reagents(300)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/obj/item/food/grown/grown_item = used_item
|
||||
if(!packeditem)
|
||||
if(HAS_TRAIT(grown_item, TRAIT_DRIED))
|
||||
to_chat(user, "<span class='notice'>You stuff [grown_item] into [src].</span>")
|
||||
to_chat(user, span_notice("You stuff [grown_item] into [src]."))
|
||||
bonghits = useable_bonghits
|
||||
packeditem = TRUE
|
||||
if(grown_item.reagents)
|
||||
@@ -33,12 +33,12 @@
|
||||
quarter_volume = reagents.total_volume/useable_bonghits
|
||||
qdel(grown_item)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>It has to be dried first!</span>")
|
||||
to_chat(user, span_warning("It has to be dried first!"))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>It is already packed!</span>")
|
||||
to_chat(user, span_warning("It is already packed!"))
|
||||
else if(istype(used_item, /obj/item/reagent_containers/hash)) //for hash/dabs
|
||||
if(!packeditem)
|
||||
to_chat(user, "<span class='notice'>You stuff [used_item] into [src].</span>")
|
||||
to_chat(user, span_notice("You stuff [used_item] into [src]."))
|
||||
bonghits = useable_bonghits
|
||||
packeditem = TRUE
|
||||
if(used_item.reagents)
|
||||
@@ -52,20 +52,20 @@
|
||||
light(lighting_text)
|
||||
name = "lit [initial(name)]"
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There is nothing to smoke!</span>")
|
||||
to_chat(user, span_warning("There is nothing to smoke!"))
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/bong/attack_self(mob/user)
|
||||
var/turf/location = get_turf(user)
|
||||
if(lit)
|
||||
user.visible_message("<span class='notice'>[user] puts out [src].</span>", "<span class='notice'>You put out [src].</span>")
|
||||
user.visible_message(span_notice("[user] puts out [src]."), span_notice("You put out [src]."))
|
||||
lit = FALSE
|
||||
icon_state = icon_off
|
||||
inhand_icon_state = icon_off
|
||||
return
|
||||
if(!lit && bonghits > 0)
|
||||
to_chat(user, "<span class='notice'>You empty [src] onto [location].</span>")
|
||||
to_chat(user, span_notice("You empty [src] onto [location]."))
|
||||
new /obj/effect/decal/cleanable/ash(location)
|
||||
packeditem = FALSE
|
||||
bonghits = 0
|
||||
@@ -75,10 +75,10 @@
|
||||
/obj/item/bong/attack(mob/hit_mob, mob/user, def_zone)
|
||||
if(packeditem && lit)
|
||||
if(hit_mob == user)
|
||||
hit_mob.visible_message("<span class='notice'>[user] starts taking a hit from the [src].</span>")
|
||||
hit_mob.visible_message(span_notice("[user] starts taking a hit from the [src]."))
|
||||
playsound(src, 'sound/chemistry/heatdam.ogg', 50, TRUE)
|
||||
if(do_after(user,40))
|
||||
to_chat(hit_mob, "<span class='notice'>You finish taking a hit from the [src].</span>")
|
||||
to_chat(hit_mob, span_notice("You finish taking a hit from the [src]."))
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to(hit_mob, quarter_volume, transfered_by = user, methods = VAPOR)
|
||||
bonghits--
|
||||
@@ -86,7 +86,7 @@
|
||||
if(istype(pos) && pos.air.return_pressure() < 2*ONE_ATMOSPHERE)
|
||||
pos.atmos_spawn_air("water_vapor=10;TEMP=T20C + 20")
|
||||
if(bonghits <= 0)
|
||||
to_chat(hit_mob, "<span class='notice'>Your [name] goes out.</span>")
|
||||
to_chat(hit_mob, span_notice("Your [name] goes out."))
|
||||
lit = FALSE
|
||||
packeditem = FALSE
|
||||
icon_state = icon_off
|
||||
@@ -138,10 +138,10 @@
|
||||
/obj/item/bong/lungbuster/attack(mob/hit_mob, mob/user, def_zone)
|
||||
if(packeditem && lit)
|
||||
if(hit_mob == user)
|
||||
hit_mob.visible_message("<span class='notice'>[user] starts taking a hit from the [src].</span>")
|
||||
hit_mob.visible_message(span_notice("[user] starts taking a hit from the [src]."))
|
||||
playsound(src, 'sound/chemistry/heatdam.ogg', 50, TRUE)
|
||||
if(do_after(user,40))
|
||||
to_chat(hit_mob, "<span class='notice'>You finish taking a hit from the [src].</span>")
|
||||
to_chat(hit_mob, span_notice("You finish taking a hit from the [src]."))
|
||||
if(reagents.total_volume)
|
||||
reagents.trans_to(hit_mob, quarter_volume, transfered_by = user, methods = VAPOR)
|
||||
bonghits--
|
||||
@@ -155,7 +155,7 @@
|
||||
playsound(hit_mob, pick('modular_skyrat/master_files/sound/effects/lungbust_cough1.ogg','modular_skyrat/master_files/sound/effects/lungbust_cough2.ogg'), 50, TRUE)
|
||||
hit_mob.emote("cough")
|
||||
if(bonghits <= 0)
|
||||
to_chat(hit_mob, "<span class='notice'>Your [name] goes out.</span>")
|
||||
to_chat(hit_mob, span_notice("Your [name] goes out."))
|
||||
lit = FALSE
|
||||
packeditem = FALSE
|
||||
icon_state = icon_off
|
||||
|
||||
@@ -39,8 +39,8 @@
|
||||
|
||||
/datum/job/brigoff/after_spawn(mob/living/carbon/human/H, mob/M)
|
||||
. = ..()
|
||||
to_chat(M, "<span class='userdanger'>You are a <b><u>GUARD</b></u> not a Security Officer, do <b><u>NOT</b></u> run off and be Security unless it's red alert!.")
|
||||
to_chat(M, "<span class='warning'>You shouldn't leave the brig for long peroids of time. <b>Remember: You aren't a Security Officer.</b>")
|
||||
to_chat(M, span_userdanger("You are a <b><u>GUARD</b></u> not a Security Officer, do <b><u>NOT</b></u> run off and be Security unless it's red alert!."))
|
||||
to_chat(M, span_warning("You shouldn't leave the brig for long peroids of time. <b>Remember: You aren't a Security Officer.</b>"))
|
||||
to_chat(M, "<b>You are a Brig Officer of the Frontier Space Station 13, your duties include Prisoner escort and ensuring the Prisoners stay in line.</b>")
|
||||
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
return
|
||||
var/obj/item/multitool/M = I
|
||||
M.buffer = src
|
||||
to_chat(user, "<span class='notice'>You store linkage information in [I]'s buffer.</span>")
|
||||
to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/bsa/front
|
||||
@@ -68,7 +68,7 @@
|
||||
return
|
||||
var/obj/item/multitool/M = I
|
||||
M.buffer = src
|
||||
to_chat(user, "<span class='notice'>You store linkage information in [I]'s buffer.</span>")
|
||||
to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/bsa/middle
|
||||
@@ -86,13 +86,13 @@
|
||||
if(istype(M.buffer, /obj/machinery/bsa/back))
|
||||
back = M.buffer
|
||||
M.buffer = null
|
||||
to_chat(user, "<span class='notice'>You link [src] with [back].</span>")
|
||||
to_chat(user, span_notice("You link [src] with [back]."))
|
||||
else if(istype(M.buffer, /obj/machinery/bsa/front))
|
||||
front = M.buffer
|
||||
M.buffer = null
|
||||
to_chat(user, "<span class='notice'>You link [src] with [front].</span>")
|
||||
to_chat(user, span_notice("You link [src] with [front]."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[I]'s data buffer is empty!</span>")
|
||||
to_chat(user, span_warning("[I]'s data buffer is empty!"))
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/bsa/middle/proc/check_completion()
|
||||
@@ -317,7 +317,7 @@
|
||||
return
|
||||
var/obj/item/multitool/M = I
|
||||
M.buffer = src
|
||||
to_chat(user, "<span class='notice'>You store linkage information in [I]'s buffer.</span>")
|
||||
to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/bsa_powercore/wrench_act(mob/living/user, obj/item/I)
|
||||
@@ -329,10 +329,10 @@
|
||||
attached = locate() in T
|
||||
if(!attached)
|
||||
set_light(0)
|
||||
to_chat(user, "<span class='warning'>[src] must be placed over an exposed, powered cable node!</span>")
|
||||
to_chat(user, span_warning("[src] must be placed over an exposed, powered cable node!"))
|
||||
else
|
||||
set_light(5)
|
||||
to_chat(user, "<span class='notce'>You attach [src] to the cable below.")
|
||||
to_chat(user, span_notice("You attach [src] to the cable below."))
|
||||
else
|
||||
attached = null
|
||||
update_appearance()
|
||||
|
||||
@@ -21,17 +21,17 @@
|
||||
if(M.buffer)
|
||||
if(istype(M.buffer, /obj/machinery/bsa_powercore))
|
||||
if(!cannon)
|
||||
to_chat(user, "<span class='warning'>There is no cannon linked to this control unit!</span>")
|
||||
to_chat(user, span_warning("There is no cannon linked to this control unit!"))
|
||||
return FALSE
|
||||
if(core)
|
||||
to_chat(user, "<span class='warning'>There is already a core linked to this control unit!</span>")
|
||||
to_chat(user, span_warning("There is already a core linked to this control unit!"))
|
||||
return FALSE
|
||||
core = M.buffer
|
||||
core.control_unit = src
|
||||
M.buffer = null
|
||||
to_chat(user, "<span class='notice'>You link [src] with [core].</span>")
|
||||
to_chat(user, span_notice("You link [src] with [core]."))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[I]'s data buffer is empty!</span>")
|
||||
to_chat(user, span_warning("[I]'s data buffer is empty!"))
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/computer/bsa_control/ui_state(mob/user)
|
||||
|
||||
@@ -19,19 +19,19 @@
|
||||
/obj/item/pipe_dispenser/bluespace/attackby(obj/item/item, mob/user, param)
|
||||
if(istype(item, /obj/item/stack/sheet/bluespace_crystal))
|
||||
if(BSRPD_CAPAC_NEW > (BSRPD_CAPAC_MAX - bs_capac) || bs_use == 0)
|
||||
to_chat(user, "<span class='warning'>You cannot recharge [src] anymore!</span>")
|
||||
to_chat(user, span_warning("You cannot recharge [src] anymore!"))
|
||||
return
|
||||
item.use(1)
|
||||
to_chat(user, "<span class='notice'>You recharge the bluespace capacitor inside of [src]</span>")
|
||||
to_chat(user, span_notice("You recharge the bluespace capacitor inside of [src]"))
|
||||
bs_capac += BSRPD_CAPAC_NEW
|
||||
return
|
||||
if(istype(item, /obj/item/assembly/signaler/anomaly/bluespace))
|
||||
if(bs_use)
|
||||
to_chat(user, "<span class='notice'>You slot [item] into [src]; supercharging the bluespace capacitor!</span>")
|
||||
to_chat(user, span_notice("You slot [item] into [src]; supercharging the bluespace capacitor!"))
|
||||
bs_use = 0
|
||||
qdel(item)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You cannot improve the [src] further.</span>")
|
||||
to_chat(user, span_warning("You cannot improve the [src] further."))
|
||||
return
|
||||
return ..()
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
if(prox) // If we are in proximity to the target, don't use charge and don't call this shitcode.
|
||||
return ..()
|
||||
if(bs_capac < (bs_use * (bs_prog + 1)))
|
||||
to_chat(user, "<span class='warning'>The [src] lacks the charge to do that.</span>")
|
||||
to_chat(user, span_warning("The [src] lacks the charge to do that."))
|
||||
return FALSE
|
||||
bs_prog++ // So people can't just spam click and get more uses
|
||||
user.Beam(target, icon_state = "rped_upgrade", time = 1 SECONDS)
|
||||
|
||||
@@ -108,18 +108,18 @@ component_cell_out_of_charge/component_cell_removed proc using loc where necessa
|
||||
|
||||
if(!inserted_cell)
|
||||
if(user)
|
||||
to_chat(user, "<span class='danger'>There is no cell inside [equipment]</span>")
|
||||
to_chat(user, span_danger("There is no cell inside [equipment]"))
|
||||
return COMPONENT_NO_CELL
|
||||
|
||||
if(check_only && inserted_cell.charge < use_amount)
|
||||
if(user)
|
||||
to_chat(user, "<span class='danger'>The cell inside [equipment] does not have enough charge to perform this action!</span>")
|
||||
to_chat(user, span_danger("The cell inside [equipment] does not have enough charge to perform this action!"))
|
||||
return COMPONENT_NO_CHARGE
|
||||
|
||||
if(!inserted_cell.use(use_amount))
|
||||
inserted_cell.update_appearance() //Updates the attached cell sprite - Why does this not happen in cell.use?
|
||||
if(user)
|
||||
to_chat(user, "<span class='danger'>The cell inside [equipment] does not have enough charge to perform this action!</span>")
|
||||
to_chat(user, span_danger("The cell inside [equipment] does not have enough charge to perform this action!"))
|
||||
return COMPONENT_NO_CHARGE
|
||||
|
||||
inserted_cell.update_appearance()
|
||||
@@ -130,12 +130,12 @@ component_cell_out_of_charge/component_cell_removed proc using loc where necessa
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!inserted_cell)
|
||||
examine_list += "<span class='danger'>It does not have a cell inserted!</span>"
|
||||
examine_list += span_danger("It does not have a cell inserted!")
|
||||
else if(!inside_robot)
|
||||
examine_list += "<span class='notice'>It has [inserted_cell] inserted. It has <b>[inserted_cell.percent()]%</b> charge left. \
|
||||
Ctrl+Shift+Click to remove the [inserted_cell]."
|
||||
examine_list += span_notice("It has [inserted_cell] inserted. It has <b>[inserted_cell.percent()]%</b> charge left. \
|
||||
Ctrl+Shift+Click to remove the [inserted_cell].")
|
||||
else
|
||||
examine_list += "<span class='notice'>It is drawing power from an external powersource, reading <b>[inserted_cell.percent()]%</b> charge.</span>"
|
||||
examine_list += span_notice("It is drawing power from an external powersource, reading <b>[inserted_cell.percent()]%</b> charge.")
|
||||
|
||||
/// Handling of cell removal.
|
||||
/datum/component/cell/proc/remove_cell(datum/source, mob/user)
|
||||
@@ -153,7 +153,7 @@ component_cell_out_of_charge/component_cell_removed proc using loc where necessa
|
||||
return
|
||||
|
||||
if(inserted_cell)
|
||||
to_chat(user, "<span class='notice'>You remove [inserted_cell] from [equipment]!</span>")
|
||||
to_chat(user, span_notice("You remove [inserted_cell] from [equipment]!"))
|
||||
playsound(equipment, 'sound/weapons/magout.ogg', 40, TRUE)
|
||||
inserted_cell.forceMove(get_turf(equipment))
|
||||
INVOKE_ASYNC(user, /mob/living.proc/put_in_hands, inserted_cell)
|
||||
@@ -162,7 +162,7 @@ component_cell_out_of_charge/component_cell_removed proc using loc where necessa
|
||||
on_cell_removed.Invoke()
|
||||
handle_cell_overlays(TRUE)
|
||||
else
|
||||
to_chat(user, "<span class='danger'>There is no cell inserted in [equipment]!</span>")
|
||||
to_chat(user, span_danger("There is no cell inserted in [equipment]!"))
|
||||
|
||||
/// Handling of cell insertion.
|
||||
/datum/component/cell/proc/insert_cell(datum/source, obj/item/inserting_item, mob/living/user, params)
|
||||
@@ -177,10 +177,10 @@ component_cell_out_of_charge/component_cell_removed proc using loc where necessa
|
||||
return
|
||||
|
||||
if(inserted_cell) //No quickswap compatibility
|
||||
to_chat(user, "<span class='danger'>There is already a cell inserted in [equipment]!</span>")
|
||||
to_chat(user, span_danger("There is already a cell inserted in [equipment]!"))
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You insert [inserting_item] into [equipment]!</span>")
|
||||
to_chat(user, span_notice("You insert [inserting_item] into [equipment]!"))
|
||||
playsound(equipment, 'sound/weapons/magin.ogg', 40, TRUE)
|
||||
inserted_cell = inserting_item
|
||||
inserting_item.forceMove(parent)
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
/obj/item/flashlight/examine(mob/user)
|
||||
. = ..()
|
||||
if(has_modes)
|
||||
. += "<span class='notice'>This flashlight has modes! Ctrl+click it to change the mode.</span>"
|
||||
. += span_notice("This flashlight has modes! Ctrl+click it to change the mode.")
|
||||
|
||||
/obj/item/flashlight/CtrlClick(mob/user)
|
||||
. = ..()
|
||||
@@ -41,21 +41,21 @@
|
||||
light_power = initial(light_power)
|
||||
set_light_on(on)
|
||||
flashlight_mode = 1
|
||||
to_chat(user, "<span class='notice'>You set [src] to low.</span>")
|
||||
to_chat(user, span_notice("You set [src] to low."))
|
||||
if(1)
|
||||
power_use_amount = POWER_CELL_USE_VERY_LOW
|
||||
light_range = initial(light_range) + 2
|
||||
light_power = initial(light_power) + 1
|
||||
set_light_on(on)
|
||||
flashlight_mode = 2
|
||||
to_chat(user, "<span class='notice'>You set [src] to medium.</span>")
|
||||
to_chat(user, span_notice("You set [src] to medium."))
|
||||
if(2)
|
||||
power_use_amount = POWER_CELL_USE_LOW
|
||||
light_range = initial(light_range) + 4
|
||||
light_power = initial(light_power) + 2
|
||||
set_light_on(on)
|
||||
flashlight_mode = 0
|
||||
to_chat(user, "<span class='notice'>You set [src] to high.</span>")
|
||||
to_chat(user, span_notice("You set [src] to high."))
|
||||
|
||||
/obj/item/flashlight/attack_self(mob/user)
|
||||
. = ..()
|
||||
|
||||
@@ -238,7 +238,7 @@ Armageddon is truly going to fuck the station, use it sparingly.
|
||||
|
||||
/obj/effect/cme/proc/burst()
|
||||
if(neutralized)
|
||||
visible_message("<span class='notice'>[src] fizzles out into nothingness.")
|
||||
visible_message(span_notice("[src] fizzles out into nothingness."))
|
||||
new /obj/effect/particle_effect/smoke/bad(loc)
|
||||
qdel(src)
|
||||
return
|
||||
@@ -252,7 +252,7 @@ Armageddon is truly going to fuck the station, use it sparingly.
|
||||
|
||||
/obj/effect/cme/armageddon/burst()
|
||||
if(neutralized)
|
||||
visible_message("<span class='notice'>[src] fizzles out into nothingness.")
|
||||
visible_message(span_notice("[src] fizzles out into nothingness."))
|
||||
new /obj/effect/particle_effect/smoke/bad(loc)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
continue
|
||||
cb_owner.human_host.temporarilyRemoveItemFromInventory(hosts_items, TRUE)
|
||||
playsound(cb_owner.human_host, 'sound/effects/blobattack.ogg', 30, TRUE)
|
||||
cb_owner.human_host.visible_message(span_warning("With a sickening crunch, [cb_owner.human_host] reforms [cb_owner.human_host.p_their()] armblade into an arm!"), span_notice("We assimilate the armblade back into our body."), "<span class='italics>You hear organic matter ripping and tearing!</span>")
|
||||
cb_owner.human_host.visible_message(span_warning("With a sickening crunch, [cb_owner.human_host] reforms [cb_owner.human_host.p_their()] armblade into an arm!"), span_notice("We assimilate the armblade back into our body."), span_italics("You hear organic matter ripping and tearing!"))
|
||||
cb_owner.human_host.update_inv_hands()
|
||||
return
|
||||
var/obj/item/spawn_armblade = new /obj/item/melee/arm_blade(cb_owner.human_host) //if you dont have the armblade, add it
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
|
||||
/datum/team/cortical_borers/roundend_report()
|
||||
var/list/parts = list()
|
||||
parts += "<span class='header'>The [name] were:</span>"
|
||||
parts += span_header("The [name] were:")
|
||||
parts += printborerlist(members)
|
||||
var/survival = FALSE
|
||||
for(var/mob/living/simple_animal/cortical_borer/check_borer in GLOB.cortical_borers)
|
||||
|
||||
@@ -314,9 +314,9 @@ GLOBAL_LIST_EMPTY(cryopod_computers)
|
||||
return
|
||||
|
||||
if(target == user)
|
||||
visible_message("<span class='infoplain'>[user] starts climbing into the cryo pod.</span>")
|
||||
visible_message(span_info("plain'>[user] starts climbing into the cryo pod."))
|
||||
else
|
||||
visible_message("<span class='infoplain'>[user] starts putting [target] into the cryo pod.</span>")
|
||||
visible_message(span_info("plain'>[user] starts putting [target] into the cryo pod."))
|
||||
|
||||
to_chat(target, span_warning("<b>If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.</b>"))
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/item/ttsdevice
|
||||
name = "TTS Device"
|
||||
desc = "A small device with a keyboard attached. Anything entered on the keyboard is played out the speaker. \n<span class='notice'>Alt-click the device to make it beep.</span> \n<span class='notice'>Ctrl-click to name the device.</span>"
|
||||
desc = "A small device with a keyboard attached. Anything entered on the keyboard is played out the speaker. \n<span class='notice'>Alt-click the device to make it beep.</span> \n<span class='notice'>Ctrl-click to name the device."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "gangtool-purple"
|
||||
lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi'
|
||||
@@ -20,13 +20,13 @@
|
||||
/obj/item/ttsdevice/AltClick(mob/living/user)
|
||||
var/noisechoice = input(user, "What noise would you like to make?", "Robot Noises") as null|anything in list("Beep","Buzz","Ping")
|
||||
if(noisechoice == "Beep")
|
||||
user.visible_message("<span class='notice'>[user] has made their TTS beep!", "You make your TTS beep!</span>")
|
||||
user.visible_message(span_notice("[user] has made their TTS beep!"), "You make your TTS beep!")
|
||||
playsound(user, 'sound/machines/twobeep.ogg', 50, 1, -1)
|
||||
if(noisechoice == "Buzz")
|
||||
user.visible_message("<span class='notice'>[user] has made their TTS buzz!", "You make your TTS buzz!</span>")
|
||||
user.visible_message(span_notice("[user] has made their TTS buzz!"), "You make your TTS buzz!")
|
||||
playsound(user, 'sound/machines/buzz-sigh.ogg', 50, 1, -1)
|
||||
if(noisechoice == "Ping")
|
||||
user.visible_message("<span class='notice'>[user] has made their TTS ping!", "You make your TTS ping!</span>")
|
||||
user.visible_message(span_notice("[user] has made their TTS ping!"), "You make your TTS ping!")
|
||||
playsound(user, 'sound/machines/ping.ogg', 50, 1, -1)
|
||||
|
||||
/obj/item/ttsdevice/CtrlClick(mob/living/user)
|
||||
|
||||
@@ -297,7 +297,7 @@ GLOBAL_LIST_INIT(food, list(
|
||||
message_admins("[usr] is bypassing the flavor text requirements.")
|
||||
return TRUE
|
||||
if(inform_client)
|
||||
to_chat(parent, "<span class='userdanger'>You must have a flavor text!</span>")
|
||||
to_chat(parent, span_userdanger("You must have a flavor text!"))
|
||||
return FALSE
|
||||
if(length(replacetext(features["flavor_text"], " ", "")) < FLAVORTEXT_JOIN_MINIMUM) // No you can't use whitespace to meet the requirement
|
||||
if(check_rights(R_ADMIN, FALSE))
|
||||
@@ -306,7 +306,7 @@ GLOBAL_LIST_INIT(food, list(
|
||||
message_admins("[usr] is bypassing the flavor text requirements.")
|
||||
return TRUE
|
||||
if(inform_client)
|
||||
to_chat(parent, "<span class='userdanger'>Your flavor text must be longer than [FLAVORTEXT_JOIN_MINIMUM] characters!</span>")
|
||||
to_chat(parent, span_userdanger("Your flavor text must be longer than [FLAVORTEXT_JOIN_MINIMUM] characters!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -1449,7 +1449,7 @@ GLOBAL_LIST_INIT(food, list(
|
||||
if(job.alt_titles.len)
|
||||
rank_title_line = "<a href='?_src_=prefs;preference=job;task=alt_title;job_title=[job.title]'>[rank_title_line]</a>"
|
||||
else
|
||||
rank_title_line = "<span class='dark'>[rank_title_line]</span>" //Make it dark if we're not adding a button for alt titles
|
||||
rank_title_line = span_dark("[rank_title_line]") //Make it dark if we're not adding a button for alt titles
|
||||
HTML += rank_title_line
|
||||
|
||||
|
||||
@@ -1739,7 +1739,7 @@ GLOBAL_LIST_INIT(food, list(
|
||||
to_chat(user, span_warning("You can't have more than [MAX_QUIRKS] positive quirks!"))
|
||||
return
|
||||
if(balance - value < 0)
|
||||
to_chat(user, "<span class='warning'>You don't have enough balance to gain this quirk!</span>")
|
||||
to_chat(user, span_warning("You don't have enough balance to gain this quirk!"))
|
||||
return
|
||||
all_quirks += quirk
|
||||
SetQuirks(user)
|
||||
@@ -3539,7 +3539,7 @@ GLOBAL_LIST_INIT(food, list(
|
||||
if(language_skill && !required)
|
||||
unlearn_button = "<a href='?_src_=prefs;lang=[lang_path];level=0;preference=language;task=input'>Unlearn</a>"
|
||||
else
|
||||
unlearn_button = "<span class='linkOff'>Unlearn</span>"
|
||||
unlearn_button = span_linkOff("Unlearn")
|
||||
var/understood_button
|
||||
if(languages[lang_path])
|
||||
//Has a href in case you want to downgrade from spoken to understood
|
||||
@@ -3547,14 +3547,14 @@ GLOBAL_LIST_INIT(food, list(
|
||||
else if(can_buy_language(lang_path, LANGUAGE_UNDERSTOOD))
|
||||
understood_button = "<a href='?_src_=prefs;lang=[lang_path];level=1;preference=language;task=input'>Understood</a>"
|
||||
else
|
||||
understood_button = "<span class='linkOff'>Understood</span>"
|
||||
understood_button = span_linkOff("Understood")
|
||||
var/spoken_button
|
||||
if(languages[lang_path] >= LANGUAGE_SPOKEN)
|
||||
spoken_button = "<a class='linkOn' href='?_src_=prefs;lang=[lang_path];level=2;preference=language;task=input'>Spoken</a>"
|
||||
else if(can_buy_language(lang_path, LANGUAGE_SPOKEN))
|
||||
spoken_button = "<a href='?_src_=prefs;lang=[lang_path];level=2;preference=language;task=input'>Spoken</a>"
|
||||
else
|
||||
spoken_button = "<span class='linkOff'>Spoken</span>"
|
||||
spoken_button = span_linkOff("Spoken")
|
||||
dat += "<tr style='background-color: [background_cl]'>"
|
||||
dat += "<td><b>[initial(lang_datum.name)]</b></td>"
|
||||
dat += "<td><i>[initial(lang_datum.desc)]</i></td>"
|
||||
|
||||
@@ -125,8 +125,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
addtimer(CALLBACK(src, .proc/announce_conflict, notadded), 5 SECONDS)
|
||||
|
||||
/datum/preferences/proc/announce_conflict(list/notadded)
|
||||
to_chat(parent, "<span class='warningplain'><b><u>Keybinding Conflict</u></b></span>\n\
|
||||
<span class='warningplain'><b>There are new <a href='?_src_=prefs;preference=tab;tab=3'>keybindings</a> that default to keys you've already bound. The new ones will be unbound.</b></span>")
|
||||
to_chat(parent, span_warning("plain'><b><u>Keybinding Conflict</u></b></span>\n\
|
||||
<span class='warningplain'><b>There are new <a href='?_src_=prefs;preference=tab;tab=3'>keybindings</a> that default to keys you've already bound. The new ones will be unbound.</b>"))
|
||||
for(var/item in notadded)
|
||||
var/datum/keybinding/conflicted = item
|
||||
to_chat(parent, span_danger("[conflicted.category]: [conflicted.full_name] needs updating"))
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/obj/item/clothing/ears/headphones/proc/toggle(owner)
|
||||
headphones_on = !headphones_on
|
||||
update_icon()
|
||||
to_chat(owner, "<span class='notice'>You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]</span>")
|
||||
to_chat(owner, span_notice("You turn the music [headphones_on? "on. Untz Untz Untz!" : "off."]"))
|
||||
|
||||
/datum/action/item_action/toggle_headphones
|
||||
name = "Toggle Headphones"
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
if(!can_use(usr))
|
||||
return
|
||||
if(!can_switch_eye)
|
||||
to_chat(usr, "<span class='warning'>You cannot wear this any differently!</span>")
|
||||
to_chat(usr, span_warning("You cannot wear this any differently!"))
|
||||
return
|
||||
eyepatch_do_switch()
|
||||
if(current_eye == "_L")
|
||||
to_chat(usr, "<span class='notice'>You adjust the eyepatch to wear it over your left eye.</span>")
|
||||
to_chat(usr, span_notice("You adjust the eyepatch to wear it over your left eye."))
|
||||
else if(current_eye == "_R")
|
||||
to_chat(usr, "<span class='notice'>You adjust the eyepatch to wear it over your right eye.</span>")
|
||||
to_chat(usr, span_notice("You adjust the eyepatch to wear it over your right eye."))
|
||||
usr.update_inv_glasses()
|
||||
usr.update_overlays()
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
strip_delay = 40
|
||||
|
||||
/obj/item/clothing/gloves/ring/suicide_act(mob/living/carbon/user)
|
||||
user.visible_message("<span class='suicide'>\[user] is putting the [src] in [user.p_their()] mouth! It looks like [user] is trying to choke on the [src]!</span>")
|
||||
user.visible_message(span_suicide("\[user] is putting the [src] in [user.p_their()] mouth! It looks like [user] is trying to choke on the [src]!"))
|
||||
return OXYLOSS
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
worn_icon_state = "dring"
|
||||
|
||||
/obj/item/clothing/gloves/ring/diamond/attack_self(mob/user)
|
||||
user.visible_message("<span class='warning'>\The [user] gets down on one knee, presenting \the [src].</span>","<span class='warning'>You get down on one knee, presenting \the [src].</span>")
|
||||
user.visible_message(span_warning("\The [user] gets down on one knee, presenting \the [src]."),span_warning("You get down on one knee, presenting \the [src]."))
|
||||
|
||||
/obj/item/clothing/gloves/ring/silver
|
||||
name = "silver ring"
|
||||
|
||||
@@ -343,10 +343,10 @@
|
||||
return
|
||||
if(goggles)
|
||||
icon_state = "gblast_helmet"
|
||||
to_chat(user, "<span class='notice'>You put all your effort into pulling the goggles up.</span>")
|
||||
to_chat(user, span_notice("You put all your effort into pulling the goggles up."))
|
||||
else
|
||||
icon_state = "gblast_helmetv"
|
||||
to_chat(user, "<span class='notice'>You focus all your willpower to put the goggles down on your eyes.</span>")
|
||||
to_chat(user, span_notice("You focus all your willpower to put the goggles down on your eyes."))
|
||||
goggles = !goggles
|
||||
if(user)
|
||||
user.head_update(src, forced = 1)
|
||||
|
||||
@@ -62,16 +62,16 @@
|
||||
/obj/item/clothing/neck/human_petcollar/locked/attackby(obj/item/K, mob/user, params)
|
||||
if(istype(K, /obj/item/key/collar))
|
||||
if(lock != FALSE)
|
||||
to_chat(user, "<span class='warning'>With a click the collar unlocks!</span>")
|
||||
to_chat(user, span_warning("With a click the collar unlocks!"))
|
||||
lock = FALSE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>With a click the collar locks!</span>")
|
||||
to_chat(user, span_warning("With a click the collar locks!"))
|
||||
lock = TRUE
|
||||
return
|
||||
|
||||
/obj/item/clothing/neck/human_petcollar/locked/attack_hand(mob/user)
|
||||
if(loc == user && user.get_item_by_slot(ITEM_SLOT_NECK) && lock != FALSE)
|
||||
to_chat(user, "<span class='warning'>The collar is locked! You'll need unlock the collar before you can take it off!</span>")
|
||||
to_chat(user, span_warning("The collar is locked! You'll need unlock the collar before you can take it off!"))
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
if(used_belt.Adjacent(M) && dump_destination && M.Adjacent(dump_destination))
|
||||
var/obj/item/storage/belt/storage_pouch/pouch = locate() in real_location()
|
||||
if (!pouch)
|
||||
to_chat(M, "<span class='warning'>[parent] doesn't seem to have a pouch to empty.</span>")
|
||||
to_chat(M, span_warning("[parent] doesn't seem to have a pouch to empty."))
|
||||
return FALSE //oopsie!! If we don't have a pouch! You're fucked!
|
||||
var/datum/component/storage/STR = pouch.GetComponent(/datum/component/storage)
|
||||
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(STR, M))
|
||||
playsound(used_belt, "rustle", 50, TRUE, -5)
|
||||
@@ -42,13 +42,13 @@
|
||||
add_fingerprint(user)
|
||||
playsound(src, 'sound/items/unsheath.ogg', 50, TRUE, -5)
|
||||
if(!user.put_in_hands(drawn_item))
|
||||
to_chat(user, "<span class='notice'>You fumble for [drawn_item] and it falls on the floor.</span>")
|
||||
to_chat(user, span_notice("You fumble for [drawn_item] and it falls on the floor."))
|
||||
update_appearance()
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] takes [drawn_item] out of [src].</span>", "<span class='notice'>You take [drawn_item] out of [src].</span>")
|
||||
user.visible_message(span_notice("[user] takes [drawn_item] out of [src]."), span_notice("You take [drawn_item] out of [src]."))
|
||||
update_appearance()
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is empty!</span>")
|
||||
to_chat(user, span_warning("[src] is empty!"))
|
||||
. = ..()
|
||||
|
||||
/obj/item/storage/belt/crusader/update_icon(updates)
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
/obj/item/storage/belt/crusader/examine(mob/user)
|
||||
. = ..()
|
||||
.+= "<span class='notice'>Ctrl-click it to easily open its inventory.</span>"
|
||||
.+= span_notice("Ctrl-click it to easily open its inventory.")
|
||||
if(contents.len == 2) //If there's no sword/rod in the sheath slot it doesnt display the alt-click instruction
|
||||
. += "<span class='notice'>Alt-click it to quickly draw the blade.</span>"
|
||||
. += span_notice("Alt-click it to quickly draw the blade.")
|
||||
return
|
||||
|
||||
/obj/item/storage/belt/crusader/ComponentInitialize()
|
||||
@@ -109,7 +109,7 @@
|
||||
icon = 'modular_skyrat/master_files/icons/obj/clothing/belts.dmi'
|
||||
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/belt.dmi'
|
||||
name = "storage pouch"
|
||||
desc = "<span class='notice'>Click on this to open your belt's inventory!</span>"
|
||||
desc = span_notice("Click on this to open your belt's inventory!")
|
||||
icon_state = "storage_pouch_icon"
|
||||
worn_icon_state = "no name" //Intentionally sets the worn icon to an error
|
||||
w_class = WEIGHT_CLASS_BULKY //Still cant put it in your bags, its technically a belt
|
||||
|
||||
@@ -80,8 +80,8 @@
|
||||
return
|
||||
else
|
||||
user.dropItemToGround(src)
|
||||
to_chat(user,"<span class='large_brass'>\"Amusing that you think you are fit to wear this.\"</span>")
|
||||
to_chat(user,"<span class='userdanger'>Your skin burns where the coat touched your skin!</span>")
|
||||
to_chat(user,span_largebrass("\"Amusing that you think you are fit to wear this.\""))
|
||||
to_chat(user,span_userdanger("Your skin burns where the coat touched your skin!"))
|
||||
user.adjustFireLoss(rand(10,16))*/
|
||||
|
||||
/obj/item/clothing/suit/hooded/wintercoat/narsie
|
||||
@@ -104,8 +104,8 @@
|
||||
return
|
||||
else
|
||||
user.dropItemToGround(src)
|
||||
to_chat(user,"<span class='cultlarge'>\"You are not fit to wear my follower's coat!\"</span>")
|
||||
to_chat(user,"<span class='userdanger'>Sharp spines jab you from within the coat!</span>")
|
||||
to_chat(user,span_cultlarge("\"You are not fit to wear my follower's coat!\""))
|
||||
to_chat(user,span_userdanger("Sharp spines jab you from within the coat!"))
|
||||
user.adjustBruteLoss(rand(10,16))*/
|
||||
|
||||
/obj/item/clothing/head/hooded/winterhood/narsie
|
||||
|
||||
@@ -35,13 +35,13 @@
|
||||
|
||||
if(isliving(user))
|
||||
if(stored_name)
|
||||
user.visible_message("<span class='notice'>[user] displays their [src.name].\nIt reads: [stored_name], [badge_string].</span>","<span class='notice'>You display your [src.name].\nIt reads: [stored_name], [badge_string].</span>")
|
||||
user.visible_message(span_notice("[user] displays their [src.name].\nIt reads: [stored_name], [badge_string]."),span_notice("You display your [src.name].\nIt reads: [stored_name], [badge_string]."))
|
||||
else
|
||||
user.visible_message("<span class='notice'>[user] displays their [src.name].\nIt reads: [badge_string].</span>","<span class='notice'>You display your [src.name]. It reads: [badge_string].</span>")
|
||||
user.visible_message(span_notice("[user] displays their [src.name].\nIt reads: [badge_string]."),span_notice("You display your [src.name]. It reads: [badge_string]."))
|
||||
|
||||
/obj/item/clothing/accessory/badge/attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(isliving(user))
|
||||
user.visible_message("<span class='danger'>[user] invades [M]'s personal space, thrusting [src] into their face insistently.</span>","<span class='danger'>You invade [M]'s personal space, thrusting [src] into their face insistently.</span>")
|
||||
user.visible_message(span_danger("[user] invades [M]'s personal space, thrusting [src] into their face insistently."),span_danger("You invade [M]'s personal space, thrusting [src] into their face insistently."))
|
||||
user.do_attack_animation(M)
|
||||
cooldown = 30
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/obj/item/clothing/accessory/badge/sheriff/attack(mob/living/carbon/human/M, mob/living/user)
|
||||
if(isliving(user))
|
||||
user.visible_message("<span class='danger'>[user] invades [M]'s personal space, the sheriff badge into their face!.</span>","<span class='danger'>You invade [M]'s personal space, thrusting the sheriff badge into their face insistently.</span>")
|
||||
user.visible_message(span_danger("[user] invades [M]'s personal space, the sheriff badge into their face!."),span_danger("You invade [M]'s personal space, thrusting the sheriff badge into their face insistently."))
|
||||
user.do_attack_animation(M)
|
||||
cooldown = 30
|
||||
|
||||
@@ -85,11 +85,11 @@
|
||||
|
||||
/obj/item/clothing/accessory/badge/holo/emag_act(var/remaining_charges, var/mob/user)
|
||||
if (emagged)
|
||||
to_chat(user, "<span class='danger'>\The [src] is already cracked.</span>")
|
||||
to_chat(user, span_danger("\The [src] is already cracked."))
|
||||
return
|
||||
else
|
||||
emagged = TRUE
|
||||
to_chat(user, "<span class='danger'>You crack the holobadge security checks.</span>")
|
||||
to_chat(user, span_danger("You crack the holobadge security checks."))
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/accessory/badge/holo/attackby(var/obj/item/object as obj, var/mob/user as mob)
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
return
|
||||
if("Maybe")
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE)
|
||||
audible_message("<span class='warning'>The [src] buzzes!</span>")
|
||||
audible_message(span_warning("The [src] buzzes!"))
|
||||
return
|
||||
|
||||
/obj/item/canvas/drawingtablet/get_paint_tool_color()
|
||||
@@ -558,11 +558,11 @@
|
||||
if(goggles)
|
||||
icon_state = "avipilotup"
|
||||
inhand_icon_state = "avipilotup"
|
||||
to_chat(user, "<span class='notice'>You put all your effort into pulling the goggles up.</span>")
|
||||
to_chat(user, span_notice("You put all your effort into pulling the goggles up."))
|
||||
else
|
||||
icon_state = "avipilotdown"
|
||||
inhand_icon_state = "avipilotdown"
|
||||
to_chat(user, "<span class='notice'>You focus all your willpower to put the goggles down on your eyes.</span>")
|
||||
to_chat(user, span_notice("You focus all your willpower to put the goggles down on your eyes."))
|
||||
goggles = !goggles
|
||||
if(user)
|
||||
user.head_update(src, forced = 1)
|
||||
@@ -714,7 +714,7 @@
|
||||
update_icon()
|
||||
ooser.update_inv_wear_mask()
|
||||
ooser.update_action_buttons_icon()
|
||||
to_chat(ooser, "<span class='notice'>You toggle the [src] to [possible_colors[c_color_index]].</span>")
|
||||
to_chat(ooser, span_notice("You toggle the [src] to [possible_colors[c_color_index]]."))
|
||||
|
||||
//Donation reward for asky / Zulie
|
||||
/obj/item/clothing/suit/hooded/cloak/zuliecloak
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
continue
|
||||
line += ORG.get_description_string(G)
|
||||
if(length(line))
|
||||
to_chat(usr, "<span class='notice'>[jointext(line, "\n")]</span>")
|
||||
to_chat(usr, span_notice("[jointext(line, "\n")]"))
|
||||
if("open_examine_panel")
|
||||
tgui.holder = src
|
||||
tgui.ui_interact(usr) //datum has a tgui component, here we open the window
|
||||
@@ -56,7 +56,7 @@
|
||||
set desc = "Allows you to toggle which underwear should show or be hidden. Underwear will obscure genitals."
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
to_chat(usr, "<span class='warning'>You can't toggle underwear visibility right now...</span>")
|
||||
to_chat(usr, span_warning("You can't toggle underwear visibility right now..."))
|
||||
return
|
||||
|
||||
var/underwear_button = underwear_visibility & UNDERWEAR_HIDE_UNDIES ? "Show underwear" : "Hide underwear"
|
||||
@@ -91,12 +91,12 @@
|
||||
set desc = "Allows you to choose to try and hide your mutant bodyparts under your clothes."
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
to_chat(usr, "<span class='warning'>You can't do this right now...</span>")
|
||||
to_chat(usr, span_warning("You can't do this right now..."))
|
||||
return
|
||||
if(!try_hide_mutant_parts && !do_after(src, 3 SECONDS,target = src))
|
||||
return
|
||||
try_hide_mutant_parts = !try_hide_mutant_parts
|
||||
to_chat(usr, "<span class='notice'>[try_hide_mutant_parts ? "You try and hide your mutant body parts under your clothes." : "You no longer try and hide your mutant body parts"]</span>")
|
||||
to_chat(usr, span_notice("[try_hide_mutant_parts ? "You try and hide your mutant body parts under your clothes." : "You no longer try and hide your mutant body parts"]"))
|
||||
update_mutant_bodyparts()
|
||||
|
||||
/mob/living/carbon/human/verb/acting()
|
||||
@@ -105,7 +105,7 @@
|
||||
set desc = "Slur, stutter or jitter for a short duration."
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
to_chat(usr, "<span class='warning'>You can't do this right now...</span>")
|
||||
to_chat(usr, span_warning("You can't do this right now..."))
|
||||
return
|
||||
|
||||
var/list/choices = list("Drunkenness", "Stuttering", "Jittering")
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@
|
||||
for(var/obj/item/bodypart/L in src.bodyparts)
|
||||
if(L.status == BODYPART_ROBOTIC)
|
||||
if(!informed)
|
||||
to_chat(src, "<span class='userdanger'>You feel a sharp pain as your robotic limbs overload.</span>")
|
||||
to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload."))
|
||||
informed = TRUE
|
||||
switch(severity)
|
||||
if(1)
|
||||
|
||||
+2
-2
@@ -43,12 +43,12 @@
|
||||
H.adjustFireLoss(1) //Still deal some damage in case a cold environment would be preventing us from the sweet release to robot heaven
|
||||
H.adjust_bodytemperature(13) //We're overheating!!
|
||||
if(prob(10))
|
||||
to_chat(H, "<span class='warning'>Alert: Critical damage taken! Cooling systems failing!</span>")
|
||||
to_chat(H, span_warning("Alert: Critical damage taken! Cooling systems failing!"))
|
||||
do_sparks(3, TRUE, H)
|
||||
|
||||
/datum/species/robotic/spec_revival(mob/living/carbon/human/H)
|
||||
playsound(H.loc, 'sound/machines/chime.ogg', 50, 1, -1)
|
||||
H.visible_message("<span class='notice'>[H]'s monitor lights up.</span>", "<span class='notice'>All systems nominal. You're back online!</span>")
|
||||
H.visible_message(span_notice("[H]'s monitor lights up."), span_notice("All systems nominal. You're back online!"))
|
||||
|
||||
/datum/species/robotic/on_species_gain(mob/living/carbon/human/C)
|
||||
. = ..()
|
||||
|
||||
+6
-6
@@ -36,11 +36,11 @@
|
||||
if(slime_restricted && !isjellyperson(H))
|
||||
return
|
||||
if(slime_restricted)
|
||||
H.visible_message("<span class='notice'>[owner] gains a look of \
|
||||
H.visible_message(span_notice("[owner] gains a look of \
|
||||
concentration while standing perfectly still.\
|
||||
Their body seems to shift and starts getting more goo-like.</span>",
|
||||
"<span class='notice'>You focus intently on altering your body while \
|
||||
standing perfectly still...</span>")
|
||||
Their body seems to shift and starts getting more goo-like."),
|
||||
span_notice("You focus intently on altering your body while \
|
||||
standing perfectly still..."))
|
||||
change_form()
|
||||
|
||||
/datum/action/innate/slime_change/proc/change_form()
|
||||
@@ -194,10 +194,10 @@
|
||||
var/obj/item/organ/genital/breasts/melons = H.getorganslot(ORGAN_SLOT_BREASTS)
|
||||
if(melons)
|
||||
melons.lactates = DNA.features["breasts_lactation"]
|
||||
to_chat(H, "<span class='notice'>Your breasts [DNA.features["breasts_lactation"] ? "will now lactate" : "will not lactate anymore"].</span>")
|
||||
to_chat(H, span_notice("Your breasts [DNA.features["breasts_lactation"] ? "will now lactate" : "will not lactate anymore"]."))
|
||||
if("Penis Taur Mode")
|
||||
DNA.features["penis_taur_mode"] = !DNA.features["penis_taur_mode"]
|
||||
to_chat(H, "<span class='notice'>Your penis [DNA.features["penis_taur_mode"] ? "will be at your taur part" : "will not be at your taur part anymore"].</span>")
|
||||
to_chat(H, span_notice("Your penis [DNA.features["penis_taur_mode"] ? "will be at your taur part" : "will not be at your taur part anymore"]."))
|
||||
if("Penis Size")
|
||||
var/new_length = input(H, "Choose your penis length:\n([PENIS_MIN_LENGTH]-[PENIS_MAX_LENGTH] in inches)", "DNA Alteration") as num|null
|
||||
if(new_length)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
set desc = "Allows you to set a temporary flavor text."
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
to_chat(usr, "<span class='warning'>You can't set your temporary flavor text now...</span>")
|
||||
to_chat(usr, span_warning("You can't set your temporary flavor text now..."))
|
||||
return
|
||||
|
||||
var/msg = input(usr, "Set the temporary flavor text in your 'examine' verb. This is for describing what people can tell by looking at your character.", "Temporary Flavor Text", temporary_flavor_text) as message|null
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
//Temporary flavor text addition:
|
||||
if(temporary_flavor_text)
|
||||
if(length_char(temporary_flavor_text) <= 40)
|
||||
. += "<span class='notice'>[temporary_flavor_text]</span>"
|
||||
. += span_notice("[temporary_flavor_text]")
|
||||
else
|
||||
. += "<span class='notice'>[copytext_char(temporary_flavor_text, 1, 37)]... <a href='?src=[REF(src)];temporary_flavor=1'>More...</a></span>"
|
||||
. += span_notice("[copytext_char(temporary_flavor_text, 1, 37)]... <a href='?src=[REF(src)];temporary_flavor=1'>More...</a>")
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@
|
||||
if(C.mob_biotypes & MOB_ROBOTIC)
|
||||
return
|
||||
if(method == INGEST)
|
||||
to_chat(C, pick("<span class = 'danger'>That was awful!</span>", "<span class = 'danger'>That was disgusting!</span>"))
|
||||
to_chat(C, pick(span_danger("That was awful!"), span_danger("That was disgusting!")))
|
||||
|
||||
/datum/reagent/consumable/ethanol/synthanol/robottears
|
||||
name = "Robot Tears"
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
/datum/reagent/consumable/ethanol/gunfire/on_mob_life(mob/living/carbon/M)
|
||||
if (prob(3))
|
||||
to_chat(M,"<span class='notice'>You feel the gunfire pop in your mouth.</span>")
|
||||
to_chat(M,span_notice("You feel the gunfire pop in your mouth."))
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/ethanol/hellfire
|
||||
|
||||
+3
-3
@@ -13,7 +13,7 @@
|
||||
|
||||
/datum/reagent/consumable/tea/pinkmilk/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(15))
|
||||
to_chat(M, "<span class = 'notice'>[pick("You cant help to smile.","You feel nostalgia all of sudden.","You remember to relax.")]</span>")
|
||||
to_chat(M, span_notice("[pick("You cant help to smile.","You feel nostalgia all of sudden.","You remember to relax.")]"))
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
/datum/reagent/consumable/tea/pinktea/on_mob_life(mob/living/carbon/M)
|
||||
if(prob(10))
|
||||
to_chat(M, "<span class = 'notice'>[pick("Diamond skies where white deer fly.","Sipping strawberry tea.","Silver raindrops drift through timeless, Neverending June.","Crystal ... pearls free, with love!","Beaming love into me.")]</span>")
|
||||
to_chat(M, span_notice("[pick("Diamond skies where white deer fly.","Sipping strawberry tea.","Silver raindrops drift through timeless, Neverending June.","Crystal ... pearls free, with love!","Beaming love into me.")]"))
|
||||
..()
|
||||
. = 1
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
if(prob(20))
|
||||
M.emote("nya")
|
||||
if(prob(20))
|
||||
to_chat(M, "<span class = 'notice'>[pick("Headpats feel nice.", "Backrubs would be nice.", "Mew")]</span>")
|
||||
to_chat(M, span_notice("[pick("Headpats feel nice.", "Backrubs would be nice.", "Mew")]"))
|
||||
..()
|
||||
|
||||
/datum/reagent/consumable/milkshake
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@
|
||||
M.adjustFireLoss(-reac_volume)
|
||||
M.adjustBruteLoss(-reac_volume)
|
||||
if(show_message)
|
||||
to_chat(M, "<span class='notice'>You feel much better...</span>")
|
||||
to_chat(M, span_notice("You feel much better..."))
|
||||
..()
|
||||
|
||||
/datum/reagent/medicine/nanite_slurry/on_mob_life(mob/living/carbon/M)
|
||||
|
||||
+1
-1
@@ -45,5 +45,5 @@
|
||||
if(prob(20))
|
||||
M.emote("nya")
|
||||
if(prob(20))
|
||||
to_chat(M, "<span class = 'notice'>[pick("Headpats feel nice.", "The feeling of a hairball...", "Backrubs would be nice.", "Mew")]</span>")
|
||||
to_chat(M, span_notice("[pick("Headpats feel nice.", "The feeling of a hairball...", "Backrubs would be nice.", "Mew")]"))
|
||||
..()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
time = 24
|
||||
|
||||
/datum/surgery_step/cut_wires/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to cut loose wires in [target]'s [parse_zone(target_zone)]...</span>",
|
||||
display_results(user, target, span_notice("You begin to cut loose wires in [target]'s [parse_zone(target_zone)]..."),
|
||||
"[user] begins to cut loose wires in [target]'s [parse_zone(target_zone)].",
|
||||
"[user] begins to cut loose wires in [target]'s [parse_zone(target_zone)].")
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/pry_off_plating/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to pry off [target]'s [parse_zone(target_zone)] plating...</span>",
|
||||
display_results(user, target, span_notice("You begin to pry off [target]'s [parse_zone(target_zone)] plating..."),
|
||||
"[user] begins to pry off [target]'s [parse_zone(target_zone)] plating.",
|
||||
"[user] begins to pry off [target]'s [parse_zone(target_zone)] plating.")
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/weld_plating/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to weld [target]'s [parse_zone(target_zone)] plating...</span>",
|
||||
display_results(user, target, span_notice("You begin to weld [target]'s [parse_zone(target_zone)] plating..."),
|
||||
"[user] begins to weld [target]'s [parse_zone(target_zone)] plating.",
|
||||
"[user] begins to weld [target]'s [parse_zone(target_zone)] plating.")
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
/datum/surgery_step/replace_wires/tool_check(mob/user, obj/item/tool)
|
||||
var/obj/item/stack/cable_coil/coil = tool
|
||||
if(coil.get_amount() < cableamount)
|
||||
to_chat(user, "<span class='warning'>Not enough cable!</span>")
|
||||
to_chat(user, span_warning("Not enough cable!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/replace_wires/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to replace [target]'s [parse_zone(target_zone)] wiring...</span>",
|
||||
display_results(user, target, span_notice("You begin to replace [target]'s [parse_zone(target_zone)] wiring..."),
|
||||
"[user] begins to replace [target]'s [parse_zone(target_zone)] wiring.",
|
||||
"[user] begins to replace [target]'s [parse_zone(target_zone)] wiring.")
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
/datum/surgery_step/add_plating/tool_check(mob/user, obj/item/tool)
|
||||
var/obj/item/stack/sheet/iron/plat = tool
|
||||
if(plat.get_amount() < ironamount)
|
||||
to_chat(user, "<span class='warning'>Not enough iron!</span>")
|
||||
to_chat(user, span_warning("Not enough iron!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
@@ -98,6 +98,6 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/add_plating/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to add plating to [target]'s [parse_zone(target_zone)]...</span>",
|
||||
display_results(user, target, span_notice("You begin to add plating to [target]'s [parse_zone(target_zone)]..."),
|
||||
"[user] begins to add plating to [target]'s [parse_zone(target_zone)].",
|
||||
"[user] begins to add plating to [target]'s [parse_zone(target_zone)].")
|
||||
|
||||
@@ -358,7 +358,7 @@
|
||||
set desc = "Allows you to toggle which genitals should show through clothes or not."
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
to_chat(usr, "<span class='warning'>You can't toggle genitals visibility right now...</span>")
|
||||
to_chat(usr, span_warning("You can't toggle genitals visibility right now..."))
|
||||
return
|
||||
|
||||
var/list/genital_list = list()
|
||||
@@ -387,7 +387,7 @@
|
||||
set desc = "Allows you to toggle how aroused your private parts are."
|
||||
|
||||
if(stat != CONSCIOUS)
|
||||
to_chat(usr, "<span class='warning'>You can't toggle arousal right now...</span>")
|
||||
to_chat(usr, span_warning("You can't toggle arousal right now..."))
|
||||
return
|
||||
|
||||
var/list/genital_list = list()
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
switch(severity)
|
||||
if(1)
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, 75, 150)
|
||||
to_chat(owner, "<span class='warning'>Alert: Posibrain heavily damaged.</span>")
|
||||
to_chat(owner, span_warning("Alert: Posibrain heavily damaged."))
|
||||
if(2)
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, 25, 150)
|
||||
to_chat(owner, "<span class='warning'>Alert: Posibrain damaged.</span>")
|
||||
to_chat(owner, span_warning("Alert: Posibrain damaged."))
|
||||
|
||||
/obj/item/organ/stomach/robot_ipc
|
||||
name = "IPC micro cell"
|
||||
@@ -43,10 +43,10 @@
|
||||
switch(severity)
|
||||
if(1)
|
||||
owner.nutrition = 50
|
||||
to_chat(owner, "<span class='warning'>Alert: Detected severe battery discharge!</span>")
|
||||
to_chat(owner, span_warning("Alert: Detected severe battery discharge!"))
|
||||
if(2)
|
||||
owner.nutrition = 250
|
||||
to_chat(owner, "<span class='warning'>Alert: Minor battery discharge!</span>")
|
||||
to_chat(owner, span_warning("Alert: Minor battery discharge!"))
|
||||
|
||||
/obj/item/organ/ears/robot_ipc
|
||||
name = "auditory sensors"
|
||||
@@ -69,12 +69,12 @@
|
||||
owner.Dizzy(30)
|
||||
owner.Knockdown(80)
|
||||
deaf = 30
|
||||
to_chat(owner, "<span class='warning'>Your robotic ears are ringing, uselessly.</span>")
|
||||
to_chat(owner, span_warning("Your robotic ears are ringing, uselessly."))
|
||||
if(2)
|
||||
owner.Jitter(15)
|
||||
owner.Dizzy(15)
|
||||
owner.Knockdown(40)
|
||||
to_chat(owner, "<span class='warning'>Your robotic ears buzz.</span>")
|
||||
to_chat(owner, span_warning("Your robotic ears buzz."))
|
||||
|
||||
/obj/item/organ/tongue/robot_ipc
|
||||
name = "robotic voicebox"
|
||||
@@ -102,7 +102,7 @@
|
||||
. = ..()
|
||||
if(!owner || . & EMP_PROTECT_SELF)
|
||||
return
|
||||
to_chat(owner, "<span class='warning'>Static obfuscates your vision!</span>")
|
||||
to_chat(owner, span_warning("Static obfuscates your vision!"))
|
||||
owner.flash_act(visual = 1)
|
||||
if(severity == EMP_HEAVY)
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_EYES, 20)
|
||||
@@ -132,7 +132,7 @@
|
||||
return
|
||||
switch(severity)
|
||||
if(1)
|
||||
to_chat(owner, "<span class='warning'>Alert: Critical cooling system failure!</span>")
|
||||
to_chat(owner, span_warning("Alert: Critical cooling system failure!"))
|
||||
owner.adjust_bodytemperature(100*TEMPERATURE_DAMAGE_COEFFICIENT)
|
||||
if(2)
|
||||
owner.adjust_bodytemperature(30*TEMPERATURE_DAMAGE_COEFFICIENT)
|
||||
@@ -174,18 +174,18 @@
|
||||
var/mob/living/carbon/human/ipc = user
|
||||
var/obj/item/organ/stomach/robot_ipc/cell = locate(/obj/item/organ/stomach/robot_ipc) in ipc.internal_organs
|
||||
if(!cell)
|
||||
to_chat(ipc, "<span class='warning'>You try to siphon energy from the [target_apc], but your power cell is gone!</span>")
|
||||
to_chat(ipc, span_warning("You try to siphon energy from the [target_apc], but your power cell is gone!"))
|
||||
return
|
||||
|
||||
if(target_apc.cell && target_apc.cell.charge > 0)
|
||||
if(ipc.nutrition >= NUTRITION_LEVEL_WELL_FED)
|
||||
to_chat(user, "<span class='warning'>You are already fully charged!</span>")
|
||||
to_chat(user, span_warning("You are already fully charged!"))
|
||||
return
|
||||
else
|
||||
powerdraw_loop(target_apc, ipc)
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='warning'>There is no charge to draw from that APC.</span>")
|
||||
to_chat(user, span_warning("There is no charge to draw from that APC."))
|
||||
|
||||
#define IPC_CHARGE_MAX 150
|
||||
#define IPC_CHARGE_MIN 50
|
||||
@@ -193,37 +193,37 @@
|
||||
#define IPC_CHARGE_DELAY_PER_100 10
|
||||
|
||||
/obj/item/apc_powercord/proc/powerdraw_loop(obj/machinery/power/apc/target_apc, mob/living/carbon/human/user)
|
||||
user.visible_message("<span class='notice'>[user] inserts a power connector into the [target_apc].</span>", "<span class='notice'>You begin to draw power from the [target_apc].</span>")
|
||||
user.visible_message(span_notice("[user] inserts a power connector into the [target_apc]."), span_notice("You begin to draw power from the [target_apc]."))
|
||||
|
||||
while(TRUE)
|
||||
var/power_needed = NUTRITION_LEVEL_WELL_FED - user.nutrition // How much charge do we need in total?
|
||||
// Do we even need anything?
|
||||
if(power_needed <= 0)
|
||||
to_chat(user, "<span class='notice'>You are fully charged.</span>")
|
||||
to_chat(user, span_notice("You are fully charged."))
|
||||
break
|
||||
// Is the APC almost empty?
|
||||
if(target_apc.cell.percent() < 10)
|
||||
to_chat(user, "<span class='warning'>[target_apc]'s emergency power is active.</span>")
|
||||
to_chat(user, span_warning("[target_apc]'s emergency power is active."))
|
||||
break
|
||||
// Calculate how much to draw this cycle
|
||||
var/power_use = clamp(power_needed, IPC_CHARGE_MIN, IPC_CHARGE_MAX)
|
||||
power_use = clamp(power_use, 0, target_apc.cell.charge)
|
||||
// Are we able to draw anything?
|
||||
if(power_use==0)
|
||||
to_chat(user, "<span class='warning'>[target_apc] lacks the power to charge you.</span>")
|
||||
to_chat(user, span_warning("[target_apc] lacks the power to charge you."))
|
||||
break
|
||||
// Calculate the delay.
|
||||
var/power_delay = (power_use/100) * IPC_CHARGE_DELAY_PER_100
|
||||
// Attempt to run a charging cycle.
|
||||
if(!do_after(user, power_delay, target = target_apc))
|
||||
to_chat(user, "<span class='warning'>You accidentally rip the powercord from [target_apc].</span>")
|
||||
to_chat(user, span_warning("You accidentally rip the powercord from [target_apc]."))
|
||||
break
|
||||
// Use the power and increase nutrition.
|
||||
target_apc.cell.use(power_use)
|
||||
user.nutrition += power_use / IPC_CHARGE_PER_NUTRITION
|
||||
do_sparks(1, FALSE, target_apc)
|
||||
|
||||
user.visible_message("<span class='notice'>[user] unplugs from the [target_apc].</span>", "<span class='notice'>You unplug from the [target_apc].</span>")
|
||||
user.visible_message(span_notice("[user] unplugs from the [target_apc]."), span_notice("You unplug from the [target_apc]."))
|
||||
|
||||
#undef IPC_CHARGE_MAX
|
||||
#undef IPC_CHARGE_MIN
|
||||
|
||||
@@ -28,13 +28,13 @@
|
||||
return
|
||||
switch(severity)
|
||||
if(1)
|
||||
to_chat(owner, "<span class='boldwarning'>You feel [pick("like your brain is being fried", "a sharp pain in your head")]!</span>")
|
||||
to_chat(owner, span_boldwarning("You feel [pick("like your brain is being fried", "a sharp pain in your head")]!"))
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20, 150)
|
||||
owner.jitteriness += 30
|
||||
owner.stuttering += 30
|
||||
owner.add_confusion(10)
|
||||
if(2)
|
||||
to_chat(owner, "<span class='warning'>You feel [pick("disoriented", "confused", "dizzy")].</span>")
|
||||
to_chat(owner, span_warning("You feel [pick("disoriented", "confused", "dizzy")]."))
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10, 150)
|
||||
owner.jitteriness += 10
|
||||
owner.stuttering += 10
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/fix_robot_brain/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to fix [target]'s posibrain...</span>",
|
||||
display_results(user, target, span_notice("You begin to fix [target]'s posibrain..."),
|
||||
"[user] begins to fix [target]'s posibrain.",
|
||||
"[user] begins to perform surgery on [target]'s posibrain.")
|
||||
|
||||
/datum/surgery_step/fix_robot_brain/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You succeed in fixing [target]'s posibrain.</span>",
|
||||
display_results(user, target, span_notice("You succeed in fixing [target]'s posibrain."),
|
||||
"[user] successfully fixes [target]'s posibrain!",
|
||||
"[user] completes the surgery on [target]'s posibrain.")
|
||||
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed))
|
||||
@@ -40,11 +40,11 @@
|
||||
|
||||
/datum/surgery_step/fix_robot_brain/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
if(target.getorganslot(ORGAN_SLOT_BRAIN))
|
||||
display_results(user, target, "<span class='warning'>You screw up, causing more damage!</span>",
|
||||
"<span class='warning'>[user] screws up, causing damage to the circuits!</span>",
|
||||
display_results(user, target, span_warning("You screw up, causing more damage!"),
|
||||
span_warning("[user] screws up, causing damage to the circuits!"),
|
||||
"[user] completes the surgery on [target]'s posibrain.")
|
||||
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60)
|
||||
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY)
|
||||
else
|
||||
user.visible_message("<span class='warning'>[user] suddenly notices that the posibrain [user.p_they()] [user.p_were()] working on is not there anymore.", "<span class='warning'>You suddenly notice that the posibrain you were working on is not there anymore.</span>")
|
||||
user.visible_message(span_warning("[user] suddenly notices that the posibrain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the posibrain you were working on is not there anymore."))
|
||||
return FALSE
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
time = 120
|
||||
|
||||
/datum/surgery_step/pry_off_plating/fullbody/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to pry off [target]'s plating...</span>",
|
||||
display_results(user, target, span_notice("You begin to pry off [target]'s plating..."),
|
||||
"[user] begins to pry off [target]'s plating.",
|
||||
"[user] begins to pry off [target]'s plating.")
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
time = 120
|
||||
|
||||
/datum/surgery_step/cut_wires/fullbody/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to cut [target]'s loose wires...</span>",
|
||||
display_results(user, target, span_notice("You begin to cut [target]'s loose wires..."),
|
||||
"[user] begins to cut [target]'s loose wires.",
|
||||
"[user] begins to cut [target]'s loose wires.")
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
time = 120
|
||||
|
||||
/datum/surgery_step/weld_plating/fullbody/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to weld [target]'s plating...</span>",
|
||||
display_results(user, target, span_notice("You begin to weld [target]'s plating..."),
|
||||
"[user] begins to weld [target]'s plating.",
|
||||
"[user] begins to weld [target]'s plating.")
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
cableamount = 15
|
||||
|
||||
/datum/surgery_step/replace_wires/fullbody/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to replace [target]'s wiring...</span>",
|
||||
display_results(user, target, span_notice("You begin to replace [target]'s wiring..."),
|
||||
"[user] begins to replace [target]'s wiring.",
|
||||
"[user] begins to replace [target]'s wiring.")
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
ironamount = 15
|
||||
|
||||
/datum/surgery_step/add_plating/fullbody/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to add plating to [target]...</span>",
|
||||
display_results(user, target, span_notice("You begin to add plating to [target]..."),
|
||||
"[user] begins to add plating to [target].",
|
||||
"[user] begins to add plating to [target].")
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
time = 120
|
||||
|
||||
/datum/surgery_step/finalize_chassis_restoration/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to finalize [target]'s chassis...</span>",
|
||||
display_results(user, target, span_notice("You begin to finalize [target]'s chassis..."),
|
||||
"[user] begins to finalize [target]'s chassis.",
|
||||
"[user] begins to finalize [target]'s chassis.")
|
||||
|
||||
|
||||
@@ -53,9 +53,9 @@
|
||||
if(istype(surgery,/datum/surgery/robot_healing))
|
||||
var/datum/surgery/robot_healing/the_surgery = surgery
|
||||
if(!the_surgery.antispam)
|
||||
display_results(user, target, "<span class='notice'>You attempt to fix some of [target]'s [woundtype].</span>",
|
||||
"<span class='notice'>[user] attempts to fix some of [target]'s [woundtype].</span>",
|
||||
"<span class='notice'>[user] attempts to fix some of [target]'s [woundtype].</span>")
|
||||
display_results(user, target, span_notice("You attempt to fix some of [target]'s [woundtype]."),
|
||||
span_notice("[user] attempts to fix some of [target]'s [woundtype]."),
|
||||
span_notice("[user] attempts to fix some of [target]'s [woundtype]."))
|
||||
|
||||
/datum/surgery_step/robot_heal/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE)
|
||||
if(..())
|
||||
@@ -88,7 +88,7 @@
|
||||
umsg += " as best as you can while they have clothing on"
|
||||
tmsg += " as best as they can while [target] has clothing on"
|
||||
target.heal_bodypart_damage(urhealedamt_brute,urhealedamt_burn, 0, BODYPART_ROBOTIC)
|
||||
display_results(user, target, "<span class='notice'>[umsg].</span>",
|
||||
display_results(user, target, span_notice("[umsg]."),
|
||||
"[tmsg].",
|
||||
"[tmsg].")
|
||||
if(istype(surgery, /datum/surgery/robot_healing))
|
||||
@@ -97,9 +97,9 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/robot_heal/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='warning'>You screwed up!</span>",
|
||||
"<span class='warning'>[user] screws up!</span>",
|
||||
"<span class='notice'>[user] fixes some of [target]'s damage.</span>", TRUE)
|
||||
display_results(user, target, span_warning("You screwed up!"),
|
||||
span_warning("[user] screws up!"),
|
||||
span_notice("[user] fixes some of [target]'s damage."), TRUE)
|
||||
var/urdamageamt_brute = 0
|
||||
if(healsbrute)
|
||||
urdamageamt_brute = brutehealing * 0.8
|
||||
|
||||
@@ -18,17 +18,17 @@
|
||||
/datum/surgery_step/restore_paintjob/tool_check(mob/user, obj/item/tool)
|
||||
var/obj/item/toy/crayon/spraycan/sc = tool
|
||||
if(sc.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 FALSE
|
||||
if(sc.charges < 10)
|
||||
to_chat(user, "<span class='warning'>Not enough paint in the can!</span>")
|
||||
to_chat(user, span_warning("Not enough paint in the can!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/restore_paintjob/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
var/obj/item/toy/crayon/spraycan/sc = tool
|
||||
sc.use_charges(user, 10, FALSE)
|
||||
sc.audible_message("<span class='notice'>You hear spraying.</span>")
|
||||
sc.audible_message(span_notice("You hear spraying."))
|
||||
playsound(target.loc, 'sound/effects/spray.ogg', 5, 1, 5)
|
||||
if(target?.dna?.species)
|
||||
for(var/obj/item/bodypart/O in target.bodyparts)
|
||||
@@ -44,6 +44,6 @@
|
||||
return TRUE
|
||||
|
||||
/datum/surgery_step/restore_paintjob/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
|
||||
display_results(user, target, "<span class='notice'>You begin to spray paint on [target]...</span>",
|
||||
display_results(user, target, span_notice("You begin to spray paint on [target]..."),
|
||||
"[user] begins to spray paint on [target]'s [parse_zone(target_zone)].",
|
||||
"[user] begins to spray paint on [target]'s [parse_zone(target_zone)].")
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, TRUE)
|
||||
if(tool_behaviour == TOOL_CROWBAR)
|
||||
tool_behaviour = TOOL_WIRECUTTER
|
||||
to_chat(user, "<span class='notice'>You attach the cutting jaws to [src].</span>")
|
||||
to_chat(user, span_notice("You attach the cutting jaws to [src]."))
|
||||
icon_state = "jaws_cutter_cyborg"
|
||||
usesound = 'sound/items/jaws_cut.ogg'
|
||||
else
|
||||
tool_behaviour = TOOL_CROWBAR
|
||||
to_chat(user, "<span class='notice'>You attach the prying jaws to [src].</span>")
|
||||
to_chat(user, span_notice("You attach the prying jaws to [src]."))
|
||||
icon_state = "jaws_pry_cyborg"
|
||||
usesound = 'sound/items/jaws_pry.ogg'
|
||||
|
||||
@@ -42,9 +42,9 @@
|
||||
playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE)
|
||||
if(tool_behaviour == TOOL_SCREWDRIVER)
|
||||
tool_behaviour = TOOL_WRENCH
|
||||
to_chat(user, "<span class='notice'>You attach the bolt bit to [src].</span>")
|
||||
to_chat(user, span_notice("You attach the bolt bit to [src]."))
|
||||
icon_state = "drill_bolt_cyborg"
|
||||
else
|
||||
tool_behaviour = TOOL_SCREWDRIVER
|
||||
to_chat(user, "<span class='notice'>You attach the screw bit to [src].</span>")
|
||||
to_chat(user, span_notice("You attach the screw bit to [src]."))
|
||||
icon_state = "drill_screw_cyborg"
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
if(.)
|
||||
|
||||
if(borg.hasShrunk)
|
||||
to_chat(usr, "<span class='warning'>This unit already has a shrink module installed!</span>")
|
||||
to_chat(usr, span_warning("This unit already has a shrink module installed!"))
|
||||
return FALSE
|
||||
if(R_TRAIT_SMALL in borg.model.model_features)
|
||||
to_chat(usr, "<span class='warning'>This unit's chassis cannot be shrunk any further.</span>")
|
||||
to_chat(usr, span_warning("This unit's chassis cannot be shrunk any further."))
|
||||
return FALSE
|
||||
|
||||
borg.hasShrunk = TRUE
|
||||
|
||||
@@ -27,10 +27,10 @@
|
||||
powered = !powered
|
||||
playsound(src, 'sound/effects/sparks4.ogg', 100, TRUE)
|
||||
if(powered)
|
||||
to_chat(user, "<span class='notice'>You turn [src] on.</span>")
|
||||
to_chat(user, span_notice("You turn [src] on."))
|
||||
switched_on()
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You turn [src] off.</span>")
|
||||
to_chat(user, span_notice("You turn [src] off."))
|
||||
switched_off()
|
||||
|
||||
/obj/item/weldingtool/electric/switched_on(mob/user)
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
var/mob/living/silicon/robot/R = user
|
||||
|
||||
if(R.cell?.charge < 200)
|
||||
to_chat(R, "<span class='warning'>Scream module deactivated. Please recharge.</span>")
|
||||
to_chat(R, span_warning("Scream module deactivated. Please recharge."))
|
||||
return FALSE
|
||||
R.cell.use(200)
|
||||
return ..()
|
||||
|
||||
@@ -163,7 +163,7 @@
|
||||
H.ckey = user.ckey
|
||||
|
||||
//Greet!
|
||||
to_chat(H, "<span class='big'>You are the [job_name]</span>")
|
||||
to_chat(H, "<span class='bold'>[flavor_text]</span>")
|
||||
to_chat(H, span_big("You are the [job_name]"))
|
||||
to_chat(H, span_bold("[flavor_text]"))
|
||||
if(disappear_after_spawn)
|
||||
qdel(src)
|
||||
|
||||
@@ -189,10 +189,10 @@
|
||||
return
|
||||
my_helmet.nightvision = !my_helmet.nightvision
|
||||
if(my_helmet.nightvision)
|
||||
to_chat(owner, "<span class='notice'>You flip the NV goggles down.")
|
||||
to_chat(owner, span_notice("You flip the NV goggles down."))
|
||||
my_helmet.enable_nv()
|
||||
else
|
||||
to_chat(owner, "<span class='notice'>You flip the NV goggles up.")
|
||||
to_chat(owner, span_notice("You flip the NV goggles up."))
|
||||
my_helmet.disable_nv()
|
||||
my_helmet.update_appearance()
|
||||
|
||||
@@ -228,10 +228,10 @@
|
||||
|
||||
nightvision = !nightvision
|
||||
if(nightvision)
|
||||
to_chat(user, "<span class='notice'>You flip the NV goggles down.")
|
||||
to_chat(user, span_notice("You flip the NV goggles down."))
|
||||
enable_nv()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You flip the NV goggles up.")
|
||||
to_chat(user, span_notice("You flip the NV goggles up."))
|
||||
disable_nv()
|
||||
update_appearance()
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
|
||||
/datum/job/expeditionary_trooper/after_spawn(mob/living/carbon/human/H, mob/M)
|
||||
. = ..()
|
||||
to_chat(M, "<span class='redtext'>As a Vanguard Operative you are not part of security! You must not perform security duties unless absolutely nessecary. \
|
||||
Do not valid hunt using your equipment. Use common sense. Failure to follow these simple rules will result in a job ban.")
|
||||
to_chat(M, span_redtext("As a Vanguard Operative you are not part of security! You must not perform security duties unless absolutely nessecary. \
|
||||
Do not valid hunt using your equipment. Use common sense. Failure to follow these simple rules will result in a job ban."))
|
||||
|
||||
/datum/outfit/job/expeditionary_trooper
|
||||
name = "Vanguard Operative"
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
if(!isliving(user) || !user.CanReach(parent) || user.incapacitated())
|
||||
return FALSE
|
||||
if(locked)
|
||||
to_chat(user, "<span class='warning'>[parent] seems to be locked!</span>")
|
||||
to_chat(user, span_warning("[parent] seems to be locked!"))
|
||||
return
|
||||
|
||||
var/obj/item/knife/combat/knife_to_draw = locate() in real_location()
|
||||
@@ -125,7 +125,7 @@
|
||||
remove_from_storage(knife_to_draw, get_turf(user))
|
||||
playsound(parent, 'modular_skyrat/modules/sec_haul/sound/holsterout.ogg', 50, TRUE, -5)
|
||||
INVOKE_ASYNC(user, /mob/.proc/put_in_hands, knife_to_draw)
|
||||
user.visible_message("<span class='warning'>[user] draws [knife_to_draw] from [parent]!</span>", "<span class='notice'>You draw [knife_to_draw] from [parent].</span>")
|
||||
user.visible_message(span_warning("[user] draws [knife_to_draw] from [parent]!"), span_notice("You draw [knife_to_draw] from [parent]."))
|
||||
|
||||
/obj/item/storage/bag/ammo/marksman/PopulateContents() //can kill most basic enemies with 5 knives, though marksmen shouldn't be soloing enemies anyways
|
||||
new /obj/item/knife/combat/marksman(src)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
if(extra_access)
|
||||
for(var/acs in extra_access)
|
||||
I.access |= acs
|
||||
to_chat(user, "<span class='notice'>You upgrade [I] with extra access.</span>")
|
||||
to_chat(user, span_notice("You upgrade [I] with extra access."))
|
||||
qdel(src)
|
||||
|
||||
/obj/item/card/faction_access/guest
|
||||
|
||||
@@ -46,19 +46,19 @@
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/ripleyupgradef/can_attach(obj/vehicle/sealed/mecha/working/ripley/M)
|
||||
if(M.type != /obj/vehicle/sealed/mecha/working/ripley)
|
||||
to_chat(loc, "<span class='warning'>This conversion kit can only be applied to APLU MK-I models.</span>")
|
||||
to_chat(loc, span_warning("This conversion kit can only be applied to APLU MK-I models."))
|
||||
return FALSE
|
||||
if(LAZYLEN(M.cargo))
|
||||
to_chat(loc, "<span class='warning'>[M]'s cargo hold must be empty before this conversion kit can be applied.</span>")
|
||||
to_chat(loc, span_warning("[M]'s cargo hold must be empty before this conversion kit can be applied."))
|
||||
return FALSE
|
||||
if(!(M.mecha_flags & ADDING_MAINT_ACCESS_POSSIBLE)) //non-removable upgrade, so lets make sure the pilot or owner has their say.
|
||||
to_chat(loc, "<span class='warning'>[M] must have maintenance protocols active in order to allow this conversion kit.</span>")
|
||||
to_chat(loc, span_warning("[M] must have maintenance protocols active in order to allow this conversion kit."))
|
||||
return FALSE
|
||||
if(LAZYLEN(M.occupants)) //We're actualy making a new mech and swapping things over, it might get weird if players are involved
|
||||
to_chat(loc, "<span class='warning'>[M] must be unoccupied before this conversion kit can be applied.</span>")
|
||||
to_chat(loc, span_warning("[M] must be unoccupied before this conversion kit can be applied."))
|
||||
return FALSE
|
||||
if(!M.cell) //Turns out things break if the cell is missing
|
||||
to_chat(loc, "<span class='warning'>The conversion process requires a cell installed.</span>")
|
||||
to_chat(loc, span_warning("The conversion process requires a cell installed."))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
@@ -107,8 +107,8 @@ GLOBAL_LIST_INIT(fishing_weights, list(
|
||||
skill_name = "Fishing Master"
|
||||
skill_description = "Master the ability to fish."
|
||||
skill_icon = "certificate"
|
||||
activate_message = "<span class='notice'>The fish and junk become far more visible beneath the surface.</span>"
|
||||
deactivate_message = "<span class='notice'>The surface begins to cloud up, making it hard to see beneath.</span>"
|
||||
activate_message = span_notice("The fish and junk become far more visible beneath the surface.")
|
||||
deactivate_message = span_notice("The surface begins to cloud up, making it hard to see beneath.")
|
||||
|
||||
/obj/item/fishing_rod
|
||||
name = "fishing rod"
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
/area/centcom/holding/cafebuild, /area/centcom/holding/cafevox, /area/centcom/holding/cafedorms, /area/centcom/holding/cafepark, /area/centcom/holding/cafeplumbing))
|
||||
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
|
||||
ADD_TRAIT(new_spawn, TRAIT_FREE_GHOST, GHOSTROLE_TRAIT)
|
||||
to_chat(new_spawn,"<span class='warning'><b>Ghosting is free!</b></span>")
|
||||
to_chat(new_spawn,span_warning("<b>Ghosting is free!</b>"))
|
||||
var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
|
||||
D.Grant(new_spawn)
|
||||
|
||||
@@ -62,8 +62,8 @@
|
||||
/area/centcom/holding/cafebuild, /area/centcom/holding/cafevox, /area/centcom/holding/cafedorms, /area/centcom/holding/cafepark, /area/centcom/holding/cafeplumbing))
|
||||
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
|
||||
ADD_TRAIT(new_spawn, TRAIT_FREE_GHOST, GHOSTROLE_TRAIT)
|
||||
to_chat(new_spawn,"<span class='warning'><b>Ghosting is free!</b></span>")
|
||||
//to_chat(new_spawn,"<span class='narsiesmall'>Be warned: People who opt out of EORG will come here. Do not make the area uninhabitable and do NOT commit EORG. This is a safe-zone. If you attack people in EORG, you will be banned for griefing.</span>")
|
||||
to_chat(new_spawn,span_warning("<b>Ghosting is free!</b>"))
|
||||
//to_chat(new_spawn,span_narsiesmall("Be warned: People who opt out of EORG will come here. Do not make the area uninhabitable and do NOT commit EORG. This is a safe-zone. If you attack people in EORG, you will be banned for griefing."))
|
||||
var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
|
||||
new_spawn.put_in_hand(new /obj/item/storage/box/syndie_kit/chameleon/ghostcafe, LEFT_HANDS, forced = TRUE)
|
||||
new_spawn.equip_outfit_and_loadout(/datum/outfit/ghostcafe, new_spawn.client.prefs, FALSE, null)
|
||||
@@ -87,10 +87,10 @@
|
||||
var/mob/M = target
|
||||
if(HAS_TRAIT_FROM(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT))
|
||||
REMOVE_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)
|
||||
to_chat(M,"<span class='notice'>You're no longer hearing deadchat.</span>")
|
||||
to_chat(M,span_notice("You're no longer hearing deadchat."))
|
||||
else
|
||||
ADD_TRAIT(M,TRAIT_SIXTHSENSE,GHOSTROLE_TRAIT)
|
||||
to_chat(M,"<span class='notice'>You're once again hearing deadchat.</span>")
|
||||
to_chat(M,span_notice("You're once again hearing deadchat."))
|
||||
|
||||
/obj/item/storage/box/syndie_kit/chameleon/ghostcafe
|
||||
name = "cafe costuming kit"
|
||||
|
||||
@@ -30,7 +30,7 @@ GLOBAL_LIST_INIT(emergency_responders, list())
|
||||
..()
|
||||
|
||||
/datum/antagonist/ert/request_911/greet()
|
||||
var/missiondesc = "<span class='warningplain'><B><font size=6 color=red>You are the [name].</font></B>"
|
||||
var/missiondesc = span_warningplain("<B><font size=6 color=red>You are the [name].</font></B>")
|
||||
missiondesc += "<BR><B><font size=5 color=red>You are NOT a Nanotrasen Employee. You work for the Sol Federation as a [role].</font></B>"
|
||||
missiondesc += "<BR>You are responding to emergency calls from the station for immediate SolFed [department] assistance!\n"
|
||||
missiondesc += "<BR><B>Your Mission</B>:"
|
||||
|
||||
@@ -106,12 +106,12 @@
|
||||
hud.maptext_x = -8
|
||||
if(!pew.can_shoot())
|
||||
hud.icon_state = "eammo_counter_empty"
|
||||
hud.maptext = "<span class='maptext'><div align='center' valign='middle' style='position:relative'><font color='[COLOR_RED]'><b>[batt_percent]%</b></font><br><font color='[COLOR_CYAN]'>[shot_cost_percent]%</font></div></span>"
|
||||
hud.maptext = span_maptext("<div align='center' valign='middle' style='position:relative'><font color='[COLOR_RED]'><b>[batt_percent]%</b></font><br><font color='[COLOR_CYAN]'>[shot_cost_percent]%</font></div>")
|
||||
return
|
||||
if(batt_percent <= 25)
|
||||
hud.maptext = "<span class='maptext'><div align='center' valign='middle' style='position:relative'><font color='[COLOR_YELLOW]'><b>[batt_percent]%</b></font><br><font color='[COLOR_CYAN]'>[shot_cost_percent]%</font></div></span>"
|
||||
hud.maptext = span_maptext("<div align='center' valign='middle' style='position:relative'><font color='[COLOR_YELLOW]'><b>[batt_percent]%</b></font><br><font color='[COLOR_CYAN]'>[shot_cost_percent]%</font></div>")
|
||||
return
|
||||
hud.maptext = "<span class='maptext'><div align='center' valign='middle' style='position:relative'><font color='[COLOR_VIBRANT_LIME]'><b>[batt_percent]%</b></font><br><font color='[COLOR_CYAN]'>[shot_cost_percent]%</font></div></span>"
|
||||
hud.maptext = span_maptext("<div align='center' valign='middle' style='position:relative'><font color='[COLOR_VIBRANT_LIME]'><b>[batt_percent]%</b></font><br><font color='[COLOR_CYAN]'>[shot_cost_percent]%</font></div>")
|
||||
|
||||
else if(istype(parent, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/welder = parent
|
||||
|
||||
@@ -41,14 +41,14 @@
|
||||
/mob/living/proc/CanGunpointAt(mob/living/L, notice = FALSE)
|
||||
if(resting)
|
||||
if(notice)
|
||||
to_chat(src, "<span class='warning'>You need to be standing to get a good aim!</span>")
|
||||
to_chat(src, span_warning("You need to be standing to get a good aim!"))
|
||||
return FALSE
|
||||
if(!(L in viewers(8, src)))
|
||||
if(notice)
|
||||
to_chat(src, "<span class='warning'>Your target is out of your view!</span>")
|
||||
to_chat(src, span_warning("Your target is out of your view!"))
|
||||
return FALSE
|
||||
if(L.alpha < 70)
|
||||
if(notice)
|
||||
to_chat(src, "<span class='warning'>You can't quite make out your target!</span>")
|
||||
to_chat(src, span_warning("You can't quite make out your target!"))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user