Kneebreaker Hammer and ported biosuits (#1067)

Adding the Kneebreaker Hammer to the code, a blunt weapon which does the same amount of damage as a metal baseball bat and can be used to pry doors while fitting in a satchel and on the belt, quite comparable to an e-sword, due to eventually become a traitor item when the coders are done with Stuff.

Porting our oldcode biosuits as well, when I made some checks, those who chose to comment unanimously agreed the old suits were better.
This commit is contained in:
Fire-and-Glory
2016-10-26 22:01:11 +03:00
committed by skull132
parent e9f8cdf6b1
commit 0fde5b9f63
10 changed files with 74 additions and 4 deletions
+11
View File
@@ -896,10 +896,21 @@ About the new airlock wires panel:
spawn(0) close(1)
else
user << "<span class='warning'>You need to be wielding \the [C] to do that.</span>"
else if(istype(C, /obj/item/weapon/melee/hammer) && !arePowerSystemsOn())
if(locked)
user << "<span class='notice'>The airlock's bolts prevent it from being forced.</span>"
else if( !welded && !operating )
if(density)
spawn(0) open(1)
else
spawn(0) close(1)
else
..()
return
/obj/machinery/door/airlock/phoron/attackby(C as obj, mob/user as mob)
if(C)
ignite(is_hot(C))
+2 -2
View File
@@ -90,8 +90,8 @@
// This only works on broken doors or doors without power. Also allows repair with Plasteel.
/obj/machinery/door/blast/attackby(obj/item/weapon/C as obj, mob/user as mob)
src.add_fingerprint(user)
if(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/material/twohanded/fireaxe) && C:wielded == 1))
if(((stat & NOPOWER) || (stat & BROKEN)) && !( src.operating ))
if(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/material/twohanded/fireaxe) && C:wielded == 1) || (istype(C, /obj/item/weapon/melee/hammer)))
if (((stat & NOPOWER) || (stat & BROKEN)) && !( src.operating ))
force_toggle()
else
usr << "<span class='notice'>[src]'s motors resist your effort.</span>"
+2 -2
View File
@@ -257,7 +257,7 @@
user << "<span class='danger'>\The [src] is welded shut!</span>"
return
if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/material/twohanded/fireaxe))
if(istype(C, /obj/item/weapon/crowbar) || istype(C,/obj/item/weapon/material/twohanded/fireaxe) || (istype(C, /obj/item/weapon/melee/hammer)))
if(operating)
return
@@ -276,7 +276,7 @@
"You start forcing \the [src] [density ? "open" : "closed"] with \the [C]!",\
"You hear metal strain.")
if(do_after(user,30))
if(istype(C, /obj/item/weapon/crowbar))
if(istype(C, /obj/item/weapon/crowbar) || (istype(C, /obj/item/weapon/melee/hammer)))
if(stat & (BROKEN|NOPOWER) || !density)
user.visible_message("<span class='danger'>\The [user] forces \the [src] [density ? "open" : "closed"] with \a [C]!</span>",\
"You force \the [src] [density ? "open" : "closed"] with \the [C]!",\
@@ -53,3 +53,25 @@
/obj/item/weapon/melee/chainsword/suicide_act(mob/user)
viewers(user) << "\red <b>[user] is slicing \himself apart with the [src.name]! It looks like \he's trying to commit suicide.</b>"
return (BRUTELOSS|OXYLOSS)
//This is essentially a crowbar and a baseball bat in one.
/obj/item/weapon/melee/hammer
name = "kneebreaker hammer"
desc = "A heavy hammer made of plasteel, the other end could be used to pry open doors."
icon = 'icons/obj/kneehammer.dmi'
icon_state = "kneehammer"
item_state = "kneehammer"
contained_sprite = 1
slot_flags = SLOT_BELT
force = 22
throwforce = 70
//This should do around 15 brute when you throw it, there's probably a better way to do it.
throw_speed = 1
throw_range = 5
attack_verb = list("smashed", "beaten", "slammed", "smacked", "struck", "battered", "bonked")
w_class = 3
origin_tech = "materials=3;syndicate=2"
sharp = 0
edge = 0
hitsound = 'sound/weapons/genhit3.ogg'