Some hardsuit related ports and changes (#4487)

-adds tajaran sprites to the eva rig, ported from polaris
-ports the emp repair step from bay
-ports the suit cooling unit from bay, with some changes, you can print them from robotics with some tech and materials
-fixes the hand emag module
-vox should not more be able to deploy hardsuits, due to their clearly alien body
This commit is contained in:
Alberyk
2018-04-07 21:13:53 +03:00
committed by Erki
parent 31bfa643f6
commit 86843123c2
9 changed files with 60 additions and 46 deletions
@@ -269,50 +269,13 @@
/obj/item/rig_module/emergency_powergenerator/proc/reset_cooldown()
cooldown = 0
/obj/item/rig_module/emag_hand
name = "EMAG integrated hand"
desc = "A complex uprade that allows the user to touch things with their hand and apply an EMAG effect. High power cost."
/obj/item/rig_module/device/emag_hand
name = "integrated cryptographic sequencer"
desc = "A complex uprade that allows the user to apply an EMAG effect to certain objects. High power cost."
use_power_cost = 100
usable = 0
toggleable = 1
activates_on_touch = 1
disruptive = 0
activate_string = "Enable EMAG"
deactivate_string = "Disable EMAG"
interface_name = "enable EMAG"
interface_desc = "A complex uprade that allows the user to touch things with their hand and apply an EMAG effect. High power cost."
var/atom/interfaced_with
module_cooldown = 4800
/obj/item/rig_module/emag_hand/activate()
if(!..())
return
interface_name = "integrated cryptographic sequencer"
interface_desc = "A complex uprade that allows the user to apply an EMAG effect to certain objects. High power cost."
/obj/item/rig_module/emag_hand/deactivate()
if(!..())
return
/obj/item/rig_module/emag_hand/engage(atom/target)
if(!..())
return 0
if(interfaced_with)
return 0
if(!target)
return 1
if(!target.Adjacent(holder.wearer))
return 0
holder.wearer << "<span class = 'danger'>You stick your hand on [target] shorting out some of its circuits!</span>"
interfaced_with = target
target.emag_act(user, src)
addtimer(CALLBACK(src, /obj/item/rig_module/emag_hand/proc/reset_interface, 2))
return 1
/obj/item/rig_module/emag_hand/proc/reset_interface()
interfaced_with = null
device_type = /obj/item/weapon/robot_emag
@@ -635,3 +635,29 @@
H.forceMove(leapEnd)
return 1
/obj/item/rig_module/cooling_unit
name = "mounted cooling unit"
toggleable = 1
origin_tech = list(TECH_MAGNET = 2, TECH_MATERIAL = 2, TECH_ENGINEERING = 3)
interface_name = "mounted cooling unit"
interface_desc = "A heat sink with liquid cooled radiator."
icon_state = "suitcooler"
var/charge_consumption = 1
var/max_cooling = 12
var/thermostat = T20C
/obj/item/rig_module/cooling_unit/process()
if(!active)
return passive_power_cost
var/mob/living/carbon/human/H = holder.wearer
var/temp_adj = min(H.bodytemperature - thermostat, max_cooling)
if (temp_adj < 0.5)
return passive_power_cost
H.bodytemperature -= temp_adj
active_power_cost = round((temp_adj/max_cooling)*charge_consumption)
return active_power_cost
@@ -169,6 +169,16 @@
installed_modules -= removed
update_icon()
else if(istype(W,/obj/item/stack/nanopaste)) //EMP repair
var/obj/item/stack/S = W
if(malfunctioning || malfunction_delay)
if(S.use(1))
to_chat(user, "You pour some of \the [S] over \the [src]'s control circuitry.")
malfunctioning = 0
malfunction_delay = 0
else
to_chat(user, "\The [S] is empty!")
return
// If we've gotten this far, all we have left to do before we pass off to root procs
@@ -16,7 +16,7 @@
"Skrell" = 'icons/mob/species/skrell/helmet.dmi',
"Unathi" = 'icons/mob/species/unathi/helmet.dmi'
)
species_restricted = list("exclude","Diona","Xenomorph","Vaurca","Golem")
species_restricted = list("exclude","Diona","Xenomorph","Vaurca","Golem", "Vox")
/obj/item/clothing/gloves/rig
name = "gauntlets"
@@ -51,7 +51,7 @@
resilience = 0.2
can_breach = 1
sprite_sheets = list("Tajara" = 'icons/mob/species/tajaran/suit.dmi',"Unathi" = 'icons/mob/species/unathi/suit.dmi')
species_restricted = list("exclude","Diona","Xenomorph","Vaurca","Golem")
species_restricted = list("exclude","Diona","Xenomorph","Vaurca","Golem", "Vox")
supporting_limbs = list()
//TODO: move this to modules
+8
View File
@@ -788,3 +788,11 @@
req_tech = list(TECH_MATERIAL = 3, TECH_POWER = 4, TECH_COMBAT = 4, TECH_MAGNET = 3)
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 2250, "uranium"= 3250, "gold"= 2500)
build_path = /obj/item/rig_module/mounted/egun
/datum/design/hardsuitmodules/cooling_module
name = "mounted cooling unit"
desc = "A heat sink with liquid cooled radiator."
id = "cooling_module"
req_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 3)
materials = list(DEFAULT_WALL_MATERIAL= 7000, "glass"= 5500)
build_path = /obj/item/rig_module/cooling_unit