diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm index f66648d9da5..269f002bbcc 100644 --- a/code/modules/reagents/reagent_containers/blood_pack.dm +++ b/code/modules/reagents/reagent_containers/blood_pack.dm @@ -15,7 +15,7 @@ /obj/item/reagent_containers/blood name = "blood pack" - desc = "Contains blood used for transfusion." + desc = "Contains fluids used for transfusions." icon = 'icons/obj/bloodpack.dmi' icon_state = "bloodpack" filling_states = "-10;10;25;50;75;80;100" @@ -57,6 +57,9 @@ /obj/item/reagent_containers/blood/update_icon() cut_overlays() + if(blood_type) + add_overlay(image('icons/obj/bloodpack.dmi', "[blood_type]")) + if(attached_mob) add_overlay(image('icons/obj/bloodpack.dmi', "dongle")) @@ -67,10 +70,10 @@ if(user == M && (MODE_VAMPIRE in user.mind?.antag_datums)) var/datum/vampire/vampire = user.mind.antag_datums[MODE_VAMPIRE] if (being_feed) - to_chat(user, "You are already feeding on \the [src].") + to_chat(user, SPAN_NOTICE("You are already feeding on \the [src].")) return if (REAGENT_VOLUME(reagents, /decl/reagent/blood)) - user.visible_message("[user] raises \the [src] up to their mouth and bites into it.", "You raise \the [src] up to your mouth and bite into it, starting to drain its contents.
You need to stand still.
") + user.visible_message(SPAN_WARNING("[user] raises \the [src] up to their mouth and bites into it."), SPAN_NOTICE("You raise \the [src] up to your mouth and bite into it, starting to drain its contents.
You need to stand still.")) being_feed = TRUE vampire_marks = TRUE if (!LAZYLEN(src.other_DNA)) @@ -85,11 +88,11 @@ vampire.blood_usable += blood_taken if (blood_taken) - to_chat(user, "You have accumulated [vampire.blood_usable] unit\s of usable blood. It tastes quite stale.") + to_chat(user, SPAN_NOTICE("You have accumulated [vampire.blood_usable] unit\s of usable blood. It tastes quite stale.")) if (REAGENT_VOLUME(reagents, /decl/reagent/blood) < 1) break - user.visible_message("[user] licks [user.get_pronoun("his")] fangs dry, lowering \the [src].", "You lick your fangs clean of the tasteless blood.") + user.visible_message(SPAN_WARNING("[user] licks [user.get_pronoun("his")] fangs dry, lowering \the [src]."), SPAN_NOTICE("You lick your fangs clean of the tasteless blood.")) being_feed = FALSE else ..() @@ -154,28 +157,39 @@ /obj/item/reagent_containers/blood/examine(mob/user, distance = 2) if (..() && vampire_marks) - to_chat(user, "There are teeth marks on it.") + to_chat(user, SPAN_WARNING("There are teeth marks on it.")) return /obj/item/reagent_containers/blood/attackby(obj/item/P as obj, mob/user as mob) ..() if (P.ispen()) if (REAGENT_VOLUME(reagents, /decl/reagent/blood) && name != "empty blood pack") //Stops people mucking with bloodpacks that are filled - to_chat(usr, "You can't relabel [name] until it is empty!") + to_chat(user, SPAN_NOTICE("You can't relabel [name] until it is empty!")) return - var/blood_name = input(usr, "What blood type would you like to label it as?", "Blood Types") in list("A+", "A-", "B+", "B-", "O+", "O-", "AB+", "AB-", "Saline Plus", "Cancel") - if (blood_name == "Cancel") return - var/obj/item/i = usr.get_active_hand() - if (!i.ispen() || !in_range(user, src)) return //Checks to see if pen is still held or bloodback is in range - name = "blood pack [blood_name]" + var/blood_name = input(user, "What blood type would you like to label it as?", "Blood Types") in list("A+", "A-", "B+", "B-", "O+", "O-", "AB+", "AB-", "Saline Plus", "Clear", "Cancel") + if(blood_name == "Cancel") + return + var/obj/item/i = user.get_active_hand() + if(!i.ispen() || !in_range(user, src)) //Checks to see if pen is still held or bloodpack is in range + return + if(blood_name == "Clear") + blood_type = null + name = initial(name) + desc = initial(desc) + to_chat(user, SPAN_NOTICE("You clear the blood pack label.")) + update_icon() + return + blood_type = blood_name + name = "blood pack [blood_type]" desc = "Contains fluids used for transfusions." - to_chat(usr, "You label the blood pack as [blood_name].") + to_chat(user, SPAN_NOTICE("You label the blood pack as [blood_type].")) + update_icon() return if (istype(P, /obj/item/) && P.sharp == 1) var/mob/living/carbon/human/H = usr if(LAZYLEN(P.attack_verb)) - user.visible_message("[src] has been [pick(P.attack_verb)] with \the [P] by [user]!") + user.visible_message(SPAN_DANGER("[src] has been [pick(P.attack_verb)] with \the [P] by [user]!")) var/atkmsg_filled = null if (REAGENT_VOLUME(reagents, /decl/reagent/blood)) atkmsg_filled = " and the contents spray everywhere" @@ -230,7 +244,7 @@ var/obj/item/reagent_containers/I = src.loc != usr ? new/obj/item/reagent_containers/blood/ripped(src.loc) : new/obj/item/reagent_containers/blood/ripped(usr.loc) if (REAGENT_VOLUME(reagents, /decl/reagent/blood)) I.add_blood() - var/atkmsg = "\The [src] rips apart[atkmsg_filled]!" + var/atkmsg = SPAN_WARNING("\The [src] rips apart[atkmsg_filled]!") user.visible_message(atkmsg) qdel(src) return @@ -267,5 +281,5 @@ volume = 0 /obj/item/reagent_containers/blood/ripped/attackby(obj/item/P as obj, mob/user as mob) - to_chat(user, "You can't do anything further with this.") + to_chat(user, SPAN_WARNING("You can't do anything further with this.")) return diff --git a/html/changelogs/bloodpack_labels.yml b/html/changelogs/bloodpack_labels.yml new file mode 100644 index 00000000000..20552b40f4e --- /dev/null +++ b/html/changelogs/bloodpack_labels.yml @@ -0,0 +1,7 @@ +author: Vrow + +delete-after: True + +changes: + - rscadd: "Added an option to clear the Blood Pack's label." + - imageadd: "Added various labels for the blood pack." \ No newline at end of file diff --git a/icons/obj/bloodpack.dmi b/icons/obj/bloodpack.dmi index eb5a3731ea7..cbfc8828184 100644 Binary files a/icons/obj/bloodpack.dmi and b/icons/obj/bloodpack.dmi differ