diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index b57402071a5..bb96a9a59d5 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -7,6 +7,7 @@ move_resist = INFINITY obj_flags = NONE blocks_emissive = EMISSIVE_BLOCK_GENERIC + uses_integrity = FALSE /obj/effect/attackby(obj/item/weapon, mob/user, params) if(SEND_SIGNAL(weapon, COMSIG_ITEM_ATTACK_EFFECT, src, user, params) & COMPONENT_NO_AFTERATTACK) diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 511045d6aad..0f96254beb6 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -9,8 +9,6 @@ icon = MAP_SWITCH('modular_skyrat/modules/liquids/icons/turf/smoothrocks.dmi', 'icons/turf/mining.dmi') // SKYRAT EDIT CHANGE icon_state = "rock" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER - smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) - canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) baseturfs = /turf/open/misc/asteroid/airless initial_gas_mix = AIRLESS_ATMOS opacity = TRUE @@ -41,6 +39,16 @@ #undef MINERAL_WALL_OFFSET +/turf/closed/mineral/Initialize(mapload) + var/static/list/smoothing_groups = list(SMOOTH_GROUP_CLOSED_TURFS, SMOOTH_GROUP_MINERAL_WALLS) + var/static/list/canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS) + + // The cost of the list() being in the type def is very large for something as common as minerals + src.smoothing_groups = smoothing_groups + src.canSmoothWith = canSmoothWith + + return ..() + // Inlined version of the bump click element. way faster this way, the element's nice but it's too much overhead /turf/closed/mineral/Bumped(atom/movable/bumped_atom) . = ..() @@ -189,21 +197,34 @@ gets_drilled(give_exp = FALSE) /turf/closed/mineral/random - var/list/mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /obj/item/stack/ore/titanium = 11, - /turf/closed/mineral/gibtonite = 4, /obj/item/stack/ore/bluespace_crystal = 1) - //Currently, Adamantine won't spawn as it has no uses. -Durandan var/mineralChance = 13 -/turf/closed/mineral/random/Initialize(mapload) - if(check_holidays(APRIL_FOOLS)) - mineralSpawnChanceList[/obj/item/stack/ore/bananium] = 3 +/// Returns a list of the chances for minerals to spawn. +/// Will only run once, and will then be cached. +/turf/closed/mineral/random/proc/mineral_chances() + return list( + /obj/item/stack/ore/bananium = check_holidays(APRIL_FOOLS) ? 3 : 0, + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 10, + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/uranium = 5, + /turf/closed/mineral/gibtonite = 4, + ) - mineralSpawnChanceList = typelist("mineralSpawnChanceList", mineralSpawnChanceList) +/turf/closed/mineral/random/Initialize(mapload) + var/static/list/mineral_chances_by_type = list() . = ..() if (prob(mineralChance)) - var/path = pick_weight(mineralSpawnChanceList) + var/list/spawn_chance_list = mineral_chances_by_type[type] + if (isnull(spawn_chance_list)) + mineral_chances_by_type[type] = expand_weights(mineral_chances()) + spawn_chance_list = mineral_chances_by_type[type] + var/path = pick(spawn_chance_list) if(ispath(path, /turf)) var/stored_flags = 0 var/stored_color = color //SKYRAT EDIT ADDITION @@ -231,34 +252,67 @@ /turf/closed/mineral/random/high_chance icon_state = "rock_highchance" mineralChance = 25 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45, - /obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20) + +/turf/closed/mineral/random/high_chance/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 20, + /obj/item/stack/ore/diamond = 30, + /obj/item/stack/ore/gold = 45, + /obj/item/stack/ore/plasma = 50, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/titanium = 45, + /obj/item/stack/ore/uranium = 35, + ) /turf/closed/mineral/random/high_chance/volcanic turf_type = /turf/open/misc/asteroid/basalt/lava_land_surface baseturfs = /turf/open/misc/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = TRUE - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45, - /obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 1) + +/turf/closed/mineral/random/high_chance/volcanic/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 30, + /obj/item/stack/ore/gold = 45, + /obj/item/stack/ore/plasma = 50, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/titanium = 45, + /obj/item/stack/ore/uranium = 35, + ) /turf/closed/mineral/random/low_chance icon_state = "rock_lowchance" mineralChance = 6 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 2, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4, /obj/item/stack/ore/titanium = 4, - /obj/item/stack/ore/silver = 6, /obj/item/stack/ore/plasma = 15, /obj/item/stack/ore/iron = 40, - /turf/closed/mineral/gibtonite = 2, /obj/item/stack/ore/bluespace_crystal = 1) + +/turf/closed/mineral/random/low_chance/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 4, + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 15, + /obj/item/stack/ore/silver = 6, + /obj/item/stack/ore/titanium = 4, + /obj/item/stack/ore/uranium = 2, + /turf/closed/mineral/gibtonite = 2, + ) //extremely low chance of rare ores, meant mostly for populating stations with large amounts of asteroid /turf/closed/mineral/random/stationside icon_state = "rock_nochance" mineralChance = 4 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 1, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 3, /obj/item/stack/ore/titanium = 5, - /obj/item/stack/ore/silver = 4, /obj/item/stack/ore/plasma = 3, /obj/item/stack/ore/iron = 50) + +/turf/closed/mineral/random/stationside/mineral_chances() + return list( + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 3, + /obj/item/stack/ore/iron = 50, + /obj/item/stack/ore/plasma = 3, + /obj/item/stack/ore/silver = 4, + /obj/item/stack/ore/titanium = 5, + /obj/item/stack/ore/uranium = 1, + ) /turf/closed/mineral/random/volcanic turf_type = /turf/open/misc/asteroid/basalt/lava_land_surface @@ -267,10 +321,19 @@ defer_change = TRUE mineralChance = 10 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, - /turf/closed/mineral/gibtonite/volcanic = 4, /obj/item/stack/ore/bluespace_crystal = 1) + +/turf/closed/mineral/random/volcanic/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 10, + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/uranium = 5, + /turf/closed/mineral/gibtonite/volcanic = 4, + ) /turf/closed/mineral/random/snow name = "snowy mountainside" @@ -293,42 +356,84 @@ base_icon_state = "icerock_wall" smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER -/turf/closed/mineral/random/snow - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, - /turf/closed/mineral/gibtonite/ice/icemoon = 4, /obj/item/stack/ore/bluespace_crystal = 1) +/turf/closed/mineral/random/snow/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 10, + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/uranium = 5, + /turf/closed/mineral/gibtonite/ice/icemoon = 4, + ) /turf/closed/mineral/random/snow/underground baseturfs = /turf/open/misc/asteroid/snow/icemoon // abundant ore mineralChance = 20 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 10, /obj/item/stack/ore/diamond = 4, /obj/item/stack/ore/gold = 20, /obj/item/stack/ore/titanium = 22, - /obj/item/stack/ore/silver = 24, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 20, /obj/item/stack/ore/bananium = 1, - /turf/closed/mineral/gibtonite/ice/icemoon = 8, /obj/item/stack/ore/bluespace_crystal = 2) + +/turf/closed/mineral/random/snow/underground/mineral_chances() + return list( + /obj/item/stack/ore/bananium = 1, + /obj/item/stack/ore/bluespace_crystal = 2, + /obj/item/stack/ore/diamond = 4, + /obj/item/stack/ore/gold = 20, + /obj/item/stack/ore/iron = 20, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 24, + /obj/item/stack/ore/titanium = 22, + /obj/item/stack/ore/uranium = 10, + /turf/closed/mineral/gibtonite/ice/icemoon = 8, + ) /turf/closed/mineral/random/snow/high_chance - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 35, /obj/item/stack/ore/diamond = 30, /obj/item/stack/ore/gold = 45, /obj/item/stack/ore/titanium = 45, - /obj/item/stack/ore/silver = 50, /obj/item/stack/ore/plasma = 50, /obj/item/stack/ore/bluespace_crystal = 20) + +/turf/closed/mineral/random/snow/high_chance/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 20, + /obj/item/stack/ore/diamond = 30, + /obj/item/stack/ore/gold = 45, + /obj/item/stack/ore/plasma = 50, + /obj/item/stack/ore/silver = 50, + /obj/item/stack/ore/titanium = 45, + /obj/item/stack/ore/uranium = 35, + ) /turf/closed/mineral/random/labormineral icon_state = "rock_labor" - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 8, /obj/item/stack/ore/titanium = 8, - /obj/item/stack/ore/silver = 20, /obj/item/stack/ore/plasma = 30, /obj/item/stack/ore/iron = 95, - /turf/closed/mineral/gibtonite = 2) + +/turf/closed/mineral/random/labormineral/mineral_chances() + return list( + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 8, + /obj/item/stack/ore/iron = 95, + /obj/item/stack/ore/plasma = 30, + /obj/item/stack/ore/silver = 20, + /obj/item/stack/ore/titanium = 8, + /obj/item/stack/ore/uranium = 3, + /turf/closed/mineral/gibtonite = 2, + ) /turf/closed/mineral/random/labormineral/volcanic turf_type = /turf/open/misc/asteroid/basalt/lava_land_surface baseturfs = /turf/open/misc/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = TRUE - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 8, /obj/item/stack/ore/titanium = 8, - /obj/item/stack/ore/silver = 20, /obj/item/stack/ore/plasma = 30, /obj/item/stack/ore/bluespace_crystal = 1, /turf/closed/mineral/gibtonite/volcanic = 2, - /obj/item/stack/ore/iron = 95) + +/turf/closed/mineral/random/labormineral/volcanic/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 8, + /obj/item/stack/ore/iron = 95, + /obj/item/stack/ore/plasma = 30, + /obj/item/stack/ore/silver = 20, + /obj/item/stack/ore/titanium = 8, + /obj/item/stack/ore/uranium = 3, + /turf/closed/mineral/gibtonite/volcanic = 2, + ) // Subtypes for mappers placing ores manually. /turf/closed/mineral/random/labormineral/ice @@ -343,10 +448,19 @@ baseturfs = /turf/open/misc/asteroid/snow/icemoon initial_gas_mix = ICEMOON_DEFAULT_ATMOS defer_change = TRUE - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 8, /obj/item/stack/ore/titanium = 8, - /obj/item/stack/ore/silver = 20, /obj/item/stack/ore/plasma = 30, /obj/item/stack/ore/bluespace_crystal = 1, /turf/closed/mineral/gibtonite/volcanic = 2, - /obj/item/stack/ore/iron = 95) + +/turf/closed/mineral/random/labormineral/ice/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 8, + /obj/item/stack/ore/iron = 95, + /obj/item/stack/ore/plasma = 30, + /obj/item/stack/ore/silver = 20, + /obj/item/stack/ore/titanium = 8, + /obj/item/stack/ore/uranium = 3, + /turf/closed/mineral/gibtonite/volcanic = 2, + ) /turf/closed/mineral/random/labormineral/ice/Change_Ore(ore_type, random = 0) . = ..() diff --git a/code/game/turfs/open/planet.dm b/code/game/turfs/open/planet.dm index 803cd244431..6b113aec1f7 100644 --- a/code/game/turfs/open/planet.dm +++ b/code/game/turfs/open/planet.dm @@ -56,7 +56,16 @@ smooth_icon = 'icons/turf/floors/junglegrass.dmi' /turf/closed/mineral/random/jungle - mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /obj/item/stack/ore/titanium = 11, - /obj/item/stack/ore/bluespace_crystal = 1) baseturfs = /turf/open/misc/dirt/dark + +/turf/closed/mineral/random/jungle/mineral_chances() + return list( + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/gold = 10, + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/uranium = 5, + ) diff --git a/modular_skyrat/modules/liquids/code/ocean_turfs.dm b/modular_skyrat/modules/liquids/code/ocean_turfs.dm index 0ac630e60ca..ea1d004cc6a 100644 --- a/modular_skyrat/modules/liquids/code/ocean_turfs.dm +++ b/modular_skyrat/modules/liquids/code/ocean_turfs.dm @@ -144,14 +144,6 @@ turf_type = /turf/open/floor/plating/ocean/rock/heavy color = "#58606b" -//extremely low chance of rare ores, meant mostly for populating stations with large amounts of asteroid -/turf/closed/mineral/random/stationside - icon_state = "rock_nochance" - mineralChance = 4 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 1, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 3, /obj/item/stack/ore/titanium = 5, - /obj/item/stack/ore/silver = 4, /obj/item/stack/ore/plasma = 3, /obj/item/stack/ore/iron = 50) - /turf/closed/mineral/random/stationside/ocean baseturfs = /turf/open/floor/plating/ocean/rock/heavy turf_type = /turf/open/floor/plating/ocean/rock/heavy diff --git a/modular_skyrat/modules/mapping/code/planet_turfs.dm b/modular_skyrat/modules/mapping/code/planet_turfs.dm index b1bf4770675..dbbb2d645f5 100644 --- a/modular_skyrat/modules/mapping/code/planet_turfs.dm +++ b/modular_skyrat/modules/mapping/code/planet_turfs.dm @@ -92,8 +92,10 @@ baseturfs = /turf/open/misc/asteroid/lowpressure initial_gas_mix = OPENTURF_LOW_PRESSURE defer_change = TRUE + mineralChance = 25 //Higher mineral chance than normal - mineralSpawnChanceList = list( +/turf/closed/mineral/random/asteroid/rockplanet/mineral_chances() + return list( /obj/item/stack/ore/iron = 40, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/silver = 12, @@ -104,11 +106,13 @@ /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/bluespace_crystal = 1 ) - mineralChance = 25 //Higher mineral chance than normal + /turf/closed/mineral/random/asteroid/rockplanet/labor //No bluespace for the inmates! icon_state = "rock_labor" - mineralSpawnChanceList = list( + +/turf/closed/mineral/random/asteroid/rockplanet/labor/mineral_chances() + return list( /obj/item/stack/ore/iron = 95, /obj/item/stack/ore/plasma = 30, /obj/item/stack/ore/silver = 20, diff --git a/modular_skyrat/modules/planets/code/rockplanet.dm b/modular_skyrat/modules/planets/code/rockplanet.dm index 5169688a066..9b759cc72f7 100644 --- a/modular_skyrat/modules/planets/code/rockplanet.dm +++ b/modular_skyrat/modules/planets/code/rockplanet.dm @@ -39,7 +39,10 @@ /turf/closed/mineral/random/stationside/asteroid/rockplanet initial_gas_mix = OPENTURF_DEFAULT_ATMOS turf_type = /turf/open/misc/asteroid - mineralSpawnChanceList = list( + mineralChance = 30 + +/turf/closed/mineral/random/stationside/asteroid/rockplanet/mineral_chances() + return list( /obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, @@ -50,4 +53,4 @@ /turf/closed/mineral/gibtonite = 4, /obj/item/stack/ore/bluespace_crystal = 1 ) - mineralChance = 30 + diff --git a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/strange_rock.dm b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/strange_rock.dm index 89a1071f55c..3ee20c764ef 100644 --- a/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/strange_rock.dm +++ b/modular_skyrat/modules/xenoarch/code/modules/research/xenoarch/strange_rock.dm @@ -187,12 +187,21 @@ baseturfs = /turf/open/misc/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = TRUE - mineralChance = 10 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /turf/closed/mineral/strange_rock/volcanic = 10, - /turf/closed/mineral/gibtonite/volcanic = 4, /obj/item/stack/ore/bluespace_crystal = 1) + +/turf/closed/mineral/random/volcanic/mineral_chances() + return list( + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/gold = 10, + /turf/closed/mineral/strange_rock/volcanic = 10, + /obj/item/stack/ore/uranium = 5, + /turf/closed/mineral/gibtonite/volcanic = 4, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/bluespace_crystal = 1 + ) /turf/closed/mineral/strange_rock/ice icon = MAP_SWITCH('icons/turf/walls/icerock_wall.dmi', 'icons/turf/mining.dmi') @@ -209,20 +218,39 @@ baseturfs = /turf/open/misc/asteroid/snow/ice/icemoon initial_gas_mix = ICEMOON_DEFAULT_ATMOS -/turf/closed/mineral/random/snow - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/titanium = 11, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /turf/closed/mineral/strange_rock/ice/icemoon = 10, - /turf/closed/mineral/gibtonite/ice/icemoon = 4, /obj/item/stack/ore/bluespace_crystal = 1) +/turf/closed/mineral/random/snow/mineral_chances() + return list( + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/gold = 10, + /turf/closed/mineral/strange_rock/ice/icemoon = 10, + /obj/item/stack/ore/uranium = 5, + /turf/closed/mineral/gibtonite/ice/icemoon = 4, + /obj/item/stack/ore/diamond = 1, + /obj/item/stack/ore/bluespace_crystal = 1, + ) /turf/closed/mineral/random/snow/underground baseturfs = /turf/open/misc/asteroid/snow/icemoon // abundant ore mineralChance = 20 - mineralSpawnChanceList = list( - /obj/item/stack/ore/uranium = 10, /obj/item/stack/ore/diamond = 4, /obj/item/stack/ore/gold = 20, /obj/item/stack/ore/titanium = 22, - /obj/item/stack/ore/silver = 24, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 20, /obj/item/stack/ore/bananium = 1, - /turf/closed/mineral/gibtonite/ice/icemoon = 8, /turf/closed/mineral/strange_rock/ice/icemoon = 10, /obj/item/stack/ore/bluespace_crystal = 2) + +/turf/closed/mineral/random/snow/underground/mineral_chances() + return list( + /obj/item/stack/ore/silver = 24, + /obj/item/stack/ore/titanium = 22, + /obj/item/stack/ore/gold = 20, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/iron = 20, + /obj/item/stack/ore/uranium = 10, + /turf/closed/mineral/strange_rock/ice/icemoon = 10, + /turf/closed/mineral/gibtonite/ice/icemoon = 8, + /obj/item/stack/ore/diamond = 4, + /obj/item/stack/ore/bluespace_crystal = 2, + /obj/item/stack/ore/bananium = 1, + ) //small gibonite fix /turf/closed/mineral/gibtonite/asteroid @@ -248,11 +276,22 @@ /turf/closed/mineral/random/stationside/asteroid/rockplanet initial_gas_mix = OPENTURF_DEFAULT_ATMOS turf_type = /turf/open/misc/asteroid - mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10, - /obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /obj/item/stack/ore/titanium = 11, - /turf/closed/mineral/gibtonite/asteroid = 4, /obj/item/stack/ore/bluespace_crystal = 1, /turf/closed/mineral/strange_rock/asteroid = 10) mineralChance = 30 +/turf/closed/mineral/random/stationside/asteroid/rockplanet/mineral_chances() + return list( + /obj/item/stack/ore/iron = 40, + /obj/item/stack/ore/plasma = 20, + /obj/item/stack/ore/silver = 12, + /obj/item/stack/ore/titanium = 11, + /obj/item/stack/ore/gold = 10, + /turf/closed/mineral/strange_rock/asteroid = 10, + /obj/item/stack/ore/uranium = 5, + /turf/closed/mineral/gibtonite/asteroid = 4, + /obj/item/stack/ore/bluespace_crystal = 1, + /obj/item/stack/ore/diamond = 1, + ) + #undef DIG_UNDEFINED #undef DIG_DELETE #undef DIG_ROCK