Replace all modular HTML spans with defines spans

In total:
- Adds span defines for `reallybig hypnophrase`, `big warning`, `header`
- Fixes a missing apostrophe for hypno stare
- Makes a special exception for cuddling.dm, which uses an irregular span
- Puts the spans file back
This commit is contained in:
Darius
2023-01-16 04:05:27 -05:00
parent 41e15dd097
commit ad0239b5de
108 changed files with 779 additions and 773 deletions
@@ -54,7 +54,7 @@
structure_data["cost"][blueprint] = 20
playsound(src, 'sound/effects/pop.ogg', 50, FALSE)
to_chat(user, "<span class='notice'>You change [name]s blueprint to '[choice]'.</span>")
to_chat(user, span_notice("You change [name]s blueprint to '[choice]'."))
// Also pretty much rcd_create but named differently. I'm shameless, fuck you.
/obj/item/construction/tables/proc/create_table(atom/A, mob/user)
@@ -91,5 +91,5 @@
create_table(A, user)
/obj/item/construction/tables/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] sets the RTC to 'Glass Table' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide.</span>")
user.visible_message(span_suicide("[user] sets the RTC to 'Glass Table' and points it down [user.p_their()] throat! It looks like [user.p_theyre()] trying to commit suicide."))
return (BRUTELOSS)
@@ -58,7 +58,7 @@
/obj/item/rtl/examine(mob/user)
. = ..()
. += "<span class='notice'>Alt-click to set what tile to lay.</span>"
. += span_notice("Alt-click to set what tile to lay.")
if(loaded)
. += span_info("It contains [loaded.amount]/[max_amount] metal.")
@@ -85,22 +85,22 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.nail_style) //to stop stacking bugs
to_chat(user, "<span class='warning'>Remove the old nail polish first!</span>")
to_chat(user, span_warning("Remove the old nail polish first!"))
if(H == user)
user.visible_message("<span class='notice'>[user] does [user.p_their()] nails with \the [src].</span>", \
"<span class='notice'>You take a moment to apply \the [src]. Perfect!</span>")
user.visible_message(span_notice("[user] does [user.p_their()] nails with \the [src]."), \
span_notice("You take a moment to apply \the [src]. Perfect!"))
H.nail_style = "nails"
H.nail_color = paint
H.update_body()
else
user.visible_message("<span class='warning'>[user] begins to do [H]'s nails with \the [src].</span>", \
"<span class='notice'>You begin to apply \the [src] on [H]'s nails...</span>")
user.visible_message(span_warning("[user] begins to do [H]'s nails with \the [src]."), \
span_notice("You begin to apply \the [src] on [H]'s nails..."))
if(do_after(user, 20, target = H))
user.visible_message("[user] does [H]'s nails with \the [src].", \
"<span class='notice'>You apply \the [src] on [H]'s nails.</span>")
span_notice("You apply \the [src] on [H]'s nails."))
H.nail_style = "nails"
H.nail_color = paint
H.update_body()
else
to_chat(user, "<span class='warning'>Where are the nail on that?</span>")
to_chat(user, span_warning("Where are the nail on that?"))
@@ -65,8 +65,8 @@
/obj/item/electropack/shockcollar/slave/Destroy()
visible_message("<span class='notice'>The [src] detaches from [src.loc]'s neck.</span>", \
"<span class='notice'>The [src] detaches from your neck.</span>")
visible_message(span_notice("The [src] detaches from [src.loc]'s neck."), \
span_notice("The [src] detaches from your neck."))
playsound(get_turf(src.loc), 'sound/machines/terminal_eject_disc.ogg', 50, 1)
GLOB.tracked_slaves -= src
@@ -93,7 +93,7 @@
/obj/item/storage/box/aphrodisiac_pump/examine(mob/user)
. = ..()
. += "<span class='notice'>Click the implant case while with the implant inside to change the desired dosage amounts.</span>"
. += span_notice("Click the implant case while with the implant inside to change the desired dosage amounts.")
/obj/item/storage/box/aphrodisiac_pump/ComponentInitialize()
. = ..()
@@ -99,7 +99,7 @@
var/implant_toggle_text_2 = (!ability_active ? "dis" : "") // Engage or Disengage
// Display a chat message
action_owner.visible_message("<span class='notice'>The equipment worn on [action_owner]'s back-region flickers momentarily, before becoming [implant_toggle_text].</span>", "<span class='notice'>You [implant_toggle_text_2]engage the Storage Concealment Implant, causing your backpack to be [implant_toggle_text].</span>")
action_owner.visible_message(span_notice("The equipment worn on [action_owner]'s back-region flickers momentarily, before becoming [implant_toggle_text]."), span_notice("You [implant_toggle_text_2]engage the Storage Concealment Implant, causing your backpack to be [implant_toggle_text]."))
/*
* Implant items
@@ -28,9 +28,9 @@
if(target.mind.has_antag_datum(/datum/antagonist/rev/head) || target.mind.unconvertable || target.mind.assigned_role == "Security Officer" || target.mind.assigned_role == "Detective" || target.mind.assigned_role == "Warden" || target.mind.assigned_role == "Head of Security" || HAS_TRAIT(target, TRAIT_MINDSHIELD))
if(!silent)
if(target.mind.assigned_role == "Security Officer" || target.mind.assigned_role == "Detective" || target.mind.assigned_role == "Warden" || target.mind.assigned_role == "Head of Security")
target.visible_message("<span class='warning'>[target] seems to resist the implant! You can't enslave a member of security!</span>", "<span class='warning'>You feel something interfering with your mental conditioning, but you resist it!</span>")
target.visible_message(span_warning("[target] seems to resist the implant! You can't enslave a member of security!"), span_warning("You feel something interfering with your mental conditioning, but you resist it!"))
else
target.visible_message("<span class='warning'>[target] seems to resist the implant!</span>", "<span class='warning'>You feel something interfering with your mental conditioning, but you resist it!</span>")
target.visible_message(span_warning("[target] seems to resist the implant!"), span_warning("You feel something interfering with your mental conditioning, but you resist it!"))
var/obj/item/implanter/I = loc
removed(target, 1)
qdel(src)
@@ -47,9 +47,9 @@
target.mind.remove_antag_datum(/datum/antagonist/gang)
if(!silent)
if(target.mind in SSticker.mode.cult)
to_chat(target, "<span class='warning'>You feel something interfering with your mental conditioning, but you resist it!</span>")
to_chat(target, span_warning("You feel something interfering with your mental conditioning, but you resist it!"))
else
to_chat(target, "<span class='notice'>You feel a sense of peace and security. You are now enslaved!</span>")
to_chat(target, span_notice("You feel a sense of peace and security. You are now enslaved!"))
var/slave_objective = "[((target.client?.prefs.cit_toggles & HYPNO)?"Security has enslaved you into being their pet! Obey their commands, but remember: a good pet is not violent.":"You've been neutralized by security! Follow their orders, but remember: neutralization also means nonviolence.")]"
brainwash(target, slave_objective)
target.sec_hud_set_implants()
@@ -63,7 +63,7 @@
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
L.sec_hud_set_implants()
if(target.stat != DEAD && !silent)
to_chat(target, "<span class='boldnotice'>Your mind suddenly feels free from burden. You are no longer enslaved!</span>")
to_chat(target, span_boldnotice("Your mind suddenly feels free from burden. You are no longer enslaved!"))
return 1
return 0
@@ -7,11 +7,11 @@
/obj/item/implant/slaver/activate()
. = ..()
imp_in.visible_message("<span class='notice'>[imp_in] begins fiddling with a subtle bump on their arm.</span>", "<span class='notice'>You prepare to teleport.</span>")
imp_in.visible_message(span_notice("[imp_in] begins fiddling with a subtle bump on their arm."), span_notice("You prepare to teleport."))
if(do_mob(imp_in, imp_in, 5 SECONDS, ignorehelditem = TRUE))
playsound(get_turf(imp_in.loc), 'sound/magic/blink.ogg', 50, 1)
imp_in.visible_message("<span class='notice'>[imp_in] vanishes from sight!</span>", \
"<span class='notice'>You activate [src], sending you to the slaver mothership!</span>")
imp_in.visible_message(span_notice("[imp_in] vanishes from sight!"), \
span_notice("You activate [src], sending you to the slaver mothership!"))
new /obj/effect/temp_visual/dir_setting/ninja(get_turf(imp_in), imp_in.dir)
var/list/L = list()
@@ -26,7 +26,7 @@
qdel(src)
else
to_chat(imp_in, "<span class='warning'>You need to stand still and uninterrupted for 5 seconds!</span>")
to_chat(imp_in, span_warning("You need to stand still and uninterrupted for 5 seconds!"))
/obj/item/implant/slaver/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
@@ -3,8 +3,8 @@
if(istype(imp, /obj/item/implant/genital_fluid))
var/obj/item/implant/genital_fluid/I = imp
if(I.obj_flags & EMAGGED)
to_chat(user, "<span class='warning'>[src] has no functional safeties to emag.</span>")
to_chat(user, span_warning("[src] has no functional safeties to emag."))
return
to_chat(user, "<span class='notice'>You short out [src]'s safeties.</span>")
to_chat(user, span_notice("You short out [src]'s safeties."))
name = "implant case - 'Genital Fluid (Hacked)'"
I.emag_act()
@@ -36,7 +36,7 @@
if(unwrapped == 0)
icon_state = "b_condom"
unwrapped = 1
to_chat(user, "<span class='notice'>You unwrap the condom.</span>")
to_chat(user, span_notice("You unwrap the condom."))
playsound(user, 'sound/items/poster_ripped.ogg', 50, 1, -1)
return
@@ -55,23 +55,23 @@
// if(unwrapped == 1)
// new /obj/item/clothing/head/condom(usr.loc)
// qdel(src)
// to_chat(user, "<span class='notice'>You roll the condom out.</span>")
// to_chat(user, span_notice("You roll the condom out."))
// playsound(user, 'sound/lewd/latex.ogg', 50, 1, -1)
// return
/*
/obj/item/genital_equipment/condom/attack(mob/living/carbon/C, mob/living/user) //apply the johnny on another person or yourself
if(unwrapped == 0 )
to_chat(user, "<span class='notice'>You must remove the condom from the package first!</span>")
to_chat(user, span_notice("You must remove the condom from the package first!"))
return
var/obj/item/organ/genital/penis/P = C.getorganslot(ORGAN_SLOT_PENIS)
if((C.has_penis(REQUIRE_EXPOSED) && (P?.genital_flags & HAS_EQUIPMENT)) || (C.has_strapon(REQUIRE_EXPOSED)))
if(P.equipment[GENITAL_EQUIPEMENT_CONDOM])
to_chat(user, "<span class='notice'>\The [C] already has condom on!</span>")
to_chat(user, span_notice("\The [C] already has condom on!"))
return
if(isliving(C) && isliving(user) && unwrapped == 1)
C.visible_message("<span class='warning'>\The <b>[user]</b> is trying to put a condom on \the <b>[C]</b>!</span>",\
"<span class='warning'>\The <b>[user]</b> is trying to put a condom on you!</span>")
C.visible_message(span_warning("\The <b>[user]</b> is trying to put a condom on \the <b>[C]</b>!"),\
span_warning("\The <b>[user]</b> is trying to put a condom on you!"))
if(!do_mob(user, C, 4 SECONDS)) //if Failed to put the condom on
return
if(!user.transferItemToLoc(src, P)) //check if you can put it in
@@ -85,12 +85,12 @@
L.update_genitals() // apply the colour!
*/
if(C.has_penis())
to_chat(C, "<span class='userlove'>Your penis feels more safe!</span>")
to_chat(C, span_userlove("Your penis feels more safe!"))
else
to_chat(C, "<span class='userlove'>Your strapon feels more safe... Not sure why would that matter though.</span>")
to_chat(C, span_userlove("Your strapon feels more safe... Not sure why would that matter though."))
return
to_chat(user, "<span class='notice'>You can't find anywhere to put the condom on.</span>") //Trying to put it on something without/or with a hidden
to_chat(user, span_notice("You can't find anywhere to put the condom on.")) //Trying to put it on something without/or with a hidden
*/
/obj/item/clothing/head/condom //p
@@ -156,7 +156,7 @@
//P.colourtint = ""
update_genitals()
C.update_icon()
to_chat(src, "<span class='love'>The condom bubbles outwards and fills with your cum.</span>")
to_chat(src, span_love("The condom bubbles outwards and fills with your cum."))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm)
setArousalLoss(0)
*/
@@ -15,23 +15,23 @@
if(unwrapped == 0)
icon_state = "sounding_rod"
unwrapped = 1
to_chat(user, "<span class='notice'>You unwrap the rod.</span>")
to_chat(user, span_notice("You unwrap the rod."))
playsound(user, 'sound/items/poster_ripped.ogg', 50, 1, -1)
return
/*
/obj/item/genital_equipment/sounding/attack(mob/living/carbon/C, mob/living/user)
if(unwrapped == 0 )
to_chat(user, "<span class='notice'>You must remove the rod from the package first!</span>")
to_chat(user, span_notice("You must remove the rod from the package first!"))
return
var/obj/item/organ/genital/penis/P = C.getorganslot(ORGAN_SLOT_PENIS)
if(C.has_penis(REQUIRE_EXPOSED) && (P?.genital_flags & HAS_EQUIPMENT))
if(P.equipment[GENITAL_EQUIPMENT_SOUNDING])
to_chat(user, "<span class='notice'><b>\The [C]</b> already has a rod inside!</span>")
to_chat(user, span_notice("<b>\The [C]</b> already has a rod inside!"))
return
if(isliving(C) && isliving(user) && unwrapped == 1)
C.visible_message("<span class='warning'><b>\The [user]</b> is trying to insert a rod inside <b>\The [C]</b>!</span>",\
"<span class='warning'><b>\The [user]</b> is trying to insert a rod inside you!</span>")
C.visible_message(span_warning("<b>\The [user]</b> is trying to insert a rod inside <b>\The [C]</b>!"),\
span_warning("<b>\The [user]</b> is trying to insert a rod inside you!"))
if(!do_mob(user, C, 4 SECONDS))
return
if(!user.transferItemToLoc(src, P)) //check if you can put it in
@@ -39,11 +39,11 @@
playsound(C, 'modular_sand/sound/lewd/champ_fingering.ogg', 50, 1, -1)
P.equipment[GENITAL_EQUIPMENT_SOUNDING] = src
to_chat(C, "<span class='userlove'>Your penis feels stuffed and stretched!</span>")
to_chat(C, span_userlove("Your penis feels stuffed and stretched!"))
owner = C
return
to_chat(user, "<span class='notice'>You can't find anywhere to put the rod inside.</span>")
to_chat(user, span_notice("You can't find anywhere to put the rod inside."))
/obj/item/genital_equipment/sounding/genital_remove_proccess(var/obj/item/organ/genital/G)
if(!G.equipment[GENITAL_EQUIPMENT_SOUNDING])
@@ -59,7 +59,7 @@
if(P.equipment[GENITAL_EQUIPMENT_SOUNDING])
P.equipment.Remove(GENITAL_EQUIPMENT_SOUNDING)
new /obj/item/genital_equipment/sounding/used_sounding(loc)
to_chat(src, "<span class='lewd'>The rod falls off from your penis.</span>")
to_chat(src, span_lewd("The rod falls off from your penis."))
/obj/item/genital_equipment/sounding/used_sounding
name = "sounding rod"
@@ -49,7 +49,7 @@ Icons, maybe?
RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/owner_resist)
redirect_component = owner
if(!owner.stat)
to_chat(owner, "<span class='userdanger'>You have been leashed!</span>")
to_chat(owner, span_userdanger("You have been leashed!"))
return ..()
//This lets the pet resist their leash
@@ -61,7 +61,7 @@ Icons, maybe?
//deleash = 100
if(do_mob(owner, owner, deleash))//do_mob creates a progress bar and then enacts the code after. Owner, owner, because it's an act on themself
if(!QDELETED(src))
to_chat(owner, "<span class='warning'>[owner] has removed their leash!</span>")
to_chat(owner, span_warning("[owner] has removed their leash!"))
owner.remove_status_effect(/datum/status_effect/leash_pet)
///// OBJECT /////
@@ -90,7 +90,7 @@ Icons, maybe?
//Called when someone is clicked with the leash
/obj/item/leash/attack(mob/living/carbon/C, mob/living/user, attackchain_flags, damage_multiplier) //C is the target, user is the one with the leash
if(C.has_status_effect(/datum/status_effect/leash_pet)) //If the pet is already leashed, do not leash them. For the love of god.
to_chat(user, "<span class='notice'>[C] has already been leashed.</span>")
to_chat(user, span_notice("[C] has already been leashed."))
return
if(istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/petcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/electropack/shockcollar) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/necklace/cowbell) || istype(C.get_item_by_slot(ITEM_SLOT_NECK), /obj/item/clothing/neck/maid))
var/leashtime = 50
@@ -114,9 +114,9 @@ Icons, maybe?
leash_pet.add_movespeed_modifier(MOVESPEED_ID_LEASH)
for(var/mob/viewing in viewers(user, null))
if(viewing == leash_master)
to_chat(leash_master, "<span class='warning'>You have hooked a leash onto [leash_pet]!</span>")
to_chat(leash_master, span_warning("You have hooked a leash onto [leash_pet]!"))
else
viewing.show_message("<span class='warning'>[leash_pet] has been leashed by [leash_master]!</span>", 1)
viewing.show_message(span_warning("[leash_pet] has been leashed by [leash_master]!"), 1)
if(leash_pet.has_status_effect(/datum/status_effect/leash_dom)) //Pet leashed themself. They are not the dom
leash_pet.apply_status_effect(/datum/status_effect/leash_freepet)
leash_pet.remove_status_effect(/datum/status_effect/leash_dom)
@@ -126,9 +126,9 @@ Icons, maybe?
return
if(!(leash_pet.get_item_by_slot(ITEM_SLOT_NECK))) //The pet has slipped their collar and is not the pet anymore.
for(var/mob/viewing in viewers(user, null))
viewing.show_message("<span class='notice'>[leash_pet] has slipped out of their collar!!</span>", 1)
to_chat(leash_pet, "<span class='notice'>You have slipped out of your collar!</span>")
to_chat(loc, "<span class='notice'>[leash_pet] has slipped out of their collar!</span>")
viewing.show_message(span_notice("[leash_pet] has slipped out of their collar!!"), 1)
to_chat(leash_pet, span_notice("You have slipped out of your collar!"))
to_chat(loc, span_notice("[leash_pet] has slipped out of their collar!"))
leash_pet.remove_status_effect(/datum/status_effect/leash_pet)
if(!leash_pet.has_status_effect(/datum/status_effect/leash_pet)) //If there is no pet, there is no dom. Loop breaks.
@@ -150,7 +150,7 @@ Icons, maybe?
else //No collar, no fun
var/leash_message = pick("Your pet needs a collar")
to_chat(user, "<span class='notice'>[leash_message]</span>")
to_chat(user, span_notice("[leash_message]"))
//Called when the leash is used in hand
//Tugs the pet closer
@@ -192,8 +192,8 @@ Icons, maybe?
return
if(leash_pet.x > leash_master.x + 3 || leash_pet.x < leash_master.x - 3 || leash_pet.y > leash_master.y + 3 || leash_pet.y < leash_master.y - 3)
//var/leash_knockdown_message = "[leash_pet] got pulled to the ground by their leash!"
//to_chat(leash_master, "<span class='notice'>[leash_knockdown_message]</span>")
//to_chat(leash_pet, "<span class='notice'>[leash_knockdown_message]</span>")
//to_chat(leash_master, span_notice("[leash_knockdown_message]"))
//to_chat(leash_pet, span_notice("[leash_knockdown_message]"))
leash_pet.apply_effect(20, EFFECT_KNOCKDOWN, 0)
//This code is to check if the pet has gotten too far away, and then break the leash.
@@ -206,11 +206,11 @@ Icons, maybe?
var/leash_break_message = "The leash snapped free from [leash_pet]!"
for(var/mob/viewing in viewers(leash_pet, null))
if(viewing == leash_master)
to_chat(leash_master, "<span class='warning'>The leash snapped free from your pet!</span>")
to_chat(leash_master, span_warning("The leash snapped free from your pet!"))
if(viewing == leash_pet)
to_chat(leash_pet, "<span class='warning'>Your leash has popped from your collar!</span>")
to_chat(leash_pet, span_warning("Your leash has popped from your collar!"))
else
viewing.show_message("<span class='warning'>[leash_break_message]</span>", 1)
viewing.show_message(span_warning("[leash_break_message]"), 1)
leash_pet.apply_effect(20, EFFECT_KNOCKDOWN, 0)
leash_pet.adjustOxyLoss(5)
leash_pet.remove_status_effect(/datum/status_effect/leash_pet)
@@ -315,9 +315,9 @@ Icons, maybe?
var/leash_break_message = "The leash snapped free from [leash_pet]!"
for(var/mob/viewing in viewers(leash_pet, null))
if(viewing == leash_pet)
to_chat(leash_pet, "<span class='warning'>Your leash has popped from your collar!</span>")
to_chat(leash_pet, span_warning("Your leash has popped from your collar!"))
else
viewing.show_message("<span class='warning'>[leash_break_message]</span>", 1)
viewing.show_message(span_warning("[leash_break_message]"), 1)
leash_pet.apply_effect(20, EFFECT_KNOCKDOWN, 0)
leash_pet.adjustOxyLoss(5)
leash_pet.remove_status_effect(/datum/status_effect/leash_pet)
@@ -345,7 +345,7 @@ Icons, maybe?
if(leash_master.is_holding_item_of_type(/obj/item/leash) || istype(leash_master.get_item_by_slot(ITEM_SLOT_BELT), /obj/item/leash))
return //Dom still has the leash as it turns out. Cancel the proc.
for(var/mob/viewing in viewers(leash_master, null))
viewing.show_message("<span class='notice'>[leash_master] has dropped the leash.</span>", 1)
viewing.show_message(span_notice("[leash_master] has dropped the leash."), 1)
//DOM HAS DROPPED LEASH. PET IS FREE. SCP HAS BREACHED CONTAINMENT.
leash_pet.remove_movespeed_modifier(MOVESPEED_ID_LEASH)
//mobhook_leash_freepet = leash_pet.AddComponent(/datum/component/redirect, list(COMSIG_MOVABLE_MOVED = CALLBACK(src, .proc/on_freepet_move)))
@@ -69,45 +69,45 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
switch(rope_target)
if(ROPE_TARGET_HANDS_IN_FRONT, ROPE_TARGET_HANDS_BEHIND, ROPE_TARGET_HANDS_OBJECT)
if(C.handcuffed != null && !istype(C.handcuffed, /obj/item/restraints/bondage_rope))
to_chat(user, "<span class='warning'>[C] is already handcuffed...</span>")
to_chat(user, span_warning("[C] is already handcuffed..."))
return
if(C.get_num_arms(FALSE) < 2 && !C.get_arm_ignore())
to_chat(user, "<span class='warning'>[C] doesn't have two hands...</span>")
to_chat(user, span_warning("[C] doesn't have two hands..."))
return
if(C.handcuffed == null)
C.visible_message("<span class='danger'>[user] is trying to tie [C]'s hands [rope_target_text()]!</span>", \
"<span class='userdanger'>[user] is trying to tie [C]'s hands [rope_target_text()]!</span>")
C.visible_message(span_danger("[user] is trying to tie [C]'s hands [rope_target_text()]!"), \
span_userdanger("[user] is trying to tie [C]'s hands [rope_target_text()]!"))
else
var/obj/item/restraints/bondage_rope/rope = C.handcuffed
if(LAZYLEN(rope.rope_stack) >= ROPE_MAX_STACK)
to_chat(user, "<span class='warning'>You cannot strengthen this rope anymore...</span>")
to_chat(user, span_warning("You cannot strengthen this rope anymore..."))
return
C.visible_message("<span class='danger'>[user] is trying to strengthen the rope on [C]!</span>", \
"<span class='userdanger'>[user] is trying to strengthen the rope on [C]!</span>")
C.visible_message(span_danger("[user] is trying to strengthen the rope on [C]!"), \
span_userdanger("[user] is trying to strengthen the rope on [C]!"))
process_knot(C, user)
if(ROPE_TARGET_LEGS, ROPE_TARGET_LEGS_OBJECT)
if(C.legcuffed != null && !istype(C.legcuffed, /obj/item/restraints/bondage_rope))
to_chat(user, "<span class='warning'>[C] is already legcuffed...</span>")
to_chat(user, span_warning("[C] is already legcuffed..."))
return
if(C.get_num_legs(FALSE) < 2 && !C.get_leg_ignore())
to_chat(user, "<span class='warning'>[C] doesn't have two legs...</span>")
to_chat(user, span_warning("[C] doesn't have two legs..."))
return
if(C.legcuffed == null)
C.visible_message("<span class='danger'>[user] is trying to tie [C]'s legs!</span>", \
"<span class='userdanger'>[user] is trying to tie [C]'s legs!</span>")
C.visible_message(span_danger("[user] is trying to tie [C]'s legs!"), \
span_userdanger("[user] is trying to tie [C]'s legs!"))
else
var/obj/item/restraints/bondage_rope/rope = C.legcuffed
if(LAZYLEN(rope.rope_stack) >= ROPE_MAX_STACK)
to_chat(user, "<span class='warning'>You cannot strengthen this rope anymore...</span>")
to_chat(user, span_warning("You cannot strengthen this rope anymore..."))
return
C.visible_message("<span class='danger'>[user] is trying to strengthen the rope on [C]!</span>", \
"<span class='userdanger'>[user] is trying to strengthen the rope on [C]!</span>")
C.visible_message(span_danger("[user] is trying to strengthen the rope on [C]!"), \
span_userdanger("[user] is trying to strengthen the rope on [C]!"))
process_knot(C, user)
/obj/item/restraints/bondage_rope/attack_obj(obj/O, mob/user)
if(rope_state != ROPE_STATE_DECIDING_OBJECT)
to_chat(user, "<span class='notice'>You need to attach the rope to somebody first.</span>")
to_chat(user, span_notice("You need to attach the rope to somebody first."))
return
process_object(O, user)
@@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
// Might be reduntant, since the roped mob gets pulled, but meh
var/distance = get_dist(user, roped_mob)
if(distance > ROPE_MAX_DISTANCE_MASTER)
to_chat(user, "<span class='warning'>The rope isn't long enough to tie a knot.</span>")
to_chat(user, span_warning("The rope isn't long enough to tie a knot."))
return
for(var/type in GLOB.bondage_rope_objects)
@@ -137,26 +137,26 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
log_combat(user, C, "handcuffed")
if(C.handcuffed == null)
to_chat(user, "<span class='notice'>You tie [C]'s hands [rope_target_text()].</span>")
to_chat(user, span_notice("You tie [C]'s hands [rope_target_text()]."))
after_process_knot(C, user)
else
to_chat(user, "<span class='notice'>You strengthen the rope on [C].</span>")
to_chat(user, span_notice("You strengthen the rope on [C]."))
strengthen_rope(C, user)
else
to_chat(user, "<span class='warning'>You fail to tie [C]'s hands!</span>")
to_chat(user, span_warning("You fail to tie [C]'s hands!"))
if(ROPE_TARGET_LEGS, ROPE_TARGET_LEGS_OBJECT)
if(do_mob(user, C, 30) && (C.get_num_legs(FALSE) >= 2 || C.get_leg_ignore()))
playsound(loc, cuffsound, 30, 1, -2)
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
log_combat(user, C, "handcuffed")
if(C.legcuffed == null)
to_chat(user, "<span class='notice'>You tie [C]'s legs.</span>")
to_chat(user, span_notice("You tie [C]'s legs."))
after_process_knot(C, user)
else
to_chat(user, "<span class='notice'>You strengthen the rope on [C].</span>")
to_chat(user, span_notice("You strengthen the rope on [C]."))
strengthen_rope(C, user)
else
to_chat(user, "<span class='warning'>You fail to tie [C]'s legs!</span>")
to_chat(user, span_warning("You fail to tie [C]'s legs!"))
// > Using normal rope, calls finish_knot_normal
// > Using object rope, handles the handcuffed effect (unless instant self apply is disabled) and sets state to ROPE_STATE_DECIDING_OBJECT
@@ -176,7 +176,7 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
set_roped_mob(C)
set_roped_master(user)
set_rope_slowdown(C)
to_chat(roped_master, "<span class='notice'>Attach the rope to an object to finish the knot.</span>")
to_chat(roped_master, span_notice("Attach the rope to an object to finish the knot."))
while(1)
sleep(2)
if(rope_state == ROPE_STATE_UNTIED)
@@ -229,8 +229,8 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
set_roped_master(null)
set_roped_object(O, O_type)
to_chat(roped_mob, "<span class='warning'>You are tied to [O].</span>")
to_chat(roped_master, "<span class='notice'>You tie the rope to [O].</span>")
to_chat(roped_mob, span_warning("You are tied to [O]."))
to_chat(roped_master, span_notice("You tie the rope to [O]."))
tugged_flag = TRUE
apply_tug_mob_to_object(roped_mob, roped_object, ROPE_MAX_DISTANCE_OBJECT)
@@ -241,22 +241,22 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
if(roped_mob == null)
if(roped_master != null)
to_chat(roped_master, "<span class='warning'>Seems like whoever you were roping... Is gone?</span>")
to_chat(roped_master, span_warning("Seems like whoever you were roping... Is gone?"))
reset_rope_state()
return FALSE
if(rope_state == ROPE_STATE_TIED || (roped_master != roped_mob || ROPE_SELF_APPLY_INSTANT))
if(rope_target == ROPE_TARGET_HANDS_OBJECT && roped_mob.handcuffed != src)
if(roped_master != null)
to_chat(roped_master, "<span class='warning'>[roped_mob] got out of your rope.</span>")
to_chat(roped_master, span_warning("[roped_mob] got out of your rope."))
reset_rope_state()
return FALSE
if(rope_target == ROPE_TARGET_LEGS_OBJECT && roped_mob.legcuffed != src)
if(roped_master != null)
to_chat(roped_master, "<span class='warning'>[roped_mob] got out of your rope.</span>")
to_chat(roped_master, span_warning("[roped_mob] got out of your rope."))
reset_rope_state()
return FALSE
if(rope_state == ROPE_STATE_TIED && roped_object == null)
to_chat(roped_mob, "<span class='warning'>The thing you were tied to... Is gone?</span>")
to_chat(roped_mob, span_warning("The thing you were tied to... Is gone?"))
reset_rope_state()
return FALSE
@@ -308,11 +308,11 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
var/distance = get_dist(roped_mob.loc, roped_master.loc)
if(distance > ROPE_MAX_DISTANCE_MASTER)
if (prob(10))
to_chat(roped_mob, "<span class='warning'>You tug the rope away from [roped_master].</span>")
to_chat(roped_master, "<span class='warning'>[roped_mob] tugs the rope away from you.</span>")
to_chat(roped_mob, span_warning("You tug the rope away from [roped_master]."))
to_chat(roped_master, span_warning("[roped_mob] tugs the rope away from you."))
forceMove(roped_mob.loc)
else
to_chat(roped_mob, "<span class='warning'>The rope doesn't let you go further.</span>")
to_chat(roped_mob, span_warning("The rope doesn't let you go further."))
tugged_flag = TRUE
apply_tug_mob_to_mob(roped_mob, roped_master, ROPE_MAX_DISTANCE_MASTER)
// Not reduntant, since the above line can tug the rope and make roped_master null
@@ -336,7 +336,7 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
if(can_move)
apply_tug_object_to_mob(roped_object, roped_mob, ROPE_MAX_DISTANCE_OBJECT)
else
to_chat(roped_mob, "<span class='warning'>The rope doesn't let you go further.</span>")
to_chat(roped_mob, span_warning("The rope doesn't let you go further."))
tugged_flag = TRUE
apply_tug_mob_to_object(roped_mob, roped_object, ROPE_MAX_DISTANCE_OBJECT)
distance = get_dist(roped_mob.loc, roped_object.loc)
@@ -346,10 +346,10 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
/obj/item/restraints/bondage_rope/proc/snap_rope()
var/loc = null
if(roped_master != null)
to_chat(roped_master, "<span class='warning'>The rope snaps.</span>")
to_chat(roped_master, span_warning("The rope snaps."))
loc = roped_master.loc
if(roped_mob != null)
to_chat(roped_mob, "<span class='warning'>The rope snaps.</span>")
to_chat(roped_mob, span_warning("The rope snaps."))
loc = roped_mob.loc
reset_rope_state()
forceMove(loc)
@@ -416,7 +416,7 @@ GLOBAL_LIST_INIT(bondage_rope_slowdowns, list(
/obj/item/restraints/bondage_rope/proc/customize_rope(mob/living/user)
if(rope_state != ROPE_STATE_UNTIED)
to_chat(user, "<span class='warning'>You can only customize an untied rope.</span>")
to_chat(user, span_warning("You can only customize an untied rope."))
return
if(src && !user.incapacitated() && in_range(user, src))
@@ -7,7 +7,7 @@
/obj/item/strapon_strap/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/dildo))
to_chat(user, "<span class='userlove'>You attach the dildo to the strap.</span>")
to_chat(user, span_userlove("You attach the dildo to the strap."))
var/obj/item/dildo/dildo = I
var/obj/item/clothing/underwear/briefs/strapon/new_strapon = new /obj/item/clothing/underwear/briefs/strapon(user.loc)
new_strapon.dildo_color = dildo.color
@@ -48,10 +48,10 @@
/obj/item/clothing/underwear/briefs/strapon/examine(mob/user)
. = ..()
. += "There is a <span class='notice'>[GLOB.dildo_size_names[dildo_size]] [dildo_shape][dildo_can_customize ? " custom" : ""] dildo</span> attached to it."
. += "<span class='notice'>Alt-Click \the [src.name] to separate the strap and dildo.</span>"
. += span_notice("Alt-Click \the [src.name] to separate the strap and dildo.")
/obj/item/clothing/underwear/briefs/strapon/AltClick(mob/living/user, obj/item/I)
to_chat(user, "<span class='userlove'>You separate the dildo from the strap.</span>")
to_chat(user, span_userlove("You separate the dildo from the strap."))
var/obj/item/strapon_strap/new_strapon_strap = new /obj/item/strapon_strap(user.loc)
var/obj/item/dildo/new_dildo
if(dildo_can_customize)
@@ -105,7 +105,7 @@
if(istype(user, /mob/living/carbon))
var/mob/living/carbon/C = user
to_chat(C, "<span class='userlove'>You're now ready to bone someone!</span>")
to_chat(C, span_userlove("You're now ready to bone someone!"))
/obj/item/clothing/underwear/briefs/strapon/mob_can_equip(M, equipper, slot, disable_warning, bypass_equip_delay_self)
if(!..())
@@ -114,7 +114,7 @@
if(istype(M, /mob/living))
var/mob/living/living = M
if(living.has_penis(REQUIRE_ANY))
to_chat(living, "<span class='notice'>\The [living] doesn't seem to need a strapon!</span>")
to_chat(living, span_notice("\The [living] doesn't seem to need a strapon!"))
return FALSE
return TRUE
@@ -48,15 +48,15 @@ Code:
switch(mode)
if(1)
mode = 2
to_chat(user, "<span class='notice'>You twist the bottom of [src], setting it to the medium setting.</span>")
to_chat(user, span_notice("You twist the bottom of [src], setting it to the medium setting."))
return
if(2)
mode = 3
to_chat(user, "<span class='warning'>You twist the bottom of [src], setting it to the high setting.</span>")
to_chat(user, span_warning("You twist the bottom of [src], setting it to the high setting."))
return
if(3)
mode = 1
to_chat(user, "<span class='notice'>You twist the bottom of [src], setting it to the low setting.</span>")
to_chat(user, span_notice("You twist the bottom of [src], setting it to the low setting."))
return
/*
/obj/item/electropack/vibrator/attack(mob/living/carbon/C, mob/living/user)
@@ -66,22 +66,22 @@ Code:
var/mob/living/carbon/human/T = C
picked_organ = S.pick_receiving_organ(T, HAS_EQUIPMENT, "Vibrator", "Where are you putting it in?")
if(picked_organ)
C.visible_message("<span class='warning'><b>\The [user]</b> is trying to attach [src] to <b>\The [T]</b>!</span>",\
"<span class='warning'><b>\The [user]</b> is trying to put [src] on you!</span>")
C.visible_message(span_warning("<b>\The [user]</b> is trying to attach [src] to <b>\The [T]</b>!"),\
span_warning("<b>\The [user]</b> is trying to put [src] on you!"))
if(!do_mob(user, C, 5 SECONDS))//warn them and have a delay of 5 seconds to apply.
return
if(style == "long" && !(picked_organ.type == /obj/item/organ/genital/vagina)) //long vibrators dont fit on anything but vaginas, but small ones fit everywhere
to_chat(user, "<span class='warning'>[src] is too big to fit there, use a smaller version.</span>")
to_chat(user, span_warning("[src] is too big to fit there, use a smaller version."))
return
if(!picked_organ.equipment[GENITAL_EQUIPMENT_VIBRATOR])
if(!(style == "long"))
to_chat(user, "<span class='love'>You attach [src] to <b>\The [T]</b>'s [picked_organ.name].</span>")
to_chat(user, span_love("You attach [src] to <b>\The [T]</b>'s [picked_organ.name]."))
else
to_chat(user, "<span class='love'>You insert [src] into <b>\The <b>[T]</b>'s [picked_organ.name].</span>")
to_chat(user, span_love("You insert [src] into <b>\The <b>[T]</b>'s [picked_organ.name]."))
else
to_chat(user, "<span class='notice'>They already have a [picked_organ.equipment[GENITAL_EQUIPMENT_VIBRATOR].name] there.</span>")
to_chat(user, span_notice("They already have a [picked_organ.equipment[GENITAL_EQUIPMENT_VIBRATOR].name] there."))
return
if(!user.transferItemToLoc(src, picked_organ)) //check if you can put it in
@@ -89,10 +89,10 @@ Code:
playsound(C, 'modular_sand/sound/lewd/champ_fingering.ogg', 50, 1, -1)
inside = TRUE
picked_organ.equipment[GENITAL_EQUIPMENT_VIBRATOR] = src
to_chat(user, "<span class='warning'>Done <b>Done</b></span>") //Will delete after testing
to_chat(user, span_warning("Done <b>Done</b>")) //Will delete after testing
else
to_chat(user, "<span class='notice'>You don't see anywhere to attach this.</span>")
to_chat(user, span_notice("You don't see anywhere to attach this."))
*/
@@ -114,9 +114,9 @@ Code:
if(G)
switch(G.type) //just being fancy
if(/obj/item/organ/genital/breasts)
to_chat(U, "<span class='love'>[src] vibrates against your nipples!</span>")
to_chat(U, span_love("[src] vibrates against your nipples!"))
else
to_chat(U, "<span class='love'>[src] vibrates against your [G.name]!</span>")
to_chat(U, span_love("[src] vibrates against your [G.name]!"))
var/intencity = 6*mode
U.handle_post_sex(intencity, null, src) //give pleasure
@@ -125,13 +125,13 @@ Code:
switch(mode)
if(1) //low, setting for RP, it wont force your character to do anything.
to_chat(U, "<span class='love'>You feel pleasure surge through your [G.name]</span>")
to_chat(U, span_love("You feel pleasure surge through your [G.name]"))
U.do_jitter_animation() //do animation without heartbeat
if(2) //med, can make you cum
to_chat(U, "<span class='love'>You feel intense pleasure surge through your [G.name]</span>")
to_chat(U, span_love("You feel intense pleasure surge through your [G.name]"))
U.do_jitter_animation()
if(3) //high, makes you stun
to_chat(U, "<span class='userdanger'>You feel overpowering pleasure surge through your [G.name]</span>")
to_chat(U, span_userdanger("You feel overpowering pleasure surge through your [G.name]"))
U.Jitter(3)
U.Stun(30)
if(prob(50))
@@ -95,5 +95,5 @@
"}
/obj/item/book/manual/splurt_space_law/suicide_act(mob/living/user)
user.visible_message("<span class='suicide'>[user] pretends to read \the [src] intently... then promptly dies of laughter!</span>")
user.visible_message(span_suicide("[user] pretends to read \the [src] intently... then promptly dies of laughter!"))
return OXYLOSS
@@ -21,7 +21,7 @@
to_chat(user, "You can't hypnotize [H] whilst they're asleep!")
return
user.visible_message("<span class='warning'>[user] begins to mesmerizingly wave [src] like a pendulum before [H]'s very eyes!</span>")
user.visible_message(span_warning("[user] begins to mesmerizingly wave [src] like a pendulum before [H]'s very eyes!"))
if(!do_mob(user, H, 12 SECONDS))
return
@@ -34,7 +34,7 @@
var/response = alert(H, "Do you wish to fall into a hypnotic sleep? (This will allow [user] to issue hypnotic suggestions)", "Hypnosis", "Yes", "No")
if(response == "Yes")
H.visible_message("<span class='warning'>[H] falls into a deep slumber!</span>", "<span class ='danger'>Your eyelids gently shut as you fall into a deep slumber. All you can hear is [user]'s voice as you commit to following all of their suggestions</span>")
H.visible_message(span_warning("[H] falls into a deep slumber!"), "<span class ='danger'>Your eyelids gently shut as you fall into a deep slumber. All you can hear is [user]'s voice as you commit to following all of their suggestions</span>")
H.SetSleeping(1200)
H.drowsyness = max(H.drowsyness, 40)
@@ -42,7 +42,7 @@
return
//No
H.visible_message("<span class='warning'>[H]'s attention breaks, despite your attempts to hypnotize them! They clearly don't want this</span>", "<span class ='warning'>Your concentration breaks as you realise you have no interest in following [user]'s words!</span>")
H.visible_message(span_warning("[H]'s attention breaks, despite your attempts to hypnotize them! They clearly don't want this"), "<span class ='warning'>Your concentration breaks as you realise you have no interest in following [user]'s words!</span>")
@@ -76,11 +76,11 @@
return
to_chat(user, "You whisper your suggestion in a smooth calming voice to [subject]")
to_chat(subject, "<span class='hypnophrase'>...[text]...</span>")
to_chat(subject, span_hypnophrase("...[text]..."))
return
//Release
subject.visible_message("<span class='warning'>[subject] wakes up from their deep slumber!</span>", "<span class ='danger'>Your eyelids gently open as you see [user]'s face staring back at you</span>")
subject.visible_message(span_warning("[subject] wakes up from their deep slumber!"), "<span class ='danger'>Your eyelids gently open as you see [user]'s face staring back at you</span>")
subject.SetSleeping(0)
subject = null
@@ -64,15 +64,15 @@
if(isnull(insults))
playsound(get_turf(src), 'modular_splurt/sound/voice/halt.ogg', 100, 1, vary = 0)
user.audible_message("<span class='warning'>[user]'s [name] rasps, \"[use_message]\"</span>", "<span class='warning'>\The [user] holds up \the [name].</span>")
user.audible_message(span_warning("[user]'s [name] rasps, \"[use_message]\""), span_warning("\The [user] holds up \the [name]."))
else
if(insults > 0)
playsound(get_turf(src), 'sound/voice/beepsky/insult.ogg', 100, 1, vary = 0)
// Yes, it used to show the transcription of the sound clip. That was a) inaccurate b) immature as shit.
user.audible_message("<span class='warning'>[user]'s [name] gurgles something indecipherable and deeply offensive.</span>", "<span class='warning'>\The [user] holds up \the [name].</span>")
user.audible_message(span_warning("[user]'s [name] gurgles something indecipherable and deeply offensive."), span_warning("\The [user] holds up \the [name]."))
insults--
else
user << "<span class='danger'>*BZZZZZZZZT*</span>"
user << span_danger("*BZZZZZZZZT*")
spamcheck = 1
spawn(20)
@@ -80,7 +80,7 @@
/obj/item/device/hailer/emag_act(remaining_charges, mob/user)
if(isnull(insults))
user << "<span class='danger'>You overload \the [src]'s voice synthesizer.</span>"
user << span_danger("You overload \the [src]'s voice synthesizer.")
insults = rand(1, 3)//to prevent dickflooding
return 1
else
@@ -170,20 +170,20 @@
if(istype(C, /obj/item/card/id))
var/obj/item/card/id/idcard = C
if(!idcard.registered_name)
to_chat(user, "<span class='warning'>\The [src] rejects the ID!</span>")
to_chat(user, span_warning("\The [src] rejects the ID!"))
return
if(!owner)
owner = idcard.registered_name
ownjob = idcard.assignment
update_label()
to_chat(user, "<span class='notice'>Badge updated.</span>")
to_chat(user, span_notice("Badge updated."))
/obj/item/clothing/accessory/badge/attack_self(mob/user)
if(Adjacent(user))
user.visible_message("<span class='notice'>[user] shows you: [icon2html(src, viewers(user))] [src.name].</span>", \
"<span class='notice'>You show \the [src.name].</span>")
user.visible_message(span_notice("[user] shows you: [icon2html(src, viewers(user))] [src.name]."), \
span_notice("You show \the [src.name]."))
add_fingerprint(user)
/obj/item/clothing/accessory/badge/holo
@@ -10,7 +10,7 @@
ExpandSize = 200
if(ExpandSize <= 0)
ExpandSize = 200
to_chat(user, "<span class='notice'>Expand set to [ExpandSize] %.</span>")
to_chat(user, span_notice("Expand set to [ExpandSize] %."))
return ExpandSize
/obj/item/borg/upgrade/shrink
@@ -25,5 +25,5 @@
ShrinkSize = 50
if(ShrinkSize <= 0)
ShrinkSize = 50
to_chat(user, "<span class='notice'>Shrink set to [ShrinkSize] %.</span>")
to_chat(user, span_notice("Shrink set to [ShrinkSize] %."))
return ShrinkSize
@@ -22,13 +22,13 @@
force = 10
/obj/item/bdsm_whip/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is getting just a little too kinky!</span>")
user.visible_message(span_suicide("[user] is getting just a little too kinky!"))
return (OXYLOSS)
/obj/item/bdsm_whip/attack(mob/M, mob/user)
if(user.zone_selected == BODY_ZONE_PRECISE_GROIN)
playsound(loc, 'sound/weapons/whip.ogg', 30)
M.visible_message("<span class='userdanger'>[user] has [pick(attack_verb)] [M] on the ass!</span>")
M.visible_message(span_userdanger("[user] has [pick(attack_verb)] [M] on the ass!"))
else
return ..(M, user)
@@ -54,5 +54,5 @@
total_mass = TOTAL_MASS_MEDIEVAL_WEAPON
/obj/item/khopesh/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
user.visible_message(span_suicide("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return(BRUTELOSS)
@@ -16,7 +16,7 @@
/obj/item/armyknife/attack_self(mob/user)
playsound(get_turf(user),'sound/weapons/batonextend.ogg',50,1)
var/obj/item/armyknife/ak_screw = new /obj/item/armyknife/screw(drop_location())
to_chat(user, "<span class='notice'>You unfold the screwdriver.</span>")
to_chat(user, span_notice("You unfold the screwdriver."))
qdel(src)
user.put_in_active_hand(ak_screw)
@@ -42,7 +42,7 @@
/obj/item/armyknife/screw/attack_self(mob/user)
playsound(get_turf(user),'sound/weapons/batonextend.ogg',50,1)
var/obj/item/armyknife/ak_cut = new /obj/item/armyknife/cutter(drop_location())
to_chat(user, "<span class='notice'>You fold the screwdriver and unfold the wirecutters.</span>")
to_chat(user, span_notice("You fold the screwdriver and unfold the wirecutters."))
qdel(src)
user.put_in_active_hand(ak_cut)
@@ -70,7 +70,7 @@
/obj/item/armyknife/cutter/attack_self(mob/user)
playsound(get_turf(user), 'sound/weapons/batonextend.ogg', 50, 1)
var/obj/item/armyknife/ak_knife = new /obj/item/armyknife/blade(drop_location())
to_chat(user, "<span class='notice'>You fold the wirecutters and unfold the knife.</span>")
to_chat(user, span_notice("You fold the wirecutters and unfold the knife."))
qdel(src)
user.put_in_active_hand(ak_knife)
@@ -94,7 +94,7 @@
/obj/item/armyknife/blade/attack_self(mob/user)
playsound(get_turf(user), 'sound/weapons/batonextend.ogg', 50, 1)
var/obj/item/armyknife/ak_fold = new /obj/item/armyknife(drop_location())
to_chat(user, "<span class='notice'>You fold the knife.</span>")
to_chat(user, span_notice("You fold the knife."))
qdel(src)
user.put_in_active_hand(ak_fold)
@@ -3,7 +3,7 @@
/obj/item/melee/baseball_bat/AltClick(mob/living/carbon/human/user as mob)
hole = hole == CUM_TARGET_VAGINA ? CUM_TARGET_ANUS : CUM_TARGET_VAGINA
to_chat(user, "<span class='notice'>Now targetting \the [hole].</span>")
to_chat(user, span_notice("Now targetting \the [hole]."))
/obj/item/melee/baseball_bat/attack(mob/living/target, mob/living/user)
if (BODY_ZONE_PRECISE_GROIN && user.a_intent != INTENT_HARM) //ROUGH PRISON HUMILATION YAY
@@ -22,7 +22,7 @@
message = (user == target) ? pick("fucks [possessive_verb] own ass with \the [src]","shoves \the [src] into [possessive_verb] ass", "jams \the [src] into [possessive_verb] ass") : pick("fucks [target]'s asshole with \the [src]", "jams \the [src] into [target]'s ass")
lust_amt = NORMAL_LUST
if(message)
user.visible_message("<span class='lewd'>[user] [message].</span>")
user.visible_message(span_lewd("[user] [message]."))
target.handle_post_sex(lust_amt, null, user)
playsound(loc, pick('modular_sand/sound/interactions/bang4.ogg',
'modular_sand/sound/interactions/bang5.ogg',
@@ -33,7 +33,7 @@
return
var/atom/throw_target = get_edge_target_turf(target, user.dir)
if(homerun_ready)
user.visible_message("<span class='userdanger'>It's a home run!</span>")
user.visible_message(span_userdanger("It's a home run!"))
target.throw_at(throw_target, rand(8,10), 14, user)
target.ex_act(EXPLODE_HEAVY)
playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE)