mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-21 03:56:47 +01:00
Traits sort better
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
to_chat(src,"<span class='warning'>You don't have a working refactory module!</span>")
|
||||
return
|
||||
|
||||
var/choice = input(src,"Pick the bodypart to change:", "Refactor - One Bodypart") as null|anything in species.has_limbs
|
||||
var/choice = tgui_input_list(src,"Pick the bodypart to change:", "Refactor - One Bodypart", species.has_limbs)
|
||||
if(!choice)
|
||||
return
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
usable_manufacturers[company] = M
|
||||
if(!usable_manufacturers.len)
|
||||
return
|
||||
var/manu_choice = input(src, "Which manufacturer do you wish to mimic for this limb?", "Manufacturer for [choice]") as null|anything in usable_manufacturers
|
||||
var/manu_choice = tgui_input_list(src, "Which manufacturer do you wish to mimic for this limb?", "Manufacturer for [choice]", usable_manufacturers)
|
||||
|
||||
if(!manu_choice)
|
||||
return //Changed mind
|
||||
@@ -125,7 +125,7 @@
|
||||
usable_manufacturers[company] = M
|
||||
if(!usable_manufacturers.len)
|
||||
return
|
||||
var/manu_choice = input(src, "Which manufacturer do you wish to mimic?", "Manufacturer") as null|anything in usable_manufacturers
|
||||
var/manu_choice = tgui_input_list(src, "Which manufacturer do you wish to mimic?", "Manufacturer", usable_manufacturers)
|
||||
|
||||
if(!manu_choice)
|
||||
return //Changed mind
|
||||
@@ -272,7 +272,7 @@
|
||||
to_chat(src,"<span class='warning'>You must be awake and standing to perform this action!</span>")
|
||||
return
|
||||
|
||||
var/new_species = input("Please select a species to emulate.", "Shapeshifter Body") as null|anything in GLOB.playable_species
|
||||
var/new_species = tgui_input_list(usr, "Please select a species to emulate.", "Shapeshifter Body", GLOB.playable_species)
|
||||
if(new_species)
|
||||
impersonate_bodytype = new_species
|
||||
species?.base_species = new_species // Really though you better have a species
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var_changes = list("slowdown" = 0.5)
|
||||
|
||||
/datum/trait/negative/speed_slow_plus
|
||||
name = "Major Slowdown"
|
||||
name = "Slowdown, Major"
|
||||
desc = "Allows you to move MUCH slower on average than baseline."
|
||||
cost = -3
|
||||
var_changes = list("slowdown" = 1.0)
|
||||
@@ -20,7 +20,7 @@
|
||||
var_changes = list("item_slowdown_mod" = 1.5)
|
||||
|
||||
/datum/trait/negative/weakling_plus
|
||||
name = "Major Weakling"
|
||||
name = "Weakling, Major"
|
||||
desc = "Allows you to carry heavy equipment with much more slowdown."
|
||||
cost = -2
|
||||
var_changes = list("item_slowdown_mod" = 2.0)
|
||||
@@ -36,7 +36,7 @@
|
||||
H.setMaxHealth(S.total_health)
|
||||
|
||||
/datum/trait/negative/endurance_very_low
|
||||
name = "Extremely Low Endurance"
|
||||
name = "Low Endurance, Major"
|
||||
desc = "Reduces your maximum total hitpoints to 50."
|
||||
cost = -3 //Teshari HP. This makes the person a lot more suseptable to getting stunned, killed, etc.
|
||||
var_changes = list("total_health" = 50)
|
||||
@@ -46,7 +46,7 @@
|
||||
H.setMaxHealth(S.total_health)
|
||||
|
||||
/datum/trait/negative/minor_brute_weak
|
||||
name = "Minor Brute Weakness"
|
||||
name = "Brute Weakness, Minor"
|
||||
desc = "Increases damage from brute damage sources by 15%"
|
||||
cost = -1
|
||||
var_changes = list("brute_mod" = 1.15)
|
||||
@@ -58,13 +58,13 @@
|
||||
var_changes = list("brute_mod" = 1.25)
|
||||
|
||||
/datum/trait/negative/brute_weak_plus
|
||||
name = "Major Brute Weakness"
|
||||
name = "Brute Weakness, Major"
|
||||
desc = "Increases damage from brute damage sources by 50%"
|
||||
cost = -3
|
||||
var_changes = list("brute_mod" = 1.5)
|
||||
|
||||
/datum/trait/negative/minor_burn_weak
|
||||
name = "Minor Burn Weakness"
|
||||
name = "Burn Weakness, Minor"
|
||||
desc = "Increases damage from burn damage sources by 15%"
|
||||
cost = -1
|
||||
var_changes = list("burn_mod" = 1.15)
|
||||
@@ -76,7 +76,7 @@
|
||||
var_changes = list("burn_mod" = 1.25)
|
||||
|
||||
/datum/trait/negative/burn_weak_plus
|
||||
name = "Major Burn Weakness"
|
||||
name = "Burn Weakness, Major"
|
||||
desc = "Increases damage from burn damage sources by 50%"
|
||||
cost = -3
|
||||
var_changes = list("burn_mod" = 1.5)
|
||||
@@ -88,7 +88,7 @@
|
||||
var_changes = list("siemens_coefficient" = 1.5) //This makes you a lot weaker to tasers.
|
||||
|
||||
/datum/trait/negative/conductive_plus
|
||||
name = "Major Conductive"
|
||||
name = "Conductive, Major"
|
||||
desc = "Increases your susceptibility to electric shocks by 100%"
|
||||
cost = -1
|
||||
var_changes = list("siemens_coefficient" = 2.0) //This makes you extremely weak to tasers.
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
/datum/trait/neutral
|
||||
|
||||
/datum/trait/neutral/metabolism_up
|
||||
name = "Fast Metabolism"
|
||||
name = "Metabolism, Fast"
|
||||
desc = "You process ingested and injected reagents faster, but get hungry faster (Teshari speed)."
|
||||
cost = 0
|
||||
var_changes = list("metabolic_rate" = 1.2, "hunger_factor" = 0.2, "metabolism" = 0.06) // +20% rate and 4x hunger (Teshari level)
|
||||
excludes = list(/datum/trait/neutral/metabolism_down, /datum/trait/neutral/metabolism_apex)
|
||||
|
||||
/datum/trait/neutral/metabolism_down
|
||||
name = "Slow Metabolism"
|
||||
name = "Metabolism, Slow"
|
||||
desc = "You process ingested and injected reagents slower, but get hungry slower."
|
||||
cost = 0
|
||||
var_changes = list("metabolic_rate" = 0.8, "hunger_factor" = 0.04, "metabolism" = 0.0012) // -20% of default.
|
||||
excludes = list(/datum/trait/neutral/metabolism_up, /datum/trait/neutral/metabolism_apex)
|
||||
|
||||
/datum/trait/neutral/metabolism_apex
|
||||
name = "Apex Metabolism"
|
||||
name = "Metabolism, Apex"
|
||||
desc = "Finally a proper excuse for your predatory actions. Essentially doubles the fast trait rates. Good for characters with big appetites."
|
||||
cost = 0
|
||||
var_changes = list("metabolic_rate" = 1.4, "hunger_factor" = 0.4, "metabolism" = 0.012) // +40% rate and 8x hunger (Double Teshari)
|
||||
excludes = list(/datum/trait/neutral/metabolism_up, /datum/trait/neutral/metabolism_down)
|
||||
|
||||
/datum/trait/neutral/coldadapt
|
||||
name = "Cold-Adapted"
|
||||
name = "Temp. Adapted, Cold"
|
||||
desc = "You are able to withstand much colder temperatures than other species, and can even be comfortable in extremely cold environments. You are also more vulnerable to hot environments, and have a lower body temperature as a consequence of these adaptations."
|
||||
cost = 0
|
||||
var_changes = list("cold_level_1" = 200, "cold_level_2" = 150, "cold_level_3" = 90, "breath_cold_level_1" = 180, "breath_cold_level_2" = 100, "breath_cold_level_3" = 60, "cold_discomfort_level" = 210, "heat_level_1" = 330, "heat_level_2" = 380, "heat_level_3" = 700, "breath_heat_level_1" = 360, "breath_heat_level_2" = 400, "breath_heat_level_3" = 850, "heat_discomfort_level" = 295, "body_temperature" = 290)
|
||||
excludes = list(/datum/trait/neutral/hotadapt)
|
||||
|
||||
/datum/trait/neutral/hotadapt
|
||||
name = "Heat-Adapted"
|
||||
name = "Temp. Adapted, Heat"
|
||||
desc = "You are able to withstand much hotter temperatures than other species, and can even be comfortable in extremely hot environments. You are also more vulnerable to cold environments, and have a higher body temperature as a consequence of these adaptations."
|
||||
cost = 0
|
||||
var_changes = list("heat_level_1" = 420, "heat_level_2" = 460, "heat_level_3" = 1100, "breath_heat_level_1" = 440, "breath_heat_level_2" = 510, "breath_heat_level_3" = 1500, "heat_discomfort_level" = 390, "cold_level_1" = 280, "cold_level_2" = 220, "cold_level_3" = 140, "breath_cold_level_1" = 260, "breath_cold_level_2" = 240, "breath_cold_level_3" = 120, "cold_discomfort_level" = 280, "body_temperature" = 330)
|
||||
@@ -62,7 +62,7 @@
|
||||
excludes = list(/datum/trait/neutral/autohiss_unathi)
|
||||
|
||||
/datum/trait/neutral/bloodsucker
|
||||
name = "Bloodsucker (Obligate)"
|
||||
name = "Bloodsucker, Obligate"
|
||||
desc = "Makes you unable to gain nutrition from anything but blood. To compenstate, you get fangs that can be used to drain blood from prey."
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
@@ -249,21 +249,21 @@
|
||||
|
||||
// Spicy Food Traits, from negative to positive.
|
||||
/datum/trait/neutral/spice_intolerance_extreme
|
||||
name = "Extreme Spice Intolerance"
|
||||
name = "Spice Intolerance, Extreme"
|
||||
desc = "Spicy (and chilly) peppers are three times as strong. (This does not affect pepperspray.)"
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("spice_mod" = 3) // 300% as effective if spice_mod is set to 1. If it's not 1 in species.dm, update this!
|
||||
|
||||
/datum/trait/neutral/spice_intolerance_basic
|
||||
name = "Heavy Spice Intolerance"
|
||||
name = "Spice Intolerance, Heavy"
|
||||
desc = "Spicy (and chilly) peppers are twice as strong. (This does not affect pepperspray.)"
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("spice_mod" = 2) // 200% as effective if spice_mod is set to 1. If it's not 1 in species.dm, update this!
|
||||
|
||||
/datum/trait/neutral/spice_intolerance_slight
|
||||
name = "Slight Spice Intolerance"
|
||||
name = "Spice Intolerance, Slight"
|
||||
desc = "You have a slight struggle with spicy foods. Spicy (and chilly) peppers are one and a half times stronger. (This does not affect pepperspray.)"
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
@@ -277,14 +277,14 @@
|
||||
var_changes = list("spice_mod" = 0.75) // 75% as effective if spice_mod is set to 1. If it's not 1 in species.dm, update this!
|
||||
|
||||
/datum/trait/neutral/spice_tolerance_advanced
|
||||
name = "Strong Spice Tolerance"
|
||||
name = "Spice Tolerance, Strong"
|
||||
desc = "Spicy (and chilly) peppers are only half as strong. (This does not affect pepperspray.)"
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("spice_mod" = 0.5) // 50% as effective if spice_mod is set to 1. If it's not 1 in species.dm, update this!
|
||||
|
||||
/datum/trait/neutral/spice_immunity
|
||||
name = "Extreme Spice Tolerance"
|
||||
name = "Spice Tolerance, Extreme"
|
||||
desc = "Spicy (and chilly) peppers are basically ineffective! (This does not affect pepperspray.)"
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
@@ -365,6 +365,7 @@
|
||||
/datum/trait/neutral/taller
|
||||
name = "Tall"
|
||||
desc = "Your body is taller than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_y" = 1.09)
|
||||
@@ -375,8 +376,9 @@
|
||||
H.update_transform()
|
||||
|
||||
/datum/trait/neutral/tall
|
||||
name = "Slightly Tall"
|
||||
name = "Tall, Minor"
|
||||
desc = "Your body is a bit taller than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_y" = 1.05)
|
||||
@@ -387,8 +389,9 @@
|
||||
H.update_transform()
|
||||
|
||||
/datum/trait/neutral/short
|
||||
name = "Slightly Short"
|
||||
name = "Short, Minor"
|
||||
desc = "Your body is a bit shorter than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_y" = 0.95)
|
||||
@@ -401,6 +404,7 @@
|
||||
/datum/trait/neutral/shorter
|
||||
name = "Short"
|
||||
desc = "Your body is shorter than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_y" = 0.915)
|
||||
@@ -411,8 +415,9 @@
|
||||
H.update_transform()
|
||||
|
||||
/datum/trait/neutral/obese
|
||||
name = "Very Bulky"
|
||||
name = "Bulky, Major"
|
||||
desc = "Your body is much wider than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_x" = 1.095)
|
||||
@@ -425,6 +430,7 @@
|
||||
/datum/trait/neutral/fat
|
||||
name = "Bulky"
|
||||
desc = "Your body is wider than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_x" = 1.054)
|
||||
@@ -437,6 +443,7 @@
|
||||
/datum/trait/neutral/thin
|
||||
name = "Thin"
|
||||
desc = "Your body is thinner than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_x" = 0.945)
|
||||
@@ -447,8 +454,9 @@
|
||||
H.update_transform()
|
||||
|
||||
/datum/trait/neutral/thinner
|
||||
name = "Very Thin"
|
||||
name = "Thin, Major"
|
||||
desc = "Your body is much thinner than average."
|
||||
sort = TRAIT_SORT_BODYTYPE
|
||||
cost = 0
|
||||
custom_only = FALSE
|
||||
var_changes = list("icon_scale_x" = 0.905)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
var_changes = list("item_slowdown_mod" = 0.5)
|
||||
|
||||
/datum/trait/positive/hardy_plus
|
||||
name = "Major Hardy"
|
||||
name = "Hardy, Major"
|
||||
desc = "Allows you to carry heavy equipment with almost no slowdown."
|
||||
cost = 2
|
||||
var_changes = list("item_slowdown_mod" = 0.25)
|
||||
@@ -36,7 +36,7 @@
|
||||
var_changes = list("siemens_coefficient" = 0.9)
|
||||
|
||||
/datum/trait/positive/nonconductive_plus
|
||||
name = "Major Non-Conductive"
|
||||
name = "Non-Conductive, Major"
|
||||
desc = "Decreases your susceptibility to electric shocks by a 25% amount."
|
||||
cost = 2 //Let us not forget this effects tasers!
|
||||
var_changes = list("siemens_coefficient" = 0.75)
|
||||
@@ -48,7 +48,7 @@
|
||||
var_changes = list("darksight" = 5, "flash_mod" = 1.1)
|
||||
|
||||
/datum/trait/positive/darksight_plus
|
||||
name = "Darksight (Major)"
|
||||
name = "Darksight, Major"
|
||||
desc = "Allows you to see in the dark for the whole screen."
|
||||
cost = 2
|
||||
var_changes = list("darksight" = 8, "flash_mod" = 1.2)
|
||||
@@ -72,7 +72,7 @@
|
||||
var_changes = list("unarmed_types" = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/punch, /datum/unarmed_attack/bite/sharp/numbing))
|
||||
|
||||
/datum/trait/positive/minor_brute_resist
|
||||
name = "Minor Brute Resist"
|
||||
name = "Brute Resist, Minor"
|
||||
desc = "Adds 15% resistance to brute damage sources."
|
||||
cost = 2
|
||||
var_changes = list("brute_mod" = 0.85)
|
||||
@@ -85,7 +85,7 @@
|
||||
excludes = list(/datum/trait/positive/minor_burn_resist,/datum/trait/positive/burn_resist)
|
||||
|
||||
/datum/trait/positive/minor_burn_resist
|
||||
name = "Minor Burn Resist"
|
||||
name = "Burn Resist, Minor"
|
||||
desc = "Adds 15% resistance to burn damage sources."
|
||||
cost = 2
|
||||
var_changes = list("burn_mod" = 0.85)
|
||||
|
||||
@@ -3,13 +3,14 @@
|
||||
var/desc = "Contact a developer if you see this trait."
|
||||
|
||||
var/cost = 0
|
||||
var/category = 0 // What category this trait is. -1 is Negative, 0 is Neutral, 1 is Positive
|
||||
var/list/var_changes // A list to apply to the custom species vars.
|
||||
var/list/excludes // Store a list of paths of traits to exclude, but done automatically if they change the same vars.
|
||||
var/sort = TRAIT_SORT_NORMAL // Sort order, 1 before 2 before 3 etc. Alphabetical is used for same-group traits.
|
||||
var/category = 0 // What category this trait is. -1 is Negative, 0 is Neutral, 1 is Positive
|
||||
var/list/var_changes // A list to apply to the custom species vars.
|
||||
var/list/excludes // Store a list of paths of traits to exclude, but done automatically if they change the same vars.
|
||||
var/can_take = ORGANICS|SYNTHETICS // Can freaking synths use those.
|
||||
var/list/banned_species // A list of species that can't take this trait
|
||||
var/list/banned_species // A list of species that can't take this trait
|
||||
var/list/allowed_species // VORESTATION EDIT:chomp port. A list of species that CAN take this trait, use this if only a few species can use it. -shark
|
||||
var/custom_only = TRUE // Trait only available for custom species
|
||||
var/custom_only = TRUE // Trait only available for custom species
|
||||
|
||||
//Proc can be overridden lower to include special changes, make sure to call up though for the vars changes
|
||||
/datum/trait/proc/apply(var/datum/species/S,var/mob/living/carbon/human/H)
|
||||
|
||||
Reference in New Issue
Block a user