From 140002e06d5d654be0808d11d208573006f1cde4 Mon Sep 17 00:00:00 2001 From: benj8560 Date: Sun, 25 Feb 2024 19:05:46 -0500 Subject: [PATCH] Bioreactor eris update. (#5065) * first (mostly) working commit * weh * more missing things * hopefully final working commit --- code/game/atoms_movable.dm | 9 ++ .../biomatter_manipulation/biogenerator.dm | 50 ++++--- .../bioreactor/biotank.dm | 46 +++--- .../bioreactor/loader.dm | 23 +-- .../bioreactor/platform.dm | 20 +-- .../bioreactor/unloader.dm | 1 - .../biomatter_manipulation/solidifier.dm | 137 +++++++++++------- code/modules/materials/material_sheets.dm | 4 +- 8 files changed, 171 insertions(+), 119 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 1cac43fceba..086a9fddc55 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -423,5 +423,14 @@ registered_z = new_z // if this returns true, interaction to turf will be redirected to src instead +///Sets the anchored var and returns if it was sucessfully changed or not. Port from eris since I was getting problems currently only used for the bioreactor +/atom/movable/proc/bio_anchored(anchorvalue) + SHOULD_CALL_PARENT(TRUE) + if(anchored == anchorvalue || !can_anchor) + return FALSE + anchored = anchorvalue + LEGACY_SEND_SIGNAL(src, COMSIG_ATOM_UNFASTEN, anchored) + . = TRUE + /atom/movable/proc/preventsTurfInteractions() return FALSE diff --git a/code/modules/biomatter_manipulation/biogenerator.dm b/code/modules/biomatter_manipulation/biogenerator.dm index 5b038b84e6c..8a57dcd68a4 100644 --- a/code/modules/biomatter_manipulation/biogenerator.dm +++ b/code/modules/biomatter_manipulation/biogenerator.dm @@ -1,5 +1,3 @@ - - //Power biomatter generator //This machine use biomatter reagent and some of O2 to produce power (it also produce CO2) //It has a few components that can be weared out, so operator should check this machine from time o time and tinker it @@ -207,16 +205,16 @@ /obj/machinery/multistructure/biogenerator_part/port/update_icon() - cut_overlays() + overlays.Cut() if(panel_open) - add_overlay("port-opened") + overlays += "port-opened" if(pipes_dirtiness) if(pipes_dirtiness == 1) - add_overlay("port_dirty_low") + overlays += "port_dirty_low" else if(pipes_dirtiness <= 3) - add_overlay("port_dirty_medium") + overlays += "port_dirty_medium" else - add_overlay("port_dirty_full") + overlays += "port_dirty_full" /obj/machinery/multistructure/biogenerator_part/port/examine(mob/user) @@ -236,20 +234,27 @@ to_chat(user, SPAN_WARNING("You should close cover first.")) return if(I.use_tool(user, src, WORKTIME_FAST, tool_type, FAILCHANCE_VERY_EASY, required_stat = STAT_MEC)) + var/set_canister = FALSE if(tank) - tank.anchored = FALSE - tank.pixel_x = initial(tank.pixel_x) - tank = null - playsound(src, 'sound/machines/airlock_ext_open.ogg', 60, 1) - to_chat(user, SPAN_NOTICE("You detached [tank] from [src].")) + tank.can_anchor = TRUE + set_canister = tank.bio_anchored(FALSE) + if(set_canister) + tank.pixel_x = initial(tank.pixel_x) + tank = null + playsound(src, 'sound/machines/airlock_ext_open.ogg', 60, 1) + to_chat(user, SPAN_NOTICE("You detached [tank] from [src].")) else tank = locate(/obj/structure/reagent_dispensers) in get_turf(src) if(tank) - tank.anchored = TRUE - tank.pixel_x = 8 - playsound(src, 'sound/machines/airlock_ext_close.ogg', 60, 1) - to_chat(user, SPAN_NOTICE("You attached [tank] to [src].")) - + set_canister = tank.bio_anchored(TRUE) + if(set_canister) + tank.can_anchor = FALSE + tank.pixel_x = 8 + playsound(src, 'sound/machines/airlock_ext_close.ogg', 60, 1) + to_chat(user, SPAN_NOTICE("You attached [tank] to [src].")) + if(!set_canister) + to_chat(user, SPAN_WARNING("Ugh. You done something wrong!")) + tank = null if(QUALITY_SCREW_DRIVING) if(tank) to_chat(user, SPAN_WARNING("You need to detach [tank] first.")) @@ -284,7 +289,6 @@ var/obj/machinery/atmospherics/binary/biogen_chamber/chamber var/obj/machinery/power/biogenerator_core/core - /obj/machinery/multistructure/biogenerator_part/generator/New() . = ..() chamber = new(loc) @@ -391,7 +395,7 @@ working_cycles = 0 wires = TRUE else - to_chat(user, SPAN_WARNING("You need atleast 10 cables to replace wiring.")) + to_chat(user, SPAN_WARNING("You need at least 10 cables to replace wiring.")) update_icon() @@ -437,10 +441,10 @@ /obj/machinery/power/biogenerator_core/update_icon() - cut_overlays() - add_overlay("core-pipe") + overlays.Cut() + overlays += "core-pipe" if(!coil_frame) - add_overlay("core-coil") + overlays += "core-coil" /obj/machinery/power/biogenerator_core/examine(mob/user) @@ -502,4 +506,4 @@ shock(user, 100) -#undef WEAROUT_CHANCE \ No newline at end of file +#undef WEAROUT_CHANCE diff --git a/code/modules/biomatter_manipulation/bioreactor/biotank.dm b/code/modules/biomatter_manipulation/bioreactor/biotank.dm index 2e0d3be3fdc..8e35fcea13c 100644 --- a/code/modules/biomatter_manipulation/bioreactor/biotank.dm +++ b/code/modules/biomatter_manipulation/bioreactor/biotank.dm @@ -26,7 +26,6 @@ var/obj/canister var/pipes_opened = FALSE var/pipes_cleanness = 200 - var/transfer_rate = 50 //The units per processing tick that are moved into the attached canister /obj/machinery/multistructure/bioreactor_part/biotank_platform/Initialize() @@ -58,16 +57,16 @@ /obj/machinery/multistructure/bioreactor_part/biotank_platform/update_icon() - cut_overlays() + overlays.Cut() if(pipes_cleanness <= 90) - add_overlay("[icon_state]-dirty_[get_dirtiness_level()]") + overlays += "[icon_state]-dirty_[get_dirtiness_level()]" /obj/machinery/multistructure/bioreactor_part/biotank_platform/Process() if(!MS) return if(biotank.canister) - biotank.reagents.trans_to_holder(biotank.canister.reagents, transfer_rate) + biotank.reagents.trans_to_holder(biotank.canister.reagents, 100) /obj/machinery/multistructure/bioreactor_part/biotank_platform/attackby(var/obj/item/I, var/mob/user) @@ -89,9 +88,9 @@ ..() -/obj/machinery/multistructure/bioreactor_part/biotank_platform/proc/take_amount(var/amount) - biotank.reagents.add_reagent("biomatter", amount) - GLOB.biomatter_neothecnology_amt += amount +/obj/machinery/multistructure/bioreactor_part/biotank_platform/proc/take_amount(new_amount) + biotank.reagents.add_reagent("biomatter", new_amount) + GLOB.biomatter_neothecnology_amt += new_amount //Pipe wearout. Wearout var - is amount of 'dirt' that will be applied to our pipes @@ -145,10 +144,10 @@ /obj/structure/biomatter_tank/update_icon() - cut_overlays() + overlays.Cut() if(canister && platform.pipes_opened) var/image/pipe_overlay = image(icon = 'icons/obj/machines/bioreactor.dmi', icon_state = "port-pipe", pixel_y = -9) - add_overlay(pipe_overlay) + overlays += pipe_overlay /obj/structure/biomatter_tank/attack_hand(mob/user) @@ -173,7 +172,7 @@ playsound(loc, 'sound/machines/Custom_blastdoorclose.ogg', 100, 1) -/obj/structure/biomatter_tank/attackby(var/obj/item/I, var/mob/user) +/obj/structure/biomatter_tank/attackby(obj/item/I, mob/user) var/tool_type = I.get_tool_type(user, list(QUALITY_BOLT_TURNING), src) switch(tool_type) if(QUALITY_BOLT_TURNING) @@ -184,14 +183,16 @@ to_chat(user, SPAN_WARNING("Nothing to connect to!")) return var/turf/user_interaction_loc = user.loc + var/set_canister = FALSE if(I.use_tool(user, src, WORKTIME_FAST, tool_type, FAILCHANCE_VERY_EASY, required_stat = STAT_MEC)) if(canister) - unset_canister(canister) + set_canister = unset_canister(canister) else - set_canister(possible_canister) - to_chat(user, SPAN_NOTICE("You [canister ? "connect [canister] to" : "disconnect [canister] from"] [src].")) - toxin_attack(user, rand(5, 15)) - else + set_canister = set_canister(possible_canister) + if(set_canister) + to_chat(user, SPAN_NOTICE("You [canister ? "connect [canister] to" : "disconnect [canister] from"] [src].")) + toxin_attack(user, rand(5, 15)) + if(!set_canister) to_chat(user, SPAN_WARNING("Ugh. You done something wrong!")) shake_animation() if(reagents.total_volume) @@ -199,20 +200,27 @@ spill_biomass(user_interaction_loc) update_icon() - /obj/structure/biomatter_tank/proc/set_canister(obj/target_tank) - target_tank.anchored = TRUE + . = target_tank.bio_anchored(TRUE) + if(!.) + return FALSE + target_tank.can_anchor = FALSE canister = target_tank platform.MS_bioreactor.metrics_screen.icon_state = "screen_process" flick("screen_activation", platform.MS_bioreactor.metrics_screen) playsound(platform.MS_bioreactor.output_port.loc, 'sound/machines/Custom_extin.ogg', 100, 1) - + . = TRUE /obj/structure/biomatter_tank/proc/unset_canister(obj/target_tank) - target_tank.anchored = FALSE + target_tank.can_anchor = TRUE + . = target_tank.bio_anchored(FALSE) + if(!.) + target_tank.can_anchor = FALSE + return FALSE canister = null platform.MS_bioreactor.metrics_screen.icon_state = initial(platform.MS_bioreactor.metrics_screen.icon_state) playsound(platform.MS_bioreactor.output_port.loc, 'sound/machines/Custom_extout.ogg', 100, 1) + . = TRUE #undef DIRT_LVL_LOW diff --git a/code/modules/biomatter_manipulation/bioreactor/loader.dm b/code/modules/biomatter_manipulation/bioreactor/loader.dm index 387f3c21625..e0216a45c1a 100644 --- a/code/modules/biomatter_manipulation/bioreactor/loader.dm +++ b/code/modules/biomatter_manipulation/bioreactor/loader.dm @@ -13,7 +13,6 @@ var/dir_input = WEST var/dir_output = NORTH - /obj/machinery/multistructure/bioreactor_part/loader/Initialize() . = ..() set_light(1, 1, COLOR_LIGHTING_BLUE_MACHINERY) @@ -32,18 +31,24 @@ return use_power(2) if(contents.len) - for(var/obj/object in contents) + for(var/atom/movable/A in contents) var/obj/machinery/multistructure/bioreactor_part/platform/empty_platform = MS_bioreactor.get_unoccupied_platform() if(empty_platform) - object.forceMove(get_step(src, dir_output)) + A.forceMove(get_step(src, dir_output)) else grab() /obj/machinery/multistructure/bioreactor_part/loader/proc/grab() - var/obj/item/target = locate() in get_step(src, dir_input) - if(target && !target.anchored && contents.len <= 10) - target.forceMove(loc) - spawn(1) - target.forceMove(src) - flick("loader_take", src) \ No newline at end of file + var/turf/T = get_step(src, dir_input) + for(var/atom/movable/A in T) + if(!A.anchored && contents.len <= 10) + if(isliving(A)) + var/mob/living/L = A + if(L.stat != DEAD || ishuman(L)) + continue + A.forceMove(loc) + spawn(1) + A.forceMove(src) + flick("loader_take", src) + break diff --git a/code/modules/biomatter_manipulation/bioreactor/platform.dm b/code/modules/biomatter_manipulation/bioreactor/platform.dm index 298a491d28c..1c7d643a10c 100644 --- a/code/modules/biomatter_manipulation/bioreactor/platform.dm +++ b/code/modules/biomatter_manipulation/bioreactor/platform.dm @@ -13,10 +13,11 @@ active_power_usage = 400 var/make_glasswalls_after_creation = FALSE -/obj/machinery/multistructure/bioreactor_part/platform/Initialize(mapload) +/obj/machinery/multistructure/bioreactor_part/platform/Initialize() . = ..() update_icon() + /obj/machinery/multistructure/bioreactor_part/platform/Process() if(!MS) use_power(1) @@ -33,9 +34,9 @@ victim.forceMove(MS_bioreactor.misc_output) continue //if our target has hazard protection, apply damage based on the protection percentage. - var/hazard_protection = victim.getarmor(null, "bio") + var/hazard_protection = victim.getarmor(null, ARMOR_BIO) var/damage = BIOREACTOR_DAMAGE_PER_TICK - (BIOREACTOR_DAMAGE_PER_TICK * (hazard_protection/100)) - victim.apply_damage(damage, BRUTE, used_weapon = "Biological") + victim.apply_damage(damage, BURN, used_weapon = "Biological") victim.adjustOxyLoss(BIOREACTOR_DAMAGE_PER_TICK / 2) // Snowflake shit, but we need the mob to die within a reasonable time frame if(prob(10)) @@ -53,7 +54,7 @@ var/obj/item/target = M //if we found biomatter, let's start processing //it will slowly disappear. Time based at size of object and we manipulate with its alpha (we also check for it) - if(MATERIAL_BIOMATTER in target.matter) + if((MATERIAL_BIOMATTER in target.matter) && !target.unacidable) target.alpha -= round(100 / target.w_class) var/icon/I = new(target.icon, icon_state = target.icon_state) //we turn this things to degenerate sprite a bit @@ -102,12 +103,13 @@ //non robotic limbs will be consumed if(istype(item, /obj/item/organ)) var/obj/item/organ/organ = item - if(istype(organ, /obj/item/organ/external) && (organ.nature == MODIFICATION_ORGANIC || organ.nature == MODIFICATION_SUPERIOR)) + if(istype(organ, /obj/item/organ/external) && organ.nature == MODIFICATION_ORGANIC) continue var/obj/machinery/multistructure/bioreactor_part/platform/neighbor_platform = pick(MS_bioreactor.platforms) organ.forceMove(get_turf(neighbor_platform)) organ.removed() continue*/ + qdel(object) //now let's add some dirt to the glass for(var/obj/structure/window/reinforced/bioreactor/glass in loc) @@ -201,7 +203,7 @@ /obj/structure/window/reinforced/bioreactor/update_icon() - cut_overlays() + overlays.Cut() ..() if(contamination_level) var/biomass_alpha = min((50*contamination_level), 255) @@ -210,7 +212,7 @@ biomass.Turn(-40, 40) biomass.Blend(rgb(0, 0, 0, biomass_alpha)) default.Blend(biomass, ICON_MULTIPLY) - add_overlay(default) + overlays += default /obj/structure/window/reinforced/bioreactor/proc/apply_dirt(var/amount) @@ -220,7 +222,7 @@ opacity = FALSE if(contamination_level <= 0) contamination_level = 0 - opacity = FALSE + opacity = TRUE update_icon() @@ -233,7 +235,7 @@ if(user.loc != loc) to_chat(user, SPAN_WARNING("You need to be inside to clean it up.")) return - to_chat(user, SPAN_NOTICE("You begin cleaning [src] with your [I]...")) + to_chat(user, SPAN_NOTICE("You begin cleaning [src] with [I]...")) if(do_after(user, CLEANING_TIME * contamination_level, src)) to_chat(user, SPAN_NOTICE("You clean \the [src].")) toxin_attack(user, 5*contamination_level) diff --git a/code/modules/biomatter_manipulation/bioreactor/unloader.dm b/code/modules/biomatter_manipulation/bioreactor/unloader.dm index 3dfe6de2a5d..83f5d15fb1a 100644 --- a/code/modules/biomatter_manipulation/bioreactor/unloader.dm +++ b/code/modules/biomatter_manipulation/bioreactor/unloader.dm @@ -8,7 +8,6 @@ active_power_usage = 180 var/dir_output = NORTH - /obj/machinery/multistructure/bioreactor_part/unloader/Process() if(!MS) use_power(1) diff --git a/code/modules/biomatter_manipulation/solidifier.dm b/code/modules/biomatter_manipulation/solidifier.dm index 72233f5b772..9cfd559a2fc 100644 --- a/code/modules/biomatter_manipulation/solidifier.dm +++ b/code/modules/biomatter_manipulation/solidifier.dm @@ -4,10 +4,11 @@ #define BIOMATTER_PER_SHEET 1 #define CONTAINER_PIXEL_OFFSET 6 +#define BIOMATTER_SHEETS_PER_TIME 5 // X sheets per 2 seconds /obj/machinery/biomatter_solidifier name = "biomatter solidifier" - desc = "A church of absolute machine that converts liquid biomatter into the solid." + desc = "A Church of Absolute machine that converts liquid biomatter into the solid." icon = 'icons/obj/machines/simple_nt_machines.dmi' icon_state = "solidifier" density = TRUE @@ -15,82 +16,108 @@ use_power = IDLE_POWER_USE idle_power_usage = 5 active_power_usage = 300 + reagent_flags = OPENCONTAINER + var/active = FALSE var/port_dir = SOUTH var/obj/structure/reagent_dispensers/biomatter/container var/last_time_used = 0 -/obj/machinery/biomatter_solidifier/New() +/obj/machinery/biomatter_solidifier/Initialize(mapload, d, bolt=TRUE) . = ..() - add_overlay(image(icon = src.icon, icon_state = "tube", layer = LOW_OBJ_LAYER, dir = port_dir)) + create_reagents(BIOMATTER_PER_SHEET*BIOMATTER_SHEETS_PER_TIME*3) + anchored = bolt + overlays += image(icon = src.icon, icon_state = "tube", layer = LOW_OBJ_LAYER, dir = port_dir) /obj/machinery/biomatter_solidifier/update_icon() if(active) icon_state = initial(icon_state) + "_on" else icon_state = initial(icon_state) - cut_overlays() - add_overlay(image(icon = src.icon, icon_state = "tube", layer = LOW_OBJ_LAYER, dir = port_dir)) - + overlays = list() + overlays += image(icon = src.icon, icon_state = "tube", layer = LOW_OBJ_LAYER, dir = port_dir) /obj/machinery/biomatter_solidifier/Process() if(active) - if(!container) - abort("Container of liquid biomatter required.") + if(reagents.get_free_space() >= BIOMATTER_PER_SHEET) + if(reagents.total_volume < BIOMATTER_PER_SHEET) + if(!container) + abort("Container of liquid biomatter required.") + return + else if(!container.reagents.has_reagent(MATERIAL_BIOMATTER, BIOMATTER_PER_SHEET)) + abort("Insufficient amount of biomatter.") + return + if(container && container.reagents.has_reagent(MATERIAL_BIOMATTER, BIOMATTER_PER_SHEET)) + var/quantity = min(reagents.get_free_space(), BIOMATTER_PER_SHEET*BIOMATTER_SHEETS_PER_TIME) + container.reagents.trans_id_to(src, MATERIAL_BIOMATTER, quantity, TRUE) + if(reagents.get_reagent_amount(MATERIAL_BIOMATTER) >= BIOMATTER_PER_SHEET) + process_biomatter() else - if(!container.reagents.has_reagent("biomatter", BIOMATTER_PER_SHEET)) - abort("Insufficient amount of biomatter.") + abort("Insufficient amount of biomatter.") + +/obj/machinery/biomatter_solidifier/proc/process_biomatter() + var/quantity = min(reagents.get_reagent_amount(MATERIAL_BIOMATTER), BIOMATTER_PER_SHEET*BIOMATTER_SHEETS_PER_TIME) + reagents.remove_reagent(MATERIAL_BIOMATTER, quantity) + + while(quantity > 0) + var/obj/item/stack/material/biomatter/current_stack + //if there any stacks here, let's check them + if(locate(/obj/item/stack/material/biomatter) in loc) + for(var/obj/item/stack/material/biomatter/stack_on_my_loc in loc) + if(stack_on_my_loc.amount < stack_on_my_loc.max_amount) + current_stack = stack_on_my_loc + break + //if we found not full stack + if(current_stack) + if(current_stack.amount + round(quantity / BIOMATTER_PER_SHEET) >= current_stack.max_amount) + //if stack cannot hold all quantity we will just fill it and go to next + var/diff = current_stack.max_amount - current_stack.amount + current_stack.add(diff) + quantity -= diff * BIOMATTER_PER_SHEET + continue else - container.reagents.remove_reagent("biomatter", BIOMATTER_PER_SHEET) - var/obj/item/stack/material/biomatter/current_stack - //if there any stacks here, let's check them - if(locate(/obj/item/stack/material/biomatter) in loc) - for(var/obj/item/stack/material/biomatter/stack_on_my_loc in loc) - //if this isn't full, we use that stack(current) - if(stack_on_my_loc.amount < stack_on_my_loc.max_amount) - current_stack = stack_on_my_loc - break - - if(current_stack) - current_stack.add(1) - if(current_stack.amount == current_stack.max_amount) - state("Stack is ready.") - ping() - else - current_stack = new(loc) - + current_stack.add(round(quantity / BIOMATTER_PER_SHEET)) + quantity = 0 + return + //if we not found not full stack + else + current_stack = new(loc) + quantity -= 1 * BIOMATTER_PER_SHEET /obj/machinery/biomatter_solidifier/MouseDrop_T(obj/structure/reagent_dispensers/biomatter/tank, mob/user) if(get_dir(loc, tank.loc) != port_dir) to_chat(user, SPAN_WARNING("Doesn't connect. Port direction located at [dir2text(port_dir)] side of [src]")) return - if(!container) - container = tank - container.anchored = TRUE - switch(port_dir) - if(SOUTH) - container.pixel_y += CONTAINER_PIXEL_OFFSET - if(NORTH) - container.pixel_y -= CONTAINER_PIXEL_OFFSET - if(WEST) - container.pixel_x += CONTAINER_PIXEL_OFFSET - if(EAST) - container.pixel_x -= CONTAINER_PIXEL_OFFSET - playsound(src, 'sound/machines/airlock_ext_close.ogg', 60, 1) - to_chat(user, SPAN_NOTICE("You attached [tank] to [src].")) + if(tank.bio_anchored(TRUE)) + container = tank + container.can_anchor = FALSE + switch(port_dir) + if(SOUTH) + container.pixel_y += CONTAINER_PIXEL_OFFSET + if(NORTH) + container.pixel_y -= CONTAINER_PIXEL_OFFSET + if(WEST) + container.pixel_x += CONTAINER_PIXEL_OFFSET + if(EAST) + container.pixel_x -= CONTAINER_PIXEL_OFFSET + playsound(src, 'sound/machines/airlock_ext_close.ogg', 60, 1) + to_chat(user, SPAN_NOTICE("You attached [tank] to [src].")) + else + to_chat(user, SPAN_WARNING("Ugh. You done something wrong!")) + toxin_attack(user) + else if(container == tank) + container.can_anchor = TRUE + tank.bio_anchored(FALSE) + container.pixel_y = initial(container.pixel_y) + container.pixel_x = initial(container.pixel_x) + playsound(src, 'sound/machines/airlock_ext_open.ogg', 60, 1) + to_chat(user, SPAN_NOTICE("You dettached [tank] from [src].")) + container = null toxin_attack(user) else - if(container == tank) - container.pixel_y = initial(container.pixel_y) - container.pixel_x = initial(container.pixel_x) - container.anchored = FALSE - playsound(src, 'sound/machines/airlock_ext_open.ogg', 60, 1) - to_chat(user, SPAN_NOTICE("You dettached [tank] from [src].")) - container = null - toxin_attack(user) - else - to_chat(user, SPAN_WARNING("There are already connected container.")) + to_chat(user, SPAN_WARNING("There are already connected container.")) + update_icon() /obj/machinery/biomatter_solidifier/attack_hand(mob/user) @@ -102,16 +129,14 @@ update_icon() -/obj/machinery/biomatter_solidifier/proc/abort(var/msg) +/obj/machinery/biomatter_solidifier/proc/abort(msg) state(msg) active = !active ping() update_icon() -///////////////////// - /obj/machinery/neotheology icon = 'icons/obj/neotheology_machinery.dmi' +#undef BIOMATTER_SHEETS_PER_TIME #undef CONTAINER_PIXEL_OFFSET -#undef BIOMATTER_PER_SHEET diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 2643ea18073..ce2f611f02f 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -417,7 +417,7 @@ default_type = MATERIAL_BIOMATTER price_tag = 1 //to keep biomatter in the player economy as the church and science use it. novariants = FALSE - var/biomatter_in_sheet = 1 + var/biomatter_in_sheet = BIOMATTER_PER_SHEET // defined in solidifier.dm /obj/item/stack/material/biomatter/random rand_min = 5 @@ -455,4 +455,4 @@ max_amount = 360 /obj/item/stack/material/ameridian/full - amount = 360 \ No newline at end of file + amount = 360