diff --git a/code/game/objects/items/weapons/bio_chips/bio_chip_pad.dm b/code/game/objects/items/weapons/bio_chips/bio_chip_pad.dm
index e0867c56652..39717085147 100644
--- a/code/game/objects/items/weapons/bio_chips/bio_chip_pad.dm
+++ b/code/game/objects/items/weapons/bio_chips/bio_chip_pad.dm
@@ -44,6 +44,7 @@
C.forceMove(src)
case = C
update_icon(UPDATE_ICON_STATE)
+ SStgui.update_uis(src)
/obj/item/bio_chip_pad/proc/eject_case(mob/user)
if(!case)
@@ -52,13 +53,9 @@
if(user.put_in_hands(case))
add_fingerprint(user)
case.add_fingerprint(user)
- case = null
- update_icon(UPDATE_ICON_STATE)
- return
-
- case.forceMove(get_turf(src))
case = null
update_icon(UPDATE_ICON_STATE)
+ SStgui.update_uis(src)
/obj/item/bio_chip_pad/AltClick(mob/user)
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
@@ -73,6 +70,7 @@
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "BioChipPad", name)
+ ui.set_autoupdate(FALSE)
ui.open()
/obj/item/bio_chip_pad/ui_data(mob/user)
@@ -92,7 +90,7 @@
/obj/item/bio_chip_pad/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
if(..())
return
-
+ . = TRUE
switch(action)
if("eject_case")
eject_case(ui.user)
diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm
index 7d10426d9ed..90e90c4ac9e 100644
--- a/code/modules/hydroponics/gene_modder.dm
+++ b/code/modules/hydroponics/gene_modder.dm
@@ -149,6 +149,7 @@
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "GeneModder", name)
+ ui.set_autoupdate(FALSE)
ui.open()
/obj/machinery/plantgenes/ui_data(mob/user)
diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm
index 07616d4ae69..82d0a20e469 100644
--- a/code/modules/hydroponics/seed_extractor.dm
+++ b/code/modules/hydroponics/seed_extractor.dm
@@ -96,6 +96,7 @@
if(loaded)
to_chat(user, "You transfer [loaded] seeds from [O] into [src].")
+ SStgui.update_uis(src)
else
to_chat(user, "There are no seeds in [O].")
return
@@ -104,9 +105,9 @@
to_chat(user, "You extract some seeds.")
return
else if(istype(O,/obj/item/seeds))
- if(add_seed(O, user))
- to_chat(user, "You add [O] to [name].")
- updateUsrDialog()
+ add_seed(O, user)
+ to_chat(user, "You add [O] to [name].")
+ SStgui.update_uis(src)
return
else if(user.a_intent != INTENT_HARM)
to_chat(user, "You can't extract any seeds from \the [O.name]!")
@@ -129,6 +130,7 @@
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "SeedExtractor", name)
+ ui.set_autoupdate(FALSE)
ui.open()
/obj/machinery/seed_extractor/ui_data(mob/user)
@@ -157,18 +159,14 @@
/obj/machinery/seed_extractor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
if(..())
return
- . = FALSE
+ . = TRUE
switch(action)
if("vend")
vend_seed(params["seedid"], params["seedvariant"], vend_amount)
add_fingerprint(usr)
- . = TRUE
if("set_vend_amount")
- if(!length(params["vend_amount"]))
- return
vend_amount = clamp(params["vend_amount"], 1, MAX_DISPENSE_SEEDS)
add_fingerprint(usr)
- . = TRUE
/obj/machinery/seed_extractor/proc/vend_seed(seed_id, seed_variant, amount)
if(!seed_id)
@@ -221,7 +219,6 @@
pile_count++
piles += new_pile
O.forceMove(src)
- return
/datum/seed_pile
var/path