Allows you to put people through wooden tables, like a wrestling match. (#89826)

## About The Pull Request
<img width="161" alt="image"
src="https://github.com/user-attachments/assets/af923130-b928-4a66-a428-619f37f48616"
/>

Simply put, wooden tables (aka, both wood legs and top) have a 1 in 5
chance to break like glass ones when you stand on them.


## Why It's Good For The Game

More potential for funny, but harmless chaos is always nice, and given
wrestling is probably the most commonly played sport in this game, being
able to do tables matches felt fitting - but please do not let this pull
request distract you from the fact that in 1998, The Undertaker threw
Mankind off Hell In A Cell, and plummeted 16 ft through an announcer's
table.

## Changelog
🆑 Webcomicartist
add: People shoved onto wooden tables now have a 1 in 3 chance to break
it, for all your wrestling needs - but please do not let this pull
request distract you from the fact that in 1998, The Undertaker threw
Mankind off Hell In A Cell, and plummeted 16 ft through an announcer's
table.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
This commit is contained in:
KingkumaArt
2025-04-11 12:27:59 -04:00
committed by GitHub
parent d058156863
commit 4e4cd7667c
2 changed files with 28 additions and 2 deletions
@@ -370,6 +370,9 @@
passtable_off(pushed_mob, passtable_key)
if(pushed_mob.loc != loc) //Something prevented the tabling
return
on_mob_tabled(user, pushed_mob)
/obj/structure/table/proc/on_mob_tabled(mob/living/user, mob/living/pushed_mob)
pushed_mob.Knockdown(30)
pushed_mob.apply_damage(10, BRUTE)
pushed_mob.apply_damage(40, STAMINA)
@@ -743,6 +746,29 @@
smoothing_groups = SMOOTH_GROUP_WOOD_TABLES //Don't smooth with SMOOTH_GROUP_TABLES
canSmoothWith = SMOOTH_GROUP_WOOD_TABLES
/obj/structure/table/wood/table_living(datum/source, mob/living/shover, mob/living/target, shove_flags, obj/item/weapon)
. = ..()
wood_table_breakroll(target)
/obj/structure/table/wood/proc/wood_table_breakroll(mob/living/M)
var/breakroll = rand(1,3)
if(breakroll == 3)
wood_table_shatter(M)
return
/obj/structure/table/wood/proc/wood_table_shatter(mob/living/victim)
visible_message(
span_warning("[src] smashes into bits!"),
blind_message = span_hear("You hear the loud cracking of wood being split."),
)
playsound(loc, 'sound/effects/wounds/crack2.ogg', 50, TRUE)
victim.Paralyze(20 SECONDS) // since its not 100% odds, make it longer than a glass table to compensate.
victim.apply_damage(30, BRUTE)
new frame(loc)
qdel(src)
/obj/structure/table/wood/narsie_act(total_override = TRUE)
if(!total_override)
..()