@bgforge/mls-server 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,272 @@
1
+ {
2
+ "BEGIN": {
3
+ "contents": {
4
+ "kind": "markdown",
5
+ "value": "```weidu-d-tooltip\nBEGIN filename [ nonPausing ] state list\n```\nBEGIN tells WeiDU that you are creating a new DLG file from scratch. Any existing DLG file with the same name will be overwritten. The new DLG file contains exactly the states in the list. If you set nonPausing to a non-zero integer, the game will not \"stop time\" while the conversation takes place. By default time stops during conversations."
6
+ }
7
+ },
8
+ "APPEND": {
9
+ "contents": {
10
+ "kind": "markdown",
11
+ "value": "```weidu-d-tooltip\nAPPEND [ IF_FILE_EXISTS ] filename state list END\n```\nThis tells WeiDU to place the given states at the end of the already-existing dialogue filename.DLG. If there is IF_FILE_EXISTS and the file doesn't exists, this action is skipped."
12
+ }
13
+ },
14
+ "APPEND_EARLY": {
15
+ "contents": {
16
+ "kind": "markdown",
17
+ "value": "```weidu-d-tooltip\nAPPEND_EARLY [ IF_FILE_EXISTS ] filename state list END\n```\nWorks like APPEND, but the states are added early on in the compilation timeline (just after BEGIN is processed). Thus they can be the targets for INTERJECT_COPY_TRANS and friends."
18
+ }
19
+ },
20
+ "CHAIN": {
21
+ "contents": {
22
+ "kind": "markdown",
23
+ "value": "```weidu-d-tooltip\nCHAIN\n [ IF [ WEIGHT #weight ] stateTriggerString THEN ]\n [ IF_FILE_EXISTS ] entryFilename entryLabel\n chainText list\n chainEpilogue\n```\nThis instructs WeiDU to make a long conversation in which the PC can say nothing. This is useful when you want the NPCs to talk among themselves for a long time. It and its friends, INTERJECT and INTERJECT_COPY_TRANS can incredible time-savers when you're writing non-trivial dialogue. See the examples for ideas. CHAIN will only append to existing dialogues. You cannot use CHAIN to create a new DLG. If the entryFilename file is missing and there is IF_FILE_EXISTS, the whole CHAIN is not compiled."
24
+ }
25
+ },
26
+ "INTERJECT": {
27
+ "contents": {
28
+ "kind": "markdown",
29
+ "value": "```weidu-d-tooltip\nINTERJECT entryFilename entryLabel globalVariable chainText list chainEpilogue\n```\nBehaves like CHAIN except that all of the chainText is additionally guarded by the transition predicate Global(\"globalVariable\",\"GLOBAL\",0) and accompanied by the action SetGlobal(\"globalVariable\",\"GLOBAL\",1). If you pick globalVariable to be unique, this will ensure that the chainText is only ever seen once per game. This is useful for making interjections."
30
+ }
31
+ },
32
+ "INTERJECT_COPY_TRANS": {
33
+ "contents": {
34
+ "kind": "markdown",
35
+ "value": "```weidu-d-tooltip\nINTERJECT_COPY_TRANS [ SAFE ] entryFilename entryLabel globalVariable chainText list\n```\nThis behaves just like INTERJECT except that the exitFilename and exitLabel are not present. Instead, whenever the dialogue would pass out of the chainText it follows a copy of the transitions that were at the state with stateLabel originally. This is convenient for making quick interjections from NPCs that do not actually change the true flow of the conversation. See the transition COPY_TRANS and the INTERJECT_COPY_TRANS tutorial for more information about this idea. If SAFE is specified, INTERJECT_COPY_TRANS will not warn about potentially unsafe uses (use this if you know it is safe)."
36
+ }
37
+ },
38
+ "INTERJECT_COPY_TRANS2": {
39
+ "contents": {
40
+ "kind": "markdown",
41
+ "value": "```weidu-d-tooltip\nINTERJECT_COPY_TRANS2 [ SAFE ] entryFilename entryLabel globalVariable chainText list\n```\nThis works just like INTERJECT_COPY_TRANS, except that any actions taken in the transitions of the state specified by entryFilename and entryLabel are preserved and kept with the speaker associated with entryFilename (rather than being mistakenly performed by your new speaker). See the INTERJECT_COPY_TRANS2 tutorial."
42
+ }
43
+ },
44
+ "INTERJECT_COPY_TRANS3": {
45
+ "contents": {
46
+ "kind": "markdown",
47
+ "value": "```weidu-d-tooltip\nINTERJECT_COPY_TRANS3 [ SAFE ] entryFilename entryLabel globalVariable chainText list\n```\nThis works just like INTERJECT_COPY_TRANS, except that all states in chainText get a link in the entry state, rather than only the first one. Expecting documentation."
48
+ }
49
+ },
50
+ "INTERJECT_COPY_TRANS4": {
51
+ "contents": {
52
+ "kind": "markdown",
53
+ "value": "```weidu-d-tooltip\nINTERJECT_COPY_TRANS4 [ SAFE ] entryFilename entryLabel globalVariable chainText list\n```\nThis is either INTERJECT_COPY_TRANS3 with INTERJECT_COPY_TRANS2-style action handling, or INTERJECT_COPY_TRANS2 with the extended INTERJECT_COPY_TRANS3 state creation rules, depending at how you look at it."
54
+ }
55
+ },
56
+ "EXTEND_TOP": {
57
+ "contents": {
58
+ "kind": "markdown",
59
+ "value": "```weidu-d-tooltip\nEXTEND_TOP filename stateLabel list [ #positionNumber ] transition list END\n```\nThis instructs WeiDU to add the transitions in list to the top of the transition list for the specified states in filename.DLG (which must already exist).If a positionNumber is given, WeiDU to insert the transitions just between already-existing transitions #positionNumber and #positionNumber+1 in the given states for the given file. The first transition is number 1."
60
+ }
61
+ },
62
+ "EXTEND_BOTTOM": {
63
+ "contents": {
64
+ "kind": "markdown",
65
+ "value": "```weidu-d-tooltip\nEXTEND_BOTTOM filename stateNumber list [ #positionNumber ] transition list END\n```\nBehaves just like EXTEND_TOP but adds the transitions to the bottom of the list instead."
66
+ }
67
+ },
68
+ "ADD_STATE_TRIGGER": {
69
+ "contents": {
70
+ "kind": "markdown",
71
+ "value": "```weidu-d-tooltip\nADD_STATE_TRIGGER filename stateNumber stateTriggerString [ stateNumber list ] \tdActionWhen list\n```\nThis instructs WeiDU to add the stateTriggerString to all of the states with the given stateNumbers in the file filename.DLG (which must already exist). This is handy for adding extra conditions to an existing dialogue state."
72
+ }
73
+ },
74
+ "ADD_TRANS_TRIGGER": {
75
+ "contents": {
76
+ "kind": "markdown",
77
+ "value": "```weidu-d-tooltip\nADD_TRANS_TRIGGER filename stateNumber transTriggerString [ moreStateNumbers list ] [ DO transNumber list ] dActionWhen list\n```\nThis instructs WeiDU to add the transTriggerString to all of the transitions in all of the states with the given stateNumbers in the file filename.DLG (which must already exist). This is often used in conjunction with EXTEND_BOTTOM to make a new branch in an existing state. Use ADD_TRANS_TRIGGER to add the negation of some predicate to all of the existing transitions, then use EXTEND_BOTTOM to add a transition with that predicate to that state. If a list of transNumbers is specified, only those transitions will have transTriggerString added to them. If such a list is not specified, every transition in every specified state will be modified. Note that the \"first\" transition is number 0."
78
+ }
79
+ },
80
+ "ADD_TRANS_ACTION": {
81
+ "contents": {
82
+ "kind": "markdown",
83
+ "value": "```weidu-d-tooltip\nADD_TRANS_ACTION filename BEGIN stateNumber list END BEGIN transNumber list END transActionString dActionWhen list\n```\nThis instructs WeiDU to add the transActionString to all of the actions in all the transitions in all of the states specified by the stateNumber list and the transNumber list. You may use state labels in the stateNumber list. If the transNumber list is empty, the text added to all transitions on all listed states. Note that the BEGIN and END keywords must be present, even if you specify an empty list of transNumbers. The \"first\" transition is number 0. Any out-of-bounds transNumbers are silently ignored. The transActionString is prepended to any existing action text on a per-transition, per-state basis."
84
+ }
85
+ },
86
+ "REPLACE_TRANS_ACTION": {
87
+ "contents": {
88
+ "kind": "markdown",
89
+ "value": "```weidu-d-tooltip\nREPLACE_TRANS_ACTION filename BEGIN stateNumber list END BEGIN transNumber list END oldText newText dActionWhen list\n```\nThis instructs WeiDU to replace all instances of oldText in newText to all of the actions in all the transitions in all of the states specified by the stateNumber list and the transNumber list. You may use state labels in the stateNumber list. If the transNumber list is empty, the text added to all transitions on all listed states. Note that the BEGIN and END keywords must be present, even if you specify an empty list of transNumbers. The \"first\" transition is number 0. Any out-of-bounds transNumbers are silently ignored."
90
+ }
91
+ },
92
+ "REPLACE_TRANS_TRIGGER": {
93
+ "contents": {
94
+ "kind": "markdown",
95
+ "value": "```weidu-d-tooltip\nREPLACE_TRANS_TRIGGER filename BEGIN stateNumber list END BEGIN transNumber list END oldText newText dActionWhen list\n```\nThis instructs WeiDU to replace all instances of oldText in newText to all of the triggers in all of the transitions in all of the states specified by the stateNumber list and the transNumber list. You may use state labels in the stateNumber list. If the transNumber list is empty, the text added to all transitions on all listed states. Note that the BEGIN and END keywords must be present, even if you specify an empty list of transNumbers. The \"first\" transition is number 0. Any out-of-bounds transNumbers are silently ignored."
96
+ }
97
+ },
98
+ "ALTER_TRANS": {
99
+ "contents": {
100
+ "kind": "markdown",
101
+ "value": "```weidu-d-tooltip\nALTER_TRANS filename BEGIN stateNumber list END BEGIN transNumber list END BEGIN changeWhat changeInto list END\n```\nFine altering of a single transition. See the ALTER_TRANS tutorial."
102
+ }
103
+ },
104
+ "REPLACE": {
105
+ "contents": {
106
+ "kind": "markdown",
107
+ "value": "```weidu-d-tooltip\nREPLACE filename state list END\n```\nThis instructs WeiDU to load filename.DLG and replace some of its states with the new ones described in the state list. All of the states should have numeric stateLabels (e.g., \"5\" or \"67\"). A new state with label X will replace the old state number X."
108
+ }
109
+ },
110
+ "SET_WEIGHT": {
111
+ "contents": {
112
+ "kind": "markdown",
113
+ "value": "```weidu-d-tooltip\nSET_WEIGHT filename stateLabel #stateWeight\n```\nThis instructs WeiDU to destructively change the WEIGHT of the given state in filename.DLG (which must exist). This should only be used to patch or workaround existing dialogues. Never use SET_WEIGHT if you can help it."
114
+ }
115
+ },
116
+ "REPLACE_SAY": {
117
+ "contents": {
118
+ "kind": "markdown",
119
+ "value": "```weidu-d-tooltip\nREPLACE_SAY filename stateLabel sayText\n```\nThis instructs WeiDU to destructively change the sayText of the given state in filename.DLG (which must exist). This should only be used to patch or workaround existing dialogues. Never use REPLACE_SAY if you can help it."
120
+ }
121
+ },
122
+ "REPLACE_STATE_TRIGGER": {
123
+ "contents": {
124
+ "kind": "markdown",
125
+ "value": "```weidu-d-tooltip\nREPLACE_STATE_TRIGGER filename stateNumber stateTriggerString [ stateNumber list ] \tdActionWhen list\n```\nThis instructs WeiDU to destructively set the stateTriggerString of all of the states with the given stateNumbers in the file filename.DLG (which must already exist). It should be used with caution."
126
+ }
127
+ },
128
+ "REPLACE_TRIGGER_TEXT": {
129
+ "contents": {
130
+ "kind": "markdown",
131
+ "value": "```weidu-d-tooltip\nREPLACE_TRIGGER_TEXT filename oldText newText dActionWhen list\n```\nThis instructs WeiDU to destructively replace every occurrence of oldText (which may be a regexp) in the stateTriggerStrings and transTriggerStrings of filename.DLG (which must exist). This should only be used to patch or workaround existing dialogues. Never use this if you can help it."
132
+ }
133
+ },
134
+ "REPLACE_TRIGGER_TEXT_REGEXP": {
135
+ "contents": {
136
+ "kind": "markdown",
137
+ "value": "```weidu-d-tooltip\nREPLACE_TRIGGER_TEXT_REGEXP filenameRegexp oldText newText dActionWhen list\n```\nJust like REPLACE_TRIGGER_TEXT but the filename is a regexp. The .DLG is implied."
138
+ }
139
+ },
140
+ "REPLACE_ACTION_TEXT": {
141
+ "contents": {
142
+ "kind": "markdown",
143
+ "value": "```weidu-d-tooltip\nREPLACE_ACTION_TEXT filename oldText newText [ moreFilenames ] dActionWhen list\n```\nThis instructs WeiDU to destructively replace every occurrence of oldText (which may be a regexp) in the stateActionStrings of filename.DLG (which must exist). This should only be used to patch or workaround existing dialogues. Never use this if you can help it."
144
+ }
145
+ },
146
+ "REPLACE_ACTION_TEXT_REGEXP": {
147
+ "contents": {
148
+ "kind": "markdown",
149
+ "value": "```weidu-d-tooltip\nREPLACE_ACTION_TEXT_REGEXP filenameRegexp oldText newText [ moreFilenameRegexps ] dActionWhen list\n```\nJust like REPLACE_ACTION_TEXT but the filenames are regexps. The .DLG is implied, do not include it in your regexps."
150
+ }
151
+ },
152
+ "REPLACE_ACTION_TEXT_PROCESS": {
153
+ "contents": {
154
+ "kind": "markdown",
155
+ "value": "```weidu-d-tooltip\nREPLACE_ACTION_TEXT_PROCESS filename oldText newText [ moreFilenames ] dActionWhen list\n```\nThis instructs WeiDU to destructively replace every occurrence of oldText (which may be a regexp) in the stateActionStrings of filename.DLG (which must exist) with newText. However, newText is first compiled as a BAF action list. In particular, this means that replacing with commands like: ~DisplayString(Myself,@123)~ ... will do what you expect. This should only be used to patch or workaround existing dialogues. Never use this if you can help it."
156
+ }
157
+ },
158
+ "R_A_T_P_R": {
159
+ "contents": {
160
+ "kind": "markdown",
161
+ "value": "```weidu-d-tooltip\nR_A_T_P_R filenameRegexp oldText newText [ moreFilenameRegexps ] dActionWhen list\n```\nJust like REPLACE_ACTION_TEXT_PROCESS, but the filenames are regexps. The .DLG is implied. R_A_T_P_R is shorthand for REPLACE_ACTION_TEXT_PROCESS_REGEXP (to avoid undue scrollbars in the readme on a 1024x768 monitor)."
162
+ }
163
+ },
164
+ "UNLESS": {
165
+ "contents": {
166
+ "kind": "markdown",
167
+ "value": "```weidu-d-tooltip\nUNLESS String\n```\nThe action is not processed if the element being altered/replaced/added to contains a substring matching against the String regexp."
168
+ }
169
+ },
170
+ "EXTERN": {
171
+ "contents": {
172
+ "kind": "markdown",
173
+ "value": "```weidu-d-tooltip\nEXTERN [ IF_FILE_EXISTS ] filename stateLabel\n```\nThe dialogue continues at the state with label stateLabel in the file filename.DLG. The whole transition is not compiled if there's IF_FILE_EXISTS and the file filename doesn't exist."
174
+ }
175
+ },
176
+ "COPY_TRANS": {
177
+ "contents": {
178
+ "kind": "markdown",
179
+ "value": "```weidu-d-tooltip\nCOPY_TRANS [ SAFE ] filename stateLabel\n```\nThis instructs WeiDU to copy all of the transitions from the state with the given stateLabel in filename.DLG. This copying takes place before all other D Actions. For example, this is a valid transition list: IF ~Before()~ THEN GOTO my_state COPY_TRANS PLAYER1 33 IF ~After()~ THEN EXTERN SOLA 55 If SAFE is specified, COPY_TRANS will not warn about potentially unsafe uses (use this if you know it is safe)."
180
+ }
181
+ },
182
+ "COPY_TRANS_LATE": {
183
+ "contents": {
184
+ "kind": "markdown",
185
+ "value": "```weidu-d-tooltip\nCOPY_TRANS_LATE [ SAFE ] filename stateLabel\n```\nSame as COPY_TRANS, but is invoked after all other D Actions."
186
+ }
187
+ },
188
+ "EXIT": {
189
+ "contents": {
190
+ "kind": "markdown",
191
+ "value": "```weidu-d-tooltip\nEXIT\n```\nThe conversation ends."
192
+ }
193
+ },
194
+ "APPENDI": {
195
+ "contents": {
196
+ "kind": "markdown",
197
+ "value": "```weidu-d-tooltip\nAPPENDI filename state list END\n```\nThis is legacy syntax that behaves just like the D Action APPEND but is considered a state. Avoid it."
198
+ }
199
+ },
200
+ "CHAIN2": {
201
+ "contents": {
202
+ "kind": "markdown",
203
+ "value": "```weidu-d-tooltip\nCHAIN2 entryFilename entryLabel chain2Text list exitFilename exitLabel\n```\nThis is legacy syntax that behaves somewhat like the D Action CHAIN but is considered a state. In addition, chain2Text is slightly different from chainText. Avoid this construction."
204
+ }
205
+ },
206
+ "text": {
207
+ "contents": {
208
+ "kind": "markdown",
209
+ "value": "```weidu-d-tooltip\ntext\n```\nsayText and replyText are both text."
210
+ }
211
+ },
212
+ "+": {
213
+ "contents": {
214
+ "kind": "markdown",
215
+ "value": "```weidu-d-tooltip\n+ [ transTriggerString ] + replyText transFeature list transNext\n```\nThis abbreviated syntax for transitions that would contain REPLY (which is by far the most common case) allows you to save yourself some time and typing. It behaves like the full form above."
216
+ }
217
+ },
218
+ "REPLY": {
219
+ "contents": {
220
+ "kind": "markdown",
221
+ "value": "```weidu-d-tooltip\nREPLY replyText\n```\nIf this transition is taken, the PC says the replyText."
222
+ }
223
+ },
224
+ "DO": {
225
+ "contents": {
226
+ "kind": "markdown",
227
+ "value": "```weidu-d-tooltip\nDO stateActionString\n```\nIf this transition is taken, the stateActionString is executed."
228
+ }
229
+ },
230
+ "JOURNAL": {
231
+ "contents": {
232
+ "kind": "markdown",
233
+ "value": "```weidu-d-tooltip\nJOURNAL text\n```\nIf this transition is taken, the text is added to the PC's journal."
234
+ }
235
+ },
236
+ "SOLVED_JOURNAL": {
237
+ "contents": {
238
+ "kind": "markdown",
239
+ "value": "```weidu-d-tooltip\nSOLVED_JOURNAL text\n```\nIf this transition is taken, the text is added to the \"solved\" section of the PC's journal."
240
+ }
241
+ },
242
+ "UNSOLVED_JOURNAL": {
243
+ "contents": {
244
+ "kind": "markdown",
245
+ "value": "```weidu-d-tooltip\nUNSOLVED_JOURNAL text\n```\nIf this transition is taken, the text is added to the \"unsolved\" section of the PC's journal."
246
+ }
247
+ },
248
+ "FLAGS": {
249
+ "contents": {
250
+ "kind": "markdown",
251
+ "value": "```weidu-d-tooltip\nFLAGS integer\n```\nThis allows you to set the features associated with a transition directly using the binary format of DLG files."
252
+ }
253
+ },
254
+ "GOTO": {
255
+ "contents": {
256
+ "kind": "markdown",
257
+ "value": "```weidu-d-tooltip\nGOTO stateLabel\n```\nThe dialogue continues at the state with label stateLabel in the same DLG file as the current state."
258
+ }
259
+ },
260
+ "IF": {
261
+ "contents": {
262
+ "kind": "markdown",
263
+ "value": "```weidu-d-tooltip\nIF\n```\nTransition: `IF transTriggerString [ THEN ] transFeature list transNext`\n\nIf the transTriggerString evaluates to true or is empty, this transition is viable. If it contains no replyText within its transFeature list, it is immediately taken. Otherwise, the replyText is presented as an option to the user. If the transition is taken, any actions in the transFeature list are performed and the dialogue flows to the point indicated by the transNext. transitions are evaluated in \"reverse order\".\n\n---\nAction condition: `IF String`.\n\nThe action is processed if the element being altered/replaced/added to contains a substring matching against the String regexp.\n\n---\nState: `IF [ WEIGHT #weightNumber ] stateTriggerString [ THEN ] [ BEGIN ] stateLabel SAY sayText [ = sayText ... ] transition list END`\n\n[Online documentation](https://weidu.org/~thebigg/README-WeiDU.html#state)"
264
+ }
265
+ },
266
+ "^": {
267
+ "contents": {
268
+ "kind": "markdown",
269
+ "value": "```weidu-d-tooltip\nString ^ String\n```\nString literal concatenation. The second string is appended to the first string. No whitespace is added. Thus \"hello\" ^ \"World\" is the same as \"helloWorld\"."
270
+ }
271
+ }
272
+ }