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/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/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 ..() 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/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 2ddbd672c5..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() //regenerate eyeballs overlays. + H.dna?.species?.handle_body(H) //regenerate eyeballs overlays. M.update_tint() owner.update_sight() 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.