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.