From 8bf5b5f31e35a985d4ee778c71f81634463bd53d Mon Sep 17 00:00:00 2001 From: VisVirific Date: Tue, 19 Apr 2022 14:09:54 -0300 Subject: [PATCH] Bloodpack Labels Additions (#13539) --- .../reagents/reagent_containers/blood_pack.dm | 46 ++++++++++++------ html/changelogs/bloodpack_labels.yml | 7 +++ icons/obj/bloodpack.dmi | Bin 1358 -> 1682 bytes 3 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 html/changelogs/bloodpack_labels.yml 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 eb5a3731ea72576f4e2a4a33069dc72a28a2a941..cbfc8828184b2cda6f52e784381f3e1a77e95e19 100644 GIT binary patch literal 1682 zcmaKteLT~P9>+J9Eo9uQXkr>Ci96OkO`);1VL2WS?Q|3&QRJamX7OW5V$|80BR9EL zD5VEf9%gK5=bk0vbg5gn!$efuKhxH;(0oSPE;E5+=_=@~ax-StLk*ur>Em|--K=z3S8m(`3V_<2SM z{4gs07;o#kP7H!;?!|NbC8+a)C$;Ec{q-S^iPtx$bRoM7txEYTyKC9^Vp#(nZzI^Z zHG6;lcuDXVotDdtIn1Ps%iH7S`%)eUb3ZxfOVdsaZ2lq2J#lKVcqoh;WWU46>@#*f z-tgRE{2S~Fv|@4OBZ6;=2Z1(RArtY3(#m9mg2c*$rlLK*%zFeqBM%^Igffrb|SW z<>W-J1iBiuj1Q;GT5YdZfP z*xus45Hdc&Fpz^JCUx$k7@dlIFPoc|vMmLdY{?6l4H|Ca?Yl~RDuV3NN0bt}Y z-Uw%MX=!PBb#+xBnYj?tY`?L_%jB6MrwF zn>4l%A(m-kEYvE>1Q9lab9U*#D8Ea+XBwV2liHzSL5#awCgB}++s_2e!MEn#IuUYh z3n?<@NywOnRmjkdlr!C`3wWb1)!P$R{7dQ;9~ImO-#LsS2>t}U4+CK*!-h5=-psFw z!Vmwe|LUye`ovtp{-$q&Qx{Y2W$oRD4$~9}Do3kRGyLWZkX^8Ml+!TeMD`ofd}ff^ z*$_EbhB3cI^ajDqij&@=>APM*5|*ShJUtRIN3Dt)Wa5>Q<9wZLL?G>m+r0u zbE2rX4-X9?*5$BnF_eI z(9PW6YN&m*UP_jaJV{vi(8E$WclLX~Y^&-PyZVW~S!YVhHy#{kWNwy_Tx4%FUY zhw4*5qpLJ4(=M)hj@5#sQe^uvsPo& z{j({rQ~-BzsmTg_1=A*gQIs+cKaPW&OIe+nKAn&yHOA`S1kB!oON@;FD75??$9CoOgHVykW6vUAn~Q^mG#U#&UvTsPlkxBpjQd2iP4 zHvwCO>_pODt39c(6Faak%)MF0U(~>Pn|YyRamd68$=@XAUXHVE=b5oB(XCH)LwG=b z)Vt6u^RLRen@lS-y8l`n4f|RbtzM$fc{lq~{%wnh_n!ZgEzRaST=e?E827we?_lz$V;THe%&`#oxq5uDy}J)Y(0K6nfxey)Ma(v&_wTY%*ijB zK?>sQHo6F&?0*pbhHttAv#}bV;o3z&y|^kg0z|9Lp`1`%i5?85hK{Xe|w!-Y4q1ac928lih{8ctgC_ zigmL-vN)Cm^x2WZnw<3~9qZK2NiNu#b|I=ht25rho+ImAjq~UCNBHNk8b~g%d_0r! z&yrv^gUz;{LONpI$=-h+zcXd{ID5Ad!$#y@LFeZC?;M9W z>?^w?`r6wea@vW{GL`d~9kR2V>_ZM2tT}A3X0b+A?t0eeaenDQb8~ZNKfjsqH&cP( zO_{arOrL;hs(M@f{r#Kc6j~A^-(2xVwG+8-%Rm466}A5Q>w9Uj($A*X zto*vRe!1&|mv7AK^R^w)pQFcUKk;M5pWlxkKfdqYe>nU{(24>!#RC;K|Ng!({L%HD zX~q|S&Rq}pG8{R2tFkDBY0tqX6xHB>G05{>6>o`b^#?-Hyn>*2;TZiY+dN;9D{@AOJDka@IP;O zeA;PM)q(?=f)%f)KHeAC$#y~N&$g`%mi;#p=Q5sovp;k@9|K?e;k(SckKSMNVP%Z% zYq4FAr!fAyG5=jtP*&=?-}?Ic+7JG(dRi#sthsg9FXj`H_iWi$tny-a6!>2|yK?c? zdkkyh?uou}oyL~elcRifTu>9)j z$tsbI^?KZw;@`aJDrZWG{Pwcy|DQi+-Yf55e$QfYmZ9zY_wsfBtdsuA9C+iueP#T8 zao50{O*+9yPTO&1SD4}Sy6+G6aQu1o>+8B13fs3H ok^LAiaFEBr#hI}M8GV+2tbO=OZ0-gbU;)YC>FVdQ&MBb@0M0ypaR2}S