diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 4e6919b3acfc..03939d71ecab 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -244,7 +244,7 @@ status_type = STATUS_EFFECT_REPLACE alert_type = null var/mutable_appearance/marked_underlay - var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced + var/obj/item/weapon/twohanded/required/kinetic_crusher/hammer_synced /datum/status_effect/crusher_mark/on_apply() if(owner.mob_size >= MOB_SIZE_LARGE) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index edfe67b37a6d..ddcbc0a3f89a 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -84,21 +84,17 @@ return /obj/item/weapon/twohanded/dropped(mob/user) - ..() + . = ..() //handles unwielding a twohanded weapon when dropped as well as clearing up the offhand if(!wielded) return - if(user) - var/obj/item/weapon/twohanded/O = user.get_inactive_held_item() - if(istype(O)) - O.unwield(user, FALSE) unwield(user) /obj/item/weapon/twohanded/update_icon() return /obj/item/weapon/twohanded/attack_self(mob/user) - ..() + . = ..() if(wielded) //Trying to unwield it unwield(user) else //Trying to wield it diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 06e461d43a27..05848711bd85 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -1,5 +1,5 @@ /*********************Mining Hammer****************/ -/obj/item/weapon/twohanded/required/mining_hammer +/obj/item/weapon/twohanded/required/kinetic_crusher icon = 'icons/obj/mining.dmi' icon_state = "mining_hammer1" item_state = "mining_hammer1" @@ -24,13 +24,11 @@ var/charged = TRUE var/charge_time = 15 -/obj/item/weapon/twohanded/required/mining_hammer/Destroy() - for(var/a in trophies) - qdel(a) - trophies = null +/obj/item/weapon/twohanded/required/kinetic_crusher/Destroy() + QDEL_LIST(trophies) return ..() -/obj/item/weapon/twohanded/required/mining_hammer/examine(mob/living/user) +/obj/item/weapon/twohanded/required/kinetic_crusher/examine(mob/living/user) ..() to_chat(user, "Mark a large creature with the destabilizing force, then hit them in melee to do 50 damage.") to_chat(user, "Does 80 damage if the target is backstabbed, instead of 50.") @@ -38,7 +36,7 @@ var/obj/item/crusher_trophy/T = t to_chat(user, "It has \a [T] attached, which causes [T.effect_desc()].") -/obj/item/weapon/twohanded/required/mining_hammer/attackby(obj/item/A, mob/living/user) +/obj/item/weapon/twohanded/required/kinetic_crusher/attackby(obj/item/A, mob/living/user) if(istype(A, /obj/item/weapon/crowbar)) if(LAZYLEN(trophies)) to_chat(user, "You remove [src]'s trophies.") @@ -54,7 +52,7 @@ else return ..() -/obj/item/weapon/twohanded/required/mining_hammer/attack(mob/living/target, mob/living/carbon/user) +/obj/item/weapon/twohanded/required/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user) var/datum/status_effect/crusher_damage/C = target.has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) var/target_health = target.health ..() @@ -65,7 +63,7 @@ if(!QDELETED(C) && !QDELETED(target)) C.total_damage += target_health - target.health //we did some damage, but let's not assume how much we did -/obj/item/weapon/twohanded/required/mining_hammer/afterattack(atom/target, mob/living/user, proximity_flag) +/obj/item/weapon/twohanded/required/kinetic_crusher/afterattack(atom/target, mob/living/user, proximity_flag) if(!proximity_flag && charged)//Mark a target, or mine a tile. var/turf/proj_turf = user.loc if(!isturf(proj_turf)) @@ -109,7 +107,7 @@ C.total_damage += 50 L.apply_damage(50, BRUTE, blocked = def_check) -/obj/item/weapon/twohanded/required/mining_hammer/proc/Recharge() +/obj/item/weapon/twohanded/required/kinetic_crusher/proc/Recharge() if(!charged) charged = TRUE icon_state = "mining_hammer1" @@ -125,7 +123,7 @@ flag = "bomb" range = 6 log_override = TRUE - var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced + var/obj/item/weapon/twohanded/required/kinetic_crusher/hammer_synced /obj/item/projectile/destabilizer/Destroy() hammer_synced = null @@ -165,12 +163,12 @@ return "errors" /obj/item/crusher_trophy/attackby(obj/item/A, mob/living/user) - if(istype(A, /obj/item/weapon/twohanded/required/mining_hammer)) + if(istype(A, /obj/item/weapon/twohanded/required/kinetic_crusher)) add_to(A, user) else ..() -/obj/item/crusher_trophy/proc/add_to(obj/item/weapon/twohanded/required/mining_hammer/H, mob/living/user) +/obj/item/crusher_trophy/proc/add_to(obj/item/weapon/twohanded/required/kinetic_crusher/H, mob/living/user) for(var/t in H.trophies) var/obj/item/crusher_trophy/T = t if(istype(T, denied_type) || istype(src, T.denied_type)) @@ -182,7 +180,7 @@ to_chat(user, "You attach [src] to [H].") return TRUE -/obj/item/crusher_trophy/proc/remove_from(obj/item/weapon/twohanded/required/mining_hammer/H, mob/living/user) +/obj/item/crusher_trophy/proc/remove_from(obj/item/weapon/twohanded/required/kinetic_crusher/H, mob/living/user) forceMove(get_turf(H)) H.trophies -= src return TRUE @@ -243,12 +241,12 @@ /obj/item/crusher_trophy/legion_skull/effect_desc() return "a kinetic crusher to recharge [bonus_value*0.1] second[bonus_value*0.1 == 1 ? "":"s"] faster" -/obj/item/crusher_trophy/legion_skull/add_to(obj/item/weapon/twohanded/required/mining_hammer/H, mob/living/user) +/obj/item/crusher_trophy/legion_skull/add_to(obj/item/weapon/twohanded/required/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.charge_time -= bonus_value -/obj/item/crusher_trophy/legion_skull/remove_from(obj/item/weapon/twohanded/required/mining_hammer/H, mob/living/user) +/obj/item/crusher_trophy/legion_skull/remove_from(obj/item/weapon/twohanded/required/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.charge_time += bonus_value @@ -288,14 +286,14 @@ /obj/item/crusher_trophy/demon_claws/effect_desc() return "melee hits to do [bonus_value * 0.2] more damage and heal you for [bonus_value * 0.1]; this effect is increased by 500% during mark detonation" -/obj/item/crusher_trophy/demon_claws/add_to(obj/item/weapon/twohanded/required/mining_hammer/H, mob/living/user) +/obj/item/crusher_trophy/demon_claws/add_to(obj/item/weapon/twohanded/required/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.force += bonus_value * 0.2 H.force_unwielded += bonus_value * 0.2 H.force_wielded += bonus_value * 0.2 -/obj/item/crusher_trophy/demon_claws/remove_from(obj/item/weapon/twohanded/required/mining_hammer/H, mob/living/user) +/obj/item/crusher_trophy/demon_claws/remove_from(obj/item/weapon/twohanded/required/kinetic_crusher/H, mob/living/user) . = ..() if(.) H.force -= bonus_value * 0.2 diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index a3ed32c3dd53..fad653438ce4 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -28,7 +28,7 @@ new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 600), new /datum/data/mining_equipment("Tracking Implant Kit",/obj/item/weapon/storage/box/minertracker, 600), new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 750), - new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/weapon/twohanded/required/mining_hammer, 750), + new /datum/data/mining_equipment("Kinetic Crusher", /obj/item/weapon/twohanded/required/kinetic_crusher, 750), new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 750), new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 800), new /datum/data/mining_equipment("Fulton Pack", /obj/item/weapon/extraction_pack, 1000), @@ -188,7 +188,7 @@ new /obj/item/fulton_core(loc) new /obj/item/stack/marker_beacon/thirty(loc) if("Crusher Kit") - new /obj/item/weapon/twohanded/required/mining_hammer(loc) + new /obj/item/weapon/twohanded/required/kinetic_crusher(loc) new /obj/item/weapon/storage/belt/mining/alt(loc) new /obj/item/weapon/extinguisher/mini(loc) if("Mining Conscription Kit")