From b4c4fc99959dbb558d43d4d8a7b0415cce02ec01 Mon Sep 17 00:00:00 2001 From: Aztectornado Date: Sat, 24 Feb 2018 21:05:56 -0600 Subject: [PATCH 1/2] Adds Hollow Bones trait --- .../human/species/station/traits_vr/negative.dm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm index 4aaae08daf..307fc537ee 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits_vr/negative.dm @@ -96,6 +96,17 @@ cost = -1 var_changes = list("flash_mod" = 2.0) +/datum/trait/hollow + name = "Hollow Bones/Aluminum Alloy" + desc = "Your bones and robot limbs are much easier to break." + cost = -2 //I feel like this should be higher, but let's see where it goes + +/datum/trait/hollow/apply(var/datum/species/S,var/mob/living/carbon/human/H) + ..(S,H) + for(var/obj/item/organ/external/O in H.organs) + O.min_broken_damage *= 0.5 + O.min_bruised_damage *= 0.5 + /datum/trait/lightweight name = "Lightweight" desc = "Your light weight and poor balance make you very susceptible to unhelpful bumping. Think of it like a bowling ball versus a pin." From 305451ce07c57bed634ab79b5116e50d1a576a07 Mon Sep 17 00:00:00 2001 From: Aztectornado Date: Mon, 5 Mar 2018 01:53:33 -0600 Subject: [PATCH 2/2] Makes robotic limb damage scalable --- code/modules/mob/living/carbon/human/human_powers.dm | 2 +- code/modules/organs/organ_external.dm | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index 445d06a802..b131e0b558 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -173,7 +173,7 @@ for(var/obj/item/organ/external/EO in organs) if(EO.brute_dam || EO.burn_dam) - output += "[EO.name] - [EO.burn_dam + EO.brute_dam > ROBOLIMB_REPAIR_CAP ? "Heavy Damage" : "Light Damage"]\n" + output += "[EO.name] - [EO.burn_dam + EO.brute_dam > EO.min_broken_damage ? "Heavy Damage" : "Light Damage"]\n" //VOREStation Edit - Makes robotic limb damage scalable else output += "[EO.name] - OK\n" diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 6c8d9c631a..313afaebe4 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -400,7 +400,7 @@ user << "Nothing to fix!" return 0 - if(damage_amount >= ROBOLIMB_REPAIR_CAP) + if(damage_amount >= min_broken_damage) //VOREStation Edit - Makes robotic limb damage scalable user << "The damage is far too severe to patch over externally." return 0 @@ -1085,6 +1085,7 @@ Note that amputating the affected organ does in fact remove the infection from t dislocated = -1 cannot_break = 1 + min_broken_damage = ROBOLIMB_REPAIR_CAP //VOREStation Addition - Makes robotic limb damage scalable remove_splint() get_icon() unmutate() @@ -1133,7 +1134,7 @@ Note that amputating the affected organ does in fact remove the infection from t return !(status & (ORGAN_MUTATED|ORGAN_DEAD)) /obj/item/organ/external/proc/is_malfunctioning() - return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= 25 && prob(brute_dam + burn_dam)) + return ((robotic >= ORGAN_ROBOT) && (brute_dam + burn_dam) >= min_broken_damage*0.83 && prob(brute_dam + burn_dam)) //VOREStation Edit - Makes robotic limb damage scalable /obj/item/organ/external/proc/embed(var/obj/item/weapon/W, var/silent = 0) if(!owner || loc != owner)