Skip to content

Commit

Permalink
TGS Test Merge (#6652)
Browse files Browse the repository at this point in the history
  • Loading branch information
cm13-github committed Aug 2, 2024
2 parents 7452a06 + 7952d21 commit cd8a69d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
7 changes: 4 additions & 3 deletions code/game/objects/structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@

/obj/structure/proc/do_climb(mob/living/user, mods)
if(!can_climb(user))
return
return FALSE

var/list/climbdata = list("climb_delay" = climb_delay)
SEND_SIGNAL(user, COMSIG_LIVING_CLIMB_STRUCTURE, climbdata)
Expand All @@ -120,10 +120,10 @@
user.visible_message(SPAN_WARNING("[user] starts [flags_atom & ON_BORDER ? "leaping over" : climb_over_string] \the [src]!"))

if(!do_after(user, final_climb_delay, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC, numticks = 2))
return
return FALSE

if(!can_climb(user))
return
return FALSE

var/turf/TT = get_turf(src)
if(flags_atom & ON_BORDER)
Expand All @@ -145,6 +145,7 @@
user.forceMove(TT)
for(var/atom/movable/thing as anything in grabbed_things) // grabbed things aren't moved to the tile immediately to: make the animation better, preserve the grab
thing.forceMove(TT)
return TRUE

/obj/structure/proc/structure_shaken()

Expand Down
24 changes: 24 additions & 0 deletions code/game/objects/structures/barricade/handrail.dm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
var/build_state = BARRICADE_BSTATE_SECURED
var/reinforced = FALSE //Reinforced to be a cade or not
var/can_be_reinforced = TRUE //can we even reinforce this handrail or not?
var/autoclimb = TRUE

/obj/structure/barricade/handrail/update_icon()
overlays.Cut()
Expand All @@ -40,6 +41,29 @@
if(E.icon_path && E.obj_icon_state_path)
overlays += image(E.icon_path, icon_state = E.obj_icon_state_path)

/obj/structure/barricade/handrail/Collided(atom/movable/movable)
if(istype(movable,/mob/living/carbon/xenomorph/ravager) || istype(movable,/mob/living/carbon/xenomorph/crusher))
var/mob/living/carbon/xenomorph/xenomorph = movable
if(!xenomorph.stat)
visible_message(SPAN_DANGER("[xenomorph] plows straight through [src]!"))
deconstruct(FALSE)
return
else
if(ismob(movable) && autoclimb)
var/mob/living/climber = movable
if(climber.a_intent == INTENT_HARM)
climber.client?.move_delay += 3 DECISECONDS
var/climbed = do_climb(climber)
if(climbed)
if(prob(25))
if(ishuman(climber))
var/mob/living/carbon/human/human = climber
human.apply_damage(5,BRUTE,no_limb_loss = TRUE)
else
climber.apply_damage(5,BRUTE)
climber.visible_message(SPAN_WARNING("You hit yourself as you vault over the [src]"))
..()

/obj/structure/barricade/handrail/get_examine_text(mob/user)
. = ..()
switch(build_state)
Expand Down

0 comments on commit cd8a69d

Please sign in to comment.