diff --git a/code/WorkInProgress/Ported/Abi79/uplinks.dm b/code/WorkInProgress/Ported/Abi79/uplinks.dm
index b7672b120c..b6bcefe1f8 100644
--- a/code/WorkInProgress/Ported/Abi79/uplinks.dm
+++ b/code/WorkInProgress/Ported/Abi79/uplinks.dm
@@ -21,6 +21,8 @@ A list of items and costs is stored under the datum of every game mode, alongsid
var/items // List of items
var/list/ItemList // Parsed list of items
var/uses // Numbers of crystals
+ // List of items not to shove in their hands.
+ var/list/NotInHand = list(/obj/machinery/singularity_beacon/syndicate)
New()
welcome = ticker.mode.uplink_welcome
@@ -34,7 +36,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
src.menu_message += "Tele-Crystals left: [src.uses]
"
src.menu_message += "
"
src.menu_message += "Request item:
"
- src.menu_message += "Each item costs a number of tele-crystals as indicated by the number following their name.
"
+ src.menu_message += "Each item costs a number of tele-crystals as indicated by the number following their name.
"
var/cost
var/item
@@ -158,7 +160,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
var/path_obj = text2path(href_list["buy_item"])
var/mob/A = src.hostpda.loc
var/item = new path_obj(get_turf(src.hostpda))
- if(ismob(A)) //&& !istype(item, /obj/spawner))
+ if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner))
if(!A.r_hand)
item:loc = A
A.r_hand = item
@@ -167,6 +169,8 @@ A list of items and costs is stored under the datum of every game mode, alongsid
item:loc = A
A.l_hand = item
item:layer = 20
+ else
+ item:loc = get_turf(A)
usr.update_clothing()
// usr.client.onBought("[item:name]") When we have the stats again, uncomment.
/* if(istype(item, /obj/spawner)) // Spawners need to have del called on them to avoid leaving a marker behind
@@ -237,7 +241,7 @@ A list of items and costs is stored under the datum of every game mode, alongsid
var/path_obj = text2path(href_list["buy_item"])
var/item = new path_obj(get_turf(src.loc))
var/mob/A = src.loc
- if(ismob(A)) //&& !istype(item, /obj/spawner))
+ if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner))
if(!A.r_hand)
item:loc = A
A.r_hand = item
@@ -246,6 +250,8 @@ A list of items and costs is stored under the datum of every game mode, alongsid
item:loc = A
A.l_hand = item
item:layer = 20
+ else
+ item:loc = get_turf(A)
/* if(istype(item, /obj/spawner)) // Spawners need to have del called on them to avoid leaving a marker behind
del item*/
// usr.client.onBought("[item:name]") When we have the stats again, uncomment.
diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm
index fb144b3e56..9d4df00bd9 100644
--- a/code/game/machinery/kitchen/gibber.dm
+++ b/code/game/machinery/kitchen/gibber.dm
@@ -195,6 +195,6 @@
meatslab.loc = src.loc
meatslab.throw_at(Tx,i,3)
if (!Tx.density)
- new /obj/effect/decal/cleanable/blood/gibs(Tx,i)
+ new /obj/effect/decal/cleanable/blood/gibs(Tx,i - iterator)
src.operating = 0
update_icon()
diff --git a/code/game/objects/items/weapons/surgery_tools.dm b/code/game/objects/items/weapons/surgery_tools.dm
index 14838b1ef7..bedcbf3f3d 100644
--- a/code/game/objects/items/weapons/surgery_tools.dm
+++ b/code/game/objects/items/weapons/surgery_tools.dm
@@ -357,6 +357,9 @@ CIRCULAR SAW
/obj/item/weapon/autopsy_scanner/verb/print_data()
set src in view(usr, 1)
+ if(usr.stat == 2)
+ src << "No."
+ return
var/scan_data = ""
var/n = 1
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 5c668e9508..079a6c280a 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ