mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2026-08-26 06:07:03 +01:00
Merge branch 'master' into pr/600
This commit is contained in:
@@ -111,18 +111,18 @@
|
||||
if(isturf(user.loc))
|
||||
toggle(user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't use [src] while inside something!</span>")
|
||||
to_chat(user, span_warning("You can't use [src] while inside something!"))
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need at least [activationCost] charge in your cell to use [src]!</span>")
|
||||
to_chat(user, span_warning("You need at least [activationCost] charge in your cell to use [src]!"))
|
||||
|
||||
/obj/item/borg_shapeshifter/proc/toggle(mob/living/silicon/robot/user)
|
||||
if(active)
|
||||
playsound(src, 'sound/effects/pop.ogg', 100, TRUE, -6)
|
||||
to_chat(user, "<span class='notice'>You deactivate \the [src].</span>")
|
||||
to_chat(user, span_notice("You deactivate \the [src]."))
|
||||
deactivate(user)
|
||||
else
|
||||
if(animation_playing)
|
||||
to_chat(user, "<span class='notice'>\the [src] is recharging.</span>")
|
||||
to_chat(user, span_notice("\the [src] is recharging."))
|
||||
return
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
var/static/list/module_icons = sortList(list(
|
||||
@@ -574,7 +574,7 @@
|
||||
return FALSE
|
||||
|
||||
animation_playing = TRUE
|
||||
to_chat(user, "<span class='notice'>You activate \the [src].</span>")
|
||||
to_chat(user, span_notice("You activate \the [src]."))
|
||||
playsound(src, 'sound/effects/seedling_chargeup.ogg', 100, TRUE, -6)
|
||||
var/start = user.filters.len
|
||||
var/X,Y,rsq,i,f
|
||||
@@ -591,10 +591,10 @@
|
||||
animate(offset=f:offset-1, time=rand()*20+10)
|
||||
if (do_after(user, 50, target=user) && user.cell.use(activationCost))
|
||||
playsound(src, 'sound/effects/bamf.ogg', 100, TRUE, -6)
|
||||
to_chat(user, "<span class='notice'>You are now disguised as the Nanotrasen cyborg \"[friendlyName]\".</span>")
|
||||
to_chat(user, span_notice("You are now disguised as the Nanotrasen cyborg \"[friendlyName]\"."))
|
||||
activate(user, module_selection)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The chameleon field fizzles.</span>")
|
||||
to_chat(user, span_warning("The chameleon field fizzles."))
|
||||
do_sparks(3, FALSE, user)
|
||||
for(i=1, i<=min(7, user.filters.len), ++i) // removing filters that are animating does nothing, we gotta stop the animations first
|
||||
f = user.filters[start+i]
|
||||
@@ -656,7 +656,7 @@
|
||||
|
||||
/obj/item/borg_shapeshifter/proc/disrupt(mob/living/silicon/robot/user)
|
||||
if(active)
|
||||
to_chat(user, "<span class='danger'>Your chameleon field deactivates.</span>")
|
||||
to_chat(user, span_danger("Your chameleon field deactivates."))
|
||||
deactivate(user)
|
||||
|
||||
/obj/item/borg_shapeshifter/stable
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
var/mob/living/user = loc
|
||||
if(F.gun)
|
||||
if(isliving(user) && F.captured)
|
||||
to_chat(user, "<span class='alert'><b>FAIL: <i>[F.captured]</i> already has an existing connection.</b></span>")
|
||||
to_chat(user, span_alert("<b>FAIL: <i>[F.captured]</i> already has an existing connection.</b>"))
|
||||
field_disconnect(F)
|
||||
else
|
||||
startpos = get_turf(src)
|
||||
@@ -94,7 +94,7 @@
|
||||
F.gun = src
|
||||
if(isliving(user) && F.captured)
|
||||
playsound(user,'sound/effects/clock_tick.ogg' , 50, 1)
|
||||
to_chat(user, "<span class='notice'>Connection established with target: <b>[F.captured]</b></span>")
|
||||
to_chat(user, span_notice("Connection established with target: <b>[F.captured]</b>"))
|
||||
|
||||
|
||||
/obj/item/gun/energy/chrono_gun/proc/field_disconnect(obj/structure/chrono_field/F)
|
||||
@@ -104,7 +104,7 @@
|
||||
F.gun = null
|
||||
if(isliving(user) && F.captured)
|
||||
F.captured.adjustOrganLoss(ORGAN_SLOT_BRAIN, 199, 199) //not so fast!
|
||||
to_chat(user, "<span class='alert'>Disconnected from target: <b>[F.captured]</b></span>")
|
||||
to_chat(user, span_alert("Disconnected from target: <b>[F.captured]</b>"))
|
||||
field = null
|
||||
startpos = null
|
||||
|
||||
@@ -215,9 +215,9 @@
|
||||
AM.forceMove(drop_location())
|
||||
qdel(src)
|
||||
else if(tickstokill <= 0)
|
||||
to_chat(captured, "<span class='boldnotice'>As the last essence of your being is erased from time, you are taken back to your most enjoyable memory. You feel happy...</span>")
|
||||
to_chat(captured, span_boldnotice("As the last essence of your being is erased from time, you are taken back to your most enjoyable memory. You feel happy..."))
|
||||
playsound(captured,'sound/effects/lingreadapt.ogg' , 50, 1)
|
||||
captured.visible_message("<span class='danger'>[captured] dematerialises out of the timestream!</span>")
|
||||
captured.visible_message(span_danger("[captured] dematerialises out of the timestream!"))
|
||||
var/mob/dead/observer/ghost = captured.ghostize(1)
|
||||
if(captured.mind)
|
||||
if(ghost)
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
// me fail arithmetic, me brian hurt
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
|
||||
if(difficulty == "Easy") // me fail arithmetic, me brian hurt //nice one, brain damage for it, very cool.
|
||||
to_chat(user,"<span class='warning'>You feel sad after failing such an easy question...</span>")
|
||||
to_chat(user,span_warning("You feel sad after failing such an easy question..."))
|
||||
SEND_SIGNAL(LM, COMSIG_ADD_MOOD_EVENT, "failed_easy", /datum/mood_event/failed_easy)
|
||||
return
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/obj/item/razor/proc/new_hairstyle(mob/living/carbon/human/H, mob/user, mirror)
|
||||
var/location = user.zone_selected
|
||||
if (H == user && !mirror)
|
||||
to_chat(user, "<span class='warning'>You need a mirror to properly style your own hair!</span>")
|
||||
to_chat(user, span_warning("You need a mirror to properly style your own hair!"))
|
||||
balloon_alert(user, "need mirror!")
|
||||
return
|
||||
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
@@ -13,12 +13,12 @@
|
||||
if(!new_style)
|
||||
return
|
||||
if(!get_location_accessible(H, location))
|
||||
to_chat(user, "<span class='warning'>The headgear is in the way!</span>")
|
||||
to_chat(user, span_warning("The headgear is in the way!"))
|
||||
balloon_alert(user, "headgear in the way!")
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] tries to change [H]'s hairstyle using [src].</span>", "<span class='notice'>You try to change [H]'s hairstyle using [src].</span>")
|
||||
user.visible_message(span_notice("[user] tries to change [H]'s hairstyle using [src]."), span_notice("You try to change [H]'s hairstyle using [src]."))
|
||||
if(new_style && do_after(user, 60, target = H))
|
||||
user.visible_message("<span class='notice'>[user] successfully changes [H]'s hairstyle using [src].</span>", "<span class='notice'>You successfully change [H]'s hairstyle using [src].</span>")
|
||||
user.visible_message(span_notice("[user] successfully changes [H]'s hairstyle using [src]."), span_notice("You successfully change [H]'s hairstyle using [src]."))
|
||||
H.balloon_alert(user, "changed hairstyle")
|
||||
H.hair_style = new_style
|
||||
H.update_hair()
|
||||
@@ -26,7 +26,7 @@
|
||||
/obj/item/razor/proc/new_facial_hairstyle(mob/living/carbon/human/H, mob/user, var/mirror)
|
||||
var/location = user.zone_selected
|
||||
if(H == user && !mirror)
|
||||
to_chat(user, "<span class='warning'>You need a mirror to properly style your own facial hair!</span>")
|
||||
to_chat(user, span_warning("You need a mirror to properly style your own facial hair!"))
|
||||
balloon_alert(user, "need mirror!")
|
||||
return
|
||||
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
@@ -35,12 +35,12 @@
|
||||
if(!new_style)
|
||||
return
|
||||
if(!get_location_accessible(H, location))
|
||||
to_chat(user, "<span class='warning'>The mask is in the way!</span>")
|
||||
to_chat(user, span_warning("The mask is in the way!"))
|
||||
balloon_alert(user, "mask in the way!")
|
||||
return
|
||||
user.visible_message("<span class='notice'>[user] tries to change [H]'s facial hair style using [src].</span>", "<span class='notice'>You try to change [H]'s facial hair style using [src].</span>")
|
||||
user.visible_message(span_notice("[user] tries to change [H]'s facial hair style using [src]."), span_notice("You try to change [H]'s facial hair style using [src]."))
|
||||
if(new_style && do_after(user, 60, target = H))
|
||||
user.visible_message("<span class='notice'>[user] successfully changes [H]'s facial hair style using [src].</span>", "<span class='notice'>You successfully change [H]'s facial hair style using [src].</span>")
|
||||
user.visible_message(span_notice("[user] successfully changes [H]'s facial hair style using [src]."), span_notice("You successfully change [H]'s facial hair style using [src]."))
|
||||
H.balloon_alert(user, "changed facial hair style")
|
||||
H.facial_hair_style = new_style
|
||||
H.update_hair()
|
||||
@@ -64,7 +64,7 @@
|
||||
var/extended_icon_state = "straightrazor_open"
|
||||
|
||||
/obj/item/razor/straightrazor/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is slitting [user.p_their()] own throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
user.visible_message(span_suicide("[user] is slitting [user.p_their()] own throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/razor/straightrazor/attack_self(mob/user)
|
||||
@@ -102,6 +102,6 @@
|
||||
|
||||
/obj/item/handmirror/attack_self(mob/user)
|
||||
ADD_TRAIT(user, TRAIT_SELF_AWARE, "mirror_trait")
|
||||
to_chat(user, "<span class='notice'>You look into the mirror</span>")
|
||||
to_chat(user, span_notice("You look into the mirror"))
|
||||
sleep(15 SECONDS)
|
||||
REMOVE_TRAIT(user, TRAIT_SELF_AWARE, "mirror_trait")
|
||||
|
||||
@@ -25,20 +25,20 @@
|
||||
if(!hound || !istype(target) || !proximity || target.anchored)
|
||||
return
|
||||
if(length(contents) > (max_item_count - 1))
|
||||
to_chat(user,"<span class='warning'>Your [src] is full. Eject or process contents to continue.</span>")
|
||||
to_chat(user,span_warning("Your [src] is full. Eject or process contents to continue."))
|
||||
return
|
||||
if(isitem(target))
|
||||
var/obj/item/I = target
|
||||
if(CheckAccepted(I))
|
||||
to_chat(user,"<span class='warning'>[I] registers an error code to your [src]</span>")
|
||||
to_chat(user,span_warning("[I] registers an error code to your [src]"))
|
||||
return
|
||||
if(I.w_class > WEIGHT_CLASS_NORMAL)
|
||||
to_chat(user,"<span class='warning'>[I] is too large to fit into your [src]</span>")
|
||||
to_chat(user,span_warning("[I] is too large to fit into your [src]"))
|
||||
return
|
||||
user.visible_message("<span class='warning'>[hound.name] is ingesting [I] into their [src.name].</span>", "<span class='notice'>You start ingesting [target] into your [src.name]...</span>")
|
||||
user.visible_message(span_warning("[hound.name] is ingesting [I] into their [src.name]."), span_notice("You start ingesting [target] into your [src.name]..."))
|
||||
if(do_after(user, 15, target = target) && length(contents) < max_item_count)
|
||||
I.forceMove(src)
|
||||
I.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [I] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [I] slips inside.</span>")
|
||||
I.visible_message(span_warning("[hound.name]'s garbage processor groans lightly as [I] slips inside."), span_notice("Your garbage compactor groans lightly as [I] slips inside."))
|
||||
playsound(hound, 'sound/machines/disposalflush.ogg', 50, 1)
|
||||
if(length(contents) > 11) //grow that tum after a certain junk amount
|
||||
hound.sleeper_r = 1
|
||||
@@ -51,18 +51,18 @@
|
||||
if(iscarbon(target) || issilicon(target))
|
||||
var/mob/living/trashman = target
|
||||
if(!CHECK_BITFIELD(trashman.vore_flags,DEVOURABLE))
|
||||
to_chat(user, "<span class='warning'>[target] registers an error code to your [src]</span>")
|
||||
to_chat(user, span_warning("[target] registers an error code to your [src]"))
|
||||
return
|
||||
if(patient)
|
||||
to_chat(user,"<span class='warning'>Your [src] is already occupied.</span>")
|
||||
to_chat(user,span_warning("Your [src] is already occupied."))
|
||||
return
|
||||
if(trashman.buckled)
|
||||
to_chat(user,"<span class='warning'>[trashman] is buckled and can not be put into your [src].</span>")
|
||||
to_chat(user,span_warning("[trashman] is buckled and can not be put into your [src]."))
|
||||
return
|
||||
user.visible_message("<span class='warning'>[hound.name] is ingesting [trashman] into their [src].</span>", "<span class='notice'>You start ingesting [trashman] into your [src.name]...</span>")
|
||||
user.visible_message(span_warning("[hound.name] is ingesting [trashman] into their [src]."), span_notice("You start ingesting [trashman] into your [src.name]..."))
|
||||
if(do_after(user, 30, target = trashman) && !patient && !trashman.buckled && length(contents) < max_item_count)
|
||||
trashman.forceMove(src)
|
||||
trashman.reset_perspective(src)
|
||||
update_gut(user)
|
||||
user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [trashman] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [trashman] slips inside.</span>")
|
||||
user.visible_message(span_warning("[hound.name]'s garbage processor groans lightly as [trashman] slips inside."), span_notice("Your garbage compactor groans lightly as [trashman] slips inside."))
|
||||
playsound(hound, 'sound/effects/bin_close.ogg', 80, 1)
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
M.change_number_of_hands(limbs+1)
|
||||
used = TRUE
|
||||
icon_state = "extra_arm_none"
|
||||
M.visible_message("<span class='notice'>[M] presses a button on [src], and you hear a disgusting noise.</span>", "<span class='notice'>You feel a sharp sting as [src] plunges into your body.</span>")
|
||||
M.visible_message(span_notice("[M] presses a button on [src], and you hear a disgusting noise."), span_notice("You feel a sharp sting as [src] plunges into your body."))
|
||||
M.balloon_alert(M, "arm implanted")
|
||||
to_chat(M, "<span class='notice'>You feel more dexterous.</span>")
|
||||
to_chat(M, span_notice("You feel more dexterous."))
|
||||
playsound(get_turf(M), 'sound/misc/splort.ogg', 50, 1)
|
||||
desc += "Looks like it's been used up."
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
/obj/item/fleshlight/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-Click \the [name] to customize it.</span>"
|
||||
. += span_notice("Alt-Click \the [name] to customize it.")
|
||||
|
||||
/obj/item/fleshlight/update_appearance(updates)
|
||||
. = ..()
|
||||
@@ -61,7 +61,7 @@
|
||||
message = (user == M) ? "pumps [src] on [possessive_verb] [genital_name]" : "pumps \the [src] on [M]'s [genital_name]"
|
||||
lust_amt = NORMAL_LUST
|
||||
if(message)
|
||||
user.visible_message("<span class='lewd'>[user] [message].</span>")
|
||||
user.visible_message(span_lewd("[user] [message]."))
|
||||
M.handle_post_sex(lust_amt, null, user)
|
||||
playlewdinteractionsound(loc, pick('modular_sand/sound/interactions/bang4.ogg',
|
||||
'modular_sand/sound/interactions/bang5.ogg',
|
||||
@@ -107,9 +107,9 @@
|
||||
/obj/item/portallight/examine(mob/user)
|
||||
. = ..()
|
||||
if(!portalunderwear)
|
||||
. += "<span class='notice'>The device is unpaired. To pair, swipe against a pair of portal panties.</span>"
|
||||
. += span_notice("The device is unpaired. To pair, swipe against a pair of portal panties.")
|
||||
else
|
||||
. += "<span class='notice'>The device is paired, and awaiting input. </span>"
|
||||
. += span_notice("The device is paired, and awaiting input. ")
|
||||
|
||||
/obj/item/portallight/update_appearance(updates)
|
||||
. = ..()
|
||||
@@ -416,7 +416,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>There is no [user.zone_selected == BODY_ZONE_R_LEG ? "right" : "left"] feet!</span>")
|
||||
if(!useable)
|
||||
to_chat(user, "<span class='notice'>It seems the device has failed or your partner is not wearing their device.</span>")
|
||||
to_chat(user, span_notice("It seems the device has failed or your partner is not wearing their device."))
|
||||
if(user_message)
|
||||
if(portal_target && (portal_target?.client?.prefs.toggles & VERB_CONSENT || !portal_target.ckey))
|
||||
user.visible_message("<span class='lewd'>[user] [user_message].</span>")
|
||||
@@ -514,7 +514,7 @@
|
||||
to_chat(M, "<span class='userlove'>urethra fleshlight cumming on dick</span>")
|
||||
portal_target.do_jitter_animation() //make your partner shake too!
|
||||
else
|
||||
user.visible_message("<span class='warning'>\The [src] beeps and does not let [M] through.</span>")
|
||||
user.visible_message(span_warning("\The [src] beeps and does not let [M] through."))
|
||||
else if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
|
||||
@@ -607,7 +607,7 @@
|
||||
if(isliving(portalunderwear.loc))
|
||||
portalunderwear.audible_message("[icon2html(portalunderwear, hearers(portalunderwear))] *beep* *beep* *beep*")
|
||||
playsound(portalunderwear, 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE)
|
||||
to_chat(portalunderwear.loc, "<span class='notice'>The panties beep as the link to the [src] is lost.</span>")
|
||||
to_chat(portalunderwear.loc, span_notice("The panties beep as the link to the [src] is lost."))
|
||||
. = ..()
|
||||
|
||||
/**
|
||||
@@ -653,9 +653,9 @@
|
||||
/obj/item/clothing/underwear/briefs/panties/portalpanties/examine(mob/user)
|
||||
. = ..()
|
||||
if(!portallight)
|
||||
. += "<span class='notice'>The device is unpaired, to pair, swipe the fleshlight against this pair of portal panties(TM). </span>"
|
||||
. += span_notice("The device is unpaired, to pair, swipe the fleshlight against this pair of portal panties(TM). ")
|
||||
else
|
||||
. += "<span class='notice'>The device is paired, and awaiting attachment. </span>"
|
||||
. += span_notice("The device is paired, and awaiting attachment. ")
|
||||
|
||||
/obj/item/clothing/underwear/briefs/panties/portalpanties/attackby(obj/item/I, mob/living/user) //pairing
|
||||
if(istype(I, /obj/item/portallight))
|
||||
@@ -681,11 +681,11 @@
|
||||
switch(targetting)
|
||||
if(CUM_TARGET_VAGINA)
|
||||
if(!human.has_vagina(REQUIRE_EXPOSED))
|
||||
to_chat(human, "<span class='warning'>The vagina is covered or there is none!</span>")
|
||||
to_chat(human, span_warning("The vagina is covered or there is none!"))
|
||||
return FALSE
|
||||
if(CUM_TARGET_ANUS)
|
||||
if(!human.has_anus(REQUIRE_EXPOSED))
|
||||
to_chat(human, "<span class='warning'>The anus is covered or there is none!</span>")
|
||||
to_chat(human, span_warning("The anus is covered or there is none!"))
|
||||
return FALSE
|
||||
if(CUM_TARGET_PENIS)
|
||||
if(!human.has_penis(REQUIRE_EXPOSED) && !human.has_strapon(REQUIRE_EXPOSED))
|
||||
@@ -708,7 +708,7 @@
|
||||
if(!portallight)
|
||||
audible_message("[icon2html(src, hearers(src))] *beep* *beep* *beep*")
|
||||
playsound(src, 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE)
|
||||
to_chat(user, "<span class='notice'>The panties are not linked to a portal fleshlight.</span>")
|
||||
to_chat(user, span_notice("The panties are not linked to a portal fleshlight."))
|
||||
else
|
||||
update_portal()
|
||||
RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/drop_out)
|
||||
|
||||
@@ -26,27 +26,27 @@
|
||||
if (!targets_to_pick_from.len)
|
||||
return
|
||||
target = pick(targets_to_pick_from)
|
||||
visible_message("<span class='notice'>[src] stares at [target].</span>")
|
||||
visible_message(span_notice("[src] stares at [target]."))
|
||||
if (world.time > cooldown && target)
|
||||
ram()
|
||||
|
||||
/obj/item/toy/plush/goatplushie/angry/proc/ram()
|
||||
if(prob((obj_flags & EMAGGED) ? 98:90) && isturf(loc) && considered_alive(target.mind) && !faction_check(list("goat"), target.faction, FALSE))
|
||||
throw_at(target, 10, 10)
|
||||
visible_message("<span class='danger'>[src] rams [target]!</span>")
|
||||
visible_message(span_danger("[src] rams [target]!"))
|
||||
cooldown = world.time + cooldown_modifier
|
||||
target = null
|
||||
visible_message("<span class='notice'>[src] looks disinterested.</span>")
|
||||
visible_message(span_notice("[src] looks disinterested."))
|
||||
|
||||
/obj/item/toy/plush/goatplushie/angry/emag_act(mob/user)
|
||||
if (obj_flags&EMAGGED)
|
||||
visible_message("<span class='notice'>[src] already looks angry enough, you shouldn't anger it more.</span>")
|
||||
visible_message(span_notice("[src] already looks angry enough, you shouldn't anger it more."))
|
||||
return
|
||||
cooldown_modifier = cooldown_modifier/2 * 0.75
|
||||
throwforce = 12.5
|
||||
force = 10
|
||||
obj_flags |= EMAGGED
|
||||
visible_message("<span class='danger'>[src] stares at [user] angrily before going docile.</span>")
|
||||
visible_message(span_danger("[src] stares at [user] angrily before going docile."))
|
||||
|
||||
/obj/item/toy/plush/goatplushie/angry/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
@@ -85,14 +85,14 @@
|
||||
|
||||
/obj/item/toy/plush/goatplushie/angry/kinggoat/ascendedkinggoat/attackby(obj/item/I,mob/living/user,params)
|
||||
if(I.get_sharpness())
|
||||
user.visible_message("<span class='notice'>[user] attempts to destroy [src]!</span>", "<span class='suicide'>[I] bounces off [src]'s back before breaking into millions of pieces... [src] glares at [user]!</span>") // You fucked up now son
|
||||
user.visible_message(span_notice("[user] attempts to destroy [src]!"), span_suicide("[I] bounces off [src]'s back before breaking into millions of pieces... [src] glares at [user]!")) // You fucked up now son
|
||||
I.play_tool_sound(src)
|
||||
qdel(I)
|
||||
user.gib()
|
||||
|
||||
/obj/item/toy/plush/goatplushie/angry/kinggoat/attackby(obj/item/I,mob/living/user,params)
|
||||
if(I.get_sharpness())
|
||||
user.visible_message("<span class='notice'>[user] rips [src] to shreds!</span>", "<span class='notice'>[src]'s death has attracted the attention of the king goat plushie guards!</span>")
|
||||
user.visible_message(span_notice("[user] rips [src] to shreds!"), span_notice("[src]'s death has attracted the attention of the king goat plushie guards!"))
|
||||
I.play_tool_sound(src)
|
||||
qdel(src)
|
||||
var/turf/location = get_turf(user)
|
||||
@@ -109,7 +109,7 @@
|
||||
new/obj/item/toy/plush/goatplushie/angry/guardgoat(location)
|
||||
new/obj/item/toy/plush/goatplushie/angry/guardgoat(location)
|
||||
if(istype(I, /obj/item/reagent_containers/food/snacks/grown/cabbage))
|
||||
user.visible_message("<span class='notice'>[user] watches as [src] takes a bite out of the cabbage!</span>", "<span class='notice'>[src]'s fur starts glowing. It seems they have ascended!</span>")
|
||||
user.visible_message(span_notice("[user] watches as [src] takes a bite out of the cabbage!"), span_notice("[src]'s fur starts glowing. It seems they have ascended!"))
|
||||
playsound(src, 'sound/items/eatfood.ogg', 50, 1)
|
||||
qdel(I)
|
||||
qdel(src)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if(!XW)
|
||||
XW = locate() in R.module
|
||||
if(XW)
|
||||
to_chat(user, "<span class='warning'>This unit is already equipped with an experimental welding tool module.</span>")
|
||||
to_chat(user, span_warning("This unit is already equipped with an experimental welding tool module."))
|
||||
return FALSE
|
||||
XW = new(R.module)
|
||||
qdel(WT)
|
||||
@@ -83,7 +83,7 @@
|
||||
if(!BD)
|
||||
BD = locate() in R.module //There's gotta be a smarter way to do this.
|
||||
if(BD)
|
||||
to_chat(user, "<span class='warning'>This unit is already equipped with a BSRPD module.</span>")
|
||||
to_chat(user, span_warning("This unit is already equipped with a BSRPD module."))
|
||||
return FALSE
|
||||
|
||||
BD = new(R.module)
|
||||
@@ -138,11 +138,11 @@
|
||||
if(.)
|
||||
|
||||
if(R.hasExpanded)
|
||||
to_chat(usr, "<span class='notice'>This unit already has an expand module installed!</span>")
|
||||
to_chat(usr, span_notice("This unit already has an expand module installed!"))
|
||||
return FALSE
|
||||
|
||||
if(R.hasShrunk)
|
||||
to_chat(usr, "<span class='notice'>This unit already has an shrink module installed!</span>")
|
||||
to_chat(usr, span_notice("This unit already has an shrink module installed!"))
|
||||
return FALSE
|
||||
|
||||
if(ExpandSize <= 0)
|
||||
@@ -184,11 +184,11 @@
|
||||
if(.)
|
||||
|
||||
if(R.hasShrunk)
|
||||
to_chat(usr, "<span class='notice'>This unit already has an shrink module installed!</span>")
|
||||
to_chat(usr, span_notice("This unit already has an shrink module installed!"))
|
||||
return FALSE
|
||||
|
||||
if(R.hasExpanded)
|
||||
to_chat(usr, "<span class='notice'>This unit already has an expand module installed!</span>")
|
||||
to_chat(usr, span_notice("This unit already has an expand module installed!"))
|
||||
return FALSE
|
||||
|
||||
if(ShrinkSize == 0)
|
||||
@@ -246,7 +246,7 @@
|
||||
if(!shuttle_maker)
|
||||
shuttle_maker = locate() in R.module
|
||||
if(shuttle_maker)
|
||||
to_chat(user, "<span class='warning'>This unit is already equipped with a rapid shuttle designator module.</span>")
|
||||
to_chat(user, span_warning("This unit is already equipped with a rapid shuttle designator module."))
|
||||
return FALSE
|
||||
shuttle_maker = new(R.module)
|
||||
R.module.basic_modules += shuttle_maker
|
||||
|
||||
@@ -39,4 +39,4 @@ GLOBAL_LIST_EMPTY(tile_reskin_lists)
|
||||
/obj/item/stack/tile/examine(mob/user)
|
||||
. = ..()
|
||||
if(tile_reskin_types)
|
||||
. += "<span class='notice'>These kinds of tiles can be re-skinned! Use it on hand to reskin.</span>"
|
||||
. += span_notice("These kinds of tiles can be re-skinned! Use it on hand to reskin.")
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT)
|
||||
ADD_TRAIT(new_spawn, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT)
|
||||
ADD_TRAIT(new_spawn, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT) //The mob can't be made into a random antag, they are still eligible for ghost roles popups.
|
||||
to_chat(new_spawn,"<span class='boldwarning'>Ghosting is free!</span>")
|
||||
to_chat(new_spawn,span_boldwarning("Ghosting is free!"))
|
||||
var/datum/action/toggle_dead_chat_mob/D = new(new_spawn)
|
||||
D.Grant(new_spawn)
|
||||
var/datum/action/disguise/disguise_action = new(new_spawn)
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
|
||||
/obj/structure/tank_holder/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>It is held together by some <b>screws</b>.</span>"
|
||||
. += span_notice("It is held together by some <b>screws</b>.")
|
||||
|
||||
/obj/structure/tank_holder/attackby(obj/item/W, mob/user, params)
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
if(!SEND_SIGNAL(W, COMSIG_CONTAINER_TRY_ATTACH, src, user))
|
||||
to_chat(user, "<span class='warning'>[W] does not fit in [src].</span>")
|
||||
to_chat(user, span_warning("[W] does not fit in [src]."))
|
||||
|
||||
/obj/structure/tank_holder/screwdriver_act(mob/living/user, obj/item/I)
|
||||
if(..())
|
||||
@@ -63,7 +63,7 @@
|
||||
return ..()
|
||||
if(!Adjacent(user) || issilicon(user))
|
||||
return ..()
|
||||
to_chat(user, "<span class='notice'>You take [tank] from [src].</span>")
|
||||
to_chat(user, span_notice("You take [tank] from [src]."))
|
||||
add_fingerprint(user)
|
||||
tank.add_fingerprint(user)
|
||||
user.put_in_hands(tank)
|
||||
|
||||
Reference in New Issue
Block a user