diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 197da35056d..c4bca305935 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -1,6 +1,7 @@ /obj/structure icon = 'icons/obj/structures.dmi' var/climbable + var/mob/climber /obj/structure/blob_act() if(prob(50)) @@ -73,20 +74,26 @@ if(S && S.density) return usr.visible_message("[user] starts climbing onto \the [src]!") - + climber = user if(!do_after(user,50)) + climber = null return if (!can_touch(user) || !climbable) + climber = null return S = locate() in T.contents - if(S && S.density) return + if(S && S.density) + climber = null + return usr.loc = get_turf(src) if (get_turf(user) == get_turf(src)) usr.visible_message("[user] climbs onto \the [src]!") + climber = null + /obj/structure/proc/structure_shaken() for(var/mob/living/M in get_turf(src)) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 38a08c66b45..46558088bc8 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -307,6 +307,9 @@ destroy() else ..() + if(climber) + climber.Weaken(2) + climber.visible_message("[climber.name] has been knocked off the table", "You've been knocked off the table", "You see [climber.name] get knocked off the table") /obj/structure/table/attack_tk() // no telehulk sorry return