diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 93f2856544..6f1e9c25a3 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -52,7 +52,7 @@ init_sprite_accessory_subtypes(/datum/sprite_accessory/vagina, GLOB.vagina_shapes_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/breasts, GLOB.breasts_shapes_list) - GLOB.breasts_size_list = list ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "huge", "flat") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing. + GLOB.breasts_size_list = list ("a", "b", "c", "d", "e") //We need the list to choose from initialized, but it's no longer a sprite_accessory thing. GLOB.gentlemans_organ_names = list("phallus", "willy", "dick", "prick", "member", "tool", "gentleman's organ", "cock", "wang", "knob", "dong", "joystick", "pecker", "johnson", "weenie", "tadger", "schlong", "thirsty ferret", "baloney pony", "schlanger") for(var/K in GLOB.breasts_shapes_list) var/datum/sprite_accessory/breasts/value = GLOB.breasts_shapes_list[K] diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index baa31d0f56..27df783781 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -931,7 +931,8 @@ pH = 7 //In practice this is really confusing and players feel like it randomly melts their beakers, but I'm not sure how else to handle it. We'll see how it goes and I can remove this if it confuses people. else - pH = (((pH - R.pH) / total_volume) * amount) + pH + if (((pH > R.pH) && (pH <= 7)) || ((pH < R.pH) && (pH >= 7))) + pH = (((pH - R.pH) / total_volume) * amount) + pH if(istype(my_atom, /obj/item/reagent_containers/)) var/obj/item/reagent_containers/RC = my_atom RC.pH_check()//checks beaker resilience) diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm index bd1f024367..52c40c2ae5 100644 --- a/code/modules/reagents/reagent_containers.dm +++ b/code/modules/reagents/reagent_containers.dm @@ -16,6 +16,7 @@ var/disease_amount = 20 var/spillable = FALSE var/beaker_weakness_bitflag = NONE//Bitflag! + var/container_HP = 2 /obj/item/reagent_containers/Initialize(mapload, vol) . = ..() @@ -160,7 +161,13 @@ if((reagents.pH < 0.5) || (reagents.pH > 13.5)) var/list/seen = viewers(5, get_turf(src)) var/iconhtml = icon2html(src, seen) - for(var/mob/M in seen) - to_chat(M, "[iconhtml] \The [src]'s melts from the extreme pH!") - playsound(get_turf(src), 'sound/FermiChem/acidmelt.ogg', 80, 1) - qdel(src) + container_HP-- + if(container_HP <= 0) + for(var/mob/M in seen) + to_chat(M, "[iconhtml] \The [src]'s melts from the extreme pH!") + playsound(get_turf(src), 'sound/FermiChem/acidmelt.ogg', 80, 1) + qdel(src) + else + for(var/mob/M in seen) + to_chat(M, "[iconhtml] \The [src]'s is damaged by the extreme pH and begins to deform!") + playsound(get_turf(src), 'sound/FermiChem/bufferadd.ogg', 50, 1) diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 3cb9b447dc..3efd17b29b 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -6,6 +6,7 @@ reagent_flags = OPENCONTAINER spillable = TRUE resistance_flags = ACID_PROOF + container_HP = 2 /obj/item/reagent_containers/glass/attack(mob/M, mob/user, obj/target) @@ -114,6 +115,7 @@ item_state = "beaker" materials = list(MAT_GLASS=500) beaker_weakness_bitflag = PH_WEAK + container_HP = 3 /obj/item/reagent_containers/glass/beaker/Initialize() . = ..() @@ -165,6 +167,7 @@ volume = 100 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100) + container_HP = 4 /obj/item/reagent_containers/glass/beaker/plastic name = "x-large beaker" @@ -207,6 +210,7 @@ reagent_flags = OPENCONTAINER | NO_REACT volume = 50 amount_per_transfer_from_this = 10 + container_HP = 10//shouldn't be needed /obj/item/reagent_containers/glass/beaker/noreact/Initialize() beaker_weakness_bitflag &= ~PH_WEAK @@ -223,6 +227,7 @@ volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) + container_HP = 5 /obj/item/reagent_containers/glass/beaker/cryoxadone list_reagents = list("cryoxadone" = 30) @@ -279,6 +284,7 @@ SLOT_L_STORE, SLOT_R_STORE,\ SLOT_GENERC_DEXTROUS_STORAGE ) + container_HP = 2 /obj/item/reagent_containers/glass/bucket/Initialize() beaker_weakness_bitflag |= TEMP_WEAK @@ -332,6 +338,7 @@ materials = list(MAT_GLASS=0) volume = 50 amount_per_transfer_from_this = 10 + container_HP = 1 /obj/item/reagent_containers/glass/beaker/waterbottle/Initialize() beaker_weakness_bitflag |= TEMP_WEAK @@ -347,6 +354,7 @@ list_reagents = list("water" = 100) volume = 100 amount_per_transfer_from_this = 20 + container_HP = 1 /obj/item/reagent_containers/glass/beaker/waterbottle/large/empty list_reagents = list() diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm index bdca91b0e6..c13a77cbed 100755 --- a/modular_citadel/code/game/machinery/vending.dm +++ b/modular_citadel/code/game/machinery/vending.dm @@ -26,12 +26,13 @@ /obj/item/storage/hypospraykit/toxin = 2, /obj/item/storage/hypospraykit/o2 = 2, /obj/item/storage/hypospraykit/brute = 2, + /obj/item/storage/hypospraykit/enlarge = 2, /obj/item/reagent_containers/glass/bottle/vial/small = 5) - + /obj/machinery/vending/wardrobe/chap_wardrobe premium = list(/obj/item/toy/plush/plushvar = 1, /obj/item/toy/plush/narplush = 1) - + #define STANDARD_CHARGE 1 #define CONTRABAND_CHARGE 2 #define COIN_CHARGE 3 diff --git a/modular_citadel/code/game/objects/items/storage/firstaid.dm b/modular_citadel/code/game/objects/items/storage/firstaid.dm index 6ff1bfbe2c..0fab7e04d9 100755 --- a/modular_citadel/code/game/objects/items/storage/firstaid.dm +++ b/modular_citadel/code/game/objects/items/storage/firstaid.dm @@ -103,6 +103,22 @@ new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin(src) new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/dexalin(src) +/obj/item/storage/hypospraykit/enlarge + name = "organomegaly trauma hypospray kit" + icon_state = "enlarge-mini" + item_state = "firstaid-brute" + +/obj/item/storage/hypospraykit/enlarge/PopulateContents() + if(empty) + return + new /obj/item/hypospray/mkii(src) + new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction(src) + new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction(src) + new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction(src) + new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction(src) + new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction(src) + new /obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction(src) + /obj/item/storage/hypospraykit/brute name = "brute trauma hypospray kit" icon_state = "brute-mini" diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 59acb9f42d..6d5342dbee 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -12,7 +12,7 @@ size = 2 //arbitrary value derived from length and girth for sprites. var/length = 6 //inches var/cached_length //used to detect a change in length - var/girth = 0 + var/girth = 4.38 var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF var/list/dickflags = list() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm index ce39d26a6b..52aef76be0 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/enlargement.dm @@ -27,7 +27,7 @@ overdose_threshold = 12 metabolization_rate = 0.25 ImpureChem = "BEsmaller" //If you make an inpure chem, it stalls growth - InverseChemVal = 0.3 + InverseChemVal = 0.35 InverseChem = "BEsmaller" //At really impure vols, it just becomes 100% inverse /datum/reagent/fermi/breast_enlarger/on_mob_add(mob/living/carbon/M) @@ -155,6 +155,9 @@ B.update() ..() +/datum/reagent/fermi/PEsmaller/hypo + name = "Modesty milk" + description = "A medicine used to treat organomegaly in a patient's breasts." //////////////////////////////////////////////////////////////////////////////////////////////////// // PENIS ENLARGE @@ -171,7 +174,7 @@ overdose_threshold = 12 //ODing makes you male and removes female genitals metabolization_rate = 0.25 ImpureChem = "PEsmaller" //If you make an inpure chem, it stalls growth - InverseChemVal = 0.3 + InverseChemVal = 0.35 InverseChem = "PEsmaller" //At really impure vols, it just becomes 100% inverse and shrinks instead. /datum/reagent/fermi/penis_enlarger/on_mob_add(mob/living/carbon/M) @@ -265,7 +268,7 @@ /datum/reagent/fermi/PEsmaller // Due to cozmo's request...! name = "Incubus draft" id = "PEsmaller" - description = "A volatile collodial mixture derived from various masculine solutions that encourages a larger gentleman's package via a potent testosterone mix, formula derived from a collaboration from Fermichem and Doctor Ronald Hyatt, who is well known for his phallus palace." //The toxic masculinity thing is a joke because I thought it would be funny to include it in the reagents, but I don't think many would find it funny? dumb + description = "A volatile collodial mixture derived from various masculine solutions that encourages a larger gentleman's package via a potent testosterone mix, formula derived from a collaboration from Fermichem and Doctor Ronald Hyatt, who is well known for his phallus palace." color = "#888888" // This is greyish..? taste_description = "chinese dragon powder" metabolization_rate = 0.5 @@ -285,3 +288,7 @@ P.cached_length = P.cached_length - 0.1 P.update() ..() + +/datum/reagent/fermi/PEsmaller/hypo + name = "Chastity draft" + description = "A medicine used to treat organomegaly in a patient's penis." diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index 743055b279..fa1c2f714b 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -184,7 +184,7 @@ //Writen by Trilby!! Embellsished a little by me. /datum/reagent/fermi/nanite_b_gone - name = "Naninte bain" + name = "Naninte bane" id = "nanite_b_gone" description = "A stablised EMP that is highly volatile, shocking small nano machines that will kill them off at a rapid rate in a patient's system." color = "#708f8f" diff --git a/modular_citadel/code/modules/reagents/reagent container/hypovial.dm b/modular_citadel/code/modules/reagents/reagent container/hypovial.dm index a58a7fc825..82cfb08e68 100755 --- a/modular_citadel/code/modules/reagents/reagent container/hypovial.dm +++ b/modular_citadel/code/modules/reagents/reagent container/hypovial.dm @@ -146,6 +146,16 @@ icon_state = "hypovial" comes_with = list("tricordrazine" = 30) +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/breastreduction + name = "pink hypovial (breast reduction)" + icon_state = "hypovial-p" + comes_with = list("BEsmaller" = 30) + +/obj/item/reagent_containers/glass/bottle/vial/small/preloaded/penisreduction + name = "pink hypovial (penis reduction)" + icon_state = "hypovial-p" + comes_with = list("PEsmaller" = 30) + /obj/item/reagent_containers/glass/bottle/vial/large/preloaded/CMO name = "deluxe hypovial" icon_state = "hypoviallarge-cmos" diff --git a/modular_citadel/icons/firstaid.dmi b/modular_citadel/icons/firstaid.dmi index 693f5a2fa4..1e000e000f 100644 Binary files a/modular_citadel/icons/firstaid.dmi and b/modular_citadel/icons/firstaid.dmi differ diff --git a/modular_citadel/icons/obj/vial.dmi b/modular_citadel/icons/obj/vial.dmi index bc282ab1d3..38402d4ad0 100755 Binary files a/modular_citadel/icons/obj/vial.dmi and b/modular_citadel/icons/obj/vial.dmi differ