diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index f7ac409378b4..727c08b38296 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1827,4 +1827,4 @@ GLOBAL_LIST_EMPTY(roundstart_races)
to_chat(H, "You settle gently back onto the ground...")
else
to_chat(H, "You beat your wings and begin to hover gently above the ground...")
- H.set_resting(FALSE, TRUE)
\ No newline at end of file
+ H.set_resting(FALSE, TRUE)
diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm
index f6489418808b..b2514da8674c 100644
--- a/code/modules/station_goals/dna_vault.dm
+++ b/code/modules/station_goals/dna_vault.dm
@@ -140,6 +140,7 @@
var/list/animals = list()
var/list/plants = list()
var/list/dna = list()
+ var/static/list/users = list()
var/completed = FALSE
var/list/power_lottery = list()
@@ -205,11 +206,14 @@
data["choiceA"] = ""
data["choiceB"] = ""
if(user && completed)
- var/list/L = power_lottery[user]
- if(L && L.len)
- data["used"] = FALSE
- data["choiceA"] = L[1]
- data["choiceB"] = L[2]
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if(!users[H])
+ var/list/L = power_lottery[user]
+ if(L && L.len)
+ data["used"] = FALSE
+ data["choiceA"] = L[1]
+ data["choiceB"] = L[2]
return data
/obj/machinery/dna_vault/ui_act(action, params)
@@ -277,8 +281,9 @@
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "dna_vault")
if(VAULT_SPEED)
to_chat(H, "Your legs feel faster.")
- H.add_movespeed_modifier(MOVESPEED_ID_DNA_VAULT, update=TRUE, priority=100, multiplicative_slowdown=-1, blacklisted_movetypes=(FLYING|FLOATING))
+ H.add_movespeed_modifier(MOVESPEED_ID_DNA_VAULT, update=TRUE, priority=100, multiplicative_slowdown=-0.74, blacklisted_movetypes=(FLYING|FLOATING))
if(VAULT_QUICK)
to_chat(H, "Your arms move as fast as lightning.")
H.next_move_modifier = 0.5
+ users[H] = TRUE
power_lottery[H] = list()