From 2b70d859f0eed4afd1097f21d38fc67deebe039c Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 22 Jun 2023 22:29:48 +0200 Subject: [PATCH] Exoplanet Ore Patches (#16271) * the end of the beginning * SPEED * SPEED * we real speed * fix ore gen * re-organize exoplanet stuff * reorg and rename defines, fix ores * Everything Else * 1.2.0+a3 rust_g * fix merge * get rid of noise maps * fix adhomai, delete random maps * make adhomai poggers or something idk * debug * crystal planet, misc bugfixes * fixes * log * change mineral gen to make adhomai work * try this * huh * huhw * rust_g 1.2.0+a4 * Ore Patches * finishing touches hopefully --------- Co-authored-by: John Wildkins --- code/game/turfs/turf.dm | 3 +++ code/modules/mining/drilling/drill.dm | 8 ++++++++ code/modules/mining/mine_turfs.dm | 15 +++++++++++++++ .../overmap/exoplanets/decor/_turfs.dm | 2 ++ .../overmap/exoplanets/themes/_theme.dm | 7 ++++++- html/changelogs/geeves-ore_patches.yml | 8 ++++++++ icons/obj/mining.dmi | Bin 35555 -> 41333 bytes 7 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 html/changelogs/geeves-ore_patches.yml diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 4cee7909c04..dcfa1165f2d 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -43,6 +43,7 @@ //Mining resources (for the large drills). var/has_resources var/list/resources + var/image/resource_indicator // Plating data. var/base_name = "plating" @@ -118,6 +119,8 @@ if (z_flags & ZM_MIMIC_BELOW) cleanup_zmimic() + resource_indicator = null + ..() return QDEL_HINT_IWILLGC diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm index 059ea95f13c..276470aa078 100644 --- a/code/modules/mining/drilling/drill.dm +++ b/code/modules/mining/drilling/drill.dm @@ -107,6 +107,10 @@ attached_satchel.insert_into_storage(ore) else if(istype(get_turf(src), /turf/simulated/floor)) var/turf/simulated/floor/T = get_turf(src) + var/turf/below_turf = GetBelow(T) + if(below_turf && !istype(below_turf.loc, /area/mine) && !istype(below_turf.loc, /area/exoplanet) && !istype(below_turf.loc, /area/template_noop)) + system_error("Potential station breach below.") + return T.ex_act(2.0) //Dig out the tasty ores. @@ -116,6 +120,8 @@ while(length(resource_field) && !harvesting.resources) harvesting.has_resources = FALSE harvesting.resources = null + harvesting.cut_overlay(harvesting.resource_indicator) + QDEL_NULL(harvesting.resource_indicator) resource_field -= harvesting if(length(resource_field)) harvesting = pick(resource_field) @@ -161,6 +167,8 @@ if(!found_resource) harvesting.has_resources = FALSE harvesting.resources = null + harvesting.cut_overlay(harvesting.resource_indicator) + QDEL_NULL(harvesting.resource_indicator) resource_field -= harvesting else active = FALSE diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index e2ef4cce45b..405be2adf19 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -407,6 +407,21 @@ var/list/mineral_can_smooth_with = list( visible_message(SPAN_NOTICE("An old dusty crate was buried within!")) new /obj/structure/closet/crate/secure/loot(src) +/turf/simulated/mineral/ChangeTurf(N, tell_universe, force_lighting_update, ignore_override, mapload) + var/old_has_resources = has_resources + var/list/old_resources = resources + var/image/old_resource_indicator = resource_indicator + + var/turf/new_turf = ..() + + new_turf.has_resources = old_has_resources + new_turf.resources = old_resources + new_turf.resource_indicator = old_resource_indicator + if(new_turf.resource_indicator) + new_turf.add_overlay(new_turf.resource_indicator) + + return new_turf + /turf/simulated/mineral/proc/excavate_find(var/prob_clean = 0, var/datum/find/F) //with skill and luck, players can cleanly extract finds //otherwise, they come out inside a chunk of rock diff --git a/code/modules/overmap/exoplanets/decor/_turfs.dm b/code/modules/overmap/exoplanets/decor/_turfs.dm index fc26df31f32..cc3b68fc503 100644 --- a/code/modules/overmap/exoplanets/decor/_turfs.dm +++ b/code/modules/overmap/exoplanets/decor/_turfs.dm @@ -60,6 +60,8 @@ /turf/simulated/floor/exoplanet/update_icon(var/update_neighbors) if(has_edge_icon) cut_overlays() + if(resource_indicator) + add_overlay(resource_indicator) if(LAZYLEN(decals)) add_overlay(decals) for(var/direction in cardinal) diff --git a/code/modules/overmap/exoplanets/themes/_theme.dm b/code/modules/overmap/exoplanets/themes/_theme.dm index 8864d1a42e7..3b8fb8a1964 100644 --- a/code/modules/overmap/exoplanets/themes/_theme.dm +++ b/code/modules/overmap/exoplanets/themes/_theme.dm @@ -87,7 +87,7 @@ ) /// relatively speaking, the % (0-1) of turfs that will have resources generated in them - var/gnd_ore_coverage = 0.5 + var/gnd_ore_coverage = 0.3 /// List of random seeds used for ore noise generation. Automatically generated on New() using wall_ore_levels. var/list/ore_seeds var/list/gnd_ore_seeds @@ -258,6 +258,11 @@ gen_turf.resources[ORE_SAND] = rand(3, 5) gen_turf.resources[ORE_COAL] = rand(3, 5) if(ground_resources_roll) + var/image/resource_indicator = image('icons/obj/mining.dmi', null, "indicator_" + ground_resources_roll, gen_turf.layer, pick(cardinal)) + resource_indicator.alpha = rand(30, 60) + gen_turf.resource_indicator = resource_indicator + if(!gen_turf.density) + gen_turf.add_overlay(resource_indicator) for(var/OT in ground_ore_levels[ground_resources_roll]) var/rand_vals = ground_ore_levels[ground_resources_roll][OT] gen_turf.resources[OT] = rand(rand_vals[1], rand_vals[2]) diff --git a/html/changelogs/geeves-ore_patches.yml b/html/changelogs/geeves-ore_patches.yml new file mode 100644 index 00000000000..ac2959707af --- /dev/null +++ b/html/changelogs/geeves-ore_patches.yml @@ -0,0 +1,8 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added visible ore patches to exoplanets. You can set up industrial drills on top of them to retrieve the deep ore." + - rscadd: "Destroying a wall on an exoplanet that has deep ore beneath it will now longer delete the deep ore." + - tweak: "Reduced the amount of deep ore that spawns, now that it's easier to detect." diff --git a/icons/obj/mining.dmi b/icons/obj/mining.dmi index 5a39b4ce7bd87fd03e5879f56d3d102d3e81fd32..e34ac6d3c62e6380d39d8a8d17383089929493dd 100644 GIT binary patch delta 20657 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 ZO>77o0qx)1z{7+vD|36ZGSiDO{{c|CPLlut delta 14834 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 i76+waU;cVUR(}zHTCUfmjQz3`P