diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm
index 33cd237861ef..b9bbeef06f0e 100644
--- a/_maps/map_files/stations/deltastation.dmm
+++ b/_maps/map_files/stations/deltastation.dmm
@@ -79593,19 +79593,6 @@
icon_state = "dark"
},
/area/station/security/prison/cell_block)
-"mBa" = (
-/obj/effect/spawner/window/reinforced,
-/obj/structure/cable{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/cable{
- d2 = 8;
- icon_state = "0-8"
- },
-/turf/simulated/floor/plating,
-/area/station/engineering/smes)
"mBy" = (
/obj/structure/bed,
/obj/item/bedsheet/green,
@@ -127352,7 +127339,7 @@ bwP
fsO
oNV
ucB
-mBa
+fsO
clv
bQr
bQr
diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm
index a58bbf324dd7..9f8b899c38c5 100644
--- a/code/datums/uplink_items/uplink_general.dm
+++ b/code/datums/uplink_items/uplink_general.dm
@@ -388,7 +388,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/explosives/plastic_explosives
name = "Composition C-4"
- desc = "C-4 is plastic explosive of the common variety Composition C. Reliably destroys the object it's placed on, assuming it isn't bomb resistant. Does not stick to crewmembers. Will only destroy station floors if placed directly on it. It has a modifiable timer with a minimum setting of 10 seconds."
+ desc = "C-4 is plastic explosive of the common variety Composition C. Reliably destroys the object it's placed on, assuming it isn't bomb resistant. Remarkably good for disposing bodies, or tired crewmates. Will only destroy station floors if placed directly on it. It has a modifiable timer with a minimum setting of 10 seconds."
reference = "C4"
item = /obj/item/grenade/plastic/c4
cost = 5
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index 6ed2761e5c43..c988d1709ebe 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -96,15 +96,15 @@
/obj/item/pinpointer/proc/scandisk()
if(!the_disk)
- the_disk = locate()
+ the_disk = locate() in GLOB.poi_list
/obj/item/pinpointer/proc/scanbomb()
if(!syndicate)
if(!the_bomb)
- the_bomb = locate()
+ the_bomb = locate() in GLOB.poi_list
else
if(!the_s_bomb)
- the_s_bomb = locate()
+ the_s_bomb = locate() in GLOB.poi_list
/obj/item/pinpointer/proc/point_at_target(atom/target)
if(!target)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index d175fcbf6ad7..022c69dc6aa7 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -65,8 +65,7 @@
return FALSE
/datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user, obj/item/spellbook/book) //return point value or -1 for failure
- var/area/wizard_station/A = locate()
- if(!(user in A.contents))
+ if(!istype(get_area(user), /area/wizard_station))
to_chat(user, "You can only refund spells at the wizard lair.")
return -1
if(!S) //This happens when the spell's source is from another spellbook, from loadouts, or adminery, this create a new template temporary spell
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index dd5df9c4122c..2306002dc48f 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -63,25 +63,25 @@
det_time = newtime
to_chat(user, "Timer set for [det_time] seconds.")
-/obj/item/grenade/plastic/afterattack(atom/movable/AM, mob/user, flag)
+/obj/item/grenade/plastic/afterattack(mob/AM, mob/user, flag)
if(!flag)
return
- if(iscarbon(AM))
- to_chat(user, "You can't get the [src] to stick to [AM]!")
+ if(ismob(AM) && AM.stat == CONSCIOUS)
+ to_chat(user, "You can't get the [src] to stick to [AM]! Perhaps if [AM] was asleep or dead you could attach it?")
return
if(isobserver(AM))
to_chat(user, "Your hand just phases through [AM]!")
return
to_chat(user, "You start planting [src].[isnull(nadeassembly) ? " The timer is set to [det_time]..." : ""]")
- if(do_after(user, 50 * toolspeed, target = AM))
+ if(do_after(user, 5 SECONDS * toolspeed, target = AM))
if(!user.unEquip(src))
return
target = AM
loc = null
if(notify_admins)
- message_admins("[ADMIN_LOOKUPFLW(user)] planted [src.name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [det_time] second fuse", 0, 1)
+ message_admins("[ADMIN_LOOKUPFLW(user)] planted [name] on [target.name] at ([target.x],[target.y],[target.z] - JMP) with [det_time] second fuse", 0, 1)
log_game("[key_name(user)] planted [name] on [target.name] at ([target.x],[target.y],[target.z]) with [det_time] second fuse")
AddComponent(/datum/component/persistent_overlay, image_overlay, target)
diff --git a/code/modules/antagonists/changeling/powers/summon_spiders.dm b/code/modules/antagonists/changeling/powers/summon_spiders.dm
index 3ef00c46c0ba..abbd67db1b46 100644
--- a/code/modules/antagonists/changeling/powers/summon_spiders.dm
+++ b/code/modules/antagonists/changeling/powers/summon_spiders.dm
@@ -51,6 +51,7 @@
venom_per_bite = 3
speak_chance = 0
wander = 0
+ gold_core_spawnable = NO_SPAWN
/// To check and gib the spider when dead, then remove only one of the counter for the changeling owner
var/gibbed = FALSE
diff --git a/code/modules/events/blob/overmind.dm b/code/modules/events/blob/overmind.dm
index 026712d5ec2f..12919ff69444 100644
--- a/code/modules/events/blob/overmind.dm
+++ b/code/modules/events/blob/overmind.dm
@@ -116,7 +116,7 @@
status_tab_data[++status_tab_data.len] = list("Power Stored:", "[blob_points]/[max_blob_points]")
/mob/camera/blob/Move(NewLoc, Dir = 0)
- var/obj/structure/blob/B = locate() in range("3x3", NewLoc)
+ var/obj/structure/blob/B = locate() in range(3, NewLoc)
if(B)
loc = NewLoc
else
diff --git a/code/modules/reagents/chemistry/reagents/medicine.dm b/code/modules/reagents/chemistry/reagents/medicine.dm
index 9ed4d2a450cc..0c1b82d9d0c0 100644
--- a/code/modules/reagents/chemistry/reagents/medicine.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine.dm
@@ -1020,7 +1020,10 @@
if(ishuman(M) && prob(5))
var/mob/living/carbon/human/H = M
if(!H.get_int_organ(/obj/item/organ/internal/bone_tumor))
- new/obj/item/organ/internal/bone_tumor(H)
+ if(isslimeperson(H))
+ new /obj/item/organ/internal/bone_tumor/slime_tumor(H)
+ else
+ new /obj/item/organ/internal/bone_tumor(H)
return ..()
diff --git a/code/modules/surgery/organs/bone_tumor.dm b/code/modules/surgery/organs/bone_tumor.dm
index 98d070f39bd7..6a90f4035e19 100644
--- a/code/modules/surgery/organs/bone_tumor.dm
+++ b/code/modules/surgery/organs/bone_tumor.dm
@@ -27,3 +27,7 @@
for(var/obj/item/organ/internal/I in other_groin_organs)
I.receive_damage(rand(5, 15) + tumor_damage_modifier)
+
+/obj/item/organ/internal/bone_tumor/slime_tumor
+ name = "crystalized slime jelly"
+