Fireman Stair Fixes (#17974)

* Fireman Stair Fixes

* updated cl
This commit is contained in:
Geeves
2023-12-20 13:19:58 +00:00
committed by GitHub
parent 1e73c993b3
commit e68ebfe192
4 changed files with 24 additions and 10 deletions
+3
View File
@@ -85,6 +85,9 @@ SUBSYSTEM_DEF(falling)
if (falling[victim] <= 1) // Just moving down a flight, skip damage.
victim.multiz_falling = 0
falling -= victim
for(var/obj/item/grab/grab in victim)
if(grab.affecting)
grab.affecting.forceMove(victim.loc)
else
// Falling more than a level, fuck 'em up.
victim.fall_impact(falling[victim], FALSE)
+1 -1
View File
@@ -447,7 +447,7 @@
H.visible_message("<b>[H]</b> starts lifting \the [affecting] onto their shoulders...", SPAN_NOTICE("You start lifting \the [affecting] onto your shoulders..."))
if(!do_after(H, 3 SECONDS, TRUE))
if(!do_after(H, 1 SECONDS, affecting))
return
if(affecting.buckled_to)
+12 -9
View File
@@ -233,20 +233,23 @@
return ..()
/obj/structure/stairs/CollidedWith(atom/movable/A)
/obj/structure/stairs/CollidedWith(atom/movable/moving_atom)
// This is hackish but whatever.
var/turf/target = get_step(GetAbove(A), dir)
var/turf/target = get_step(GetAbove(moving_atom), dir)
if(!target)
return
if(target.z > (z + 1)) //Prevents wheelchair fuckery. Basically, you teleport twice because both the wheelchair + your mob collide with the stairs.
return
if(target.Enter(A, src) && A.dir == dir)
A.forceMove(target)
if(isliving(A))
var/mob/living/L = A
if(L.pulling)
L.pulling.forceMove(target)
if(ishuman(A))
if(target.Enter(moving_atom, src) && moving_atom.dir == dir)
moving_atom.forceMove(target)
if(isliving(moving_atom))
var/mob/living/living_mob = moving_atom
if(living_mob.pulling)
living_mob.pulling.forceMove(target)
for(var/obj/item/grab/grab in living_mob)
if(grab.affecting)
grab.affecting.forceMove(target)
if(ishuman(living_mob))
playsound(src, 'sound/effects/stairs_step.ogg', 50)
playsound(target, 'sound/effects/stairs_step.ogg', 50)
@@ -0,0 +1,8 @@
author: Geeves
delete-after: True
changes:
- bugfix: "Fixed grabbing / fireman carrying up and down stairs."
- bugfix: "Fixed lifting someone into a fireman carry being instant."
- tweak: "Lowered fireman carrying time to 1 second from 3 seconds."