mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Merge pull request #28716 from lzimann/offhand
Repathes mining_hammer -> kinetic_crusher. Also fixes offhands being qdel'd more than once
This commit is contained in:
@@ -244,7 +244,7 @@
|
|||||||
status_type = STATUS_EFFECT_REPLACE
|
status_type = STATUS_EFFECT_REPLACE
|
||||||
alert_type = null
|
alert_type = null
|
||||||
var/mutable_appearance/marked_underlay
|
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()
|
/datum/status_effect/crusher_mark/on_apply()
|
||||||
if(owner.mob_size >= MOB_SIZE_LARGE)
|
if(owner.mob_size >= MOB_SIZE_LARGE)
|
||||||
|
|||||||
@@ -84,21 +84,17 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/twohanded/dropped(mob/user)
|
/obj/item/weapon/twohanded/dropped(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
|
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
|
||||||
if(!wielded)
|
if(!wielded)
|
||||||
return
|
return
|
||||||
if(user)
|
|
||||||
var/obj/item/weapon/twohanded/O = user.get_inactive_held_item()
|
|
||||||
if(istype(O))
|
|
||||||
O.unwield(user, FALSE)
|
|
||||||
unwield(user)
|
unwield(user)
|
||||||
|
|
||||||
/obj/item/weapon/twohanded/update_icon()
|
/obj/item/weapon/twohanded/update_icon()
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/twohanded/attack_self(mob/user)
|
/obj/item/weapon/twohanded/attack_self(mob/user)
|
||||||
..()
|
. = ..()
|
||||||
if(wielded) //Trying to unwield it
|
if(wielded) //Trying to unwield it
|
||||||
unwield(user)
|
unwield(user)
|
||||||
else //Trying to wield it
|
else //Trying to wield it
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*********************Mining Hammer****************/
|
/*********************Mining Hammer****************/
|
||||||
/obj/item/weapon/twohanded/required/mining_hammer
|
/obj/item/weapon/twohanded/required/kinetic_crusher
|
||||||
icon = 'icons/obj/mining.dmi'
|
icon = 'icons/obj/mining.dmi'
|
||||||
icon_state = "mining_hammer1"
|
icon_state = "mining_hammer1"
|
||||||
item_state = "mining_hammer1"
|
item_state = "mining_hammer1"
|
||||||
@@ -24,13 +24,11 @@
|
|||||||
var/charged = TRUE
|
var/charged = TRUE
|
||||||
var/charge_time = 15
|
var/charge_time = 15
|
||||||
|
|
||||||
/obj/item/weapon/twohanded/required/mining_hammer/Destroy()
|
/obj/item/weapon/twohanded/required/kinetic_crusher/Destroy()
|
||||||
for(var/a in trophies)
|
QDEL_LIST(trophies)
|
||||||
qdel(a)
|
|
||||||
trophies = null
|
|
||||||
return ..()
|
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, "<span class='notice'>Mark a large creature with the destabilizing force, then hit them in melee to do <b>50</b> damage.</span>")
|
to_chat(user, "<span class='notice'>Mark a large creature with the destabilizing force, then hit them in melee to do <b>50</b> damage.</span>")
|
||||||
to_chat(user, "<span class='notice'>Does <b>80</b> damage if the target is backstabbed, instead of <b>50</b>.</span>")
|
to_chat(user, "<span class='notice'>Does <b>80</b> damage if the target is backstabbed, instead of <b>50</b>.</span>")
|
||||||
@@ -38,7 +36,7 @@
|
|||||||
var/obj/item/crusher_trophy/T = t
|
var/obj/item/crusher_trophy/T = t
|
||||||
to_chat(user, "<span class='notice'>It has \a [T] attached, which causes [T.effect_desc()].</span>")
|
to_chat(user, "<span class='notice'>It has \a [T] attached, which causes [T.effect_desc()].</span>")
|
||||||
|
|
||||||
/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(istype(A, /obj/item/weapon/crowbar))
|
||||||
if(LAZYLEN(trophies))
|
if(LAZYLEN(trophies))
|
||||||
to_chat(user, "<span class='notice'>You remove [src]'s trophies.</span>")
|
to_chat(user, "<span class='notice'>You remove [src]'s trophies.</span>")
|
||||||
@@ -54,7 +52,7 @@
|
|||||||
else
|
else
|
||||||
return ..()
|
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/datum/status_effect/crusher_damage/C = target.has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING)
|
||||||
var/target_health = target.health
|
var/target_health = target.health
|
||||||
..()
|
..()
|
||||||
@@ -65,7 +63,7 @@
|
|||||||
if(!QDELETED(C) && !QDELETED(target))
|
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
|
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.
|
if(!proximity_flag && charged)//Mark a target, or mine a tile.
|
||||||
var/turf/proj_turf = user.loc
|
var/turf/proj_turf = user.loc
|
||||||
if(!isturf(proj_turf))
|
if(!isturf(proj_turf))
|
||||||
@@ -109,7 +107,7 @@
|
|||||||
C.total_damage += 50
|
C.total_damage += 50
|
||||||
L.apply_damage(50, BRUTE, blocked = def_check)
|
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)
|
if(!charged)
|
||||||
charged = TRUE
|
charged = TRUE
|
||||||
icon_state = "mining_hammer1"
|
icon_state = "mining_hammer1"
|
||||||
@@ -125,7 +123,7 @@
|
|||||||
flag = "bomb"
|
flag = "bomb"
|
||||||
range = 6
|
range = 6
|
||||||
log_override = TRUE
|
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()
|
/obj/item/projectile/destabilizer/Destroy()
|
||||||
hammer_synced = null
|
hammer_synced = null
|
||||||
@@ -165,12 +163,12 @@
|
|||||||
return "errors"
|
return "errors"
|
||||||
|
|
||||||
/obj/item/crusher_trophy/attackby(obj/item/A, mob/living/user)
|
/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)
|
add_to(A, user)
|
||||||
else
|
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)
|
for(var/t in H.trophies)
|
||||||
var/obj/item/crusher_trophy/T = t
|
var/obj/item/crusher_trophy/T = t
|
||||||
if(istype(T, denied_type) || istype(src, T.denied_type))
|
if(istype(T, denied_type) || istype(src, T.denied_type))
|
||||||
@@ -182,7 +180,7 @@
|
|||||||
to_chat(user, "<span class='notice'>You attach [src] to [H].</span>")
|
to_chat(user, "<span class='notice'>You attach [src] to [H].</span>")
|
||||||
return TRUE
|
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))
|
forceMove(get_turf(H))
|
||||||
H.trophies -= src
|
H.trophies -= src
|
||||||
return TRUE
|
return TRUE
|
||||||
@@ -243,12 +241,12 @@
|
|||||||
/obj/item/crusher_trophy/legion_skull/effect_desc()
|
/obj/item/crusher_trophy/legion_skull/effect_desc()
|
||||||
return "a kinetic crusher to recharge <b>[bonus_value*0.1]</b> second[bonus_value*0.1 == 1 ? "":"s"] faster"
|
return "a kinetic crusher to recharge <b>[bonus_value*0.1]</b> 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(.)
|
if(.)
|
||||||
H.charge_time -= bonus_value
|
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(.)
|
if(.)
|
||||||
H.charge_time += bonus_value
|
H.charge_time += bonus_value
|
||||||
@@ -288,14 +286,14 @@
|
|||||||
/obj/item/crusher_trophy/demon_claws/effect_desc()
|
/obj/item/crusher_trophy/demon_claws/effect_desc()
|
||||||
return "melee hits to do <b>[bonus_value * 0.2]</b> more damage and heal you for <b>[bonus_value * 0.1]</b>; this effect is increased by <b>500%</b> during mark detonation"
|
return "melee hits to do <b>[bonus_value * 0.2]</b> more damage and heal you for <b>[bonus_value * 0.1]</b>; this effect is increased by <b>500%</b> 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(.)
|
if(.)
|
||||||
H.force += bonus_value * 0.2
|
H.force += bonus_value * 0.2
|
||||||
H.force_unwielded += bonus_value * 0.2
|
H.force_unwielded += bonus_value * 0.2
|
||||||
H.force_wielded += 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(.)
|
if(.)
|
||||||
H.force -= bonus_value * 0.2
|
H.force -= bonus_value * 0.2
|
||||||
|
|||||||
@@ -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("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("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("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("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("Resonator", /obj/item/weapon/resonator, 800),
|
||||||
new /datum/data/mining_equipment("Fulton Pack", /obj/item/weapon/extraction_pack, 1000),
|
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/fulton_core(loc)
|
||||||
new /obj/item/stack/marker_beacon/thirty(loc)
|
new /obj/item/stack/marker_beacon/thirty(loc)
|
||||||
if("Crusher Kit")
|
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/storage/belt/mining/alt(loc)
|
||||||
new /obj/item/weapon/extinguisher/mini(loc)
|
new /obj/item/weapon/extinguisher/mini(loc)
|
||||||
if("Mining Conscription Kit")
|
if("Mining Conscription Kit")
|
||||||
|
|||||||
Reference in New Issue
Block a user