@@ -32,8 +32,8 @@ Launching and using SwiftSplit is fairly simple, with only three broad steps.
32
32
5 . Click "Connect to Server" in LiveSplit One and paste that URL
33
33
- Note: navigating away from the timer screen may make the server button say it isn't connected any more. This is a
34
34
bug. You can check that it's still connected with the "LiveSplit clients" field in SwiftSplit, which should read
35
- "1". If that field reads "0", you need to connect. If it reads "2" or higher then you've connected multiple times
36
- and will need to save your splits and reload LiveSplit One, otherwise each split will count multiple times.
35
+ "1". If that field reads "0", you need to connect. If it reads "2" or higher then you will need to save your splits
36
+ and reload the LiveSplit One tab , otherwise each split will trigger multiple times.
37
37
38
38
### Loading the Run
39
39
6 . Load up your splits in LiveSplit One
@@ -66,16 +66,59 @@ Here's an example for Old Site Any%:
66
66
}
67
67
```
68
68
69
- The currently defined events are (` <...> ` indicates a fill-in parameter):
70
- - ` start chapter <n> ` - Triggered when the specified chapter number is started
71
- - ` reset chapter ` - Triggered when the current chapter is reset (either by restarting the chapter or exiting to the map)
72
- - ` complete chapter <n> ` - Triggered when the specified chapter number is completed
73
- - ` <from screen> > <to screen> ` - Triggered when transitioning between two screens (you can find the screen IDS by
74
- looking at the ` Level: Name: ` when connected to Celeste, or by enabling debug and hovering over the screen in the map
75
- editor.
69
+ ## Events
70
+ Events are triggered when SwiftSplit observes a change in the game state, which is checked 10 times every second. A
71
+ single state change frequently causes multiple events, generally with differing levels of specificity.
76
72
77
- Note that the * exact* text is important. Spaces and capitalization have to match, with a couple additions:
73
+ Note that the * exact* text of an event is important. Spaces and capitalization have to match, with a couple additions:
78
74
- Inserting an exclamation point (` ! ` ) at the beginning of an event will cause that event to not trigger a split. This
79
75
can be useful when your route passes between two screens multiple times but you only want one split.
80
76
- Anything after a ` ## ` (* exactly* one space and two pound signs) will be trimmed off. This can be useful for
81
77
explaining events.
78
+
79
+ SwiftSplit has an "Event Stream" panel that displays events as they are triggered, which can be useful when creating
80
+ route files. (You can copy the text out of the panel to paste directly into the route file too).
81
+
82
+ ### Chapter start/end events
83
+ - ` reset chapter ` - Triggered when any chapter is reset (either by restarting the chapter or exiting to the map)
84
+ - ` start chapter <n> ` - Triggered when chapter ` <n> ` is started
85
+ - ` reset chapter <n> ` - Triggered when chapter ` <n> ` is reset
86
+ - ` complete chapter <n> ` - Triggered when chapter ` <n> ` is completed
87
+ - ** A-side specific:**
88
+ - ` start a-side <n> ` - Triggered when chapter ` <n> ` 's A-side is started
89
+ - ` reset a-side <n> ` - Triggered when chapter ` <n> ` 's A-side is reset
90
+ - ` complete a-side <n> ` - Triggered when chapter ` <n> ` 's A-side is completed
91
+ - ** B-side specific:**
92
+ - ` start b-side <n> ` - Triggered when chapter ` <n> ` 's B-side is started
93
+ - ` reset b-side <n> ` - Triggered when chapter ` <n> ` 's B-side is reset
94
+ - ` complete b-side <n> ` - Triggered when chapter ` <n> ` 's B-side is completed
95
+ - ** C-side specific:**
96
+ - ` start c-side <n> ` - Triggered when chapter ` <n> ` 's C-side is started
97
+ - ` reset c-side <n> ` - Triggered when chapter ` <n> ` 's C-side is reset
98
+ - ` complete c-side <n> ` - Triggered when chapter ` <n> ` 's C-side is completed
99
+
100
+ ### Screen transition event
101
+ - ` <from screen> > <to screen> ` - Triggered when transitioning between two screens (you can find the screen IDs by
102
+ enabling debug and hovering over the screen in the map editor.)
103
+
104
+ ### Collectable events
105
+ - ** Cassettes:**
106
+ - ` cassette ` - Triggered when any cassette is collected
107
+ - ` chapter <n> cassette ` - Triggered when the cassette in the specified chapter is collected
108
+ - ` <n> total cassettes ` - Triggered when a cassette is collected. ` <n> ` is the total number of cassettes collected in
109
+ the current file
110
+ - ** Heart Gems:**
111
+ - ` heart ` - Triggered when any heart gem is collected
112
+ - ` chapter <n> heart ` - Triggered when the heart gem in the specified chapter is collected
113
+ - ` <n> total hearts ` - Triggered when a heart gem is collected. ` <n> ` is the total number of heart gems collected in
114
+ the current file
115
+ - ** Strawberries:**
116
+ - ` strawberry ` - Triggered when any strawberry is collected
117
+ - ` <n> chapter strawberries ` - Triggered when a total of ` <n> ` strawberries are collected in a chapter
118
+ - ` <n> file strawberries ` - Triggered when a total of ` <n> ` strawberries are collected in the file
119
+
120
+ ### Some nuances regarding resets:
121
+
122
+ If the next expected event in the route is the same as the reset event, the route will take precedence and the run
123
+ won't be reset. However, if the first event in the route is then detected (though again route takes precedence), the
124
+ run will reset and start over.
0 commit comments