mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 04:22:39 +01:00
Backports the new zombification mechanics from the Konyang zombie event. (#18710)
* Reorder parasites * sounds * organ defines, dmdocs * maiming stuff * undead changes, abilities * hylemnomil, undead sprites * antibodies * antibody extractor code * icons * antibody fixes * antibodies vial, rock break sfx * You're all going to die down here. * hylemnomilz eta vial and attributions * zombified organs can't be removed * hylemnomil zeta edits * fixes * lmao * easier check --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
@@ -502,8 +502,9 @@
|
||||
|
||||
var/edge_eligible = FALSE
|
||||
var/blunt_eligible = FALSE
|
||||
var/maim_bonus = 0
|
||||
var/dam_flags = 0
|
||||
/// Certain limbs like zombie limbs have an integrated maiming bonus that make them easier to delimb. Add that.
|
||||
var/maim_bonus_to_add = src.maim_bonus
|
||||
|
||||
if(isitem(used_weapon))
|
||||
var/obj/item/W = used_weapon
|
||||
@@ -512,17 +513,17 @@
|
||||
var/obj/item/projectile/P = W
|
||||
if(dam_flags & DAMAGE_FLAG_BULLET)
|
||||
blunt_eligible = TRUE
|
||||
maim_bonus += P.maim_rate
|
||||
maim_bonus_to_add += P.maim_rate
|
||||
if(W.w_class >= w_class && (dam_flags & DAMAGE_FLAG_EDGE))
|
||||
edge_eligible = TRUE
|
||||
|
||||
if(!blunt_eligible && edge_eligible && (brute >= max_damage / (DROPLIMB_THRESHOLD_EDGE + maim_bonus)))
|
||||
if(!blunt_eligible && edge_eligible && (brute >= max_damage / (DROPLIMB_THRESHOLD_EDGE + maim_bonus_to_add)))
|
||||
droplimb(0, DROPLIMB_EDGE)
|
||||
else if(burn >= max_damage / ((dam_flags & DAMAGE_FLAG_LASER ? DROPLIMB_THRESHOLD_DESTROY_PROJECTILE : DROPLIMB_THRESHOLD_DESTROY) + maim_bonus))
|
||||
else if(burn >= max_damage / ((dam_flags & DAMAGE_FLAG_LASER ? DROPLIMB_THRESHOLD_DESTROY_PROJECTILE : DROPLIMB_THRESHOLD_DESTROY) + maim_bonus_to_add))
|
||||
droplimb(0, DROPLIMB_BURN)
|
||||
else if(blunt_eligible && brute >= max_damage / ((dam_flags & DAMAGE_FLAG_BULLET ? DROPLIMB_THRESHOLD_DESTROY_PROJECTILE : DROPLIMB_THRESHOLD_DESTROY) + maim_bonus))
|
||||
else if(blunt_eligible && brute >= max_damage / ((dam_flags & DAMAGE_FLAG_BULLET ? DROPLIMB_THRESHOLD_DESTROY_PROJECTILE : DROPLIMB_THRESHOLD_DESTROY) + maim_bonus_to_add))
|
||||
droplimb(0, DROPLIMB_BLUNT)
|
||||
else if(brute >= max_damage / (DROPLIMB_THRESHOLD_TEAROFF + maim_bonus))
|
||||
else if(brute >= max_damage / (DROPLIMB_THRESHOLD_TEAROFF + maim_bonus_to_add))
|
||||
droplimb(0, DROPLIMB_EDGE)
|
||||
|
||||
/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0)
|
||||
|
||||
Reference in New Issue
Block a user