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