mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-02 05:23:31 +00:00
* Adds "typecache" utility functions. A fast way to filter lists by type. Ported from TG * Ports the "orbit" feature and subsystem from TG * Adds a feature that allows mobs and objs to "orbit" around some atom. They literally are moved around in circles. See the `orbit` proc in orbit.dm. * Adds a subsystem that processes the actual movement of orbiting items. * Adds utility methods for common machinery behavior. * Adds default_unfasten_wrench which handles the standard anchor/unanchor behavior of wrenches being used on machines. Together with the other default_x_tool machinery procs we can eliminate having that code duplicated in dozens of places! * Adds is_wire_tool proc to easily detect when a machine is hit with a tool that should open its wires UI (if it has one). Based on ideas from Paradise, with improvements for us. * Implements the Tesla Engine Ported from a mixture of TG and Paradise code and assets: Edison's Bane Includes the tesla energy ball itself, the generator that makes it, tesla coils, grounding rods, the circuits and frames to build them. * Switch dusting to zapping on impact and spin better Ported /tg SpinAnimation which supports more than triangles.
19 lines
387 B
Plaintext
19 lines
387 B
Plaintext
/datum/wires/tesla_coil
|
|
wire_count = 1
|
|
holder_type = /obj/machinery/power/tesla_coil
|
|
|
|
var/const/WIRE_ZAP = 1
|
|
|
|
/datum/wires/tesla_coil/CanUse(mob/living/L)
|
|
var/obj/machinery/power/tesla_coil/T = holder
|
|
if(T && T.panel_open)
|
|
return 1
|
|
return 0
|
|
|
|
/datum/wires/tesla_coil/UpdatePulsed(index)
|
|
var/obj/machinery/power/tesla_coil/T = holder
|
|
switch(index)
|
|
if(WIRE_ZAP)
|
|
T.zap()
|
|
..()
|