Files
Bubberstation/code/game/objects/items/fireaxe.dm
SkyratBot febcb4e4cd [MIRROR] Makes some use of CONDUCT_1 in grille and door attackby. [MDB IGNORE] (#17513)
* Makes some use of `CONDUCT_1` in grille and door attackby. (#71286)

## About The Pull Request

- Airlock attackby now uses `CONDUCT_1` to check if the mob should be
shocked on attack
- Grille attackby now uses `CONDUCT_1` to check if the mob should be
shocked on attack
- You don't leave a fingerprint on grilles you attack (?)
- Fire axe is now conductive (it's made of steel?)

## Why It's Good For The Game

- Consistency is nice.
- If you have an item you don't expect to shock you, it shouldn't
randomly zap you anyways.
- Grilles are especially bad for this: It hard checked _glass shards_
when attacking, and _glass shards_ only. That's lame and nonsensical.
All non-conductive weapons should resist a spark.

## Changelog

🆑 Melbert
balance: Attacking a shocked door with an item that isn't conductive
will not shock you.
balance: Attacking a shocked grille with any item that isn't conductive
(not just glass shards) will not shock you.
balance: Attacking grilles with items no longer leaves behind a
fingerprint on the grille (?).
balance: Fire axe is now conductive.
/🆑

* Makes some use of `CONDUCT_1` in grille and door attackby.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-11-17 17:25:32 -08:00

83 lines
2.9 KiB
Plaintext

/*
* Fireaxe
*/
/obj/item/fireaxe // DEM AXES MAN, marker -Agouri
icon = 'icons/obj/weapons/fireaxe.dmi'
icon_state = "fireaxe0"
base_icon_state = "fireaxe"
lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi'
name = "fire axe"
desc = "Truly, the weapon of a madman. Who would think to fight fire with an axe?"
force = 5
throwforce = 15
demolition_mod = 1.25
w_class = WEIGHT_CLASS_BULKY
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BACK
attack_verb_continuous = list("attacks", "chops", "cleaves", "tears", "lacerates", "cuts")
attack_verb_simple = list("attack", "chop", "cleave", "tear", "lacerate", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
sharpness = SHARP_EDGED
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 100, ACID = 30)
resistance_flags = FIRE_PROOF
wound_bonus = -15
bare_wound_bonus = 20
/// How much damage to do unwielded
var/force_unwielded = 5
/// How much damage to do wielded
var/force_wielded = 24
/obj/item/fireaxe/Initialize(mapload)
. = ..()
AddComponent(/datum/component/butchering, \
speed = 10 SECONDS, \
effectiveness = 80, \
bonus_modifier = 0 , \
butcher_sound = hitsound, \
)
//axes are not known for being precision butchering tools
AddComponent(/datum/component/two_handed, force_unwielded=force_unwielded, force_wielded=force_wielded, icon_wielded="[base_icon_state]1")
/obj/item/fireaxe/update_icon_state()
icon_state = "[base_icon_state]0"
return ..()
/obj/item/fireaxe/suicide_act(mob/living/user)
user.visible_message(span_suicide("[user] axes [user.p_them()]self from head to toe! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
/obj/item/fireaxe/afterattack(atom/A, mob/user, proximity)
. = ..()
if(!proximity)
return
if(HAS_TRAIT(src, TRAIT_WIELDED)) //destroys windows and grilles in one hit
if(istype(A, /obj/structure/window) || istype(A, /obj/structure/grille))
var/obj/structure/W = A
W.atom_destruction("fireaxe")
/*
* Bone Axe
*/
/obj/item/fireaxe/boneaxe // Blatant imitation of the fireaxe, but made out of bone.
icon_state = "bone_axe0"
base_icon_state = "bone_axe"
name = "bone axe"
desc = "A large, vicious axe crafted out of several sharpened bone plates and crudely tied together. Made of monsters, by killing monsters, for killing monsters."
force_unwielded = 5
force_wielded = 23
/*
* Metal Hydrogen Axe
*/
/obj/item/fireaxe/metal_h2_axe
icon_state = "metalh2_axe0"
base_icon_state = "metalh2_axe"
name = "metallic hydrogen axe"
desc = "A lightweight crowbar with an extreme sharp fire axe head attached. It trades it's hefty as a weapon by making it easier to carry around when holstered to suits without having to sacrifice your backpack."
force_unwielded = 5
force_wielded = 15
demolition_mod = 2
tool_behaviour = TOOL_CROWBAR
toolspeed = 1