diff --git a/code/game/machinery/floor_light.dm b/code/game/machinery/floor_light.dm index 9267f1edbe..7298b62abf 100644 --- a/code/game/machinery/floor_light.dm +++ b/code/game/machinery/floor_light.dm @@ -19,6 +19,9 @@ var/list/floor_light_cache = list() var/default_light_power = 2 var/default_light_colour = "#FFFFFF" +/obj/machinery/floor_light/prebuilt + anchored = 1 + /obj/machinery/floor_light/attackby(var/obj/item/W, var/mob/user) if(istype(W, /obj/item/weapon/screwdriver)) anchored = !anchored diff --git a/code/game/turfs/flooring/flooring_decals.dm b/code/game/turfs/flooring/flooring_decals.dm index 7989442c90..484491e7d6 100644 --- a/code/game/turfs/flooring/flooring_decals.dm +++ b/code/game/turfs/flooring/flooring_decals.dm @@ -39,6 +39,7 @@ var/list/floor_decals = list() if(T.decals && T.decals.len) T.decals.Cut() T.update_icon() + qdel(src) return /obj/effect/floor_decal/corner diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index b8244a0a8a..9c51600952 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -169,6 +169,10 @@ interface_name = "dead man's switch" interface_desc = "An integrated self-destruct module. When the wearer dies, so does the surrounding area. Do not press this button." + var/list/explosion_values = list(1,2,4,5) + +/obj/item/rig_module/self_destruct/small + explosion_values = list(0,0,3,4) /obj/item/rig_module/self_destruct/activate() return @@ -184,17 +188,12 @@ //OH SHIT. if(holder.wearer.stat == 2) - engage() + engage(1) -/obj/item/rig_module/self_destruct/engage() - explosion(get_turf(src), 1, 2, 4, 5) - if(holder && holder.wearer) - holder.wearer.drop_from_inventory(src) - qdel(holder) - qdel(src) - -/obj/item/rig_module/self_destruct/small/engage() - explosion(get_turf(src), 0, 0, 3, 4) +/obj/item/rig_module/self_destruct/engage(var/skip_check) + if(!skip_check && usr && alert(usr, "Are you sure you want to push that button?", "Self-destruct", "No", "Yes") == "No") + return + explosion(get_turf(src), explosion_values[1], explosion_values[2], explosion_values[3], explosion_values[4]) if(holder && holder.wearer) holder.wearer.drop_from_inventory(src) qdel(holder) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 13d48df5cc..426b133fff 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -307,7 +307,7 @@ if(piece.loc != src && !(wearer && piece.loc == wearer)) if(istype(piece.loc, /mob/living)) M = piece.loc - M.drop_from_inventory(piece) + M.unEquip(piece) piece.forceMove(src) if(!istype(wearer) || loc != wearer || wearer.back != src || canremove || !cell || cell.charge <= 0) @@ -560,8 +560,8 @@ M.visible_message("[M] starts putting on \the [src]...", "You start putting on \the [src]...") if(!do_after(M,seal_delay)) if(M && M.back == src) - M.back = null - M.drop_from_inventory(src) + if(!M.unEquip(src)) + return src.forceMove(get_turf(src)) return @@ -632,12 +632,9 @@ use_obj.forceMove(src) if(check_slot) H << "You are unable to deploy \the [piece] as \the [check_slot] [check_slot.gender == PLURAL ? "are" : "is"] in the way." + return else - use_obj.forceMove(H) - if(!H.equip_to_slot_if_possible(use_obj, equip_to, 0)) - use_obj.forceMove(src) - else - H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly." + H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "deploy" : "deploys"] swiftly." if(piece == "helmet" && helmet) helmet.update_light(H) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 8faff35a29..c9526f1626 100644 --- a/code/modules/clothing/spacesuits/rig/rig_attackby.dm +++ b/code/modules/clothing/spacesuits/rig/rig_attackby.dm @@ -56,7 +56,7 @@ user << "\The [src] already has a tank installed." return - user.drop_from_inventory(W) + if(!user.unEquip(W)) return air_supply = W W.forceMove(src) user << "You slot [W] into [src] and tighten the connecting valve." @@ -84,8 +84,8 @@ return if(!user || !W) return + if(!user.unEquip(mod)) return user << "You install \the [mod] into \the [src]." - user.drop_from_inventory(mod) installed_modules |= mod mod.forceMove(src) mod.installed(src) @@ -94,8 +94,8 @@ else if(!cell && istype(W,/obj/item/weapon/cell)) + if(!user.unEquip(W)) return user << "You jack \the [W] into \the [src]'s battery mount." - user.drop_from_inventory(W) W.forceMove(src) src.cell = W return diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm index 52e2bd97dd..e046422b1b 100644 --- a/code/modules/organs/robolimbs.dm +++ b/code/modules/organs/robolimbs.dm @@ -7,7 +7,6 @@ var/global/datum/robolimb/basic_robolimb for(var/limb_type in typesof(/datum/robolimb)) var/datum/robolimb/R = new limb_type() all_robolimbs[R.company] = R - world << "Adding [R.company] as [R], [R.type]" if(!R.unavailable_at_chargen) chargen_robolimbs[R.company] = R diff --git a/code/modules/random_map/drop/droppod_doors.dm b/code/modules/random_map/drop/droppod_doors.dm index a5e3377f99..eb5b7c3e17 100644 --- a/code/modules/random_map/drop/droppod_doors.dm +++ b/code/modules/random_map/drop/droppod_doors.dm @@ -39,7 +39,7 @@ playsound(src.loc, 'sound/effects/bang.ogg', 50, 1, 5) // This is shit but it will do for the sake of testing. - for(var/obj/structure/droppod_door/D in range(5,src)) + for(var/obj/structure/droppod_door/D in orange(1,src)) if(D.deployed) continue D.deploy()