Files
BatrachophrenoandGitHub 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00

48 lines
1.5 KiB
Plaintext

/obj/machinery/power/emitter/gyrotron
name = "gyrotron"
icon = 'icons/obj/machinery/fusion.dmi'
desc = "A heavy-duty, highly configurable industrial gyrotron suited for powering fusion reactors."
icon_state = "emitter-off"
use_power = POWER_USE_IDLE
active_power_usage = GYRO_POWER
var/initial_id_tag
var/rate = 3
var/mega_energy = 1
/obj/machinery/power/emitter/gyrotron/anchored
anchored = TRUE
/obj/machinery/power/emitter/gyrotron/Initialize()
AddComponent(/datum/component/local_network_member, initial_id_tag)
change_power_consumption(mega_energy * GYRO_POWER, POWER_USE_ACTIVE)
. = ..()
/obj/machinery/power/emitter/gyrotron/process()
change_power_consumption(mega_energy * GYRO_POWER, POWER_USE_ACTIVE)
. = ..()
/obj/machinery/power/emitter/gyrotron/get_rand_burst_delay()
return rate * 10
/obj/machinery/power/emitter/gyrotron/get_burst_delay()
return rate * 10
/obj/machinery/power/emitter/gyrotron/get_emitter_beam()
var/obj/projectile/beam/emitter/E = ..()
E.damage = mega_energy * 50
return E
/obj/machinery/power/emitter/gyrotron/update_icon()
if (active && powernet && avail(active_power_usage))
icon_state = "emitter-on"
else
icon_state = "emitter-off"
/obj/machinery/power/emitter/gyrotron/attackby(obj/item/attacking_item, mob/user)
if(attacking_item.tool_behaviour == TOOL_MULTITOOL)
var/datum/component/local_network_member/fusion = GetComponent(/datum/component/local_network_member)
fusion.get_new_tag(user)
return
return ..()