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