Tabling Rework (#46383)

* nutable

* more damage

* halved time

* louder + slightly different sound

* head slam + nerfed table damage

* martial art breaks table + headsmash damages table

* stamina boost to headsmash

* functional table crushing
This commit is contained in:
Rob Bailey
2019-10-06 19:26:12 -04:00
committed by moo
parent 66f04e2ab8
commit b4c34c8b58
7 changed files with 34 additions and 8 deletions
+1
View File
@@ -8,6 +8,7 @@
var/block_chance = 0 //Chance to block melee attacks using items while on throw mode.
var/help_verb
var/allow_temp_override = TRUE //if this martial art can be overridden by temporary martial arts
var/smashes_tables = FALSE //If the martial art smashes tables when performing table slams and head smashes
/datum/martial_art/proc/disarm_act(mob/living/carbon/human/A, mob/living/carbon/human/D)
return FALSE
+1
View File
@@ -9,6 +9,7 @@
id = MARTIALART_CQC
help_verb = /mob/living/carbon/human/proc/CQC_help
block_chance = 75
smashes_tables = TRUE
var/old_grab_state = null
var/restraining = FALSE
+1
View File
@@ -9,6 +9,7 @@
id = MARTIALART_SLEEPINGCARP
allow_temp_override = FALSE
help_verb = /mob/living/carbon/human/proc/sleeping_carp_help
smashes_tables = TRUE
var/old_grab_state = null
/datum/martial_art/the_sleeping_carp/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D)
@@ -84,6 +84,11 @@
description = "<span class='nicegreen'>They want to play on the table!</span>\n"
mood_change = 2
/datum/mood_event/table_headsmash
description = "<span class='warning'>My fucking head, that hurt...</span>"
mood_change = -3
timeout = 3 MINUTES
/datum/mood_event/brain_damage
mood_change = -3
+26 -8
View File
@@ -70,7 +70,10 @@
if(user.grab_state < GRAB_AGGRESSIVE)
to_chat(user, "<span class='warning'>You need a better grip to do that!</span>")
return
tablepush(user, pushed_mob)
if(user.grab_state >= GRAB_NECK)
tableheadsmash(user, pushed_mob)
else
tablepush(user, pushed_mob)
if(user.a_intent == INTENT_HELP)
pushed_mob.visible_message("<span class='notice'>[user] begins to place [pushed_mob] onto [src]...</span>", \
"<span class='userdanger'>[user] begins to place [pushed_mob] onto [src]...</span>")
@@ -126,14 +129,29 @@
pushed_mob.pass_flags &= ~PASSTABLE
if(pushed_mob.loc != loc) //Something prevented the tabling
return
pushed_mob.Paralyze(40)
pushed_mob.visible_message("<span class='danger'>[user] slams [pushed_mob] onto [src]!</span>", \
"<span class='userdanger'>[user] slams you onto [src]!</span>")
pushed_mob.Knockdown(30)
pushed_mob.apply_damage(10, BRUTE)
pushed_mob.apply_damage(40, STAMINA)
if(user.mind?.martial_art?.smashes_tables)
deconstruct(FALSE)
playsound(pushed_mob, "sound/effects/tableslam.ogg", 90, TRUE)
pushed_mob.visible_message("<span class='danger'>[user] slams [pushed_mob] onto \the [src]!</span>", \
"<span class='userdanger'>[user] slams you onto \the [src]!</span>")
log_combat(user, pushed_mob, "tabled", null, "onto [src]")
if(!ishuman(pushed_mob))
return
var/mob/living/carbon/human/H = pushed_mob
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "table", /datum/mood_event/table)
SEND_SIGNAL(pushed_mob, COMSIG_ADD_MOOD_EVENT, "table", /datum/mood_event/table)
/obj/structure/table/proc/tableheadsmash(mob/living/user, mob/living/pushed_mob)
pushed_mob.Knockdown(30)
pushed_mob.apply_damage(40, BRUTE, BODY_ZONE_HEAD)
pushed_mob.apply_damage(60, STAMINA)
take_damage(50)
if(user.mind?.martial_art?.smashes_tables)
deconstruct(FALSE)
playsound(pushed_mob, "sound/effects/tableheadsmash.ogg", 90, TRUE)
pushed_mob.visible_message("<span class='danger'>[user] smashes [pushed_mob]'s head against \the [src]!</span>",
"<span class='userdanger'>[user] smashes your head against \the [src]</span>")
log_combat(user, pushed_mob, "head slammed", null, "against [src]")
SEND_SIGNAL(pushed_mob, COMSIG_ADD_MOOD_EVENT, "table", /datum/mood_event/table_headsmash)
/obj/structure/table/attackby(obj/item/I, mob/user, params)
if(!(flags_1 & NODECONSTRUCT_1) && user.a_intent != INTENT_HELP)
Binary file not shown.
Binary file not shown.