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))