Repository navigation
Danger Ores: intro cutscene - #1667
Conversation
a264d12 to
77a9c52
Compare
grilledham
left a comment
There was a problem hiding this comment.
I think this is fine, but I have a suggestion.
| if card.win_satellite_count then | ||
| title = {'danger_ores.cutscene_goal_title'} | ||
| lines[#lines + 1] = {'danger_ores.cutscene_goal', card.win_satellite_count} | ||
| lines[#lines + 1] = {'danger_ores.cutscene_biters'} |
There was a problem hiding this comment.
I guess launching the first rocket killing all biters is true of all maps that have a win_satellite_count. But that didn't used to be the case, there is still a rocket_launched.lua which has biter waves after rocket launch, we just don't use it anymore.
But this makes me think we might not want to tie the win_satellite_count with biters being killed. Maybe we should expose if the rocket launch module kills all the biters on first launch or not. Or maybe I'm overthinking this and we can address that when/if it happens (if we remember).
There was a problem hiding this comment.
Exposed it in b3518fe: rocket_launched_simple says whether its first launch kills the biters (kills_biters_on_first_launch), and the cutscene's last card and the map info from #1601 show that line only when it does. Also rebased on develop; the Randomizer needed the cutscene to read the main ores on init (77f3a6d).
Off by default (DOC.cutscene.enabled). Welcome and spawn on the map, the building rule on a staged surface with a working line run by its own force, then the ore and a card with the map's name, twist and goal. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…, translations - The title card welcomes players to the map by its poll name and says its twist; the last card has only the goal (when satellites win the map) and the poll line. - On in every Danger Ores preset except Safety Ores, whose rule is the opposite. - Tests: the cards, the stage leaving off the ore what the map refuses, the stage's line running from the drills to the assemblers, and the map info for players who don't auto play it. - The strings in every locale. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Near spawn the map's ore holds about 90 per tile and is drawn so small it looks like bare ground, so the shot 140 tiles north showed no ore. "Everywhere else is buried in ore" now opens the staged scene, over its ore field, and the last part is just the goal card. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The Randomizer picks its ores once the map's surface exists and errors when they are read while the scenario loads. Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ocket module does The rocket launch module says whether its first launch kills all the biters, and the map info and the cutscene's last card show that line only when it does, rather than whenever a map is won by satellites (grilledham's review). Co-Authored-By: Claude Opus 5.5 <[email protected]>
77a9c52 to
b3518fe
Compare
Danger Ores gets an intro cutscene, like Crash Site's: new players see it when they join (unless they turn off auto play in the settings), and
/replayplays it again. It shows the one rule that sets Danger Ores apart, building only on ground cleared of ore, on a small staged factory instead of in text.The cutscene
The staged buildings on ore are placed and kept only if the map's own building rule allows them there, so the scene can't show something a preset refuses. The stage has its own force, so its smelting doesn't count toward the players' research triggers (Steam power wants 50 iron plates) or their production statistics. Its power comes from a hidden electric energy interface, and infinity chests remove what the line makes, so it never backs up.
The map's own ore isn't filmed: near spawn it holds about 90 per tile, which the game draws so small it looks like bare ground.
Change
map_gen/maps/danger_ores/modules/cutscene.lua: the cutscene, its stage and its auto play setting. A player who turned auto play off gets the map info and the/replayhint straight away, as in Show the map info to new players who don't auto play the intro cutscene #1664, with the hint's sharedcutscene_controller.replay_hinttext.configuration.lua:cutscene.enabled, on by default, so every Danger Ores map plays it. Safety Ores turns it off: its rule is the opposite (build only on ore).scenario.lua: the title card's name and twist come from the map poll's display name ('<Name> (<twist>)'), else the map name.changelog.lua: a line for it.Tests
map_gen/maps/danger_ores/modules/cutscene_tests.lua:Each was checked by breaking what it covers (keeping everything on ore, inserters facing the wrong way, no start-up with auto play off, the goal always shown): each then fails, saying what went wrong.
pwsh .github/scripts/run-all.ps1 <factorio>on every Danger Ores template: all pass (the modded ones are skipped as usual).luacheck .: 0 warnings / 0 errors.Played in a 2.1.23 client on a density 2 display (3840x2160) and a density 1 display (1920x1080): both look the same.
Screenshots
🤖 Generated with Claude Code