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()