From 446927fa212f3019e57757da693a1190c671b4ed Mon Sep 17 00:00:00 2001 From: Neerti Date: Thu, 26 Oct 2017 20:46:48 -0400 Subject: [PATCH] Adds New Advanced Shields, Tweaks --- code/datums/supplypacks/engineering.dm | 42 +++++++++++++++++++ code/modules/shieldgen/shield_capacitor.dm | 8 +++- code/modules/shieldgen/shield_gen.dm | 12 +++++- code/modules/shieldgen/shield_gen_external.dm | 7 +++- 4 files changed, 64 insertions(+), 5 deletions(-) diff --git a/code/datums/supplypacks/engineering.dm b/code/datums/supplypacks/engineering.dm index bd16322e200..efa5c454f2e 100644 --- a/code/datums/supplypacks/engineering.dm +++ b/code/datums/supplypacks/engineering.dm @@ -21,6 +21,48 @@ containertype = /obj/structure/closet/crate/engineering containername = "Superconducting Magnetic Coil crate" +/datum/supply_packs/eng/shield_capacitor + name = "Shield Capacitor" + contains = list(/obj/machinery/shield_capacitor) + cost = 20 + containertype = /obj/structure/closet/crate/engineering + containername = "shield capacitor crate" + +/datum/supply_packs/eng/shield_capacitor/advanced + name = "Advanced Shield Capacitor" + contains = list(/obj/machinery/shield_capacitor/advanced) + cost = 30 + containertype = /obj/structure/closet/crate/engineering + containername = "advanced shield capacitor crate" + +/datum/supply_packs/eng/bubble_shield + name = "Bubble Shield Generator" + contains = list(/obj/machinery/shield_gen) + cost = 40 + containertype = /obj/structure/closet/crate/engineering + containername = "shield bubble generator crate" + +/datum/supply_packs/eng/bubble_shield/advanced + name = "Advanced Bubble Shield Generator" + contains = list(/obj/machinery/shield_gen/advanced) + cost = 60 + containertype = /obj/structure/closet/crate/engineering + containername = "advanced bubble shield generator crate" + +/datum/supply_packs/eng/hull_shield + name = "Hull Shield Generator" + contains = list(/obj/machinery/shield_gen/external) + cost = 80 + containertype = /obj/structure/closet/crate/engineering + containername = "shield hull generator crate" + +/datum/supply_packs/eng/hull_shield/advanced + name = "Advanced Hull Shield Generator" + contains = list(/obj/machinery/shield_gen/external/advanced) + cost = 120 + containertype = /obj/structure/closet/crate/engineering + containername = "advanced hull shield generator crate" + /datum/supply_packs/eng/electrical name = "Electrical maintenance crate" contains = list( diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm index 2bddb5af327..f1988ee8c65 100644 --- a/code/modules/shieldgen/shield_capacitor.dm +++ b/code/modules/shieldgen/shield_capacitor.dm @@ -4,7 +4,7 @@ /obj/machinery/shield_capacitor name = "shield capacitor" - desc = "Machine that charges a shield generator." + desc = "A machine that charges a shield generator." icon = 'icons/obj/machines/shielding.dmi' icon_state = "capacitor" var/active = 0 @@ -19,6 +19,12 @@ var/charge_rate = 100000 //100 kW var/obj/machinery/shield_gen/owned_gen +/obj/machinery/shield_capacitor/advanced + name = "advanced shield capacitor" + desc = "A machine that charges a shield generator. This version can store, input, and output more electricity." + max_charge = 12e6 + max_charge_rate = 600000 + /obj/machinery/shield_capacitor/emag_act(var/remaining_charges, var/mob/user) if(prob(75)) src.locked = !src.locked diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index 32d34365b44..fd8e3bf0cac 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -1,6 +1,6 @@ /obj/machinery/shield_gen name = "bubble shield generator" - desc = "Machine that generates an impenetrable field of energy when activated." + desc = "A machine that generates a field of energy optimized for blocking meteorites when activated." icon = 'icons/obj/machines/shielding.dmi' icon_state = "generator0" var/active = 0 @@ -20,10 +20,15 @@ var/target_field_strength = 10 var/max_field_strength = 10 var/time_since_fail = 100 - var/energy_conversion_rate = 0.0002 //how many renwicks per watt? + var/energy_conversion_rate = 0.0002 //how many renwicks per watt? Higher numbers equals more effiency. var/z_range = 0 // How far 'up and or down' to extend the shield to, in z-levels. Only works on MultiZ supported z-levels. use_power = 0 //doesn't use APC power +/obj/machinery/shield_gen/advanced + name = "advanced bubble shield generator" + desc = "A machine that generates a field of energy optimized for blocking meteorites when activated. This version comes with a more efficent shield matrix." + energy_conversion_rate = 0.0004 + /obj/machinery/shield_gen/New() spawn(1 SECOND) if(anchored) @@ -259,11 +264,14 @@ /obj/machinery/shield_gen/update_icon() if(stat & BROKEN) icon_state = "broke" + set_light(0) else if (src.active) icon_state = "generator1" + set_light(4, 2, "#00CCFF") else icon_state = "generator0" + set_light(0) //grab the border tiles in a circle around this machine /obj/machinery/shield_gen/proc/get_shielded_turfs() diff --git a/code/modules/shieldgen/shield_gen_external.dm b/code/modules/shieldgen/shield_gen_external.dm index 27b1def2714..fa4702feeea 100644 --- a/code/modules/shieldgen/shield_gen_external.dm +++ b/code/modules/shieldgen/shield_gen_external.dm @@ -7,8 +7,11 @@ /turf/space, /turf/simulated/floor/outdoors, ) -/obj/machinery/shield_gen/external/New() - ..() + +/obj/machinery/shield_gen/external/advanced + name = "advanced hull shield generator" + desc = "A machine that generates a field of energy optimized for blocking meteorites when activated. This version comes with a more efficent shield matrix." + energy_conversion_rate = 0.0004 //Search for space turfs within range that are adjacent to a simulated turf. /obj/machinery/shield_gen/external/get_shielded_turfs_on_z_level(var/turf/gen_turf)