Merge pull request #253 from sheepishgoat/fattening-damage-type

Fattening Damage Type
This commit is contained in:
evilew
2024-08-31 15:30:32 +02:00
committed by GitHub
7 changed files with 35 additions and 2 deletions
@@ -43,6 +43,8 @@
//citadel code
if(AROUSAL)
adjustArousalLoss(damage * hit_percent)
if(FAT)
applyFatnessDamage(damage * hit_percent)
return TRUE
@@ -120,6 +122,12 @@
adjustStaminaLoss(diff, updating, forced)
/mob/living/carbon/applyFatnessDamage(amount)
var/fat_to_add = ((amount * CONFIG_GET(number/damage_multiplier)) * FAT_DAMAGE_TO_FATNESS)
adjust_fatness(fat_to_add, FATTENING_TYPE_WEAPON)
return fat_to_add
/** adjustOrganLoss
* inputs: slot (organ slot, like ORGAN_SLOT_HEART), amount (damage to be done), and maximum (currently an arbitrarily large number, can be set so as to limit damage)
* outputs:
@@ -2461,6 +2461,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.adjustOrganLoss(ORGAN_SLOT_BRAIN, damage * hit_percent * H.physiology.brain_mod)
if(AROUSAL) //Citadel edit - arousal
H.adjustArousalLoss(damage * hit_percent)
if(FAT)
H.applyFatnessDamage(damage * hit_percent)
return 1
/datum/species/proc/on_hit(obj/item/projectile/P, mob/living/carbon/human/H)
+11 -1
View File
@@ -25,6 +25,8 @@
adjustCloneLoss(damage * hit_percent)
if(STAMINA)
adjustStaminaLoss(damage * hit_percent)
if(FAT)
applyFatnessDamage(damage * hit_percent)
return 1
/mob/living/proc/apply_damage_type(damage = 0, damagetype = BRUTE) //like apply damage except it always uses the damage procs
@@ -41,6 +43,8 @@
return adjustCloneLoss(damage)
if(STAMINA)
return adjustStaminaLoss(damage)
if(FAT)
return applyFatnessDamage(damage)
/mob/living/proc/get_damage_amount(damagetype = BRUTE)
switch(damagetype)
@@ -58,7 +62,7 @@
return getStaminaLoss()
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = FALSE, stamina = 0, brain = 0)
/mob/living/proc/apply_damages(brute = 0, burn = 0, tox = 0, oxy = 0, clone = 0, def_zone = null, blocked = FALSE, stamina = 0, brain = 0, fatness = 0)
if(blocked >= 100)
return 0
if(brute)
@@ -75,6 +79,8 @@
apply_damage(stamina, STAMINA, def_zone, blocked)
if(brain)
apply_damage(brain, BRAIN, def_zone, blocked)
if(fatness)
apply_damage(fatness, FAT, def_zone, blocked)
return 1
@@ -230,6 +236,10 @@
/mob/living/proc/setStaminaLoss(amount, updating_stamina = TRUE, forced = FALSE)
return
/// Apply fatness damage from weapons or items that have the fatness damage type.
/mob/living/proc/applyFatnessDamage(amount)
return
// heal ONE external organ, organ gets randomly selected from damaged ones.
/mob/living/proc/heal_bodypart_damage(brute = 0, burn = 0, stamina = 0, updating_health = TRUE)
adjustBruteLoss(-brute, FALSE) //zero as argument for no instant health update