[MIRROR] Tesla Corona Analyzers (#5726)

* Tesla Corona Analyzers (#35965)

* Tesla Corona Analyzers

Generate points to make up for no bomb production on maps like Pubby

* Silly me, not Aurora, but Corona

* Adds sprites to the new mode

* new sprites! credit to... me!

* Further sprite tweaks.

* Tesla Corona Analyzers
This commit is contained in:
CitadelStationBot
2018-02-27 07:41:38 -06:00
committed by Poojawa
parent ef864d109b
commit a53e395606
3 changed files with 89 additions and 1 deletions
+45
View File
@@ -18,9 +18,15 @@
var/zap_cooldown = 100
var/last_zap = 0
var/datum/techweb/linked_techweb
/obj/machinery/power/tesla_coil/power
circuit = /obj/item/circuitboard/machine/tesla_coil/power
/obj/machinery/power/tesla_coil/Initialize()
. = ..()
wires = new /datum/wires/tesla_coil(src)
linked_techweb = SSresearch.science_tech
/obj/machinery/power/tesla_coil/RefreshParts()
var/power_multiplier = 0
@@ -76,6 +82,8 @@
flick("coilhit", src)
playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_produced)
if(istype(linked_techweb))
linked_techweb.research_points += min(power_produced, 10)
addtimer(CALLBACK(src, .proc/reset_shocked), 10)
else
..()
@@ -91,6 +99,43 @@
playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 10, power/(coeff/2))
// Tesla R&D researcher
/obj/machinery/power/tesla_coil/research
name = "Tesla Corona Analyzer"
desc = "A modified Tesla Coil used to study the effects of Edison's Bane for research."
icon_state = "rpcoil0"
circuit = /obj/item/circuitboard/machine/tesla_coil/research
power_loss = 20 // something something, high voltage + resistance
/obj/machinery/power/tesla_coil/research/tesla_act(var/power)
if(anchored && !panel_open)
obj_flags |= BEING_SHOCKED
//don't lose arc power when it's not connected to anything
//please place tesla coils all around the station to maximize effectiveness
var/power_produced = powernet ? power / power_loss : power
add_avail(power_produced*input_power_multiplier)
flick("rpcoilhit", src)
playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, 1, extrarange = 5)
tesla_zap(src, 5, power_produced)
if(istype(linked_techweb))
linked_techweb.research_points += min(power_produced, 200)
addtimer(CALLBACK(src, .proc/reset_shocked), 10)
else
..()
/obj/machinery/power/tesla_coil/default_unfasten_wrench(mob/user, obj/item/wrench/W, time = 20)
. = ..()
if(. == SUCCESSFUL_UNFASTEN)
if(panel_open)
icon_state = "rpcoil_open[anchored]"
else
icon_state = "rpcoil[anchored]"
/obj/machinery/power/tesla_coil/attackby(obj/item/W, mob/user, params)
. = ..()
if(default_deconstruction_screwdriver(user, "rpcoil_open[anchored]", "rpcoil[anchored]", W))
return
/obj/machinery/power/grounding_rod
name = "grounding rod"
desc = "Keep an area from being fried from Edison's Bane."