diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index f8a20b9f64f..98cc4ea13ce 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -60,7 +60,7 @@ . = ..() if(!climbable) return - if(ismob(O) && user == O && ishuman(user)) + if(ismob(O) && user == O && iscarbon(user)) if(user.canmove) climb_structure(user) return @@ -81,6 +81,8 @@ var/adjusted_climb_time = climb_time if(user.restrained()) //climbing takes twice as long when restrained. adjusted_climb_time *= 2 + if(istype(user, /mob/living/carbon/alien)) + adjusted_climb_time *= 0.25 //aliens are terrifyingly fast structureclimber = user if(do_mob(user, user, adjusted_climb_time)) if(src.loc) //Checking if structure has been destroyed @@ -92,8 +94,12 @@ user.Stun(climb_stun) else user << "You fail to climb onto [src]." + density = 1 + structureclimber = null + return 0 density = 1 structureclimber = null return 1 - structureclimber = null - return ..() + else + structureclimber = null + return 0 diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index dc219c46a74..12d2ca3e65e 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -307,6 +307,9 @@ togglelock(user) return +/obj/structure/closet/attack_alien(mob/living/user) + return attack_hand(user) + // tk grab then use on self /obj/structure/closet/attack_self_tk(mob/user) return attack_hand(user)