mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 06:29:23 +01:00
[MIRROR] [MDB Ignore] DNA Vaults power check [MDB IGNORE] (#15154)
* [MDB Ignore] DNA Vaults power check (#68540) * Prevents people who already have a DNA vault trait from taking another. Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com> * [MDB Ignore] DNA Vaults power check Co-authored-by: Mooshimi <85910816+Mooshimi@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
This commit is contained in:
co-authored by
John Willard
Mooshimi
parent
02f4d5616a
commit
23d62370fa
@@ -188,6 +188,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
|
||||
#define TRAIT_STABLELIVER "stable_liver"
|
||||
#define TRAIT_VATGROWN "vatgrown"
|
||||
#define TRAIT_RESISTHEAT "resist_heat"
|
||||
///For when you've gotten a power from a dna vault
|
||||
#define TRAIT_USED_DNA_VAULT "used_dna_vault"
|
||||
/// For when you want to be able to touch hot things, but still want fire to be an issue.
|
||||
#define TRAIT_RESISTHEATHANDS "resist_heat_handsonly"
|
||||
#define TRAIT_RESISTCOLD "resist_cold"
|
||||
@@ -772,6 +774,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
|
||||
#define NO_GRAVITY_TRAIT "no-gravity"
|
||||
#define LEAPING_TRAIT "leaping"
|
||||
#define LEAPER_BUBBLE_TRAIT "leaper-bubble"
|
||||
#define DNA_VAULT_TRAIT "dna_vault"
|
||||
/// sticky nodrop sounds like a bad soundcloud rapper's name
|
||||
#define STICKY_NODROP "sticky-nodrop"
|
||||
#define SKILLCHIP_TRAIT "skillchip"
|
||||
|
||||
@@ -10,7 +10,10 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_FLOORED" = TRAIT_FLOORED,
|
||||
"TRAIT_FORCED_STANDING" = TRAIT_FORCED_STANDING,
|
||||
"TRAIT_HANDS_BLOCKED" = TRAIT_HANDS_BLOCKED,
|
||||
"TRAIT_UI_BLOCKED" = TRAIT_UI_BLOCKED,
|
||||
"TRAIT_PULL_BLOCKED" = TRAIT_PULL_BLOCKED,
|
||||
"TRAIT_RESTRAINED" = TRAIT_RESTRAINED,
|
||||
"TRAIT_PERFECT_ATTACKER" = TRAIT_PERFECT_ATTACKER,
|
||||
"TRAIT_INCAPACITATED" = TRAIT_INCAPACITATED,
|
||||
"TRAIT_CRITICAL_CONDITION" = TRAIT_CRITICAL_CONDITION,
|
||||
"TRAIT_LITERATE" = TRAIT_LITERATE,
|
||||
@@ -46,6 +49,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_STABLEHEART" = TRAIT_STABLEHEART,
|
||||
"TRAIT_STABLELIVER" = TRAIT_STABLELIVER,
|
||||
"TRAIT_RESISTHEAT" = TRAIT_RESISTHEAT,
|
||||
"TRAIT_USED_DNA_VAULT" = TRAIT_USED_DNA_VAULT,
|
||||
"TRAIT_RESISTHEATHANDS" = TRAIT_RESISTHEATHANDS,
|
||||
"TRAIT_RESISTCOLD" = TRAIT_RESISTCOLD,
|
||||
"TRAIT_RESISTHIGHPRESSURE" = TRAIT_RESISTHIGHPRESSURE,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//Crew has to create dna vault
|
||||
// Cargo can order DNA samplers + DNA vault boards
|
||||
// DNA vault requires x animals ,y plants, z human dna
|
||||
// DNA vaults require high tier stock parts and cold
|
||||
// DNA vault requires x animals, y plants, z human dna
|
||||
// DNA vaults require high tier stock parts
|
||||
// After completion each crewmember can receive single upgrade chosen out of 2 for the mob.
|
||||
#define VAULT_TOXIN "Toxin Adaptation"
|
||||
#define VAULT_NOBREATH "Lung Enhancement"
|
||||
@@ -186,8 +186,8 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/machinery/dna_vault/proc/upgrade(mob/living/carbon/human/H,upgrade_type)
|
||||
if(!(upgrade_type in power_lottery[H]))
|
||||
/obj/machinery/dna_vault/proc/upgrade(mob/living/carbon/human/H, upgrade_type)
|
||||
if(!(upgrade_type in power_lottery[H])||(HAS_TRAIT(H, TRAIT_USED_DNA_VAULT)))
|
||||
return
|
||||
var/datum/species/S = H.dna.species
|
||||
switch(upgrade_type)
|
||||
@@ -197,27 +197,28 @@
|
||||
var/obj/item/organ/internal/lungs/L = H.internal_organs_slot[ORGAN_SLOT_LUNGS]
|
||||
L.plas_breath_dam_min = 0
|
||||
L.plas_breath_dam_max = 0
|
||||
ADD_TRAIT(H, TRAIT_VIRUSIMMUNE, "dna_vault")
|
||||
ADD_TRAIT(H, TRAIT_VIRUSIMMUNE, DNA_VAULT_TRAIT)
|
||||
if(VAULT_NOBREATH)
|
||||
to_chat(H, span_notice("Your lungs feel great."))
|
||||
ADD_TRAIT(H, TRAIT_NOBREATH, "dna_vault")
|
||||
ADD_TRAIT(H, TRAIT_NOBREATH, DNA_VAULT_TRAIT)
|
||||
if(VAULT_FIREPROOF)
|
||||
to_chat(H, span_notice("You feel fireproof."))
|
||||
S.burnmod = 0.5
|
||||
ADD_TRAIT(H, TRAIT_RESISTHEAT, "dna_vault")
|
||||
ADD_TRAIT(H, TRAIT_NOFIRE, "dna_vault")
|
||||
ADD_TRAIT(H, TRAIT_RESISTHEAT, DNA_VAULT_TRAIT)
|
||||
ADD_TRAIT(H, TRAIT_NOFIRE, DNA_VAULT_TRAIT)
|
||||
if(VAULT_STUNTIME)
|
||||
to_chat(H, span_notice("Nothing can keep you down for long."))
|
||||
S.stunmod = 0.5
|
||||
if(VAULT_ARMOUR)
|
||||
to_chat(H, span_notice("You feel tough."))
|
||||
S.armor = 30
|
||||
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "dna_vault")
|
||||
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, DNA_VAULT_TRAIT)
|
||||
if(VAULT_SPEED)
|
||||
to_chat(H, span_notice("Your legs feel faster."))
|
||||
H.add_movespeed_modifier(/datum/movespeed_modifier/dna_vault_speedup)
|
||||
if(VAULT_QUICK)
|
||||
to_chat(H, span_notice("Your arms move as fast as lightning."))
|
||||
H.next_move_modifier = 0.5
|
||||
ADD_TRAIT(H, TRAIT_USED_DNA_VAULT, DNA_VAULT_TRAIT)
|
||||
power_lottery[H] = list()
|
||||
use_power(active_power_usage)
|
||||
|
||||
Reference in New Issue
Block a user