diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index 95595ef713..3a8b58d146 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -336,7 +336,7 @@
/datum/quirk/hypno/add()
//You caught me, it's not actually based off a trigger, stop spoiling the effect! Code diving ruins the magic!
- addtimer(CALLBACK(src, /datum/quirk/Hypno.proc/triggered, quirk_holder), rand(12000, 36000))//increase by 100, it's lower so I can test it.
+ addtimer(CALLBACK(src, /datum/quirk/hypno.proc/triggered, quirk_holder), rand(12000, 36000))//increase by 100, it's lower so I can test it.
//DOES NOT give any indication when someone is triggered - this is intentional so people don't abuse it, you're supposed to get a random thing said to you as a mini objective.
/datum/quirk/hypno/proc/triggered(quirk_holder)//I figured I might as well make a trait of code I added.
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 867c3787bc..36b17dc84c 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -358,7 +358,7 @@
required_reagents[pick(additions)] = rand(1, 5)//weird
/datum/chemical_reaction/fermi/secretcatchem/FermiFinish(datum/reagents/holder, var/atom/my_atom)//Strange how this doesn't work but the other does.
- message_admins("Someone found the hidden reaction. Amazing!! Please tell Fermis!!")
+ SSblackbox.record_feedback("catgirlium", "catgirlium made!")//log
//ReagentVars
//Turns you into a cute catto while it's in your system.
@@ -400,7 +400,8 @@
catto.name = H.name
catto.desc = "A cute catto! They remind you of [H] somehow."
catto.color = "#[H.dna.features["mcolor"]]"
- H.forceMove(locate(10,6,1))//To the zelda room.
+ //H.forceMove(locate(10,6,1))//To the zelda room.
+ H.moveToNullspace()
/datum/reagent/fermi/secretcatchem/on_mob_life(mob/living/carbon/H)
if(prob(5))
@@ -410,7 +411,7 @@
/datum/reagent/fermi/secretcatchem/on_mob_delete(mob/living/carbon/H)
var/words = "Your body shifts back to normal."
- do_teleport(H, catto.loc)
+ H.forceMove(catto)
catto.mind.transfer_to(H)
if(catshift == TRUE)
words += " ...But wait, are those ears and a tail?"
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index 0ed03c0c45..2b282cd8d6 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -840,7 +840,9 @@
//cacluate reagent based pH shift.
pH = ((cached_pH * cached_total)+(D.pH * amount))/(cached_total + amount)//should be right
- holder.pH_check()//checks beaker resilience
+ if(istype(my_atom, /obj/item/reagent_containers/))
+ var/obj/item/reagent_containers/RC = my_atom
+ RC.pH_check()//checks beaker resilience
//add the reagent to the existing if it exists
for(var/A in cached_reagents)
@@ -924,7 +926,9 @@
pH = 7
else
pH = ((pH * total_volume)-(R.pH * amount))/(total_volume - amount)
- holder.pH_check()
+ if(istype(my_atom, /obj/item/reagent_containers/))
+ var/obj/item/reagent_containers/RC = my_atom
+ RC.pH_check()//checks beaker resilience)
amount = CLAMP(amount, 0, R.volume)
R.volume -= amount
update_total()
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 85304519c1..5a5a728a47 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -131,10 +131,10 @@
return
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 temperature!")
+ for(var/mob/H in seen)
+ to_chat(H, "[iconhtml] \The [src]'s melts from the temperature!")
playsound(get_turf(src), 'sound/FermiChem/heatmelt.ogg', 80, 1)
- qdel(A)
+ qdel(src)
..()
//melts plastic beakers
@@ -148,16 +148,16 @@
for(var/mob/M in seen)
to_chat(M, "[iconhtml] \The [src]'s melts from the temperature!")
playsound(get_turf(src), 'sound/FermiChem/heatmelt.ogg', 80, 1)
- qdel(A)
+ qdel(src)
//melts glass beakers
/obj/item/reagent_containers/proc/pH_check()
if(pH_immunne == TRUE)
return
- else if((pH < 0.5) || (pH > 13.5))
+ else if((reagents.pH < 0.5) || (reagents.pH > 13.5))
var/list/seen = viewers(5, get_turf(src))
- var/iconhtml = icon2html(A, seen)
+ var/iconhtml = icon2html(src, seen)
for(var/mob/M in seen)
- to_chat(M, "[iconhtml] \The [my_atom]'s melts from the extreme pH!")
+ to_chat(M, "[iconhtml] \The [src]'s melts from the extreme pH!")
playsound(get_turf(src), 'sound/FermiChem/acidmelt.ogg', 80, 1)
- qdel(A)
+ qdel(src)
diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm
index 66befb1bb6..b0c759e005 100644
--- a/code/modules/reagents/reagent_containers/bottle.dm
+++ b/code/modules/reagents/reagent_containers/bottle.dm
@@ -7,6 +7,8 @@
item_state = "atoxinbottle"
possible_transfer_amounts = list(5,10,15,25,30)
volume = 30
+ temp_immune = TRUE //required so that things don't melt when you dispence them in the chem_master.
+ pH_immunne = TRUE
/obj/item/reagent_containers/glass/bottle/Initialize()
@@ -240,7 +242,7 @@
name = "Rhinovirus culture bottle"
desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
spawned_disease = /datum/disease/advance/cold
-
+
/obj/item/reagent_containers/glass/bottle/flu_virion
name = "Flu virion culture bottle"
desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium."
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index b52d74bfd0..2cb90e6cde 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -176,6 +176,7 @@
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,150)
temp_immune = FALSE
+ pH_immunne = TRUE
/obj/item/reagent_containers/glass/beaker/plastic/update_icon()
icon_state = "beakerlarge" // hack to lets us reuse the large beaker reagent fill states
@@ -190,6 +191,8 @@
volume = 200
amount_per_transfer_from_this = 10
possible_transfer_amounts = list(5,10,15,20,25,30,50,100,200)
+ temp_immune = TRUE
+ pH_immunne = TRUE
/obj/item/reagent_containers/glass/beaker/noreact
name = "cryostasis beaker"
@@ -199,6 +202,8 @@
materials = list(MAT_METAL=3000)
volume = 50
amount_per_transfer_from_this = 10
+ temp_immune = TRUE
+ pH_immunne = TRUE
/obj/item/reagent_containers/glass/beaker/noreact/Initialize()
. = ..()
diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi
index df9517aeaa..fa0c138d21 100644
Binary files a/icons/obj/assemblies/new_assemblies.dmi and b/icons/obj/assemblies/new_assemblies.dmi differ