diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index 10f1d8c64c..d3d4978d3d 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -1170,7 +1170,10 @@ var/list/WALLITEMS = list(
/obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/button/remote,
/obj/machinery/computer/security/telescreen, /obj/machinery/embedded_controller/radio,
/obj/item/weapon/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth,
- /obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment
+ /obj/structure/mirror, /obj/structure/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment,
+ /obj/machinery/doorbell_chime, /obj/machinery/button/doorbell, /obj/machinery/atm, /obj/machinery/recharger/wallcharger, //CHOMPEdit
+ /obj/machinery/computer/guestpass, /obj/item/device/geiger/wall, /obj/machinery/button/windowtint, /obj/machinery/computer/id_restorer, //CHOMPEdit
+ /obj/machinery/computer/timeclock, /obj/machinery/station_map, /obj/machinery/ai_status_display //CHOMPEdit
)
/proc/gotwallitem(loc, dir)
for(var/obj/O in loc)
diff --git a/code/game/machinery/fire_alarm.dm b/code/game/machinery/fire_alarm.dm
index e8e5e7b4de..781352ece4 100644
--- a/code/game/machinery/fire_alarm.dm
+++ b/code/game/machinery/fire_alarm.dm
@@ -71,6 +71,7 @@ FIRE ALARM
QDEL_NULL(engalarm) // CHOMPEdit: Clearing the loop here too
QDEL_NULL(critalarm) // CHOMPEdit: Clearing the loop here too
QDEL_NULL(causality) // CHOMPEdit: Clearing the loop here too
+ reset() //CHOMPEdit alarm needs to go when destroyed
return ..()
/obj/machinery/firealarm/proc/offset_alarm()
diff --git a/modular_chomp/code/game/machinery/portable_turret.dm b/modular_chomp/code/game/machinery/portable_turret.dm
index e32b110f34..f4c5b9e6f4 100644
--- a/modular_chomp/code/game/machinery/portable_turret.dm
+++ b/modular_chomp/code/game/machinery/portable_turret.dm
@@ -3,7 +3,7 @@
use_power = FALSE
idle_power_usage = 0
active_power_usage = 0
- health = 20
+ health = 5 //extremely brittle
maxhealth = 20
reqpower = 0
enabled = TRUE
@@ -60,4 +60,8 @@
else
// Its closed.
- icon_state = "turret_cover_[turret_type]"
\ No newline at end of file
+ icon_state = "turret_cover_[turret_type]"
+
+/obj/machinery/porta_turret/rcd/die()
+ spark_system.start()
+ qdel(src)
\ No newline at end of file
diff --git a/modular_chomp/code/game/objects/items/holosign_creator.dm b/modular_chomp/code/game/objects/items/holosign_creator.dm
index 77406bcc23..325efda50a 100644
--- a/modular_chomp/code/game/objects/items/holosign_creator.dm
+++ b/modular_chomp/code/game/objects/items/holosign_creator.dm
@@ -25,26 +25,25 @@
to_chat(user, "You use [src] to deactivate [H].")
qdel(H)
else
- if(!is_blocked_turf(T, TRUE)) //can't put holograms on a tile that has dense stuff
- if(holocreator_busy)
- to_chat(user, "[src] is busy creating a hologram.")
- return
- if(signs.len < max_signs)
- playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
- if(creation_time)
- holocreator_busy = TRUE
- if(!do_after(user, creation_time, target = target))
- holocreator_busy = FALSE
- return
+ if(holocreator_busy)
+ to_chat(user, "[src] is busy creating a hologram.")
+ return
+ if(signs.len < max_signs)
+ playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
+ if(creation_time)
+ holocreator_busy = TRUE
+ if(!do_after(user, creation_time, target = target))
holocreator_busy = FALSE
- if(signs.len >= max_signs)
- return
- if(is_blocked_turf(T, TRUE)) //don't try to sneak dense stuff on our tile during the wait.
- return
- H = new holosign_type(get_turf(target), src)
- to_chat(user, "You create \a [H] with [src].")
- else
- to_chat(user, "[src] is projecting at max capacity!")
+ return
+ holocreator_busy = FALSE
+ if(signs.len >= max_signs)
+ return
+ if(is_blocked_turf(T, TRUE)) //don't try to sneak dense stuff on our tile during the wait.
+ return
+ H = new holosign_type(get_turf(target), src)
+ to_chat(user, "You create \a [H] with [src].")
+ else
+ to_chat(user, "[src] is projecting at max capacity!")
/obj/item/weapon/holosign_creator/attack_self(mob/user)
. = ..()
diff --git a/modular_chomp/code/game/objects/items/weapons/RCD.dm b/modular_chomp/code/game/objects/items/weapons/RCD.dm
index 13e29598f7..098efd640d 100644
--- a/modular_chomp/code/game/objects/items/weapons/RCD.dm
+++ b/modular_chomp/code/game/objects/items/weapons/RCD.dm
@@ -369,7 +369,7 @@ rborosilicate = 12
airlock_type = /obj/machinery/door/airlock
airlock_glass = FALSE
-/obj/item/weapon/rcd/verb/change_airlock_access(mob/user)
+/obj/item/weapon/rcd/proc/change_airlock_access(mob/user)
if (!ishuman(user) && !istype(user,/mob/living/silicon/robot))
return
@@ -695,6 +695,8 @@ rborosilicate = 12
to_chat(user, span("notice", "You build a conveyor"))
return TRUE
if(RCD_TURRET)
+ if(locate(/obj/machinery/porta_turret) in src)
+ return FALSE
var/obj/machinery/porta_turret/T = new /obj/machinery/porta_turret/rcd(src)
T.faction = the_rcd.turret_faction
return TRUE
@@ -744,6 +746,9 @@ rborosilicate = 12
else
if(dx > 0) direction = EAST
else direction = WEST
+ if(gotwallitem(get_step(src,direction), direction))
+ to_chat(user, span("warning", "There is already a wall item there!"))
+ return FALSE
var/obj/O = new the_rcd.wall_frame_type(get_step(src,direction))
O.dir = direction
if(istype(O,/obj/machinery/light))