diff --git a/code/WorkInProgress/Chinsky/guestpass.dm b/code/WorkInProgress/Chinsky/guestpass.dm
index 5c16e83879..5f798fa61a 100644
--- a/code/WorkInProgress/Chinsky/guestpass.dm
+++ b/code/WorkInProgress/Chinsky/guestpass.dm
@@ -127,7 +127,7 @@
if ("duration")
var/dur = input("Duration (in minutes) during which pass is valid (up to 30 minutes).", "Duration") as num|null
if (dur)
- if (dur > 0 && dur < 30)
+ if (dur > 0 && dur <= 30)
duration = dur
else
usr << "Invalid duration."
diff --git a/code/WorkInProgress/computer3/laptop.dm b/code/WorkInProgress/computer3/laptop.dm
index 4b3368b946..1868f82c83 100644
--- a/code/WorkInProgress/computer3/laptop.dm
+++ b/code/WorkInProgress/computer3/laptop.dm
@@ -78,7 +78,7 @@
..(L,built)
verb/close_computer()
- set name = "close laptop"
+ set name = "Close Laptop"
set category = "Object"
set src in view(1)
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index b9c821e18e..2949498ae3 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -16,6 +16,23 @@
var/temp = null
var/printing = null
+/obj/machinery/computer/med_data/verb/eject_id()
+ set category = "Object"
+ set name = "Eject ID Card"
+ set src in oview(1)
+
+ if(!usr || usr.stat || usr.lying) return
+
+ if(scan)
+ usr << "You remove \the [scan] from \the [src]."
+ scan.loc = get_turf(src)
+ if(!usr.get_active_hand())
+ usr.put_in_hands(scan)
+ scan = null
+ else
+ usr << "There is nothing to remove from the console."
+ return
+
/obj/machinery/computer/med_data/attackby(obj/item/O as obj, user as mob)
if(istype(O, /obj/item/weapon/card/id) && !scan)
usr.drop_item()
diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm
index 5cbd9bde9c..58a77c950d 100644
--- a/code/game/machinery/computer/security.dm
+++ b/code/game/machinery/computer/security.dm
@@ -22,6 +22,22 @@
var/sortBy = "name"
var/order = 1 // -1 = Descending - 1 = Ascending
+/obj/machinery/computer/secure_data/verb/eject_id()
+ set category = "Object"
+ set name = "Eject ID Card"
+ set src in oview(1)
+
+ if(!usr || usr.stat || usr.lying) return
+
+ if(scan)
+ usr << "You remove \the [scan] from \the [src]."
+ scan.loc = get_turf(src)
+ if(!usr.get_active_hand())
+ usr.put_in_hands(scan)
+ scan = null
+ else
+ usr << "There is nothing to remove from the console."
+ return
/obj/machinery/computer/secure_data/attackby(obj/item/O as obj, user as mob)
if(istype(O, /obj/item/weapon/card/id) && !scan)
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index f939e24a6b..58da1b1d9e 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -827,9 +827,11 @@
helmet.loc = get_turf(src)
helmet = null
else if(href_list["select_department"])
- target_department = input("Please select the target department paintjob.","Suit cycler",null) as null|anything in departments
+ var/choice = input("Please select the target department paintjob.","Suit cycler",null) as null|anything in departments
+ if(choice) target_department = choice
else if(href_list["select_species"])
- target_species = input("Please select the target species configuration.","Suit cycler",null) as null|anything in species
+ var/choice = input("Please select the target species configuration.","Suit cycler",null) as null|anything in species
+ if(choice) target_species = choice
else if(href_list["select_rad_level"])
var/choices = list(1,2,3)
if(emagged)
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 8044f3d4fe..a041ad9be1 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -47,6 +47,9 @@
if (!can_touch(user) || !climbable)
return
+ var/obj/machinery/door/poddoor/shutters/S = locate() in src.contents
+ if(S && S.density) return
+
usr.visible_message("[user] starts climbing onto \the [src]!")
if(!do_after(user,50))
@@ -55,6 +58,9 @@
if (!can_touch(user) || !climbable)
return
+ S = locate() in src.contents
+ if(S && S.density) return
+
usr.loc = get_turf(src)
if (get_turf(user) == get_turf(src))
usr.visible_message("[user] climbs onto \the [src]!")
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index b70dce9446..000600781b 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -174,7 +174,7 @@
var/eta_status = emergency_shuttle.get_status_panel_eta()
if(eta_status)
stat(null, eta_status)
-
+
if (client.statpanel == "Status")
if (internal)
if (!internal.air_contents)
@@ -1397,6 +1397,11 @@
T.Weaken(5)
+ //Only official raider vox get the grab and no self-prone."
+ if(src.mind && src.mind.special_role != "Vox Raider")
+ src.Weaken(5)
+ return
+
var/use_hand = "left"
if(l_hand)
if(r_hand)