mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-19 02:54:41 +01:00
Fixed up and re-added powerarmor
This commit is contained in:
@@ -0,0 +1,283 @@
|
||||
/*
|
||||
* File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards
|
||||
*/
|
||||
|
||||
/obj/item/clothing/suit/space/powered
|
||||
name = "Powered armor"
|
||||
desc = "Not for rookies."
|
||||
icon_state = "swat"
|
||||
item_state = "swat"
|
||||
w_class = 4//bulky item
|
||||
|
||||
|
||||
flags = FPRINT | TABLEPASS | STOPSPRESSUREDMAGE
|
||||
body_parts_covered = UPPER_TORSO|LEGS|FEET|ARMS
|
||||
armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
|
||||
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 9
|
||||
var/fuel = 0
|
||||
|
||||
var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
|
||||
var/active = 0
|
||||
|
||||
var/helmrequired = 1
|
||||
var/obj/item/clothing/head/space/powered/helm
|
||||
|
||||
var/glovesrequired = 0
|
||||
var/obj/item/clothing/gloves/powered/gloves
|
||||
|
||||
var/shoesrequired = 0
|
||||
var/obj/item/clothing/shoes/powered/shoes
|
||||
//Adding gloves and shoes as possible armor components. --NEO
|
||||
|
||||
var/obj/item/powerarmor/servos/servos
|
||||
var/obj/item/powerarmor/reactive/reactive
|
||||
var/obj/item/powerarmor/atmoseal/atmoseal
|
||||
var/obj/item/powerarmor/power/power
|
||||
|
||||
/obj/item/clothing/suit/space/powered/New()
|
||||
verbs += /obj/item/clothing/suit/space/powered/proc/poweron
|
||||
|
||||
/obj/item/clothing/suit/space/powered/proc/poweron()
|
||||
set category = "Object"
|
||||
set name = "Activate armor systems"
|
||||
|
||||
var/mob/living/carbon/human/user = usr
|
||||
|
||||
if(user.stat)
|
||||
return //if you're unconscious or dead, no dicking with your armor. --NEO
|
||||
|
||||
if(!istype(user))
|
||||
user << "<span class='danger'>This suit was engineered for human use only.</span>"
|
||||
return
|
||||
|
||||
if(user.wear_suit!=src)
|
||||
user << "<span class='danger'>The suit functions best if you are inside of it.</span>"
|
||||
return
|
||||
|
||||
if(helmrequired && !istype(user.head, /obj/item/clothing/head/space/powered))
|
||||
user << "<span class='danger'>Helmet missing, unable to initiate power-on procedure.</span>"
|
||||
return
|
||||
|
||||
if(glovesrequired && !istype(user.gloves, /obj/item/clothing/gloves/powered))
|
||||
user << "<span class='danger'>Gloves missing, unable to initiate power-on procedure.</span>"
|
||||
return
|
||||
|
||||
if(shoesrequired && !istype(user.shoes, /obj/item/clothing/shoes/powered))
|
||||
user << "<span class='danger'>Shoes missing, unable to initiate power-on procedure.</span>"
|
||||
return
|
||||
|
||||
if(active)
|
||||
user << "<span class='danger'>The suit is already on, you can't turn it on twice.</span>"
|
||||
return
|
||||
|
||||
if(!power || !power.checkpower())
|
||||
user << "<span class='danger'>Powersource missing or depleted.</span>"
|
||||
return
|
||||
|
||||
verbs -= /obj/item/clothing/suit/space/powered/proc/poweron
|
||||
|
||||
user << "<span class='notice'>Suit interlocks engaged.</span>"
|
||||
if(helmrequired)
|
||||
helm = user.head
|
||||
helm.canremove = 0
|
||||
if(glovesrequired)
|
||||
gloves = user.gloves
|
||||
gloves.canremove = 0
|
||||
if(shoesrequired)
|
||||
shoes = user.shoes
|
||||
shoes.canremove = 0
|
||||
canremove = 0
|
||||
sleep(20)
|
||||
|
||||
if(atmoseal)
|
||||
atmoseal.toggle()
|
||||
sleep(20)
|
||||
|
||||
if(reactive)
|
||||
reactive.toggle()
|
||||
sleep(20)
|
||||
|
||||
if(servos)
|
||||
servos.toggle()
|
||||
sleep(20)
|
||||
|
||||
user << "<span class='notice'>All systems online.</span>"
|
||||
active = 1
|
||||
power.process()
|
||||
|
||||
verbs += /obj/item/clothing/suit/space/powered/proc/poweroff
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/powered/proc/poweroff()
|
||||
set category = "Object"
|
||||
set name = "Deactivate armor systems"
|
||||
powerdown() //BYOND doesn't seem to like it if you try using a proc with vars in it as a verb, hence this. --NEO
|
||||
|
||||
/obj/item/clothing/suit/space/powered/proc/powerdown(sudden = 0)
|
||||
|
||||
var/delay = sudden?0:20
|
||||
|
||||
var/mob/living/carbon/human/user = usr
|
||||
|
||||
if(user.stat && !sudden)
|
||||
return //if you're unconscious or dead, no dicking with your armor. --NEO
|
||||
|
||||
if(!active)
|
||||
return
|
||||
|
||||
verbs -= /obj/item/clothing/suit/space/powered/proc/poweroff
|
||||
|
||||
if(sudden)
|
||||
user << "<span class='danger'><B>Your armor loses power!</B></span>"
|
||||
|
||||
if(servos)
|
||||
servos.toggle(sudden)
|
||||
sleep(delay)
|
||||
|
||||
if(reactive)
|
||||
reactive.toggle(sudden)
|
||||
sleep(delay)
|
||||
|
||||
if(atmoseal)
|
||||
if(istype(atmoseal, /obj/item/powerarmor/atmoseal/optional) && helm)
|
||||
var/obj/item/powerarmor/atmoseal/optional/Atmo_seal = atmoseal
|
||||
Atmo_seal.helmtoggle(sudden)
|
||||
atmoseal.toggle(sudden)
|
||||
|
||||
sleep(delay)
|
||||
|
||||
if(!sudden)
|
||||
usr << "<span class='notice'>Suit interlocks disengaged.</span>"
|
||||
if(helm)
|
||||
helm.canremove = 1
|
||||
helm = null
|
||||
if(gloves)
|
||||
gloves.canremove = 1
|
||||
gloves = null
|
||||
if(shoes)
|
||||
shoes.canremove = 1
|
||||
gloves = null
|
||||
canremove = 1
|
||||
//Not a tabbing error, the thing only unlocks if you intentionally power-down the armor. --NEO
|
||||
sleep(delay)
|
||||
|
||||
if(!sudden)
|
||||
usr << "<span class='notice'>All systems disengaged.</span>"
|
||||
|
||||
active = 0
|
||||
verbs += /obj/item/clothing/suit/space/powered/proc/poweron
|
||||
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/powered/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(power && istype(power,/obj/item/powerarmor/power/plasma))
|
||||
var/obj/item/powerarmor/power/plasma/Plasma_power = power
|
||||
switch(W.type)
|
||||
if(/obj/item/stack/sheet/mineral/plasma)
|
||||
var/obj/item/stack/sheet/mineral/plasma/P = W
|
||||
if(fuel < 50)
|
||||
user << "<span class='notice'>You feed some refined plasma into the armor's generator.</span>"
|
||||
Plasma_power.fuel += 25
|
||||
P.amount--
|
||||
if (P.amount <= 0)
|
||||
del(P)
|
||||
return
|
||||
else
|
||||
user << "<span class='danger'>The generator already has plenty of plasma.</span>"
|
||||
return
|
||||
|
||||
if(/obj/item/weapon/ore/plasma) //raw plasma has impurities, so it doesn't provide as much fuel. --NEO
|
||||
if(fuel < 50)
|
||||
user << "<span class='notice'>You feed some plasma into the armor's generator.</span>"
|
||||
Plasma_power.fuel += 15
|
||||
del(W)
|
||||
return
|
||||
else
|
||||
user << "<span class='danger'>The generator already has plenty of plasma.</span>"
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/space/powered
|
||||
name = "Powered armor"
|
||||
icon_state = "swat"
|
||||
desc = "Not for rookies."
|
||||
flags = FPRINT | TABLEPASS | HEADCOVERSEYES | HEADCOVERSMOUTH | STOPSPRESSUREDMAGE | BLOCKHAIR
|
||||
item_state = "swat"
|
||||
armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
|
||||
var/obj/item/clothing/suit/space/powered/parent
|
||||
|
||||
/obj/item/clothing/head/space/powered/proc/atmotoggle()
|
||||
set category = "Object"
|
||||
set name = "Toggle helmet seals"
|
||||
|
||||
var/mob/living/carbon/human/user = usr
|
||||
|
||||
if(!istype(user))
|
||||
user << "<span class='danger'>This helmet is engineered for human use.</span>"
|
||||
return
|
||||
if(user.head != src)
|
||||
user << "<span class='danger'>Can't engage the seals without wearing the helmet.</span>"
|
||||
return
|
||||
|
||||
if(!user.wear_suit || !istype(user.wear_suit,/obj/item/clothing/suit/space/powered))
|
||||
user << "<span class='danger'>This helmet can only couple with powered armor.</span>"
|
||||
return
|
||||
|
||||
var/obj/item/clothing/suit/space/powered/armor = user.wear_suit
|
||||
|
||||
if(!armor.atmoseal || !istype(armor.atmoseal, /obj/item/powerarmor/atmoseal/optional))
|
||||
user << "<span class='danger'>This armor's atmospheric seals are missing or incompatible.</span>"
|
||||
return
|
||||
|
||||
armor.atmoseal:helmtoggle(0,1)
|
||||
|
||||
|
||||
|
||||
/obj/item/clothing/gloves/powered
|
||||
name = "Powered armor"
|
||||
icon_state = "swat"
|
||||
desc = "Not for rookies."
|
||||
flags = FPRINT | TABLEPASS
|
||||
item_state = "swat"
|
||||
armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
|
||||
|
||||
/obj/item/clothing/shoes/powered
|
||||
name = "Powered armor"
|
||||
icon_state = "swat"
|
||||
desc = "Not for rookies."
|
||||
flags = FPRINT | TABLEPASS
|
||||
item_state = "swat"
|
||||
armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
|
||||
|
||||
|
||||
obj/item/clothing/suit/space/powered/spawnable/badmin/New()
|
||||
servos = new /obj/item/powerarmor/servos(src)
|
||||
servos.parent = src
|
||||
reactive = new /obj/item/powerarmor/reactive(src)
|
||||
reactive.parent = src
|
||||
atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src)
|
||||
atmoseal.parent = src
|
||||
power = new /obj/item/powerarmor/power(src)
|
||||
power.parent = src
|
||||
|
||||
verbs += /obj/item/clothing/suit/space/powered/proc/poweron
|
||||
|
||||
var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc)
|
||||
helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle
|
||||
|
||||
obj/item/clothing/suit/space/powered/spawnable/regular/New()
|
||||
servos = new /obj/item/powerarmor/servos(src)
|
||||
servos.parent = src
|
||||
reactive = new /obj/item/powerarmor/reactive/Centcom(src)
|
||||
reactive.parent = src
|
||||
atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src)
|
||||
atmoseal.parent = src
|
||||
power = new /obj/item/powerarmor/power(src)
|
||||
power.parent = src
|
||||
|
||||
verbs += /obj/item/clothing/suit/space/powered/proc/poweron
|
||||
|
||||
var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc)
|
||||
helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle
|
||||
@@ -0,0 +1,269 @@
|
||||
/*
|
||||
* File Updated to match /tg/station code standards on the 28/12/2013 (UK/GMT) by RobRichards
|
||||
*/
|
||||
|
||||
/obj/item/powerarmor
|
||||
name = "Generic power armor component"
|
||||
desc = "This is the base object, you should never see one."
|
||||
var/obj/item/clothing/suit/space/powered/parent //so the component knows which armor it belongs to.
|
||||
slowdown = 0 //how much the component slows down the wearer
|
||||
|
||||
/obj/item/powerarmor/proc/toggle()
|
||||
return
|
||||
//The child objects will use this proc
|
||||
|
||||
|
||||
/obj/item/powerarmor/power
|
||||
name = "Adminbus power armor power source"
|
||||
desc = "Runs on the rare Badminium molecule."
|
||||
|
||||
/obj/item/powerarmor/process()
|
||||
return
|
||||
|
||||
/obj/item/powerarmor/proc/checkpower()
|
||||
return 1
|
||||
|
||||
/obj/item/powerarmor/power/plasma
|
||||
name = "Miniaturized plasma generator"
|
||||
desc = "Runs on plasma."
|
||||
slowdown = 1
|
||||
var/fuel = 0
|
||||
|
||||
/obj/item/powerarmor/power/plasma/process()
|
||||
if (fuel > 0 && parent.active)
|
||||
fuel--
|
||||
spawn(50)
|
||||
process()
|
||||
return
|
||||
else if (parent.active)
|
||||
parent.powerdown(1)
|
||||
return
|
||||
|
||||
/obj/item/powerarmor/power/plasma/checkpower()
|
||||
return fuel
|
||||
|
||||
/obj/item/powerarmor/power/powercell
|
||||
name = "Powercell interface"
|
||||
desc = "Boring, but reliable."
|
||||
var/obj/item/weapon/cell/cell
|
||||
slowdown = 0.5
|
||||
|
||||
/obj/item/powerarmor/power/powercell/process()
|
||||
if (cell && cell.charge > 0 && parent.active)
|
||||
cell.use(50)
|
||||
spawn(50)
|
||||
process()
|
||||
return
|
||||
else if (parent.active)
|
||||
parent.powerdown(1)
|
||||
return
|
||||
|
||||
/obj/item/powerarmor/power/powercell/checkpower()
|
||||
return max(cell.charge, 0)
|
||||
|
||||
/obj/item/powerarmor/power/nuclear
|
||||
name = "Miniaturized nuclear generator"
|
||||
desc = "For all your radioactive needs."
|
||||
slowdown = 1.5
|
||||
|
||||
/obj/item/powerarmor/power/nuclear/process()
|
||||
if(!crit_fail)
|
||||
if(prob(src.reliability)) return 1 //No failure
|
||||
if(prob(src.reliability))
|
||||
for (var/mob/M in range(0,src.parent)) //Only a minor failure, enjoy your radiation.
|
||||
if(src.parent in M.contents)
|
||||
M << "<span class='danger'>Your armor feels pleasantly warm for a moment.</span>"
|
||||
else
|
||||
M << "<span class='danger'>You feel a warm sensation.</span>"
|
||||
M.radiation += rand(1,40)
|
||||
else
|
||||
for (var/mob/M in range(rand(1,4),src.parent)) //Big failure, TIME FOR RADIATION BITCHES
|
||||
if (src.parent in M.contents)
|
||||
M << "<span class='danger'><B>Your armor's reactor overloads!</B></span>"
|
||||
M << "<span class='danger'>You feel a wave of heat wash over you.</span>"
|
||||
M.radiation += 100
|
||||
crit_fail = 1 //broken~
|
||||
parent.powerdown(1)
|
||||
spawn(50)
|
||||
process()
|
||||
|
||||
/obj/item/powerarmor/power/nuclear/checkpower()
|
||||
return !crit_fail
|
||||
|
||||
/obj/item/powerarmor/reactive
|
||||
name = "Adminbus power armor reactive plating"
|
||||
desc = "Made with the rare Badminium molecule."
|
||||
var/list/togglearmor = list(melee = 250, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
|
||||
//Good lord an active energy axe does 150 damage a swing? Anyway, barring var editing, this armor loadout should be impervious to anything. Enjoy, badmins~ --NEO
|
||||
|
||||
/obj/item/powerarmor/reactive/toggle(sudden = 0)
|
||||
switch(parent.active)
|
||||
if(1)
|
||||
if(!sudden)
|
||||
usr << "<span class='notice'>Reactive armor systems disengaged.</span>"
|
||||
if(0)
|
||||
usr << "<span class='notice'>Reactive armor systems engaged.</span>"
|
||||
var/list/switchover = list()
|
||||
for (var/armorvar in parent.armor)
|
||||
switchover[armorvar] = togglearmor[armorvar]
|
||||
togglearmor[armorvar] = parent.armor[armorvar]
|
||||
parent.armor[armorvar] = switchover[armorvar]
|
||||
//Probably not the most elegant way to have the vars switch over, but it works. Also propagates the values to the other objects.
|
||||
if(parent.helm)
|
||||
parent.helm.armor[armorvar] = parent.armor[armorvar]
|
||||
if(parent.gloves)
|
||||
parent.gloves.armor[armorvar] = parent.armor[armorvar]
|
||||
if(parent.shoes)
|
||||
parent.shoes.armor[armorvar] = parent.armor[armorvar]
|
||||
|
||||
/obj/item/powerarmor/reactive/Centcom
|
||||
name = "Centcom power armor reactive plating"
|
||||
desc = "Pretty effective against everything, not perfect though."
|
||||
togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
|
||||
slowdown = 2
|
||||
|
||||
|
||||
/obj/item/powerarmor/servos
|
||||
name = "Adminbus power armor movement servos"
|
||||
desc = "Made with the rare Badminium molecule."
|
||||
var/toggleslowdown = 9
|
||||
|
||||
/obj/item/powerarmor/servos/toggle(sudden = 0)
|
||||
switch(parent.active)
|
||||
if(1)
|
||||
if(!sudden)
|
||||
usr << "<span class='notice'>Movement assist servos disengaged.</span>"
|
||||
parent.slowdown += toggleslowdown
|
||||
if(0)
|
||||
usr << "<span class='notice'>Movement assist servos engaged.</span>"
|
||||
parent.slowdown -= toggleslowdown
|
||||
|
||||
/obj/item/powerarmor/atmoseal
|
||||
name = "Power armor atmospheric seals"
|
||||
desc = "Keeps the bad stuff out."
|
||||
slowdown = 1
|
||||
var/sealed = 0
|
||||
|
||||
/obj/item/powerarmor/atmoseal/toggle(sudden = 0)
|
||||
switch(parent.active)
|
||||
if(1)
|
||||
if(!sudden)
|
||||
usr << "<span class='notice'>Atmospheric seals disengaged.</span>"
|
||||
parent.gas_transfer_coefficient = 1
|
||||
parent.permeability_coefficient = 1
|
||||
if(parent.helmrequired)
|
||||
parent.helm.gas_transfer_coefficient = 1
|
||||
parent.helm.permeability_coefficient = 1
|
||||
parent.helm.cold_protection = initial(parent.helm.cold_protection)
|
||||
parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature)
|
||||
parent.helm.heat_protection = initial(parent.helm.heat_protection)
|
||||
parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature)
|
||||
if(parent.glovesrequired)
|
||||
parent.gloves.gas_transfer_coefficient = 1
|
||||
parent.gloves.permeability_coefficient = 1
|
||||
parent.gloves.cold_protection = initial(parent.gloves.cold_protection)
|
||||
parent.gloves.min_cold_protection_temperature = initial(parent.gloves.min_cold_protection_temperature)
|
||||
parent.gloves.heat_protection = initial(parent.gloves.heat_protection)
|
||||
parent.gloves.max_heat_protection_temperature = initial(parent.gloves.max_heat_protection_temperature)
|
||||
if(parent.shoesrequired)
|
||||
parent.shoes.gas_transfer_coefficient = 1
|
||||
parent.shoes.permeability_coefficient = 1
|
||||
parent.shoes.cold_protection = initial(parent.shoes.cold_protection)
|
||||
parent.shoes.min_cold_protection_temperature = initial(parent.shoes.min_cold_protection_temperature)
|
||||
parent.shoes.heat_protection = initial(parent.shoes.heat_protection)
|
||||
parent.shoes.max_heat_protection_temperature = initial(parent.shoes.max_heat_protection_temperature)
|
||||
sealed = 0
|
||||
|
||||
if(0)
|
||||
usr << "<span class='notice'>Atmospheric seals engaged.</span>"
|
||||
parent.gas_transfer_coefficient = 0.01
|
||||
parent.permeability_coefficient = 0.02
|
||||
if(parent.helmrequired)
|
||||
parent.helm.gas_transfer_coefficient = 0.01
|
||||
parent.helm.permeability_coefficient = 0.02
|
||||
parent.helm.cold_protection = HEAD
|
||||
parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
parent.helm.heat_protection = HEAD
|
||||
parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
if(parent.glovesrequired)
|
||||
parent.gloves.gas_transfer_coefficient = 0.01
|
||||
parent.gloves.permeability_coefficient = 0.02
|
||||
parent.gloves.cold_protection = HANDS
|
||||
parent.gloves.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
parent.gloves.heat_protection = HANDS
|
||||
parent.gloves.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
if(parent.shoesrequired)
|
||||
parent.shoes.gas_transfer_coefficient = 0.01
|
||||
parent.shoes.permeability_coefficient = 0.02
|
||||
parent.shoes.cold_protection = FEET
|
||||
parent.shoes.min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
parent.shoes.heat_protection = FEET
|
||||
parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
sealed = 1
|
||||
|
||||
/obj/item/powerarmor/atmoseal/adminbus
|
||||
name = "Adminbus power armor atmospheric seals"
|
||||
desc = "Made with the rare Badminium molecule."
|
||||
slowdown = 0
|
||||
|
||||
/obj/item/powerarmor/atmoseal/optional
|
||||
name = "Togglable power armor atmospheric seals"
|
||||
desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off."
|
||||
|
||||
|
||||
/obj/item/powerarmor/atmoseal/optional/proc/helmtoggle(sudden = 0, manual = 0)
|
||||
var/mob/living/carbon/human/user = usr
|
||||
var/obj/item/clothing/head/space/powered/helm
|
||||
if(user.head && istype(user.head,/obj/item/clothing/head/space/powered))
|
||||
helm = user.head
|
||||
|
||||
if(!sealed)
|
||||
user << "<span class='danger'>Unable to initialize helmet seal, armor seals not active.</span>"
|
||||
return
|
||||
if(!helm.parent)
|
||||
user << "<span class='notice'>Helmet locked.</span>"
|
||||
helm.canremove = 0
|
||||
parent.helm = helm
|
||||
helm.parent = parent
|
||||
sleep(20)
|
||||
parent.helm.gas_transfer_coefficient = 0.01
|
||||
parent.helm.permeability_coefficient = 0.02
|
||||
parent.helm.cold_protection = HEAD
|
||||
parent.helm.min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
parent.helm.heat_protection = HEAD
|
||||
parent.helm.max_heat_protection_temperature = SPACE_HELMET_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
|
||||
user << "<span class='notice'>Helmet atmospheric seals engaged.</span>"
|
||||
if(manual)
|
||||
for (var/armorvar in helm.armor)
|
||||
helm.armor[armorvar] = parent.armor[armorvar]
|
||||
return
|
||||
else
|
||||
if(manual)
|
||||
user << "<span class='notice'>Helmet atmospheric seals disengaged.</span>"
|
||||
parent.helm.gas_transfer_coefficient = 1
|
||||
parent.helm.permeability_coefficient = 1
|
||||
parent.helm.cold_protection = initial(parent.helm.cold_protection)
|
||||
parent.helm.min_cold_protection_temperature = initial(parent.helm.min_cold_protection_temperature)
|
||||
parent.helm.heat_protection = initial(parent.helm.heat_protection)
|
||||
parent.helm.max_heat_protection_temperature = initial(parent.helm.max_heat_protection_temperature)
|
||||
if(manual)
|
||||
for (var/armorvar in helm.armor)
|
||||
helm.armor[armorvar] = parent.reactive.togglearmor[armorvar]
|
||||
if(!sudden)
|
||||
if(manual)
|
||||
sleep(20)
|
||||
user << "<span class='notice'>Helmet unlocked.</span>"
|
||||
helm.canremove = 1
|
||||
parent.helm = null
|
||||
helm.parent = null
|
||||
|
||||
|
||||
|
||||
/obj/item/powerarmor/atmoseal/optional/adminbus
|
||||
name = "Adminbus togglable power armor atmospheric seals"
|
||||
desc = "Made with the rare Badminium molecule."
|
||||
slowdown = 0
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user