atmos firelock, changes to temp blocking

This commit is contained in:
Seris02
2019-12-20 14:14:01 +08:00
parent 6df739a045
commit 61ab3685f1
5 changed files with 24 additions and 17 deletions
@@ -98,6 +98,7 @@
new /obj/item/tank/internals/emergency_oxygen/engi(src)
new /obj/item/analyzer(src)
new /obj/item/holosign_creator/atmos(src)
new /obj/item/holosign_creator/firelock(src)
new /obj/item/watertank/atmos(src)
new /obj/item/clothing/suit/fire/atmos(src)
new /obj/item/clothing/head/hardhat/atmos(src)
+3 -13
View File
@@ -85,24 +85,14 @@
name = "holo firelock"
desc = "A holographic barrier resembling a firelock. Though it does not prevent solid objects or gas from passing through, temperature changes are kept out."
icon_state = "holo_firelock"
density = TRUE
density = FALSE
anchored = TRUE
alpha = 150
resistance_flags = FIRE_PROOF
/obj/structure/holosign/barrier/firelock/BlockSuperconductivity()
/obj/structure/holosign/barrier/firelock/blocksTemperature()
return TRUE
/obj/structure/holosign/barrier/firelock/fire_act(exposed_temperature,exposed_volume)
return
/obj/structure/holosign/barrier/firelock/CanPass(atom/movable/mover, turf/target)
if(mover.pass_flags & (PASSGLASS|PASSTABLE|PASSGRILLE))
return 1
if(iscarbon(mover))
var/mob/living/carbon/C = mover
if(allow_walk && C.m_intent == MOVE_INTENT_WALK)
return 1
/obj/structure/holosign/barrier/cyborg
name = "Energy Field"
desc = "A fragile energy field that blocks movement. Excels at blocking lethal projectiles."
@@ -358,6 +358,9 @@
SSair.excited_groups -= src
////////////////////////SUPERCONDUCTIVITY/////////////////////////////
/atom/movable/proc/blocksTemperature()
return FALSE
/turf/proc/conductivity_directions()
if(archived_cycle < SSair.times_fired)
archive()
@@ -372,6 +375,9 @@
. |= direction
/turf/proc/neighbor_conduct_with_src(turf/open/other)
for (var/atom/movable/G in src)
if (G.blocksTemperature())
return
if(!other.blocks_air) //Open but neighbor is solid
other.temperature_share_open_to_solid(src)
else //Both tiles are solid
@@ -382,7 +388,9 @@
if(blocks_air)
..()
return
for (var/atom/movable/G in src)
if (G.blocksTemperature())
return
if(!other.blocks_air) //Both tiles are open
var/turf/open/T = other
T.air.temperature_share(air, WINDOW_HEAT_TRANSFER_COEFFICIENT)
@@ -401,10 +409,8 @@
if(!neighbor.thermal_conductivity)
continue
if(neighbor.archived_cycle < SSair.times_fired)
neighbor.archive()
neighbor.neighbor_conduct_with_src(src)
neighbor.consider_superconductivity()
@@ -364,6 +364,16 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/holosignfirelock
name = "ATMOS Holofirelock Projector"
desc = "A holographic projector that creates holographic barriers that prevent changes in temperature conditions."
id = "holosignfirelock"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_GOLD = 1000, MAT_SILVER = 1000)
build_path = /obj/item/holosign_creator/firelock
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/forcefield_projector
name = "Forcefield Projector"
desc = "A device which can project temporary forcefields to seal off an area."
+1 -1
View File
@@ -430,7 +430,7 @@
display_name = "Electromagnetic Theory"
description = "Study into usage of frequencies in the electromagnetic spectrum."
prereq_ids = list("base")
design_ids = list("holosign", "holosignsec", "holosignengi", "holosignatmos", "inducer", "tray_goggles", "holopad")
design_ids = list("holosign", "holosignsec", "holosignengi", "holosignatmos", "holosignfirelock", "inducer", "tray_goggles", "holopad")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000