diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 75caca79ea..be879ba08e 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -524,7 +524,10 @@ fermiIsReacting = FALSE reactedVol = 0 targetVol = 0 - holder.pH_check() + //pH check, handled at the end to reduce calls. + if(istype(my_atom, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/RC = my_atom + RC.pH_check() C.FermiFinish(src, my_atom, multiplier) handle_reactions() update_total() @@ -550,7 +553,10 @@ fermiIsReacting = FALSE reactedVol = 0 targetVol = 0 - holder.pH_check() + //pH check, handled at the end to reduce calls. + if(istype(my_atom, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/RC = my_atom + RC.pH_check() C.FermiFinish(src, my_atom, multiplier) handle_reactions() update_total() @@ -566,7 +572,10 @@ fermiIsReacting = FALSE reactedVol = 0 targetVol = 0 - holder.pH_check() + //pH check, handled at the end to reduce calls. + if(istype(my_atom, /obj/item/reagent_containers)) + var/obj/item/reagent_containers/RC = my_atom + RC.pH_check() C.FermiFinish(src, my_atom, multiplier) handle_reactions() update_total() @@ -860,8 +869,9 @@ if(my_atom) my_atom.on_reagent_change(ADD_REAGENT) R.on_merge(data, amount, my_atom, other_purity) - if(R.OnMobMergeCheck == TRUE)//Forces on_mob_add proc when a chem is merged - R.on_mob_add(my_atom, amount) + if(isliving(my_atom)) + if(R.OnMobMergeCheck == TRUE)//Forces on_mob_add proc when a chem is merged + R.on_mob_add(my_atom, amount) if(!no_react) handle_reactions() diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm index d568d66d78..375310b805 100755 --- a/code/modules/surgery/organs/liver.dm +++ b/code/modules/surgery/organs/liver.dm @@ -58,6 +58,7 @@ //Just in case /obj/item/organ/liver/Remove(mob/living/carbon/M, special = 0) + ..() M.remove_movespeed_modifier(LIVER_SWELLING_MOVE_MODIFY) M.ResetBloodVol() //At the moment, this shouldn't allow application twice. You either have this OR a thirsty ferret. sizeMoveMod(1, M) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 1408bff60c..018a6c2e0c 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -22,6 +22,7 @@ if(replaced) replaced.Remove(M, special = 1) if(drop_if_replaced) + message_admins("[get_turf(M)]") replaced.forceMove(get_turf(M)) else qdel(replaced) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 6c40f2f4ca..7bae833245 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -1239,7 +1239,7 @@ else return - if(message_admins) + if(message_admins)//Do you want this in? message_admins("[ADMIN_LOOKUPFLW(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") log_game("FERMICHEM: [key_name(user)] has said '[log_message]' with a Velvet Voice, affecting [english_list(listeners)], with a power multiplier of [power_multiplier].") //SSblackbox.record_feedback("tally", "Velvet_voice", 1, log_message) If this is on, it fills the thing up and OOFs the server diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index abba911bf2..f1c802ab0d 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -714,5 +714,4 @@ if(M.has_trait(TRAIT_MINDSHIELD)) deltaResist += 5//even faster! - message_admins("Enthrall processing for [M]: enthrallTally: [enthrallTally], resistanceTally: [resistanceTally], delta: [deltaResist]") return diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm index 6292a54d3b..7794037e27 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm @@ -21,7 +21,7 @@ addiction_stage2_end = 30 addiction_stage3_end = 41 addiction_stage4_end = 44 //Incase it's too long - var/location_created + var/turf/location_created var/turf/open/location_return = null var/addictCyc3 = 0 var/mob/living/fermi_Tclone = null @@ -36,9 +36,9 @@ to_chat(M, "You feel your wavefunction split!") if(purity > 0.8 && location_created) //Teleports you home if it's pure enough log_game("FERMICHEM: [M] ckey: [M.key] returned to [location_created] using eigenstasium") - var/turf/open/creation = location_created + //var/turf/open/creation = location_created do_sparks(5,FALSE,M) - do_teleport(M, creation, 0, asoundin = 'sound/effects/phasein.ogg') + do_teleport(M, location_created, 0, asoundin = 'sound/effects/phasein.ogg') do_sparks(5,FALSE,M) if(prob(20)) do_sparks(5,FALSE,M) 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 19b3842000..f081bef0b8 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -83,7 +83,7 @@ . = ..() if(M.head) var/obj/item/W = M.head - if(W == /obj/item/clothing/head/hattip) + if(istype(W, /obj/item/clothing/head/hattip)) qdel(W) else M.dropItemToGround(W, TRUE) @@ -92,14 +92,15 @@ /datum/reagent/fermi/hatmium/on_mob_life(mob/living/carbon/human/M) - if(!M.head == /obj/item/clothing/head/hattip) + if(!istype(M.head, /obj/item/clothing/head/hattip)) return ..() + var/hatArmor = 0 if(!overdosed) - var/hatArmor = purity + hatArmor = (purity/10) else - var/hatArmor = - purity + hatArmor = - (purity/10) var/obj/item/W = M.head - W.modifyAllRatings(hatArmor) + W.armor = W.armor.modifyAllRatings(hatArmor) ..() //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -399,9 +400,14 @@ catto.color = "#[H.dna.features["mcolor"]]" H.moveToNullspace() log_game("FERMICHEM: [H] ckey: [H.key] has been made into a cute catto.") + //Just to deal with rascally ghosts + catto.add_trait(TRAIT_NODEATH, "catto") /datum/reagent/fermi/secretcatchem/on_mob_life(mob/living/carbon/H) - if(prob(5)) + if(catto.health <= 50) + catto.icon_state = "custom_cat_dead" + catto.stun(1000) + else if(prob(5)) playsound(get_turf(catto), 'modular_citadel/sound/voice/merowr.ogg', 50, 1, -1) catto.say("lets out a meowrowr!*") ..() diff --git a/modular_citadel/code/modules/reagents/objects/clothes.dm b/modular_citadel/code/modules/reagents/objects/clothes.dm index df878da544..cab2e41947 100644 --- a/modular_citadel/code/modules/reagents/objects/clothes.dm +++ b/modular_citadel/code/modules/reagents/objects/clothes.dm @@ -19,7 +19,7 @@ user.emote("me",1,"admires such a spiffy hat.",TRUE) return ..() -/obj/item/clothing/head/foilhat/MouseDrop(atom/over_object) +/obj/item/clothing/head/hattip/MouseDrop(atom/over_object) //You sure do love tipping your hat. if(usr) var/mob/living/carbon/C = usr diff --git a/modular_citadel/code/modules/reagents/objects/items.dm b/modular_citadel/code/modules/reagents/objects/items.dm index 795b18fedc..a5e5d02da4 100644 --- a/modular_citadel/code/modules/reagents/objects/items.dm +++ b/modular_citadel/code/modules/reagents/objects/items.dm @@ -34,7 +34,7 @@ if(!I) user.put_in_active_hand(src) -/obj/item/FermiChem/pHbooklet/MouseDrop(atom/over_object) +/obj/item/FermiChem/pHbooklet/MouseDrop(atom/over_object, mob/user) if(user.get_held_index_of_item(src)) user.put_in_active_hand(src) else diff --git a/tgstation.dme b/tgstation.dme index 00d3bcbed8..d411c46f94 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -3016,7 +3016,7 @@ #include "modular_citadel\code\modules\reagents\chemistry\reagents\other_reagents.dm" #include "modular_citadel\code\modules\reagents\chemistry\reagents\SDGF.dm" #include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm" -#include "modular_citadel\code\modules\reagents\objects\fermiclothes.dm" +#include "modular_citadel\code\modules\reagents\objects\clothes.dm" #include "modular_citadel\code\modules\reagents\objects\items.dm" #include "modular_citadel\code\modules\reagents\reagent container\cit_kegs.dm" #include "modular_citadel\code\modules\reagents\reagent container\hypospraymkii.dm"