From 7a8fcf77d434ae4194dce7db14ef76a261319ada Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 11 Jan 2020 15:29:25 +0100 Subject: [PATCH] ATMOS Firelocks and more --- code/__DEFINES/reactions.dm | 4 ++-- code/__DEFINES/traits.dm | 2 +- code/game/objects/items/holosign_creator.dm | 10 +++++++++- .../crates_lockers/closets/secure/engineering.dm | 1 + code/game/objects/structures/holosign.dm | 15 ++++++++++++--- .../atmospherics/environmental/LINDA_turf_tile.dm | 4 ---- .../reagents/chemistry/reagents/other_reagents.dm | 2 +- code/modules/research/designs/misc_designs.dm | 10 ++++++++++ code/modules/research/techweb/all_nodes.dm | 2 +- 9 files changed, 37 insertions(+), 13 deletions(-) diff --git a/code/__DEFINES/reactions.dm b/code/__DEFINES/reactions.dm index 00ac9b84..6b9f8abf 100644 --- a/code/__DEFINES/reactions.dm +++ b/code/__DEFINES/reactions.dm @@ -26,7 +26,7 @@ //Research point amounts #define NOBLIUM_RESEARCH_AMOUNT 100 #define BZ_RESEARCH_AMOUNT 15 -#define MIASMA_RESEARCH_AMOUNT 16 +#define MIASMA_RESEARCH_AMOUNT 6 //lolno, fart gas 2 ez #define STIMULUM_RESEARCH_AMOUNT 50 //Plasma fusion properties #define FUSION_ENERGY_THRESHOLD 3e9 //Amount of energy it takes to start a fusion reaction @@ -41,4 +41,4 @@ #define FUSION_RAD_MAX 2000 #define FUSION_RAD_COEFFICIENT (-1000) #define FUSION_INSTABILITY_ENDOTHERMALITY 2 -#define FUSION_MAXIMUM_TEMPERATURE 1e8 \ No newline at end of file +#define FUSION_MAXIMUM_TEMPERATURE 1e8 diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index fa2848d1..152dc7a8 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -123,7 +123,7 @@ #define TRAIT_CALCIUM_HEALER "calcium_healer" #define TRAIT_ALCOHOL_LIGHTWEIGHT "alcohol_lightweight" //Skyrat port #define TRAIT_CURSED_BLOOD "cursed_blood" //Yo dawg I heard you like bloodborne references so I put a -#define TRAIT_RADRESONANCE "radioactive resonance" //Hyperstation edit +#define TRAIT_RADRESONANCE "radioactive_resonance" //Hyperstation edit #define TRAIT_SWIMMING "swimming" //only applied by /datum/element/swimming, for checking #define TRAIT_CAPTAIN_METABOLISM "captain-metabolism" diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index a8850b67..e92c9b2d 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -78,12 +78,20 @@ /obj/item/holosign_creator/atmos name = "ATMOS holofan projector" - desc = "A holographic projector that creates holographic fans that prevent changes in atmosphere conditions." + desc = "A holographic projector that creates holographic fans that prevent changes in atmosphere conditions. Somehow." icon_state = "signmaker_atmos" holosign_type = /obj/structure/holosign/barrier/atmos creation_time = 0 max_signs = 3 +/obj/item/holosign_creator/firelock + name = "ATMOS holofirelock projector" + desc = "A holographic projector that creates holographic barriers that prevent changes in temperature conditions." + icon_state = "signmaker_engi" + holosign_type = /obj/structure/holosign/barrier/firelock + creation_time = 0 + max_signs = 3 + /obj/item/holosign_creator/medical name = "\improper PENLITE barrier projector" desc = "A holographic projector that creates PENLITE holobarriers. Useful during quarantines since they halt those with malicious diseases." diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index cd596502..fef340e1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -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) diff --git a/code/game/objects/structures/holosign.dm b/code/game/objects/structures/holosign.dm index 6be29727..b90e273e 100644 --- a/code/game/objects/structures/holosign.dm +++ b/code/game/objects/structures/holosign.dm @@ -67,8 +67,8 @@ rad_insulation = RAD_LIGHT_INSULATION /obj/structure/holosign/barrier/atmos - name = "holo firelock" - desc = "A holographic barrier resembling a firelock. Though it does not prevent solid objects from passing through, gas is kept out." + name = "holo fan" + desc = "A holographic barrier resembling a tiny fan. Though it does not prevent solid objects from passing through, gas is kept out. Somehow." icon_state = "holo_fan" density = FALSE layer = ABOVE_MOB_LAYER @@ -81,7 +81,16 @@ . = ..() air_update_turf(TRUE) -/obj/structure/holosign/barrier/atmos/blocksTemperature() +/obj/structure/holosign/barrier/firelock + 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 = FALSE + anchored = TRUE + alpha = 150 + resistance_flags = FIRE_PROOF + +/obj/structure/holosign/barrier/firelock/blocksTemperature() return TRUE /obj/structure/holosign/barrier/cyborg diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 7014d89e..09c925bc 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -387,8 +387,6 @@ if(blocks_air) ..() return - - for (var/atom/movable/G in src) if (G.blocksTemperature()) return @@ -410,10 +408,8 @@ if(!neighbor.thermal_conductivity) continue - if(neighbor.archived_cycle < SSair.times_fired) neighbor.archive() - neighbor.neighbor_conduct_with_src(src) neighbor.consider_superconductivity() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 3c2702c1..1544b762 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -59,7 +59,7 @@ B = new(T) if(data["blood_DNA"]) B.blood_DNA[data["blood_DNA"]] = data["blood_type"] - if(!B.reagents) + if(B.reagents) B.reagents.add_reagent(id, reac_volume) B.update_icon() diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 78b5a12c..e1435a62 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -408,6 +408,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." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 4701bf2b..4493fe1b 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -413,7 +413,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