From a4bd409b9c195b06b3511b66905f58f28c8c1b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=9B=88=E1=9B=9F=E1=9A=B2=E1=9A=B2=E1=9B=96=E1=9B=8F?= =?UTF-8?q?=E1=9B=8B?= <55299415+Pockets-byte@users.noreply.github.com> Date: Fri, 13 Sep 2024 22:13:41 -0600 Subject: [PATCH] "quick" fix --- _maps/map_files/Aetherwhisp/Aetherwhisp2.dmm | 34 ++++++++------ .../game/objects/items/nsv_circuitboards.dm | 20 ++++---- .../ship_weapons/energy_weapons/phaser.dm | 26 +++++----- .../energy_weapons/subspacecooling.dm | 47 +++++-------------- 4 files changed, 51 insertions(+), 76 deletions(-) diff --git a/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm b/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm index 2058d99929b..bcd941f187c 100644 --- a/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm +++ b/_maps/map_files/Aetherwhisp/Aetherwhisp2.dmm @@ -1625,18 +1625,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/structure/window/reinforced{ - layer = 2.89 - }, -/obj/structure/table, -/obj/item/multitool{ - pixel_x = 4; - pixel_y = -1 - }, -/obj/item/screwdriver, +/obj/machinery/cooling/storage, /turf/open/floor/engine, /area/nsv/weapons/starboard) "bfj" = ( @@ -8625,6 +8614,7 @@ /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/machinery/cooling/cooler, /turf/open/floor/carpet/ship/orange_carpet, /area/nsv/weapons/starboard) "fLO" = ( @@ -14517,6 +14507,7 @@ /obj/structure/cable/white{ icon_state = "1-8" }, +/obj/machinery/cooling/cooler, /turf/open/floor/carpet/ship/orange_carpet, /area/nsv/weapons/starboard) "jNL" = ( @@ -21004,6 +20995,11 @@ pixel_y = 26 }, /obj/structure/table, +/obj/item/multitool{ + pixel_x = 4; + pixel_y = -1 + }, +/obj/item/screwdriver, /turf/open/floor/engine, /area/nsv/weapons/starboard) "ovd" = ( @@ -27743,6 +27739,10 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/wood, /area/library) +"sGF" = ( +/obj/machinery/cooling/storage, +/turf/open/floor/carpet/ship/orange_carpet, +/area/nsv/weapons/starboard) "sGH" = ( /obj/machinery/chem_dispenser, /turf/open/floor/plating, @@ -30306,6 +30306,10 @@ /obj/effect/landmark/start/cyborg, /turf/open/floor/carpet/ship/purple_carpet, /area/science/robotics/lab) +"uNg" = ( +/obj/machinery/cooling/cooler, +/turf/open/floor/carpet/ship/orange_carpet, +/area/nsv/weapons/starboard) "uNA" = ( /obj/structure/cable{ icon_state = "1-2" @@ -80758,7 +80762,7 @@ xjr ouM beV gKC -gKC +beV gKC iRW gKC @@ -81526,13 +81530,13 @@ nZT nZT hbT xjr +uNg wrq wrq wrq wrq wrq -wrq -wrq +sGF seW iyw xMP diff --git a/nsv13/code/game/objects/items/nsv_circuitboards.dm b/nsv13/code/game/objects/items/nsv_circuitboards.dm index 7196fd366b5..6a526f864d2 100644 --- a/nsv13/code/game/objects/items/nsv_circuitboards.dm +++ b/nsv13/code/game/objects/items/nsv_circuitboards.dm @@ -481,29 +481,25 @@ //energy weapon cooling /obj/item/circuitboard/machine/cooling name = "subspace cooling unit circuit board" - icon = 'icons/obj/module.dmi' - icon_state = "command" - materials = list(/datum/material/glass=1000) - w_class = WEIGHT_CLASS_SMALL + materials = list(/datum/material/glass=1000, /datum/material/copper=15000) + build_path = /obj/machinery/cooling/cooler req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/stock_parts/matter_bin = 1, - /obj/item/stack/sheet/mineral/copper = 15, /obj/item/stock_parts/capacitor = 4, /obj/item/stock_parts/micro_laser = 4, - /obj/item/stack/ore/bluespace_crystal = 1) + /obj/item/stock_parts/subspace/ansible = 1, + /obj/item/stock_parts/subspace/crystal =1) /obj/item/circuitboard/machine/cooling/storage name = "subspace heatsink unit circuit board" - icon = 'icons/obj/module.dmi' - icon_state = "command" - materials = list(/datum/material/glass=1000) - w_class = WEIGHT_CLASS_SMALL + materials = list(/datum/material/glass=1000, /datum/material/copper=15000) + build_path = /obj/machinery/cooling/storage req_components = list( /obj/item/stack/cable_coil = 30, /obj/item/stock_parts/matter_bin = 4, - /obj/item/stack/sheet/mineral/copper = 30, /obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/micro_laser = 2, - /obj/item/stack/ore/bluespace_crystal = 1) + /obj/item/stock_parts/subspace/ansible = 1, + /obj/item/stock_parts/subspace/crystal =1) diff --git a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm index b53c27e8b91..a03c0f36d65 100644 --- a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm +++ b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/phaser.dm @@ -33,8 +33,7 @@ var/combo = null var/combocount = 0 //How far into the combo are they? var/overheat_sound = 'sound/effects/smoke.ogg' - var/list/coolers = list() - var/list/storages = list() + var/list/cooling = list() var/cooling_amount = 0 var/storage_amount = 0 var/storage_rate = 100 @@ -45,7 +44,7 @@ var/heat = 0 var/charge_rate = 430000 //How quickly do we charge? var/charge_per_shot = 660000 //How much power per shot do we have to use? - var/heat_per_shot = 100 //how much heat do we make per shot + var/heat_per_shot = 250 //how much heat do we make per shot var/heat_rate = 10 // how fast do we discharge heat var/max_heat = 1000 //how much heat before ::fun:: happens var/overloaded = 0 //have we cooked ourself @@ -60,11 +59,11 @@ energy_weapon_type = /datum/ship_weapon/phaser circuit = /obj/item/circuitboard/machine/phase_cannon charge_rate = 800000 // At power level 5, requires 3MW per tick to charge(this is wrong. but I don't have the proper numbers) - charge_per_shot = 4000000 // At power level 5, requires 20MW total to fire, takes about 12 seconds to gain 1 charge (ditto) + charge_per_shot = 3800000 // At power level 5, requires 20MW total to fire, takes about 12 seconds to gain 1 charge (ditto). I'm actually making this less demanding so that heat becomes the limiting factor, especially for this one. max_charge = 8000000 // Store 2 charges power_modifier_cap = 5 //Allows you to do insanely powerful oneshot lasers. Maximum theoretical damage of 500. max_heat = 2000 - heat_per_shot = 800 + heat_per_shot = 1200 heat_rate = 5 storage_rate = 140 @@ -75,7 +74,7 @@ /obj/machinery/ship_weapon/energy/examine(mob/user) . = ..() - . += "The Thermal Transceiver is currently at [length(storages)+length(coolers)]0% connection capacity." + . += "The Thermal Transceiver is currently at [length(cooling)]0% connection capacity." if(in_range(user, src) || isobserver(user)) . += "The heatsink display reads [(heat)] out of [(max_heat)]." if(maint_state != MSTATE_CLOSED) @@ -101,7 +100,7 @@ ui.set_autoupdate(TRUE) /obj/machinery/ship_weapon/energy/proc/vent() - if(heat > max_heat/4) + if(heat > max_heat*0.25) weapon_state = STATE_VENTING ventnumber = max_heat*0.25 else @@ -265,11 +264,12 @@ /obj/machinery/ship_weapon/energy/proc/process_heat()//heat management. don't push your weapons too hard. actual heat generation is in _ship_weapons.dm - - for(var/obj/machinery/cooling/cooler/C in coolers) + cooling_amount = 0 + for(var/obj/machinery/cooling/cooler/C in cooling) if(!(C.machine_stat & (BROKEN|NOPOWER|MAINT))) cooling_amount++ - for(var/obj/machinery/cooling/storage/C in storages) + storage_amount = 0 + for(var/obj/machinery/cooling/storage/C in cooling) if(!(C.machine_stat & (BROKEN|NOPOWER|MAINT))) storage_amount++ max_heat = initial(max_heat) + (storage_amount*storage_rate) @@ -283,10 +283,10 @@ else return if(STATE_VENTING) - if(heat <= max_heat-ventnumber) + if(heat <= ventnumber) weapon_state = STATE_NOTHING return - heat = max(heat-(H+H*0.2),0) + heat = max(heat-(cooling_amount*(heat_rate+(0.25*heat_rate))),0) return if(heat >= max_heat) overload() @@ -404,6 +404,6 @@ return ..() /obj/machinery/ship_weapon/energy/Destroy() - for(var/obj/machinery/cooling/E in storages | coolers) + for(var/obj/machinery/cooling/E in cooling) E.parent = null . = ..() diff --git a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/subspacecooling.dm b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/subspacecooling.dm index b88406d68d0..55d80081a50 100644 --- a/nsv13/code/modules/munitions/ship_weapons/energy_weapons/subspacecooling.dm +++ b/nsv13/code/modules/munitions/ship_weapons/energy_weapons/subspacecooling.dm @@ -3,7 +3,6 @@ desc = "A subspace unit." icon = 'nsv13/icons/obj/subspace.dmi' icon_state = "cooler" - circuit = /obj/item/circuitboard/machine bound_width = 32 pixel_x = 0 pixel_y = 0 @@ -11,7 +10,6 @@ var/obj/machinery/ship_weapon/energy/parent var/on = FALSE density = TRUE - critical_machine = TRUE /obj/machinery/cooling/cooler name = "subspace cooling unit" @@ -20,26 +18,11 @@ -/obj/machinery/cooling/cooler/Initialize(mapload) - . = ..() - var/obj/machinery/ship_weapon/energy/E = locate(/obj/machinery/ship_weapon/energy) in orange(1, src) //I have no idea what I'm doing and this causes errors so - E.coolers |= src - parent = E - -/obj/machinery/cooling/storage/Initialize(mapload) - . = ..() - var/obj/machinery/ship_weapon/energy/E = locate(/obj/machinery/ship_weapon/energy) in orange(1, src) - E.storages |= src - parent = E - - -/obj/machinery/cooling/cooler/Destroy() - parent.coolers -= src +/obj/machinery/cooling/Destroy() + if(parent) + parent.cooling -= src . = ..() -/obj/machinery/cooling/storage/Destroy() - parent.storages -= src - . = ..() /obj/machinery/cooling/attack_hand(mob/user) . = ..() @@ -87,23 +70,15 @@ to_chat(user, "-% Cannot link machines across power zones. %-") return - - if(istype(src,/obj/machinery/cooling/cooler)) - parent.coolers -= src - parent = null - parent = P.buffer - .=TRUE - parent.coolers |= src - to_chat(user, "-% Successfully linked [P.buffer] with [src] %-") - if(istype(src,/obj/machinery/cooling/storage)) - parent.storages -= src + if(parent) + parent.cooling -= src parent = null - parent = P.buffer - .=TRUE - parent.storages |= src - to_chat(user, "-% Successfully linked [P.buffer] with [src] %-") - if(length(parent.storages)+length(parent.coolers) >= 11) - var/E = pick(parent.storages+parent.coolers) + parent = P.buffer + .=TRUE + parent.cooling |= src + to_chat(user, "-% Successfully linked [P.buffer] with [src] %-") + if(length(parent.cooling) >= 11) + var/E = pick(parent.cooling) explosion(get_turf(E), 0, 1, 3, 5, flame_range = 4) return