Merge pull request #8366 from lbnesquik/Kot-Traits-Addition

Bring back hemophilia. No, it's not a crime!
This commit is contained in:
Novacat
2020-08-18 20:49:44 -04:00
committed by GitHub
3 changed files with 21 additions and 0 deletions
@@ -14,6 +14,7 @@
var/traits_cheating = 0 //Varedit by admins allows saving new maximums on people who apply/etc
var/starting_trait_points = STARTING_SPECIES_POINTS
var/max_traits = MAX_SPECIES_TRAITS
var/dirty_synth = 0 //Are you a synth
// Definition of the stuff for Ears
/datum/category_item/player_setup_item/vore/traits
@@ -82,6 +83,10 @@
/datum/category_item/player_setup_item/vore/traits/copy_to_mob(var/mob/living/carbon/human/character)
character.custom_species = pref.custom_species
var/datum/species/selected_species = GLOB.all_species[pref.species]
if(character.isSynthetic()) //Checking if we have a synth on our hands, boys.
pref.dirty_synth = 1
if(selected_species.selects_bodytype)
var/datum/species/custom/CS = character.species
var/S = pref.custom_base ? pref.custom_base : "Human"
@@ -255,6 +260,14 @@
var/conflict = FALSE
user.isSynthetic() //Recheck just to be sure
if(pref.dirty_synth && instance.not_for_synths)//if you are a synth you can't take this trait.
alert("You cannot take this trait as a SYNTH.\
Please remove that trait, or pick another trait to add.","Error")
pref.dirty_synth = 0 //Just to be sure
return TOPIC_REFRESH
if(trait_choice in pref.pos_traits + pref.neu_traits + pref.neg_traits)
conflict = instance.name
@@ -90,6 +90,13 @@
cost = -2
var_changes = list("siemens_coefficient" = 2.0) //This makes you extremely weak to tasers.
/datum/trait/haemophilia
name = "Haemophilia - Organics only"
desc = "When you bleed, you bleed a LOT. This trait is only for organics, buggy with synths!"
cost = -2
var_changes = list("bloodloss_rate" = 2)
not_for_synths = 1
/datum/trait/hollow
name = "Hollow Bones/Aluminum Alloy"
desc = "Your bones and robot limbs are much easier to break."
@@ -5,6 +5,7 @@
var/cost = 0 // 0 is neutral, negative cost means negative, positive cost means 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/not_for_synths = 0 // Can freaking synths use those.
//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)