Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Shift towards making the tutorial work as a mod behind the scenes #77455

Merged
merged 15 commits into from
Nov 5, 2024

Conversation

Procyonae
Copy link
Contributor

@Procyonae Procyonae commented Oct 30, 2024

Summary

Infrastructure "Tutorial content moved to a mod, keybind snippets work outside of tutorial"

Purpose of change

Hardcode bad
Tutorial stuff being loaded when not playing tutorial bad

Describe the solution

Doesn't change anything obvious player facing about the tutorial

The tutorial now loads the new mod dda_tutorial rather than just the core game, marked as obsolete so it doesn't appear on the normal mod list
All existing tutorial content I'm aware of is now contained in the mod
Blacklists all specials except the tutorial map
Prevents all external_option controllable mapgen (roads, forests etc) in the tutorial
Unhardcodes the trap triggered messages as spell triggered EoCs
Enables u_/npc_message popups to use popup flags
Allows using keybind snippets in the form <keybind:id_of_uncategorised_keybind> or <keybind:id_of_keybind_category::id_of_categorised_keybind> anywhere read by parse_tags instead of just the tutorial messages
Tweaks a couple of trap load fields that were mandatory regardless of inheritance
Adds labelling for tutorial changes, excludes them for mods label (I think someone with perms needs to actually make the label for this to do anything)

Describe alternatives you've considered

Housing the tutorial mod files somewhere other than /data/mods
I'm going to look at letting traps directly trigger EoCs in a separate PR to use in favour of via spells where not needed

Testing

Went through the tutorial, checked the rest of the map is just field, checked the tutorial trap messages still appear, checked there's no loaded mod order weirdness after save quitting etc

Additional context

@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. NPC / Factions NPCs, AI, Speech, Factions, Ownership [JSON] Changes (can be) made in JSON Mods Issues related to mods or modding Map / Mapgen Overmap, Mapgen, Map extras, Map display [C++] Changes (can be) made in C++. Previously named `Code` Monsters Monsters both friendly and unfriendly. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [Markdown] Markdown issues and PRs Lore Game lore, in-game communication. Also the Lore tab. Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style astyled astyled PR, label is assigned by github actions labels Oct 30, 2024
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Oct 30, 2024
Hopefully this syntax is correct I forget which labeller we use
@github-actions github-actions bot added the Code: Tooling Tooling that is not part of the main game but is part of the repo. label Oct 30, 2024
@github-actions github-actions bot added Translation I18n [Python] Code made in Python labels Oct 30, 2024
@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label Nov 3, 2024
…ring that the map is irrelevant in the current tutorial
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Nov 3, 2024
@Maleclypse Maleclypse merged commit ff36828 into CleverRaven:master Nov 5, 2024
22 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` Code: Infrastructure / Style / Static Analysis Code internal infrastructure and style Code: Tooling Tooling that is not part of the main game but is part of the repo. <Documentation> Design documents, internal info, guides and help. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Lore Game lore, in-game communication. Also the Lore tab. Map / Mapgen Overmap, Mapgen, Map extras, Map display [Markdown] Markdown issues and PRs Mods Issues related to mods or modding Monsters Monsters both friendly and unfriendly. NPC / Factions NPCs, AI, Speech, Factions, Ownership [Python] Code made in Python Translation I18n
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants