mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 20:11:04 +01:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user