Refactors butchering to a component - item-based butchering effectiveness, speed, and chances (#35744)
* Butchering component * auto-butchering based on toolspeed * Gives drills their butchering back * redoes toggles
This commit is contained in:
committed by
CitadelStationBot
parent
0589c06507
commit
a7d5e4cdcf
@@ -10,6 +10,10 @@
|
||||
energy_drain = 10
|
||||
force = 15
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/Initialize()
|
||||
. = ..()
|
||||
AddComponent(/datum/component/butchering, 50, 100)
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/action(atom/target)
|
||||
if(!action_checks(target))
|
||||
return
|
||||
@@ -76,14 +80,25 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/attach(obj/mecha/M)
|
||||
..()
|
||||
GET_COMPONENT_FROM(butchering, /datum/component/butchering, src)
|
||||
butchering.butchering_enabled = TRUE
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/detach(atom/moveto)
|
||||
..()
|
||||
GET_COMPONENT_FROM(butchering, /datum/component/butchering, src)
|
||||
butchering.butchering_enabled = FALSE
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/user, var/drill_damage=80)
|
||||
target.visible_message("<span class='danger'>[chassis] drills [target] with [src].</span>", \
|
||||
"<span class='userdanger'>[chassis] drills [target] with [src].</span>")
|
||||
add_logs(user, target, "attacked", "[name]", "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
|
||||
if(target.stat == DEAD)
|
||||
add_logs(user, target, "gibbed", name)
|
||||
if(target.butcher_results)
|
||||
target.harvest(chassis)//Butcher the mob with our drill.
|
||||
if(target.butcher_results.len || target.guaranteed_butcher_results.len)
|
||||
GET_COMPONENT_FROM(butchering, /datum/component/butchering, src)
|
||||
butchering.Butcher(chassis, target)
|
||||
else
|
||||
target.gib()
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user