[MIRROR] The Bigger They Are, The Harder They Fall (#11856)

Co-authored-by: SatinIsle <98125273+SatinIsle@users.noreply.github.com>
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-10-21 23:01:38 -07:00
committed by GitHub
parent 273cc20cd9
commit c963d7d54b
6 changed files with 52 additions and 6 deletions

View File

@@ -574,14 +574,26 @@
visible_message(span_warning("\The [src] falls from above and slams into \the [landing]!"), \
span_danger("You fall off and hit \the [landing]!"), \
"You hear something slam into \the [landing].")
playsound(src, "punch", 25, 1, -1)
if(HAS_TRAIT(src, TRAIT_HEAVY_LANDING))
playsound(src, 'sound/effects/meteorimpact.ogg', 75, TRUE, 3)
else
playsound(src, "punch", 25, TRUE, -1)
// Because wounds heal rather quickly, 10 (the default for this proc) should be enough to discourage jumping off but not be enough to ruin you, at least for the first time.
// Hits 10 times, because apparently targeting individual limbs lets certain species survive the fall from atmosphere
for(var/i = 1 to 10)
adjustBruteLoss(rand(damage_min, damage_max))
Weaken(4)
updatehealth()
if(HAS_TRAIT(src, TRAIT_HEAVY_LANDING))
for(var/i = 1 to 10)
adjustBruteLoss(rand((damage_min * 2), (damage_max * 2)))
Weaken(20)
updatehealth()
if(istype(landing, /turf/simulated/floor) && prob(50))
var/turf/simulated/floor/our_crash = landing
our_crash.break_tile()
else
for(var/i = 1 to 10)
adjustBruteLoss(rand(damage_min, damage_max))
Weaken(4)
updatehealth()
// There is really no situation where smacking into a floor and possibly dying horribly would NOT result in you dropping your remote view... It's also safer then assuming they should persist.
reset_perspective()

View File

@@ -39,11 +39,16 @@
var/tdamage
for(var/i = 1 to 5) //Twice as less damage because cushioned fall, but both get damaged.
tdamage = rand(0, 5)
if(HAS_TRAIT(drop_mob, TRAIT_HEAVY_LANDING))
tdamage = tdamage * 1.5
drop_mob.adjustBruteLoss(tdamage)
adjustBruteLoss(tdamage)
drop_mob.updatehealth()
updatehealth()
drop_mob.visible_message(span_danger("\The [drop_mob] falls onto \the [src]!"))
if(HAS_TRAIT(drop_mob, TRAIT_HEAVY_LANDING))
drop_mob.visible_message(span_danger("\The [drop_mob] crashes down onto \the [src]!"))
else
drop_mob.visible_message(span_danger("\The [drop_mob] falls onto \the [src]!"))
else
drop_mob.visible_message(span_notice("\The [drop_mob] safely brushes past \the [src] as they land."))