Repository navigation
Add the Danger Ores Bloom map - #1653
Merged
Merged
Conversation
Petals changes sector sizes with the distance from spawn and Riches changes sector richness; Bloom goes halfway on each. Size times richness gives the same ore at every distance as either, fitted to what 1000 satellites on coal power use, so sectors bend half as much as on Petals and are half as lean or rich as on Riches. - presets/danger_ore_bloom.lua: sizes 42/30/28 -> 19/45/36 and richness iron x1.21 -> x0.53, copper x0.87 -> x1.22, coal x0.82 -> x0.97, blended from r=200 to r=350, two of each sector - a scenario template, a map poll entry, a changelog line and a preview Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lex
marked this pull request as draft
October 25, 2026 09:58
Riches and Bloom both passed the canonical richness curve as the base, each declaring it again. The ore factory now exposes it as default_value and radial_richness uses it when no base is given, so the presets only pass their multipliers. The maps don't change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bloom's sector sizes and richness multipliers are each half of the change, so together they must give each ore the share fitted for 1000 satellites near spawn and far out, and rings in the blend may hold at most 6% less ore than the standard map. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The distances come from the preset's blend, and the tolerances, ring step and seed are named constants that say why they are what they are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
lex
marked this pull request as ready for review
October 25, 2026 10:16
grilledham
approved these changes
Oct 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Bloom, a Danger Ores map that combines #1651 (Petals, sector sizes change with the distance from spawn) and #1652 (Riches, sector richness changes with it). Bloom goes halfway on each, so it allegedly gives the same ore at every distance as either of them, with sectors that bend half as much as on Petals and are half as lean or rich as on Riches.
Why
It's the same model as the other two: research and building allegedly use mostly iron within ~200 tiles of spawn, and rockets allegedly use mostly copper and coal out to ~410 tiles. The numbers come from Factorio 2.0.77's recipes but rest on a lot of assumptions, so treat them as a starting point for playtesting, not as fact.
Petals gets there with sector sizes alone, so its sectors bend a lot; Riches gets there with richness alone, so its iron sector ends up very thin far out (×0.30). Splitting the change between both keeps each one milder.
How
The ore a sector gives at some distance is its size times its richness. Each axis goes about halfway (√ of the full change), blended from r=200 to r=350 like the other two:
Because both blends ease at the same time, rings in the middle of the blend hold allegedly up to 6% less ore than on the standard map; inside 200 and past 350 it's the same. The mixes and the ~10% stone in them are the canonical ones.
presets/danger_ore_bloom.lua:main_ores_radialfrom Add the Danger Ores Petals map #1651 with the sizes above and two of each sector (six spokes; the sizes change half as much as on Petals, so wider sectors stay spokes), plusradial_richnessfrom Add the Danger Ores Riches map #1652 onFactory.default()with the richness above.radial_richnessnow defaults its base to the canonical richness curve, which the ore factory exposes asdefault_value, so Riches and Bloom no longer declare it again. Neither map changes.Tests
danger_ore_bloom_tests.lua(runs when Bloom is the active map): the sectors, built by the real radial builder from the preset's config, times the richness read from the preset's ores, give each ore its fitted share within 1 point near spawn and far out; and rings in the blend hold at most 6% less ore than the standard map, never more. Changing one size or richness number fails them.radial_richness_tests.lua: a curve given no base scales the standard richness.pwsh .github/scripts/run-tests.ps1 <factorio> danger-ore-bloom: 162 passed, 0 failed, 43 skipped (need a player);danger-ore-riches: 151 passed, 0 failed.luacheck .: 0 warnings / 0 errors.🤖 Generated with Claude Code