Adds a Trait system (#4048)

* Works on trait system, wip.

* Finalizes traits.
Fixes a few bugs with medical machines assuming a max health of 100.
This commit is contained in:
Neerti
2017-10-13 02:17:39 -04:00
committed by Anewbe
parent ef13c24d40
commit a8513844ec
23 changed files with 1102 additions and 15 deletions
+10
View File
@@ -142,6 +142,16 @@ var/const/CE_STABLE_THRESHOLD = 0.5
//Bleeding out
var/blood_max = 0
var/blood_loss_divisor = 30 //lower factor = more blood loss
// Some modifiers can make bleeding better or worse. Higher multiplers = more bleeding.
var/blood_loss_modifier_multiplier = 1.0
for(var/datum/modifier/M in modifiers)
if(!isnull(M.bleeding_rate_percent))
blood_loss_modifier_multiplier += (M.bleeding_rate_percent - 1.0)
blood_loss_divisor /= blood_loss_modifier_multiplier
//This 30 is the "baseline" of a cut in the "vital" regions (head and torso).
for(var/obj/item/organ/external/temp in bad_external_organs)
if(!(temp.status & ORGAN_BLEEDING) || (temp.robotic >= ORGAN_ROBOT))
+5
View File
@@ -79,6 +79,11 @@
brainmob.dna = H.dna.Clone()
brainmob.timeofhostdeath = H.timeofdeath
// Copy modifiers.
for(var/datum/modifier/M in H.modifiers)
if(M.flags & MODIFIER_GENETIC)
brainmob.add_modifier(M.type)
if(H.mind)
H.mind.transfer_to(brainmob)