From d7cffadc13accc4c54fee0e11a870629d761d479 Mon Sep 17 00:00:00 2001 From: Fermi Date: Fri, 14 Jun 2019 13:43:57 +0100 Subject: [PATCH] Fixes --- code/modules/reagents/chemistry/holder.dm | 3 +++ .../reagents/reagent_containers/glass.dm | 3 +++ code/modules/surgery/organs/vocal_cords.dm | 10 ++++++- .../code/datums/status_effects/chems.dm | 3 ++- .../chemistry/reagents/eigentstasium.dm | 2 +- .../chemistry/reagents/fermi_reagents.dm | 12 ++++----- .../objects/{fermiclothes.dm => clothes.dm} | 13 ++++++++-- .../code/modules/reagents/objects/items.dm | 26 +++++++++++++++++-- 8 files changed, 59 insertions(+), 13 deletions(-) rename modular_citadel/code/modules/reagents/objects/{fermiclothes.dm => clothes.dm} (81%) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index a32ea45a01..75caca79ea 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -524,6 +524,7 @@ fermiIsReacting = FALSE reactedVol = 0 targetVol = 0 + holder.pH_check() C.FermiFinish(src, my_atom, multiplier) handle_reactions() update_total() @@ -549,6 +550,7 @@ fermiIsReacting = FALSE reactedVol = 0 targetVol = 0 + holder.pH_check() C.FermiFinish(src, my_atom, multiplier) handle_reactions() update_total() @@ -564,6 +566,7 @@ fermiIsReacting = FALSE reactedVol = 0 targetVol = 0 + holder.pH_check() C.FermiFinish(src, my_atom, multiplier) handle_reactions() update_total() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 709a73d1ba..28fc36e080 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -178,6 +178,7 @@ /obj/item/reagent_containers/glass/beaker/plastic/Initialize() beaker_weakness_bitflag &= ~PH_WEAK beaker_weakness_bitflag |= TEMP_WEAK + . = ..() /obj/item/reagent_containers/glass/beaker/plastic/update_icon() icon_state = "beakerlarge" // hack to lets us reuse the large beaker reagent fill states @@ -195,6 +196,7 @@ /obj/item/reagent_containers/glass/beaker/meta/Initialize() beaker_weakness_bitflag &= ~PH_WEAK + . = ..() /obj/item/reagent_containers/glass/beaker/noreact name = "cryostasis beaker" @@ -279,6 +281,7 @@ /obj/item/reagent_containers/glass/bucket/Initialize() beaker_weakness_bitflag |= TEMP_WEAK + . = ..() /obj/item/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params) if(istype(O, /obj/item/mop)) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index d5f8700f6c..6c40f2f4ca 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -620,7 +620,15 @@ var/next_command = 0 var/cooldown_mod = 1 var/base_multiplier = 1 - //spans = list("say","yell") + +/datum/action/item_action/organ_action/velvet/Trigger() + . = ..() + var/command = input(owner, "Speak with the Voice of God", "Command") + if(QDELETED(src) || QDELETED(owner)) + return + if(!command) + return + owner.say(".x[command]") /obj/item/organ/vocal_cords/velvet/handle_speech(message) //actually say the message owner.say(message, spans = spans, sanitize = FALSE) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index b201f394cc..abba911bf2 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -280,7 +280,7 @@ resistanceTally /= 2 enthrallTally = 0 if(owner.lewd) - to_chat(owner, "Your conciousness slips, as you sink deeper into trance and servitude.") + to_chat(owner, "Your conciousness slips, as you sink deeper into trance and servitude.") else else if (resistanceTally > 150) @@ -512,6 +512,7 @@ if (tranceTime > 0) //custom trances only last 50 ticks. tranceTime -= 1 else if (!tranceTime == null) //remove trance after. + M.cure_trauma_type(/datum/brain_trauma/hypnosis, TRAUMA_RESILIENCE_SURGERY) M.remove_status_effect(/datum/status_effect/trance) tranceTime = null //..() diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm index e2a71a3759..6292a54d3b 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm @@ -34,7 +34,7 @@ if(current_cycle == 0) location_return = get_turf(M) //sets up return point to_chat(M, "You feel your wavefunction split!") - if(purity > 0.75) //Teleports you home if it's pure enough + 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 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 d0c25cfb86..19b3842000 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -94,12 +94,12 @@ /datum/reagent/fermi/hatmium/on_mob_life(mob/living/carbon/human/M) if(!M.head == /obj/item/clothing/head/hattip) return ..() - var/hatArmor = (1+(current_cycle/30))*purity - for(var/datum/armor/i in M.head) - if(!overdosed) - i = hatArmor - else - i = -hatArmor + if(!overdosed) + var/hatArmor = purity + else + var/hatArmor = - purity + var/obj/item/W = M.head + W.modifyAllRatings(hatArmor) ..() //////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/modular_citadel/code/modules/reagents/objects/fermiclothes.dm b/modular_citadel/code/modules/reagents/objects/clothes.dm similarity index 81% rename from modular_citadel/code/modules/reagents/objects/fermiclothes.dm rename to modular_citadel/code/modules/reagents/objects/clothes.dm index 4a601d4d67..df878da544 100644 --- a/modular_citadel/code/modules/reagents/objects/fermiclothes.dm +++ b/modular_citadel/code/modules/reagents/objects/clothes.dm @@ -19,18 +19,27 @@ user.emote("me",1,"admires such a spiffy hat.",TRUE) return ..() +/obj/item/clothing/head/foilhat/MouseDrop(atom/over_object) + //You sure do love tipping your hat. + if(usr) + var/mob/living/carbon/C = usr + if(src == C.head) + C.emote("me",1,"tips their hat.",TRUE) + return + ..() + /obj/item/clothing/head/hattip/speechModification(message, /mob/living/carbon/C) ..() var/mob/living/carbon/C = get_wearer()//user var/obj/item/organ/tongue/T = C.getorganslot(ORGAN_SLOT_TONGUE) if (T.name == "fluffy tongue") if(prob(0.01)) - message += "\" and tips their hat. \"swpy's sappin' my swentwy uwu!!" + message += "\" and tips their hat. \"swpy's sappin' my chem dispwencer uwu!!" return message message += "\" and tips their hat. \"[pick("weehaw!", "bwoy howdy.", "dawn tuutin'.", "weww don't that beat aww.", "whoooowee, wouwd ya wook at that!", "whoooowee! makin' bwacon!", "cweam gwavy!", "yippekeeyah-heeyapeeah-kwayoh!", "mwove 'em uut!", "gwiddy up!")]" return message if(prob(0.01)) - message += "\" and tips their hat. \"Spy's sappin' my Sentry!" + message += "\" and tips their hat. \"Spy's sappin' my chem dispenser!"//How did I not think of this earlier message_admins("I really appreciate all the hard work you put into adminning citadel, I hope you're all having a good day and I hope this hidden and rare message admins brightens up your day.") return message message += "\" and tips their hat. \"[pick("Yeehaw!", "Boy howdy.", "Darn tootin'.", "Well don't that beat all.", "Whoooowee, would ya look at that!", "Whoooowee! Makin' bacon!", "Cream Gravy!", "Yippekeeyah-heeyapeeah-kayoh!", "Move 'em out!", "Giddy up!")]" diff --git a/modular_citadel/code/modules/reagents/objects/items.dm b/modular_citadel/code/modules/reagents/objects/items.dm index fb84db7d39..795b18fedc 100644 --- a/modular_citadel/code/modules/reagents/objects/items.dm +++ b/modular_citadel/code/modules/reagents/objects/items.dm @@ -10,7 +10,7 @@ //A little janky with pockets /obj/item/FermiChem/pHbooklet/attack_hand(mob/user) - if(user.get_held_index_of_item(src)) + if(user.get_held_index_of_item(src))//Does this check pockets too..? if(numberOfPages >= 1) var/obj/item/FermiChem/pHpaper/P = new /obj/item/FermiChem/pHpaper P.add_fingerprint(user) @@ -34,6 +34,28 @@ if(!I) user.put_in_active_hand(src) +/obj/item/FermiChem/pHbooklet/MouseDrop(atom/over_object) + if(user.get_held_index_of_item(src)) + user.put_in_active_hand(src) + else + if(numberOfPages >= 1) + var/obj/item/FermiChem/pHpaper/P = new /obj/item/FermiChem/pHpaper + P.add_fingerprint(user) + P.forceMove(user.loc) + user.put_in_active_hand(P) + to_chat(user, "You take [P] out of \the [src].") + numberOfPages-- + playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, 1) + add_fingerprint(user) + if(numberOfPages == 0) + icon_state = "pHbookletEmpty" + return + else + to_chat(user, "[src] is empty!") + add_fingerprint(user) + return + ..() + /obj/item/FermiChem/pHpaper name = "pH indicator strip" desc = "A piece of paper that will change colour depending on the pH of a solution." @@ -51,7 +73,7 @@ if(used == TRUE) to_chat(user, "[user] has already been used!") return - if(LAZYLEN(cont.reagents.reagent_list)) + if(!LAZYLEN(cont.reagents.reagent_list)) return switch(round(cont.reagents.pH, 1)) if(14 to INFINITY)