diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index d64b5b0a65c..b37b1385b0a 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -3207,6 +3207,7 @@ /obj/effect/turf_decal/bot, /obj/structure/ore_box, /obj/structure/sign/poster/official/do_not_question/directional/north, +/obj/machinery/light/small/directional/north, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) "qd" = ( @@ -3375,6 +3376,7 @@ "rm" = ( /obj/structure/sign/warning/gas_mask/directional/west, /obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth, /area/mine/laborcamp/production) "ro" = ( @@ -3577,7 +3579,6 @@ /obj/effect/turf_decal/bot, /obj/structure/sign/departments/medbay/alt/directional/north, /obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north, /turf/open/floor/iron/smooth_edge, /area/mine/laborcamp/production) "sH" = ( @@ -8054,7 +8055,6 @@ /area/lavaland/surface/outdoors) "Ub" = ( /obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/west, /obj/machinery/airalarm/directional/north, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -24775,7 +24775,7 @@ Nz Ez pQ uq -Jw +jU ff Gc RV @@ -25289,7 +25289,7 @@ oq fe yu uq -jU +Jw ff Ge dr diff --git a/code/game/objects/items/stacks/bscrystal.dm b/code/game/objects/items/stacks/bscrystal.dm index 6de443f9e47..e504b5789ea 100644 --- a/code/game/objects/items/stacks/bscrystal.dm +++ b/code/game/objects/items/stacks/bscrystal.dm @@ -80,7 +80,7 @@ icon_state = "polycrystal" inhand_icon_state = null material_flags = MATERIAL_NO_DESCRIPTORS - gulag_valid = TRUE + gulag_value = 100 mats_per_unit = list(/datum/material/bluespace=SHEET_MATERIAL_AMOUNT) attack_verb_continuous = list("bluespace polybashes", "bluespace polybatters", "bluespace polybludgeons", "bluespace polythrashes", "bluespace polysmashes") attack_verb_simple = list("bluespace polybash", "bluespace polybatter", "bluespace polybludgeon", "bluespace polythrash", "bluespace polysmash") diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 55e67cc13bc..e1748685841 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -207,7 +207,7 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ resistance_flags = ACID_PROOF material_flags = NONE merge_type = /obj/item/stack/sheet/plasmarglass - gulag_valid = TRUE + gulag_value = 5 matter_amount = 8 table_type = /obj/structure/table/reinforced/plasmarglass pickup_sound = 'sound/items/handling/materials/glass_pick_up.ogg' diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 0d05b853a9e..95faff4be00 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -107,7 +107,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ singular_name = "diamond" construction_path_type = "diamond" mats_per_unit = list(/datum/material/diamond=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 100 merge_type = /obj/item/stack/sheet/mineral/diamond material_type = /datum/material/diamond walltype = /turf/closed/wall/mineral/diamond @@ -137,7 +137,7 @@ GLOBAL_LIST_INIT(diamond_recipes, list ( \ singular_name = "uranium sheet" construction_path_type = "uranium" mats_per_unit = list(/datum/material/uranium=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 50 merge_type = /obj/item/stack/sheet/mineral/uranium material_type = /datum/material/uranium walltype = /turf/closed/wall/mineral/uranium @@ -173,7 +173,7 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ resistance_flags = FLAMMABLE max_integrity = 100 mats_per_unit = list(/datum/material/plasma=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 5 merge_type = /obj/item/stack/sheet/mineral/plasma material_type = /datum/material/plasma walltype = /turf/closed/wall/mineral/plasma @@ -210,7 +210,7 @@ GLOBAL_LIST_INIT(plasma_recipes, list ( \ singular_name = "gold bar" construction_path_type = "gold" mats_per_unit = list(/datum/material/gold=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 20 merge_type = /obj/item/stack/sheet/mineral/gold material_type = /datum/material/gold walltype = /turf/closed/wall/mineral/gold @@ -240,7 +240,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ singular_name = "silver bar" construction_path_type = "silver" mats_per_unit = list(/datum/material/silver=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 10 merge_type = /obj/item/stack/sheet/mineral/silver material_type = /datum/material/silver table_type = /obj/structure/table/optable @@ -269,7 +269,7 @@ GLOBAL_LIST_INIT(silver_recipes, list ( \ singular_name = "bananium sheet" construction_path_type = "bananium" mats_per_unit = list(/datum/material/bananium=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = -5 merge_type = /obj/item/stack/sheet/mineral/bananium material_type = /datum/material/bananium walltype = /turf/closed/wall/mineral/bananium @@ -300,7 +300,7 @@ GLOBAL_LIST_INIT(bananium_recipes, list ( \ throw_range = 3 construction_path_type = "titanium" mats_per_unit = list(/datum/material/titanium=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 10 merge_type = /obj/item/stack/sheet/mineral/titanium material_type = /datum/material/titanium walltype = /turf/closed/wall/mineral/titanium @@ -357,7 +357,7 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ throw_range = 3 construction_path_type = "plastitanium" mats_per_unit = list(/datum/material/alloy/plastitanium=SHEET_MATERIAL_AMOUNT) - gulag_valid = TRUE + gulag_value = 20 material_type = /datum/material/alloy/plastitanium merge_type = /obj/item/stack/sheet/mineral/plastitanium material_flags = NONE @@ -537,7 +537,7 @@ GLOBAL_LIST_INIT(metalhydrogen_recipes, list( singular_name = "metal hydrogen sheet" w_class = WEIGHT_CLASS_NORMAL resistance_flags = FIRE_PROOF | LAVA_PROOF | ACID_PROOF | BOMB_PROOF - gulag_valid = TRUE + gulag_value = 100 mats_per_unit = list(/datum/material/metalhydrogen = SHEET_MATERIAL_AMOUNT) material_type = /datum/material/metalhydrogen merge_type = /obj/item/stack/sheet/mineral/metal_hydrogen @@ -567,7 +567,7 @@ GLOBAL_LIST_INIT(zaukerite_recipes, list( inhand_icon_state = "sheet-zaukerite" singular_name = "zaukerite crystal" w_class = WEIGHT_CLASS_NORMAL - gulag_valid = TRUE + gulag_value = 100 mats_per_unit = list(/datum/material/zaukerite = SHEET_MATERIAL_AMOUNT) merge_type = /obj/item/stack/sheet/mineral/zaukerite material_type = /datum/material/zaukerite diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 53f8301a2c3..29851abbfa8 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -169,7 +169,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ obj_flags = CONDUCTS_ELECTRICITY resistance_flags = FIRE_PROOF merge_type = /obj/item/stack/sheet/iron - gulag_valid = TRUE + gulag_value = 5 table_type = /obj/structure/table material_type = /datum/material/iron matter_amount = 4 @@ -317,7 +317,7 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ armor_type = /datum/armor/sheet_plasteel resistance_flags = FIRE_PROOF merge_type = /obj/item/stack/sheet/plasteel - gulag_valid = TRUE + gulag_value = 10 table_type = /obj/structure/table/reinforced material_flags = NONE matter_amount = 12 diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm index 3d2b1f52030..4e7612ecc37 100644 --- a/code/game/objects/items/stacks/sheets/sheets.dm +++ b/code/game/objects/items/stacks/sheets/sheets.dm @@ -22,7 +22,7 @@ /// text string used to find typepaths used in door and wall (false and tram too) construction for door assemblies and girders respectively var/construction_path_type = null ///If true, this is worth points in the gulag labour stacker - var/gulag_valid = FALSE + var/gulag_value = 0 ///Set to true if this is vended from a material storage var/manufactured = FALSE /// whether this sheet can be sniffed by the material sniffer @@ -42,7 +42,7 @@ /obj/item/stack/sheet/examine(mob/user) . = ..() - if (manufactured && gulag_valid) + if (manufactured && gulag_value) . += span_notice("It has been embossed with a manufacturer's mark of guaranteed quality.") var/datum/material/material = get_master_material() diff --git a/code/game/objects/structures/lavaland/gulag_vent.dm b/code/game/objects/structures/lavaland/gulag_vent.dm index e0298fd3cc5..2300818183d 100644 --- a/code/game/objects/structures/lavaland/gulag_vent.dm +++ b/code/game/objects/structures/lavaland/gulag_vent.dm @@ -13,7 +13,7 @@ anchored = TRUE density = TRUE /// What kind of rock we got in there? - var/spawned_boulder = /obj/item/boulder/gulag + var/spawned_boulder = /obj/item/boulder/gulag_vent /// Prevents multiple people from hauling at a time var/occupied = FALSE diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 12ba72e36b7..54ba5d28796 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -178,7 +178,7 @@ /turf/closed/mineral/proc/change_ore(ore_type, random = TRUE) if (ispath(ore_type, /obj/item/boulder)) scan_state = "rock_boulder" // Yes even the lowly boulder has a scan state - spawned_boulder = /obj/item/boulder/gulag_expanded + spawned_boulder = /obj/item/boulder/gulag return if (random) @@ -727,8 +727,12 @@ /turf/closed/mineral/random/labormineral/mineral_chances() return list( - /obj/item/boulder/gulag = 165, - /turf/closed/mineral/gibtonite = 2, + /obj/item/boulder/gulag = 30, + /obj/item/stack/ore/gold = 10, + /obj/item/stack/ore/iron = 25, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 20, + /turf/closed/mineral/gibtonite/volcanic = 2, ) /turf/closed/mineral/random/labormineral/volcanic @@ -738,12 +742,6 @@ initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = TRUE -/turf/closed/mineral/random/labormineral/volcanic/mineral_chances() - return list( - /obj/item/boulder/gulag_expanded = 166, - /turf/closed/mineral/gibtonite/volcanic = 2, - ) - // Subtypes for mappers placing ores manually. /turf/closed/mineral/random/labormineral/ice name = "snowy mountainside" @@ -760,7 +758,11 @@ /turf/closed/mineral/random/labormineral/ice/mineral_chances() return list( - /obj/item/boulder/gulag = 168, + /obj/item/boulder/gulag = 30, + /obj/item/stack/ore/gold = 10, + /obj/item/stack/ore/iron = 25, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 20, /turf/closed/mineral/gibtonite/ice/icemoon = 2, ) diff --git a/code/modules/mining/boulder_processing/boulder_types.dm b/code/modules/mining/boulder_processing/boulder_types.dm index 1a6979f3885..4c8a4d45fa7 100644 --- a/code/modules/mining/boulder_processing/boulder_types.dm +++ b/code/modules/mining/boulder_processing/boulder_types.dm @@ -53,47 +53,31 @@ icon_state = "boulder_artifact_diamond" bonus_mat = /datum/material/diamond -///Boulders usually spawned in lavaland labour camp area +///Boulders spawned by the vent in the work camp, contain exclusively iron so we can have a reliable payout +/obj/item/boulder/gulag_vent + name = "iron boulder" + desc = "Basically just a raw lump of iron. Smash it into bits with a pickaxe." + // This produces 5 ore when smashed open because not using a machine reduces the ore count by one. 14 boulders x 15 ore x 5 points = 1050 points + custom_materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 16) + +/// Boulders usually spawned in lavaland labour camp area, broken open with pickaxe like a loot box /obj/item/boulder/gulag name = "low-quality boulder" - desc = "This rocks. It's a low quality boulder, so it's probably not worth as much." + desc = "Smash it with a pickaxe to get a bunch of ore at once. This rocks." /obj/item/boulder/gulag/Initialize(mapload) . = ..() /// Static list of all minerals to populate gulag boulders with. var/static/list/gulag_minerals = list( - /datum/material/diamond = 1, - /datum/material/gold = 8, - /datum/material/iron = 95, - /datum/material/plasma = 30, - /datum/material/silver = 20, - /datum/material/titanium = 8, - /datum/material/uranium = 3, + /datum/material/gold = 1, + /datum/material/iron = 5, + /datum/material/plasma = 4, + /datum/material/silver = 2, ) - set_custom_materials(list(pick_weight(gulag_minerals) = SHEET_MATERIAL_AMOUNT)) - -///Boulders usually spawned in lavaland labour camp area but with bluespace material -/obj/item/boulder/gulag_expanded - name = "low-density boulder" - desc = "This rocks. It's not very well packed, and can't contain as many minerals." - -/obj/item/boulder/gulag_expanded/Initialize(mapload) - . = ..() - - /// Static list of all minerals to populate gulag boulders with, but with bluespace added where safe. - var/static/list/expanded_gulag_minerals = list( - /datum/material/bluespace = 1, - /datum/material/diamond = 1, - /datum/material/gold = 8, - /datum/material/iron = 94, - /datum/material/plasma = 30, - /datum/material/silver = 20, - /datum/material/titanium = 8, - /datum/material/uranium = 3, - ) - set_custom_materials(list(pick_weight(expanded_gulag_minerals) = SHEET_MATERIAL_AMOUNT)) + var/amount = rand(10, 13) + set_custom_materials(list(pick_weight(gulag_minerals) = SHEET_MATERIAL_AMOUNT * amount)) ///lowgrade boulder, Exists as an admin spawn for testing /obj/item/boulder/shabby diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm index 170baf58a3d..d25333bc516 100644 --- a/code/modules/mining/laborcamp/laborstacker.dm +++ b/code/modules/mining/laborcamp/laborstacker.dm @@ -1,5 +1,3 @@ -#define SHEET_POINT_VALUE 33 - /**********************Prisoners' Console**************************/ /obj/machinery/mineral/labor_claim_console @@ -201,8 +199,8 @@ if (!istype(input, /obj/item/stack/sheet)) return ..() var/obj/item/stack/sheet/sheet = input - if (sheet.manufactured && sheet.gulag_valid) - points += SHEET_POINT_VALUE * sheet.amount + if (sheet.manufactured && sheet.gulag_value) + points += sheet.gulag_value * sheet.amount return ..() /obj/machinery/mineral/stacking_machine/laborstacker/base_item_interaction(mob/living/user, obj/item/weapon, list/modifiers) @@ -245,5 +243,3 @@ vars_and_tooltips_map = list( "PERSON" = "will be replaced with the name of the prisoner." ) - -#undef SHEET_POINT_VALUE