diff --git a/code/game/objects/items/devices/lighting/glowstick.dm b/code/game/objects/items/devices/lighting/glowstick.dm index b09ccdd81ba..88512f4f3ea 100644 --- a/code/game/objects/items/devices/lighting/glowstick.dm +++ b/code/game/objects/items/devices/lighting/glowstick.dm @@ -9,7 +9,7 @@ item_state = "glowstick" uv_intensity = 255 light_wedge = LIGHT_OMNI - activation_sound = null + activation_sound = 'sound/items/glowstick.ogg' /obj/item/device/flashlight/flare/glowstick/New() . = ..() @@ -40,7 +40,7 @@ /obj/item/device/flashlight/flare/glowstick/attack_self(var/mob/living/user) if(((user.is_clumsy())) && prob(50)) - to_chat(user, "You break \the [src] apart, spilling its contents everywhere!") + to_chat(user, span("notice", "You break \the [src] apart, spilling its contents everywhere!")) fuel = 0 new /obj/effect/decal/cleanable/greenglow(get_turf(user)) user.apply_effect((rand(15,30)),IRRADIATE,blocked = user.getarmor(null, "rad")) @@ -48,18 +48,18 @@ return if(!fuel) - to_chat(user, "\The [src] has already been used.") + to_chat(user, span("notice", "\The [src] has already been used.")) return if(on) - to_chat(user, "\The [src] has already been turned on.") + to_chat(user, span("notice", "\The [src] has already been turned on.")) return . = ..() if(.) user.visible_message( - "[user] cracks and shakes \the [src].", - "You crack and shake \the [src], turning it on!" + span("notice", "[user] cracks and shakes \the [src]."), + span("notice", "You crack and shake \the [src], turning it on!") ) update_icon() START_PROCESSING(SSprocessing, src) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 624fe335f4c..84bc7a27b76 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -20,13 +20,13 @@ /obj/structure/toilet/attack_hand(mob/living/user as mob) if(swirlie) usr.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) - usr.visible_message("[user] slams the toilet seat onto [swirlie.name]'s head!", "You slam the toilet seat onto [swirlie.name]'s head!", "You hear reverberating porcelain.") + usr.visible_message(span("danger", "[user] slams the toilet seat onto [swirlie.name]'s head!"), span("notice", "You slam the toilet seat onto [swirlie.name]'s head!"), "You hear reverberating porcelain.") swirlie.adjustBruteLoss(8) return if(cistern && !open) if(!contents.len) - to_chat(user, "The cistern is empty.") + to_chat(user, span("notice", "The cistern is empty.")) return else var/obj/item/I = pick(contents) @@ -34,7 +34,7 @@ user.put_in_hands(I) else I.forceMove(get_turf(src)) - to_chat(user, "You find \an [I] in the cistern.") + to_chat(user, span("notice", "You find \an [I] in the cistern.")) w_items -= I.w_class return @@ -46,10 +46,10 @@ /obj/structure/toilet/attackby(obj/item/I as obj, mob/living/user as mob) if(I.iscrowbar()) - to_chat(user, "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"].") + to_chat(user, span("notice", "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"].")) playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1) if(do_after(user, 30/I.toolspeed)) - user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!", "You hear grinding porcelain.") + user.visible_message(span("notice", "[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!"), span("notice", "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"), "You hear grinding porcelain.") cistern = !cistern update_icon() return @@ -63,29 +63,29 @@ if(G.state>1) if(!GM.loc == get_turf(src)) - to_chat(user, "[GM.name] needs to be on the toilet.") + to_chat(user, span("notice", "[GM.name] needs to be on the toilet.")) return if(open && !swirlie) - user.visible_message("[user] starts to give [GM.name] a swirlie!", "You start to give [GM.name] a swirlie!") + user.visible_message(span("danger", "[user] starts to give [GM.name] a swirlie!"), span("notice", "You start to give [GM.name] a swirlie!")) swirlie = GM if(do_after(user, 30, 5, 0)) - user.visible_message("[user] gives [GM.name] a swirlie!", "You give [GM.name] a swirlie!", "You hear a toilet flushing.") + user.visible_message(span("danger", "[user] gives [GM.name] a swirlie!"), span("notice", "You give [GM.name] a swirlie!"), "You hear a toilet flushing.") if(!GM.internal) GM.adjustOxyLoss(5) SSfeedback.IncrementSimpleStat("swirlies") swirlie = null else - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message(span("danger", "[user] slams [GM.name] into the [src]!"), span("notice", "You slam [GM.name] into the [src]!")) GM.adjustBruteLoss(8) else - to_chat(user, "You need a tighter grip.") + to_chat(user, span("notice", "You need a tighter grip.")) if(cistern && !istype(user,/mob/living/silicon/robot)) //STOP PUTTING YOUR MODULES IN THE TOILET. if(I.w_class > 3) - to_chat(user, "\The [I] does not fit.") + to_chat(user, span("notice", "\The [I] does not fit.")) return if(w_items + I.w_class > 5) - to_chat(user, "The cistern is full.") + to_chat(user, span("notice", "The cistern is full.")) return user.drop_from_inventory(I,src) w_items += I.w_class @@ -116,12 +116,12 @@ var/mob/living/GM = G.affecting if(G.state>1) if(!GM.loc == get_turf(src)) - to_chat(user, "[GM.name] needs to be on the urinal.") + to_chat(user, span("notice", "[GM.name] needs to be on the urinal.")) return - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM.name] into the [src]!") + user.visible_message(span("danger", "[user] slams [GM.name] into the [src]!"), span("notice", "You slam [GM.name] into the [src]!")) GM.adjustBruteLoss(8) else - to_chat(user, "You need a tighter grip.") + to_chat(user, span("notice", "You need a tighter grip.")) @@ -174,14 +174,14 @@ /obj/machinery/shower/attackby(obj/item/I as obj, mob/user as mob) if(I.type == /obj/item/device/analyzer) - to_chat(user, "The water temperature seems to be [watertemp].") + to_chat(user, span("notice", "The water temperature seems to be [watertemp].")) if(I.iswrench()) var/newtemp = input(user, "What setting would you like to set the temperature valve to?", "Water Temperature Valve") in temperature_settings - to_chat(user, "You begin to adjust the temperature valve with \the [I].") + to_chat(user, span("notice", "You begin to adjust the temperature valve with \the [I].")) playsound(src.loc, I.usesound, 50, 1) if(do_after(user, 50/I.toolspeed)) watertemp = newtemp - user.visible_message("[user] adjusts the shower with \the [I].", "You adjust the shower with \the [I].") + user.visible_message(span("notice", "[user] adjusts the shower with \the [I]."), span("notice", "You adjust the shower with \the [I].")) add_fingerprint(user) /obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up @@ -357,9 +357,9 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(temperature >= H.species.heat_level_1) - to_chat(H, "The water is searing hot!") + to_chat(H, span("danger", "The water is searing hot!")) else if(temperature <= H.species.cold_level_1) - to_chat(H, "The water is freezing cold!") + to_chat(H, span("warning", "The water is freezing cold!")) /obj/item/bikehorn/rubberducky name = "rubber ducky" @@ -393,7 +393,7 @@ if (user.hand) temp = H.organs_by_name[BP_L_HAND] if(temp && !temp.is_usable()) - to_chat(user, "You try to move your [temp.name], but cannot!") + to_chat(user, span("notice", "You try to move your [temp.name], but cannot!")) return if(isrobot(user) || isAI(user)) @@ -403,28 +403,28 @@ return if(busy) - to_chat(user, "Someone's already washing here.") + to_chat(user, span("warning", "Someone's already washing here.")) return - to_chat(usr, "You start washing your hands.") - playsound(src.loc, 'sound/effects/sink_fill.ogg', 25, 1) + to_chat(usr, span("notice", "You start washing your hands.")) + playsound(loc, 'sound/effects/sink_long.ogg', 75, 1) busy = 1 - sleep(40) + if(!do_after(user, 40, src)) + busy = 0 + return TRUE busy = 0 if(!Adjacent(user)) return //Person has moved away from the sink user.clean_blood() - if(ishuman(user)) - user:update_inv_gloves() - for(var/mob/V in viewers(src, null)) - V.show_message("[user] washes their hands using \the [src].") - playsound(src.loc, 'sound/effects/sink_empty.ogg', 25, 1) + user.visible_message( \ + span("notice", "[user] washes their hands using \the [src]."), \ + span("notice", "You wash your hands using \the [src].")) /obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob) if(busy) - to_chat(user, "Someone's already washing here.") + to_chat(user, span("warning", "Someone's already washing here.")) return // Filling/emptying open reagent containers @@ -435,28 +435,28 @@ if(!usr.Adjacent(src)) return if(RG.loc != usr && !isrobot(user)) return if(busy) - to_chat(usr, "Someone's already using \the [src].") + to_chat(usr, span("warning", "Someone's already using \the [src].")) return switch(atype) if ("Fill") if(RG.reagents.total_volume >= RG.volume) - to_chat(usr, "\The [RG] is already full.") + to_chat(usr, span("warning", "\The [RG] is already full.")) return RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, amount_per_transfer_from_this)) - to_chat(oviewers(3, usr), "[usr] fills \the [RG] using \the [src].") - to_chat(usr, "You fill \the [RG] using \the [src].") - playsound(src.loc, 'sound/effects/sink_fill.ogg', 25, 1) + user.visible_message(span("notice", "[user] fills \the [RG] using \the [src]."), + span("notice", "You fill \the [RG] using \the [src].")) + playsound(loc, 'sound/effects/sink.ogg', 75, 1) if ("Empty") if(!RG.reagents.total_volume) - to_chat(usr, "\The [RG] is already empty.") + to_chat(usr, span("warning", "\The [RG] is already empty.")) return var/empty_amount = RG.reagents.trans_to(src, RG.amount_per_transfer_from_this) - to_chat(oviewers(3, usr), "[usr] empties [empty_amount]u of \the [RG] into \the [src].") - to_chat(usr, "You empty [empty_amount]u of \the [RG] into \the [src].") - playsound(src.loc, 'sound/effects/sink_empty.ogg', 25, 1) + user.visible_message(span("notice", "[user] empties [empty_amount]u of \the [RG] into \the [src]."), + span("notice", "You empty [empty_amount]u of \the [RG] into \the [src].")) + playsound(src.loc, 'sound/effects/pour.ogg', 25, 1) return // Filling/empying Syringes @@ -465,22 +465,22 @@ switch(S.mode) if(0) // draw if(S.reagents.total_volume >= S.volume) - to_chat(usr, "\The [S] is already full.") + to_chat(usr, span("warning", "\The [S] is already full.")) return var/trans = min(S.volume - S.reagents.total_volume, S.amount_per_transfer_from_this) S.reagents.add_reagent("water", trans) - to_chat(oviewers(3, usr), "[usr] uses \the [S] to draw water from \the [src].") - to_chat(usr, "You draw [trans] units of water from \the [src]. \The [S] now contains [S.reagents.total_volume] units.") + to_chat(oviewers(3, usr), span("notice", "[usr] uses \the [S] to draw water from \the [src].")) + to_chat(usr, span("notice", "You draw [trans] units of water from \the [src]. \The [S] now contains [S.reagents.total_volume] units.")) if(1) // inject if(!S.reagents.total_volume) - to_chat(usr, "\The [S] is already empty.") + to_chat(usr, span("warning", "\The [S] is already empty.")) return var/trans = min(S.amount_per_transfer_from_this, S.reagents.total_volume) S.reagents.remove_any(trans) - to_chat(oviewers(3, usr), "[usr] empties \the [S] into \the [src].") - to_chat(usr, "You empty [trans] units of water into \the [src]. \The [S] now contains [S.reagents.total_volume] units.") + to_chat(oviewers(3, usr), span("notice", "[usr] empties \the [S] into \the [src].")) + to_chat(usr, span("notice", "You empty [trans] units of water into \the [src]. \The [S] now contains [S.reagents.total_volume] units.")) return @@ -497,14 +497,14 @@ R.cell.charge -= 20 else B.deductcharge(B.hitcost) - user.visible_message("[user] was stunned by \the [O]!") + user.visible_message(span("danger", "[user] was stunned by \the [O]!")) return 1 // Short of a rewrite, this is necessary to stop monkeycubes being washed. else if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) return else if(istype(O, /obj/item/mop)) O.reagents.add_reagent("water", 5) - to_chat(user, "You wet \the [O] in \the [src].") + to_chat(user, span("notice", "You wet \the [O] in \the [src].")) playsound(loc, 'sound/effects/slosh.ogg', 25, 1) return @@ -514,10 +514,13 @@ var/obj/item/I = O if(!I || !istype(I,/obj/item)) return - to_chat(usr, "You start washing \the [I].") + to_chat(usr, span("notice", "You start washing \the [I].")) + playsound(loc, 'sound/effects/sink_long.ogg', 75, 1) busy = 1 - sleep(40) + if(!do_after(user, 40, src)) + busy = 0 + return TRUE busy = 0 if(user.loc != location) return //User has moved @@ -526,8 +529,8 @@ O.clean_blood() user.visible_message( \ - "[user] washes \a [I] using \the [src].", \ - "You wash \a [I] using \the [src].") + span("notice", "[user] washes \a [I] using \the [src]."), \ + span("notice", "You wash \a [I] using \the [src].")) /obj/structure/sink/kitchen diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index c7bb2c30b89..4a47e47d649 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -77,7 +77,7 @@ /mob/living/carbon/gib() for(var/mob/M in contents) M.dropInto(loc) - visible_message("\The [M] bursts out of \the [src]!") + visible_message(span("danger", "\The [M] bursts out of \the [src]!")) ..() /mob/living/carbon/attack_hand(mob/M as mob) @@ -197,11 +197,11 @@ if (!is_asystole()) if(src == M && istype(src, /mob/living/carbon/human)) var/mob/living/carbon/human/H = src - src.visible_message( \ - text("[src] examines [].",src.gender==MALE?"himself":"herself"), \ + src.visible_message( + span("notice", "[src] examines [src.gender==MALE?"himself":"herself"]."), \ span("notice", "You check yourself for injuries.") \ ) - + for(var/obj/item/organ/external/org in H.organs) var/list/status = list() var/brutedamage = org.brute_dam @@ -237,9 +237,9 @@ if(org.status & ORGAN_BLEEDING) status += span("danger", "bleeding") if(status.len) - src.show_message("My [org.name] is [english_list(status)].",1) + src.show_message("My [org.name] is [english_list(status)].",1) else - src.show_message("My [org.name] is OK.",1) + src.show_message("My [org.name] is OK.",1) if((isskeleton(H)) && (!H.w_uniform) && (!H.wear_suit)) H.play_xylophone() @@ -316,8 +316,8 @@ else if(istype(tapper)) tapper.species.tap(tapper,src) else - M.visible_message("[M] taps [src] to get their attention!", \ - "You tap [src] to get their attention!") + M.visible_message(span("notice", "[M] taps [src] to get their attention!"), \ + span("notice", "You tap [src] to get their attention!")) if(stat != DEAD) AdjustParalysis(-3) @@ -340,23 +340,6 @@ // ++++ROCKDTBEN++++ MOB PROCS //END -/mob/living/carbon/clean_blood() - . = ..() - if(ishuman(src)) - var/mob/living/carbon/human/H = src - if(H.gloves) - if(H.gloves.clean_blood()) - H.update_inv_gloves(0) - H.gloves.germ_level = 0 - else - if(!isnull(H.bloody_hands)) - H.bloody_hands = null - H.update_inv_gloves(0) - H.germ_level = 0 - update_icons() //apply the now updated overlays to the mob - - - /mob/living/carbon/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() var/temp_inc = max(min(BODYTEMP_HEATING_MAX*(1-get_heat_protection()), exposed_temperature - bodytemperature), 0) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 68e097ceea5..7b4337c0adb 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -523,7 +523,7 @@ if(7)//snowflake arc - only happens when they have long hair. damage_areas = list(BP_R_HAND, BP_R_ARM, BP_CHEST, BP_HEAD) h_style = "skinhead" - visible_message("[src]'s hair gets a burst of electricty through it, burning and turning to dust!", "your hair burns as the current flows through it, turning to dust!", "You hear a crackling sound, and smell burned hair!.") + visible_message(span("warning", "[src]'s hair gets a burst of electricty through it, burning and turning to dust!"), span("danger", "your hair burns as the current flows through it, turning to dust!"), span("notice", "You hear a crackling sound, and smell burned hair!.")) update_hair() else damage_areas = list(def_zone) @@ -568,18 +568,18 @@ if (shock_damage > 15) visible_message( - "[src] was shocked by the [source]!", - "You feel a powerful shock course through your body!", - "You hear a heavy electrical crack." + span("warning", "[src] was shocked by the [source]!"), + span("danger", "You feel a powerful shock course through your body!"), + span("warning", "You hear a heavy electrical crack.") ) Stun(10)//This should work for now, more is really silly and makes you lay there forever Weaken(10) else visible_message( - "[src] was mildly shocked by the [source].", - "You feel a mild shock course through your body.", - "You hear a light zapping." + span("warning", "[src] was mildly shocked by the [source]."), + span("warning", "You feel a mild shock course through your body."), + span("warning", "You hear a light zapping.") ) spark(loc, 5, alldirs) @@ -632,7 +632,7 @@ U.handle_regular_hud_updates() if(!modified) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, span("warning", "Unable to locate a data core entry for this person.")) if (href_list["secrecord"]) if(hasHUD(usr,"security")) @@ -657,7 +657,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, span("warning", "Unable to locate a data core entry for this person.")) if (href_list["secrecordComment"]) if(hasHUD(usr,"security")) @@ -684,7 +684,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, span("warning", "Unable to locate a data core entry for this person.")) if (href_list["secrecordadd"]) if(hasHUD(usr,"security")) @@ -742,7 +742,7 @@ U.handle_regular_hud_updates() if(!modified) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, span("warning", "Unable to locate a data core entry for this person.")) if (href_list["medrecord"]) if(hasHUD(usr,"medical")) @@ -768,7 +768,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, span("warning", "Unable to locate a data core entry for this person.")) if (href_list["medrecordComment"]) if(hasHUD(usr,"medical")) @@ -795,7 +795,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, span("warning", "Unable to locate a data core entry for this person.")) if (href_list["medrecordadd"]) if(hasHUD(usr,"medical")) @@ -896,17 +896,17 @@ if(is_berserk()) if(!silent) - to_chat(src, "You are in no state to use that!") + to_chat(src, span("warning", "You are in no state to use that!")) return 0 if(!species.has_fine_manipulation) if(!silent) - to_chat(src, "You don't have the dexterity to use that!") + to_chat(src, span("warning", "You don't have the dexterity to use that!")) return 0 if(disabilities & MONKEYLIKE) if(!silent) - to_chat(src, "You don't have the dexterity to use that!") + to_chat(src, span("warning", "You don't have the dexterity to use that!")) return 0 return 1 @@ -935,7 +935,7 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) - visible_message("\The [src] begins playing \his ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") + visible_message(span("warning", "\The [src] begins playing \his ribcage like a xylophone. It's quite spooky."),span("notice", "You begin to play a spooky refrain on your ribcage."),span("warning", "You hear a spooky xylophone melody.")) var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(loc, song, 50, 1, -1) xylophone = 1 @@ -1135,7 +1135,7 @@ regenerate_icons() check_dna() - visible_message("\The [src] morphs and changes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") + visible_message(span("notice", "\The [src] morphs and changes [get_visible_gender() == MALE ? "his" : get_visible_gender() == FEMALE ? "her" : "their"] appearance!"), span("notice", "You change your appearance!"), span("warning", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")) /mob/living/carbon/human/proc/remotesay() set name = "Project mind" @@ -1161,10 +1161,10 @@ var/say = sanitize(input("What do you wish to say")) if(mRemotetalk in target.mutations) - target.show_message("You hear [src.real_name]'s voice: [say]") + target.show_message(span("notice", "You hear [src.real_name]'s voice: [say]")) else - target.show_message("You hear a voice that seems to echo around the room: [say]") - usr.show_message("You project your mind into [target.real_name]: [say]") + target.show_message(span("notice", "You hear a voice that seems to echo around the room: [say]")) + usr.show_message(span("notice", "You project your mind into [target.real_name]: [say]")) log_say("[key_name(usr)] sent a telepathic message to [key_name(target)]: [say]",ckey=key_name(usr)) for(var/mob/abstract/observer/G in dead_mob_list) G.show_message("Telepathic message from [src] to [target]: [say]") @@ -1318,6 +1318,16 @@ /mob/living/carbon/human/clean_blood(var/clean_feet) .=..() + if(gloves) + if(gloves.clean_blood()) + update_inv_gloves(1) + gloves.germ_level = 0 + else + if(!isnull(bloody_hands)) + bloody_hands = null + update_inv_gloves(1) + germ_level = 0 + gunshot_residue = null if(clean_feet && !shoes) feet_blood_color = null @@ -1351,12 +1361,12 @@ if(!istype(O,/obj/item/implant) && prob(5)) //Moving with things stuck in you could be bad. // All kinds of embedded objects cause bleeding. if(!can_feel_pain()) - to_chat(src, "You feel [O] moving inside your [organ.name].") + to_chat(src, span("warning", "You feel [O] moving inside your [organ.name].")) else var/msg = pick( \ - "A spike of pain jolts your [organ.name] as you bump [O] inside.", \ - "Your movement jostles [O] in your [organ.name] painfully.", \ - "Your movement jostles [O] in your [organ.name] painfully.") + span("warning", "A spike of pain jolts your [organ.name] as you bump [O] inside."), \ + span("warning", "Your movement jostles [O] in your [organ.name] painfully."), \ + span("warning", "Your movement jostles [O] in your [organ.name] painfully.")) to_chat(src, msg) organ.take_damage(rand(1, 3), sharp = TRUE, edge = TRUE, used_weapon = O) @@ -1378,25 +1388,25 @@ return if(!self) - usr.visible_message("[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse.",\ + usr.visible_message(span("notice", "[usr] kneels down, puts \his hand on [src]'s wrist and begins counting their pulse."),\ "You begin counting [src]'s pulse") else - usr.visible_message("[usr] begins counting their pulse.",\ + usr.visible_message(span("notice", "[usr] begins counting their pulse."),\ "You begin counting your pulse.") if(pulse()) - to_chat(usr, "[self ? "You have a" : "[src] has a"] pulse! Counting...") + to_chat(usr, span("notice", "[self ? "You have a" : "[src] has a"] pulse! Counting...")) else - to_chat(usr, "[src] has no pulse!") //it is REALLY UNLIKELY that a dead person would check his own pulse) + to_chat(usr, span("danger", "[src] has no pulse!")) //it is REALLY UNLIKELY that a dead person would check his own pulse) return to_chat(usr, "You must[self ? "" : " both"] remain still until counting is finished.") if(do_mob(usr, src, 60)) var/pulsae = src.get_pulse(GETPULSE_HAND) var/introspect = self ? "Your" : "[src]'s" - to_chat(usr, "[introspect] pulse is [pulsae].") + to_chat(usr, span("notice", "[introspect] pulse is [pulsae].")) else - to_chat(usr, "You failed to check the pulse. Try again.") + to_chat(usr, span("warning", "You failed to check the pulse. Try again.")) /mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/kpg=0, var/change_hair = TRUE) cached_bodytype = null @@ -1509,26 +1519,26 @@ verbs -= /mob/living/carbon/human/proc/bloody_doodle if (src.gloves) - to_chat(src, "Your [src.gloves] are getting in the way.") + to_chat(src, span("warning", "Your [src.gloves] are getting in the way.")) return var/turf/simulated/T = src.loc if (!istype(T)) //to prevent doodling out of mechs and lockers - to_chat(src, "You cannot reach the floor.") + to_chat(src, span("warning", "You cannot reach the floor.")) return var/direction = input(src,"Which way?","Tile selection") as anything in list("Here","North","South","East","West") if (direction != "Here") T = get_step(T,text2dir(direction)) if (!istype(T)) - to_chat(src, "You cannot doodle there.") + to_chat(src, span("warning", "You cannot doodle there.")) return var/num_doodles = 0 for (var/obj/effect/decal/cleanable/blood/writing/W in T) num_doodles++ if (num_doodles > 4) - to_chat(src, "There is no space to write on!") + to_chat(src, span("warning", "There is no space to write on!")) return var/max_length = bloody_hands * 30 //tweeter style @@ -1541,7 +1551,7 @@ if (length(message) > max_length) message += "-" - to_chat(src, "You ran out of blood to write with!") + to_chat(src, span("warning", "You ran out of blood to write with!")) var/obj/effect/decal/cleanable/blood/writing/W = new(T) W.basecolor = (hand_blood_color) ? hand_blood_color : "#A10808" @@ -1577,7 +1587,7 @@ if(!. && error_msg && user) if(!fail_msg) fail_msg = "There is no exposed flesh or thin material [target_zone == BP_HEAD ? "on their head" : "on their body"] to inject into." - to_chat(user, "[fail_msg]") + to_chat(user, span("alert", "[fail_msg]")) /mob/living/carbon/human/print_flavor_text(var/shrink = 1) var/list/equipment = list(src.head,src.wear_mask,src.glasses,src.w_uniform,src.wear_suit,src.gloves,src.shoes) @@ -1685,11 +1695,11 @@ var/obj/item/organ/external/current_limb = organs_by_name[choice] if(self) - U.visible_message("[U] tries to relocate their [current_limb.joint]...", \ - "You brace yourself to relocate your [current_limb.joint]...") + U.visible_message(span("warning", "[U] tries to relocate their [current_limb.joint]..."), \ + span("warning", "You brace yourself to relocate your [current_limb.joint]...")) else - U.visible_message("[U] tries to relocate [S]'s [current_limb.joint]...", \ - "You begin to relocate [S]'s [current_limb.joint]...") + U.visible_message(span("warning", "[U] tries to relocate [S]'s [current_limb.joint]..."), \ + span("warning", "You begin to relocate [S]'s [current_limb.joint]...")) if(!do_after(U, 30)) return @@ -1697,11 +1707,11 @@ return if(self) - U.visible_message("[U] pops their [current_limb.joint] back in!", \ - "You pop your [current_limb.joint] back in!") + U.visible_message(span("danger", "[U] pops their [current_limb.joint] back in!"), \ + span("danger", "You pop your [current_limb.joint] back in!")) else - U.visible_message("[U] pops [S]'s [current_limb.joint] back in!", \ - "You pop [S]'s [current_limb.joint] back in!") + U.visible_message(span("danger", "[U] pops [S]'s [current_limb.joint] back in!"), \ + span("danger", "You pop [S]'s [current_limb.joint] back in!")) current_limb.undislocate() /mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/target = null) @@ -1750,7 +1760,7 @@ if(stat) return pulling_punches = !pulling_punches - to_chat(src, "You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"].") + to_chat(src, span("notice", "You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"].")) return /mob/living/carbon/human/proc/get_traumas() diff --git a/html/changelogs/wezzy_glowstick_sink.yml b/html/changelogs/wezzy_glowstick_sink.yml new file mode 100644 index 00000000000..5f935992217 --- /dev/null +++ b/html/changelogs/wezzy_glowstick_sink.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - soundadd: "New glowstick and sink sounds." diff --git a/sound/effects/sink.ogg b/sound/effects/sink.ogg new file mode 100644 index 00000000000..f195db7873d Binary files /dev/null and b/sound/effects/sink.ogg differ diff --git a/sound/effects/sink_empty.ogg b/sound/effects/sink_empty.ogg deleted file mode 100644 index a43c16ceb1e..00000000000 Binary files a/sound/effects/sink_empty.ogg and /dev/null differ diff --git a/sound/effects/sink_fill.ogg b/sound/effects/sink_fill.ogg deleted file mode 100644 index 79e0b4ec803..00000000000 Binary files a/sound/effects/sink_fill.ogg and /dev/null differ diff --git a/sound/effects/sink_long.ogg b/sound/effects/sink_long.ogg new file mode 100644 index 00000000000..003f46bd896 Binary files /dev/null and b/sound/effects/sink_long.ogg differ diff --git a/sound/items/glowstick.ogg b/sound/items/glowstick.ogg new file mode 100644 index 00000000000..769c86a201c Binary files /dev/null and b/sound/items/glowstick.ogg differ