From 6c7e12b03004375f1541c8d8db478e167c4a0de4 Mon Sep 17 00:00:00 2001 From: Lzimann Date: Wed, 3 Feb 2016 11:55:54 -0200 Subject: [PATCH 1/6] Makes mech don't suck while destroying walls Also makes them destroy table in one hit. --- code/game/objects/structures/tables_racks.dm | 5 +++++ code/game/turfs/simulated/walls.dm | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 5b98be4d224..f904b2a0c9c 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -54,6 +54,11 @@ table_destroy(1) return +/obj/structure/table/mech_melee_attack(obj/mecha/M) + visible_message("[M.name] smashes [src] apart!") + playsound(src.loc, 'sound/weapons/punch4.ogg.ogg', 50, 1) + table_destroy(1) + /obj/structure/table/attack_alien(mob/living/user) user.do_attack_animation(src) playsound(src.loc, 'sound/weapons/bladeslice.ogg', 50, 1) diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index d7ad8f5fbc3..3d7f31004cf 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -91,7 +91,7 @@ if(M.damtype == "brute") playsound(src, 'sound/weapons/punch4.ogg', 50, 1) visible_message("[M.name] has hit [src]!") - if(prob(5) && M.force > 20) + if(prob(hardness) && M.force > 20) dismantle_wall(1) visible_message("[src.name] smashes through the wall!") playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) From aa99f7155f65c6c7cb25b72670cbdd9993fd29fc Mon Sep 17 00:00:00 2001 From: Lzimann Date: Wed, 3 Feb 2016 12:11:04 -0200 Subject: [PATCH 2/6] Oops --- code/game/objects/structures/tables_racks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index f904b2a0c9c..392da076375 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -56,7 +56,7 @@ /obj/structure/table/mech_melee_attack(obj/mecha/M) visible_message("[M.name] smashes [src] apart!") - playsound(src.loc, 'sound/weapons/punch4.ogg.ogg', 50, 1) + playsound(src.loc, 'sound/weapons/punch4.ogg', 50, 1) table_destroy(1) /obj/structure/table/attack_alien(mob/living/user) From 2103299326741ad201a6acfffea7ebe5b698208c Mon Sep 17 00:00:00 2001 From: Lzimann Date: Wed, 3 Feb 2016 17:20:40 -0200 Subject: [PATCH 3/6] Makes mechs destroy tables/rack on movement, also make racks punchable my combat mechs. Also re-did the ex_act for tables so it contains all 3 severities. --- code/game/mecha/mecha.dm | 3 ++- code/game/objects/structures/tables_racks.dm | 18 +++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index f5a870878a8..01e296c8936 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -551,7 +551,8 @@ step(obstacle, dir) else if(istype(obstacle, /mob)) step(obstacle, dir) - + if(istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/rack)) + obstacle.ex_act(2) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 392da076375..3f633c03a27 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -45,9 +45,17 @@ /obj/structure/table/ex_act(severity, target) ..() - if(severity == 3) - if(prob(25)) - table_destroy(1) + switch(severity) + if(1) + qdel(src) + if(2) + if(prob(50) + table_destroy(1) + else + qdel(src) + if(3) + if(prob(25)) + table_destroy(1) /obj/structure/table/blob_act() if(prob(75)) @@ -451,6 +459,10 @@ rack_destroy() return +/obj/structure/rack/mech_melee_attack(/obj/mecha/M) + visible.message("[M.name] smashes [src] apart!") + rack_destroy(1) + /obj/structure/rack/CanPass(atom/movable/mover, turf/target, height=0) if(height==0) return 1 if(src.density == 0) //Because broken racks -Agouri |TODO: SPRITE!| From c8f17a4dd1e20ea4aea7af991606b65866e5966e Mon Sep 17 00:00:00 2001 From: Lzimann Date: Wed, 3 Feb 2016 17:52:46 -0200 Subject: [PATCH 4/6] I'm stupid --- code/game/objects/structures/tables_racks.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 3f633c03a27..3c7e07e70c7 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -49,7 +49,7 @@ if(1) qdel(src) if(2) - if(prob(50) + if(prob(50)) table_destroy(1) else qdel(src) @@ -459,8 +459,8 @@ rack_destroy() return -/obj/structure/rack/mech_melee_attack(/obj/mecha/M) - visible.message("[M.name] smashes [src] apart!") +/obj/structure/rack/mech_melee_attack(obj/mecha/M) + visible_message("[M.name] smashes [src] apart!") rack_destroy(1) /obj/structure/rack/CanPass(atom/movable/mover, turf/target, height=0) From 2e3470d7364e3cde5c9388c5c9b1c398ccfad475 Mon Sep 17 00:00:00 2001 From: Leo Date: Fri, 5 Feb 2016 02:18:20 -0200 Subject: [PATCH 5/6] Removed parent call --- code/game/objects/structures/tables_racks.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 3c7e07e70c7..2f8a1b4697a 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -44,7 +44,6 @@ smooth_icon_neighbors(src) /obj/structure/table/ex_act(severity, target) - ..() switch(severity) if(1) qdel(src) From b456fe3807193562120cff7065ed9db5832bc6f3 Mon Sep 17 00:00:00 2001 From: Leo Date: Fri, 5 Feb 2016 02:41:40 -0200 Subject: [PATCH 6/6] Remove bump() change --- code/game/mecha/mecha.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 01e296c8936..e62624cd5eb 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -551,8 +551,6 @@ step(obstacle, dir) else if(istype(obstacle, /mob)) step(obstacle, dir) - if(istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/rack)) - obstacle.ex_act(2)