mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-27 10:32:40 +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.
32 lines
1.2 KiB
Plaintext
32 lines
1.2 KiB
Plaintext
//////////////////////////
|
|
// Circuits and Research
|
|
//////////////////////////
|
|
|
|
// Tesla coils are built as machines using a circuit researchable in RnD
|
|
/obj/item/weapon/circuitboard/tesla_coil
|
|
name = T_BOARD("tesla coil")
|
|
build_path = /obj/machinery/power/tesla_coil
|
|
board_type = new /datum/frame/frame_types/machine
|
|
origin_tech = list(TECH_MAGNET = 2, TECH_POWER = 4)
|
|
req_components = list(/obj/item/weapon/stock_parts/capacitor = 1)
|
|
|
|
/datum/design/circuit/tesla_coil
|
|
name = "Machine Design (Tesla Coil Board)"
|
|
desc = "The circuit board for a tesla coil."
|
|
id = "tesla_coil"
|
|
build_path = /obj/item/weapon/circuitboard/tesla_coil
|
|
req_tech = list(TECH_MAGNET = 2, TECH_POWER = 4)
|
|
sort_string = "MAAAC"
|
|
|
|
// Grounding rods can be built as machines using a circuit made in an autolathe.
|
|
/obj/item/weapon/circuitboard/grounding_rod
|
|
name = T_BOARD("grounding rod")
|
|
build_path = /obj/machinery/power/grounding_rod
|
|
board_type = new /datum/frame/frame_types/machine
|
|
matter = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50)
|
|
req_components = list()
|
|
|
|
/datum/category_item/autolathe/engineering/grounding_rod
|
|
name = "grounding rod electronics"
|
|
path = /obj/item/weapon/circuitboard/grounding_rod
|