Starward Rogue:XML - Tutorial Definitions
Each .xml file in the Configuration/Tutorials/ directory is parsed, and each child of the root node is read as a separate tutorial.
Each of those nodes will have 1 or more "phase" nodes, and each phase corresponds to a single room that is run in a way very similar to a test chamber
main nodes
- name
- the internal name the game will remember this tutorial by; if someone beats the tutorial and this name is later changed, the game will think it's a new (unbeaten) tutorial
- display_name
- the name that will be shown on the tutorial list to the player
- end_message
- the message shown to the player when this entire tutorial is successfully completed
tutorial sub-node type: phase
- starting_message
- the message shown to the player when this phase is started
- this also shows on the escape menu's bottom-right info block during this phase
phase sub-node type: room
The contents of this node (between the > and the <, so not including the attributes and the tag itself) will be parsed as a test chamber script when the phase is started
Since the parsing doesn't happen until later, those contents will not be error-checked during the loading of the game
The script attribute must refer to a room whose type has RoomEntranceStyle.NSEW, WidthOnMap = 1, and HeightOnMap = 1. So Starting, Square, etc. If another room type is used it may work, or it may leave you stranded in doors that don't exist, or whatever.
- name (string, required)
- used by room_connection to identify which rooms are being connected
- x_offset_from_first_room (int), y_offset_from_first_room (int)
- the position of the room relative to the first room; so 1,0 is directly east of the first room, 0,-1 is directly north of the first room, etc
- if two rooms are supposed to be connected, they must be cardinally adjacent (no diagonals)
- these are always 0,0 for the first room, even if you specify otherwise
== phase sub-node type: room_connection
- first_room_name (string, required), second_room_name (string, required)
- the names of the two rooms to connect; they must be cardinally adjacent