From 95a2479c6aaf200cafe7cf1e217a864c81e6c904 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 24 Jan 2020 04:56:41 +0100 Subject: [PATCH 1/4] Additional runtime fixes. --- _maps/map_files/MetaStation/MetaStation.dmm | 2 +- code/modules/surgery/organs/eyes.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 7fbd2921e8..cd50d90edb 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -44934,7 +44934,7 @@ /area/maintenance/port) "bKY" = ( /obj/machinery/power/apc{ - areastring = "/area/vacant_room/office"; + areastring = "/area/security/vacantoffice"; dir = 8; name = "Vacant Office APC"; pixel_x = -25 diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 2ddbd672c5..f4b7e25af1 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -43,7 +43,7 @@ else eye_color = H.eye_color if(!special) - H.dna?.species?.handle_body() //regenerate eyeballs overlays. + H.dna?.species?.handle_body(M) //regenerate eyeballs overlays. M.update_tint() owner.update_sight() From a6c3917bfc277da0c31272911568f6fa33a477c7 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 24 Jan 2020 05:01:51 +0100 Subject: [PATCH 2/4] M H M H --- code/modules/surgery/organs/eyes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index f4b7e25af1..c09d1ac1fc 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -43,7 +43,7 @@ else eye_color = H.eye_color if(!special) - H.dna?.species?.handle_body(M) //regenerate eyeballs overlays. + H.dna?.species?.handle_body(H) //regenerate eyeballs overlays. M.update_tint() owner.update_sight() From 6677e821958a0e98b930902a759d1d13c0a865d6 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 24 Jan 2020 05:19:47 +0100 Subject: [PATCH 3/4] Turf magic and people spamclicking. --- code/game/turfs/simulated/wall/mineral_walls.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index be46d124ea..d55cb0b475 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -138,7 +138,8 @@ var/duration = (48/W.force) * 2 //In seconds, for now. if(istype(W, /obj/item/hatchet) || istype(W, /obj/item/twohanded/fireaxe)) duration /= 4 //Much better with hatchets and axes. - if(do_after(user, duration*10, target=src)) //Into deciseconds. + var/src_type = type + if(do_after(user, duration*10, target=src) && type == src_type) //Into deciseconds. dismantle_wall(FALSE,FALSE) return return ..() From 6fe0c57c423ab56a9650bd15d7fd10bd3379f447 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 24 Jan 2020 20:48:32 +0100 Subject: [PATCH 4/4] run-extra-times fixes. --- code/game/objects/items/defib.dm | 17 +++++----- code/game/objects/objs.dm | 2 +- code/modules/mob/mob_defines.dm | 2 +- .../reagents/chemistry/recipes/fermi.dm | 34 ++++++++++--------- 4 files changed, 29 insertions(+), 26 deletions(-) diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 07d58c1754..386b1fe668 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -452,14 +452,15 @@ return TRUE /obj/item/twohanded/shockpaddles/proc/shock_touching(dmg, mob/H) - if(req_defib) - if(defib.pullshocksafely && isliving(H.pulledby)) - H.visible_message("The defibrillator safely discharges the excessive charge into the floor!") - else - var/mob/living/M = H.pulledby - if(M.electrocute_act(30, src)) - M.visible_message("[M] is electrocuted by [M.p_their()] contact with [H]!") - M.emote("scream") + if(!H.pulledby || !isliving(H.pulledby)) + return + if(req_defib && defib.pullshocksafely) + H.visible_message("The defibrillator safely discharges the excessive charge into the floor!") + return + var/mob/living/M = H.pulledby + if(M.electrocute_act(30, src)) + M.visible_message("[M] is electrocuted by [M.p_their()] contact with [H]!") + M.emote("scream") /obj/item/twohanded/shockpaddles/proc/do_disarm(mob/living/M, mob/living/user) if(req_defib && defib.safety) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 5f3fc48eb7..0c1239e887 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -178,7 +178,7 @@ machine = null //called when the user unsets the machine. -/atom/movable/proc/on_unset_machine(mob/user) +/atom/proc/on_unset_machine(mob/user) return /mob/proc/set_machine(obj/O) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 8dae1f30f7..1402b78908 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -26,7 +26,7 @@ var/computer_id = null var/list/logging = list() - var/obj/machinery/machine = null + var/atom/machine = null var/next_move = null var/create_area_cooldown diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index 31e319edd3..63c0c01a58 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -200,8 +200,10 @@ FermiExplode = TRUE PurityMin = 0.1 -/datum/chemical_reaction/fermi/breast_enlarger/FermiFinish(datum/reagents/holder, var/atom/my_atom) +/datum/chemical_reaction/fermi/breast_enlarger/FermiFinish(datum/reagents/holder, atom/my_atom) var/datum/reagent/fermi/breast_enlarger/BE = locate(/datum/reagent/fermi/breast_enlarger) in my_atom.reagents.reagent_list + if(!BE) + return var/cached_volume = BE.volume if(BE.purity < 0.35) holder.remove_reagent(type, cached_volume) @@ -249,8 +251,10 @@ P.length = ((PE.volume * PE.purity) / 10)//half as effective. my_atom.reagents.clear_reagents() -/datum/chemical_reaction/fermi/penis_enlarger/FermiFinish(datum/reagents/holder, var/atom/my_atom) +/datum/chemical_reaction/fermi/penis_enlarger/FermiFinish(datum/reagents/holder, atom/my_atom) var/datum/reagent/fermi/penis_enlarger/PE = locate(/datum/reagent/fermi/penis_enlarger) in my_atom.reagents.reagent_list + if(!PE) + return var/cached_volume = PE.volume if(PE.purity < 0.35) holder.remove_reagent(type, cached_volume) @@ -306,13 +310,11 @@ /datum/chemical_reaction/fermi/enthrall/FermiFinish(datum/reagents/holder, var/atom/my_atom) var/datum/reagent/blood/B = locate(/datum/reagent/blood) in my_atom.reagents.reagent_list var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in my_atom.reagents.reagent_list - if(!B) + if(!B || !E) return if(!B.data) - var/list/seen = viewers(5, get_turf(my_atom)) - for(var/mob/M in seen) - to_chat(M, "The reaction splutters and fails to react properly.") //Just in case - E.purity = 0 + my_atom.visible_message("The reaction splutters and fails to react properly.") //Just in case + E.purity = 0 if (B.data["gender"] == "female") E.data["creatorGender"] = "Mistress" E.creatorGender = "Mistress" @@ -332,11 +334,11 @@ /datum/chemical_reaction/fermi/enthrall/slime/FermiFinish(datum/reagents/holder, var/atom/my_atom) var/datum/reagent/blood/jellyblood/B = locate(/datum/reagent/blood/jellyblood) in my_atom.reagents.reagent_list//The one line change. var/datum/reagent/fermi/enthrall/E = locate(/datum/reagent/fermi/enthrall) in my_atom.reagents.reagent_list + if(!B || !E) + return if(!B.data) - var/list/seen = viewers(5, get_turf(my_atom)) - for(var/mob/M in seen) - to_chat(M, "The reaction splutters and fails to react.") //Just in case - E.purity = 0 + my_atom.visible_message("The reaction splutters and fails to react properly.") //Just in case + E.purity = 0 if (B.data["gender"] == "female") E.data["creatorGender"] = "Mistress" E.creatorGender = "Mistress" @@ -466,9 +468,9 @@ /datum/chemical_reaction/fermi/acidic_buffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this - if(!locate(/datum/reagent/fermi/acidic_buffer) in my_atom.reagents.reagent_list) - return var/datum/reagent/fermi/acidic_buffer/Fa = locate(/datum/reagent/fermi/acidic_buffer) in my_atom.reagents.reagent_list + if(!Fa) + return Fa.data = 0.1//setting it to 0 means byond thinks it's not there. /datum/chemical_reaction/fermi/basic_buffer//done test @@ -493,10 +495,10 @@ FermiChem = TRUE -/datum/chemical_reaction/fermi/basic_buffer/FermiFinish(datum/reagents/holder, var/atom/my_atom) //might need this - if(!locate(/datum/reagent/fermi/basic_buffer) in my_atom.reagents.reagent_list) - return +/datum/chemical_reaction/fermi/basic_buffer/FermiFinish(datum/reagents/holder, atom/my_atom) //might need this var/datum/reagent/fermi/basic_buffer/Fb = locate(/datum/reagent/fermi/basic_buffer) in my_atom.reagents.reagent_list + if(!Fb) + return Fb.data = 14 //secretcatchemcode, shh!! Of couse I hide it amongst cats. Though, I moved it with your requests.