From 0c23217d7ca8409c22c6b80790c5bfde04c193ed Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 18:15:59 +1030 Subject: [PATCH 1/7] Fixes drop pods activating each other's doors. --- code/modules/random_map/drop/droppod_doors.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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() From 16c039aadcdaf0309ef8c1d0fc4a1ab4660873da Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 18:17:26 +1030 Subject: [PATCH 2/7] Fixes reset decals not destroying themselves. --- code/game/turfs/flooring/flooring_decals.dm | 1 + 1 file changed, 1 insertion(+) 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 From 4fc314bf8549be30a7788d2bcc070b653dc657f5 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 18:19:02 +1030 Subject: [PATCH 3/7] Adds a /prebuilt floor light for use by mappers. --- code/game/machinery/floor_light.dm | 3 +++ 1 file changed, 3 insertions(+) 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 From 1eabcfeffe6c78b639a30bdc74d9ee669101e0bd Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 18:21:09 +1030 Subject: [PATCH 4/7] Removes a leftover world << --- code/modules/organs/robolimbs.dm | 1 - 1 file changed, 1 deletion(-) 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 From 1b6282b43f56bbe09f4725f9e0af8573285bbeda Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 19:26:54 +1030 Subject: [PATCH 5/7] Fix for a merge error resulting in very wonky hardsuit behavior. --- code/modules/clothing/spacesuits/rig/rig.dm | 21 ++++++++----------- .../clothing/spacesuits/rig/rig_attackby.dm | 6 +++--- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 13d48df5cc..d469746af6 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) @@ -561,7 +561,7 @@ if(!do_after(M,seal_delay)) if(M && M.back == src) M.back = null - M.drop_from_inventory(src) + M.unEquip(src) src.forceMove(get_turf(src)) return @@ -618,7 +618,7 @@ if(use_obj && check_slot == use_obj) H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly." use_obj.canremove = 1 - holder.drop_from_inventory(use_obj) + holder.unEquip(use_obj) use_obj.forceMove(get_turf(src)) use_obj.dropped() use_obj.canremove = 0 @@ -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) @@ -654,25 +651,25 @@ if(sealed) if(H.head) var/obj/item/garbage = H.head - H.drop_from_inventory(garbage) + H.unEquip(garbage) H.head = null qdel(garbage) if(H.gloves) var/obj/item/garbage = H.gloves - H.drop_from_inventory(garbage) + H.unEquip(garbage) H.gloves = null qdel(garbage) if(H.shoes) var/obj/item/garbage = H.shoes - H.drop_from_inventory(garbage) + H.unEquip(garbage) H.shoes = null qdel(garbage) if(H.wear_suit) var/obj/item/garbage = H.wear_suit - H.drop_from_inventory(garbage) + H.unEquip(garbage) H.wear_suit = null qdel(garbage) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 8faff35a29..3aaddcd9b5 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) + user.unEquip(W) air_supply = W W.forceMove(src) user << "You slot [W] into [src] and tighten the connecting valve." @@ -85,7 +85,7 @@ if(!user || !W) return user << "You install \the [mod] into \the [src]." - user.drop_from_inventory(mod) + user.unEquip(mod) installed_modules |= mod mod.forceMove(src) mod.installed(src) @@ -95,7 +95,7 @@ else if(!cell && istype(W,/obj/item/weapon/cell)) user << "You jack \the [W] into \the [src]'s battery mount." - user.drop_from_inventory(W) + user.unEquip(W) W.forceMove(src) src.cell = W return From 6623c1650fa8bcd18d6f751bb973f4d4d35b21f3 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 19:51:48 +1030 Subject: [PATCH 6/7] Rig unEquip() amendments. --- code/modules/clothing/spacesuits/rig/rig.dm | 14 +++++++------- .../clothing/spacesuits/rig/rig_attackby.dm | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index d469746af6..426b133fff 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -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.unEquip(src) + if(!M.unEquip(src)) + return src.forceMove(get_turf(src)) return @@ -618,7 +618,7 @@ if(use_obj && check_slot == use_obj) H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly." use_obj.canremove = 1 - holder.unEquip(use_obj) + holder.drop_from_inventory(use_obj) use_obj.forceMove(get_turf(src)) use_obj.dropped() use_obj.canremove = 0 @@ -651,25 +651,25 @@ if(sealed) if(H.head) var/obj/item/garbage = H.head - H.unEquip(garbage) + H.drop_from_inventory(garbage) H.head = null qdel(garbage) if(H.gloves) var/obj/item/garbage = H.gloves - H.unEquip(garbage) + H.drop_from_inventory(garbage) H.gloves = null qdel(garbage) if(H.shoes) var/obj/item/garbage = H.shoes - H.unEquip(garbage) + H.drop_from_inventory(garbage) H.shoes = null qdel(garbage) if(H.wear_suit) var/obj/item/garbage = H.wear_suit - H.unEquip(garbage) + H.drop_from_inventory(garbage) H.wear_suit = null qdel(garbage) diff --git a/code/modules/clothing/spacesuits/rig/rig_attackby.dm b/code/modules/clothing/spacesuits/rig/rig_attackby.dm index 3aaddcd9b5..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.unEquip(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.unEquip(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.unEquip(W) W.forceMove(src) src.cell = W return From 2f344ed111fd4d80d2c622b3d200224acc2b1f49 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Wed, 2 Dec 2015 19:36:45 +1030 Subject: [PATCH 7/7] Adds a confirmation to user-activated ninja self destruct. --- .../clothing/spacesuits/rig/modules/ninja.dm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) 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)