Reworks disarms into shoves, mostly from TG (#18186)

* Disarm rework

* martial arts should work

* farie review

* bug fix + sound

* fixes all the things

* fixes diagonals

* fixes anchoring, buckling and adds feedback messages.

* fixes blockers ontop of tables

* grammar + tabling fix

* steel review
This commit is contained in:
Charlie
2022-07-15 19:14:38 +01:00
committed by GitHub
parent 707a92c46d
commit 5e1ad2b560
4 changed files with 105 additions and 52 deletions
@@ -230,6 +230,20 @@
else
return ..()
/obj/structure/table/shove_impact(mob/living/target, mob/living/attacker)
if(locate(/obj/structure/table) in get_turf(target))
return FALSE
if(flipped)
return FALSE
var/pass_flags_cache = target.pass_flags
target.pass_flags |= PASSTABLE
if(target.Move(loc))
. = TRUE
target.Weaken(4 SECONDS)
add_attack_logs(attacker, target, "pushed onto [src]", ATKLOG_ALL)
else
. = FALSE
target.pass_flags = pass_flags_cache
/obj/structure/table/screwdriver_act(mob/user, obj/item/I)
if(flags & NODECONSTRUCT)
@@ -441,6 +455,16 @@
L.Weaken(10 SECONDS)
qdel(src)
/obj/structure/table/glass/shove_impact(mob/living/target, mob/living/attacker)
var/pass_flags_cache = target.pass_flags
target.pass_flags |= PASSTABLE
if(target.Move(loc)) // moving onto a table smashes it, stunning them
. = TRUE
add_attack_logs(attacker, target, "pushed onto [src]", ATKLOG_ALL)
else
. = FALSE
target.pass_flags = pass_flags_cache
/obj/structure/table/glass/deconstruct(disassembled = TRUE, wrench_disassembly = 0)
if(!(flags & NODECONSTRUCT))
if(disassembled)