diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm index d68922748d7..e4624a00ba6 100644 --- a/code/game/objects/items/weapons/RCD.dm +++ b/code/game/objects/items/weapons/RCD.dm @@ -255,6 +255,8 @@ GLOBAL_LIST_INIT(rcd_door_types, list( var/turf/AT = get_turf(A) AT.ChangeTurf(/turf/simulated/floor/plating) return TRUE + to_chat(user, "ERROR! Not enough matter in unit to construct this floor!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE if(isfloorturf(A)) @@ -268,27 +270,39 @@ GLOBAL_LIST_INIT(rcd_door_types, list( var/turf/AT = A AT.ChangeTurf(/turf/simulated/wall) return TRUE + return FALSE + to_chat(user, "ERROR! Not enough matter in unit to construct this wall!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE + to_chat(user, "ERROR! Location unsuitable for wall construction!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE /obj/item/rcd/proc/mode_airlock(atom/A, mob/user) - if(isfloorturf(A) && checkResource(10, user)) - to_chat(user, "Building Airlock...") - playsound(loc, 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 50 * toolspeed, target = A)) - if(locate(/obj/machinery/door/airlock) in A.contents) + if(isfloorturf(A)) + if(checkResource(10, user)) + to_chat(user, "Building Airlock...") + playsound(loc, 'sound/machines/click.ogg', 50, 1) + if(do_after(user, 50 * toolspeed, target = A)) + if(locate(/obj/machinery/door/airlock) in A.contents) + return FALSE + if(!useResource(10, user)) + return FALSE + playsound(loc, usesound, 50, 1) + var/obj/machinery/door/airlock/T = new door_type(A) + T.name = door_name + T.autoclose = TRUE + if(one_access) + T.req_one_access = door_accesses.Copy() + else + T.req_access = door_accesses.Copy() return FALSE - if(!useResource(10, user)) - return FALSE - playsound(loc, usesound, 50, 1) - var/obj/machinery/door/airlock/T = new door_type(A) - T.name = door_name - T.autoclose = TRUE - if(one_access) - T.req_one_access = door_accesses.Copy() - else - T.req_access = door_accesses.Copy() return FALSE + to_chat(user, "ERROR! Not enough matter in unit to construct this airlock!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) + return FALSE + to_chat(user, "ERROR! Location unsuitable for airlock construction!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE /obj/item/rcd/proc/mode_decon(atom/A, mob/user) @@ -305,6 +319,9 @@ GLOBAL_LIST_INIT(rcd_door_types, list( var/turf/AT = A AT.ChangeTurf(/turf/simulated/floor/plating) return TRUE + return FALSE + to_chat(user, "ERROR! Not enough matter in unit to deconstruct this wall!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE if(isfloorturf(A)) @@ -318,6 +335,9 @@ GLOBAL_LIST_INIT(rcd_door_types, list( var/turf/AT = A AT.ChangeTurf(/turf/space) return TRUE + return FALSE + to_chat(user, "ERROR! Not enough matter in unit to deconstruct this floor!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE if(istype(A, /obj/machinery/door/airlock)) @@ -330,12 +350,17 @@ GLOBAL_LIST_INIT(rcd_door_types, list( playsound(loc, usesound, 50, 1) qdel(A) return TRUE + return FALSE + to_chat(user, "ERROR! Not enough matter in unit to deconstruct this airlock!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return FALSE if(istype(A, /obj/structure/window)) // You mean the grille of course, do you? A = locate(/obj/structure/grille) in A.loc if(istype(A, /obj/structure/grille)) if(!checkResource(2, user)) + to_chat(user, "ERROR! Not enough matter in unit to deconstruct this window!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return 0 to_chat(user, "Deconstructing window...") playsound(loc, 'sound/machines/click.ogg', 50, 1) @@ -367,6 +392,8 @@ GLOBAL_LIST_INIT(rcd_door_types, list( if(locate(/obj/structure/grille) in A) return 0 // We already have window if(!checkResource(2, user)) + to_chat(user, "ERROR! Not enough matter in unit to construct this window!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) return 0 to_chat(user, "Constructing window...") playsound(loc, 'sound/machines/click.ogg', 50, 1) @@ -392,6 +419,9 @@ GLOBAL_LIST_INIT(rcd_door_types, list( var/turf/AT = A AT.ChangeTurf(/turf/simulated/floor/plating) // Platings go under windows. return 1 + to_chat(user, "ERROR! Location unsuitable for window construction!") + playsound(loc, 'sound/machines/click.ogg', 50, 1) + return 0 /obj/item/rcd/afterattack(atom/A, mob/user, proximity) if(!proximity)