@bgforge/mls-server 3.2.0 → 3.3.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.
- package/README.md +4 -4
- package/out/completion.fallout-ssl.json +2500 -2580
- package/out/completion.fallout-worldmap-txt.json +133 -133
- package/out/completion.weidu-baf.json +3900 -1324
- package/out/completion.weidu-d.json +198 -144
- package/out/completion.weidu-tp2.json +1929 -1781
- package/out/engine-proc-docs.json +1 -1
- package/out/hover.fallout-ssl.json +1213 -1261
- package/out/hover.fallout-worldmap-txt.json +48 -48
- package/out/hover.weidu-baf.json +2476 -934
- package/out/hover.weidu-d.json +96 -72
- package/out/hover.weidu-tp2.json +1265 -1229
- package/out/server.js +403 -398
- package/out/tree-sitter-ssl.wasm +0 -0
- package/out/tree-sitter-weidu_tp2.wasm +0 -0
- package/out/tssl-plugin.js +1 -1
- package/package.json +4 -4
|
@@ -1,54 +1,42 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
|
-
"label": "
|
|
4
|
-
"kind":
|
|
5
|
-
"source": "builtin",
|
|
6
|
-
"category": "keywords"
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"label": "RESPONSE",
|
|
10
|
-
"kind": 14,
|
|
11
|
-
"source": "builtin",
|
|
12
|
-
"category": "keywords"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"label": "OR",
|
|
16
|
-
"kind": 14,
|
|
17
|
-
"source": "builtin",
|
|
18
|
-
"category": "keywords"
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
"label": "GLOBAL",
|
|
22
|
-
"kind": 14,
|
|
23
|
-
"source": "builtin",
|
|
24
|
-
"category": "keywords"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"label": "LOCALS",
|
|
28
|
-
"kind": 14,
|
|
3
|
+
"label": "ADD_STATE_TRIGGER",
|
|
4
|
+
"kind": 3,
|
|
29
5
|
"source": "builtin",
|
|
30
|
-
"category": "
|
|
6
|
+
"category": "actions",
|
|
7
|
+
"documentation": {
|
|
8
|
+
"kind": "markdown",
|
|
9
|
+
"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."
|
|
10
|
+
}
|
|
31
11
|
},
|
|
32
12
|
{
|
|
33
|
-
"label": "
|
|
34
|
-
"kind":
|
|
13
|
+
"label": "ADD_TRANS_ACTION",
|
|
14
|
+
"kind": 3,
|
|
35
15
|
"source": "builtin",
|
|
36
|
-
"category": "
|
|
16
|
+
"category": "actions",
|
|
17
|
+
"documentation": {
|
|
18
|
+
"kind": "markdown",
|
|
19
|
+
"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."
|
|
20
|
+
}
|
|
37
21
|
},
|
|
38
22
|
{
|
|
39
|
-
"label": "
|
|
40
|
-
"kind":
|
|
23
|
+
"label": "ADD_TRANS_TRIGGER",
|
|
24
|
+
"kind": 3,
|
|
41
25
|
"source": "builtin",
|
|
42
|
-
"category": "
|
|
26
|
+
"category": "actions",
|
|
27
|
+
"documentation": {
|
|
28
|
+
"kind": "markdown",
|
|
29
|
+
"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."
|
|
30
|
+
}
|
|
43
31
|
},
|
|
44
32
|
{
|
|
45
|
-
"label": "
|
|
33
|
+
"label": "ALTER_TRANS",
|
|
46
34
|
"kind": 3,
|
|
47
35
|
"source": "builtin",
|
|
48
36
|
"category": "actions",
|
|
49
37
|
"documentation": {
|
|
50
38
|
"kind": "markdown",
|
|
51
|
-
"value": "```weidu-d-tooltip\
|
|
39
|
+
"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."
|
|
52
40
|
}
|
|
53
41
|
},
|
|
54
42
|
{
|
|
@@ -72,183 +60,183 @@
|
|
|
72
60
|
}
|
|
73
61
|
},
|
|
74
62
|
{
|
|
75
|
-
"label": "
|
|
63
|
+
"label": "BEGIN",
|
|
76
64
|
"kind": 3,
|
|
77
65
|
"source": "builtin",
|
|
78
66
|
"category": "actions",
|
|
79
67
|
"documentation": {
|
|
80
68
|
"kind": "markdown",
|
|
81
|
-
"value": "```weidu-d-tooltip\
|
|
69
|
+
"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."
|
|
82
70
|
}
|
|
83
71
|
},
|
|
84
72
|
{
|
|
85
|
-
"label": "
|
|
73
|
+
"label": "CHAIN",
|
|
86
74
|
"kind": 3,
|
|
87
75
|
"source": "builtin",
|
|
88
76
|
"category": "actions",
|
|
89
77
|
"documentation": {
|
|
90
78
|
"kind": "markdown",
|
|
91
|
-
"value": "```weidu-d-tooltip\
|
|
79
|
+
"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."
|
|
92
80
|
}
|
|
93
81
|
},
|
|
94
82
|
{
|
|
95
|
-
"label": "
|
|
83
|
+
"label": "EXTEND_BOTTOM",
|
|
96
84
|
"kind": 3,
|
|
97
85
|
"source": "builtin",
|
|
98
86
|
"category": "actions",
|
|
99
87
|
"documentation": {
|
|
100
88
|
"kind": "markdown",
|
|
101
|
-
"value": "```weidu-d-tooltip\
|
|
89
|
+
"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."
|
|
102
90
|
}
|
|
103
91
|
},
|
|
104
92
|
{
|
|
105
|
-
"label": "
|
|
93
|
+
"label": "EXTEND_TOP",
|
|
106
94
|
"kind": 3,
|
|
107
95
|
"source": "builtin",
|
|
108
96
|
"category": "actions",
|
|
109
97
|
"documentation": {
|
|
110
98
|
"kind": "markdown",
|
|
111
|
-
"value": "```weidu-d-tooltip\
|
|
99
|
+
"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."
|
|
112
100
|
}
|
|
113
101
|
},
|
|
114
102
|
{
|
|
115
|
-
"label": "
|
|
103
|
+
"label": "INTERJECT",
|
|
116
104
|
"kind": 3,
|
|
117
105
|
"source": "builtin",
|
|
118
106
|
"category": "actions",
|
|
119
107
|
"documentation": {
|
|
120
108
|
"kind": "markdown",
|
|
121
|
-
"value": "```weidu-d-tooltip\
|
|
109
|
+
"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."
|
|
122
110
|
}
|
|
123
111
|
},
|
|
124
112
|
{
|
|
125
|
-
"label": "
|
|
113
|
+
"label": "INTERJECT_COPY_TRANS",
|
|
126
114
|
"kind": 3,
|
|
127
115
|
"source": "builtin",
|
|
128
116
|
"category": "actions",
|
|
129
117
|
"documentation": {
|
|
130
118
|
"kind": "markdown",
|
|
131
|
-
"value": "```weidu-d-tooltip\
|
|
119
|
+
"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)."
|
|
132
120
|
}
|
|
133
121
|
},
|
|
134
122
|
{
|
|
135
|
-
"label": "
|
|
123
|
+
"label": "INTERJECT_COPY_TRANS2",
|
|
136
124
|
"kind": 3,
|
|
137
125
|
"source": "builtin",
|
|
138
126
|
"category": "actions",
|
|
139
127
|
"documentation": {
|
|
140
128
|
"kind": "markdown",
|
|
141
|
-
"value": "```weidu-d-tooltip\
|
|
129
|
+
"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."
|
|
142
130
|
}
|
|
143
131
|
},
|
|
144
132
|
{
|
|
145
|
-
"label": "
|
|
133
|
+
"label": "INTERJECT_COPY_TRANS3",
|
|
146
134
|
"kind": 3,
|
|
147
135
|
"source": "builtin",
|
|
148
136
|
"category": "actions",
|
|
149
137
|
"documentation": {
|
|
150
138
|
"kind": "markdown",
|
|
151
|
-
"value": "```weidu-d-tooltip\
|
|
139
|
+
"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."
|
|
152
140
|
}
|
|
153
141
|
},
|
|
154
142
|
{
|
|
155
|
-
"label": "
|
|
143
|
+
"label": "INTERJECT_COPY_TRANS4",
|
|
156
144
|
"kind": 3,
|
|
157
145
|
"source": "builtin",
|
|
158
146
|
"category": "actions",
|
|
159
147
|
"documentation": {
|
|
160
148
|
"kind": "markdown",
|
|
161
|
-
"value": "```weidu-d-tooltip\
|
|
149
|
+
"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."
|
|
162
150
|
}
|
|
163
151
|
},
|
|
164
152
|
{
|
|
165
|
-
"label": "
|
|
153
|
+
"label": "REPLACE",
|
|
166
154
|
"kind": 3,
|
|
167
155
|
"source": "builtin",
|
|
168
156
|
"category": "actions",
|
|
169
157
|
"documentation": {
|
|
170
158
|
"kind": "markdown",
|
|
171
|
-
"value": "```weidu-d-tooltip\
|
|
159
|
+
"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."
|
|
172
160
|
}
|
|
173
161
|
},
|
|
174
162
|
{
|
|
175
|
-
"label": "
|
|
163
|
+
"label": "REPLACE_ACTION_TEXT",
|
|
176
164
|
"kind": 3,
|
|
177
165
|
"source": "builtin",
|
|
178
166
|
"category": "actions",
|
|
179
167
|
"documentation": {
|
|
180
168
|
"kind": "markdown",
|
|
181
|
-
"value": "```weidu-d-tooltip\
|
|
169
|
+
"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."
|
|
182
170
|
}
|
|
183
171
|
},
|
|
184
172
|
{
|
|
185
|
-
"label": "
|
|
173
|
+
"label": "REPLACE_ACTION_TEXT_PROCESS",
|
|
186
174
|
"kind": 3,
|
|
187
175
|
"source": "builtin",
|
|
188
176
|
"category": "actions",
|
|
189
177
|
"documentation": {
|
|
190
178
|
"kind": "markdown",
|
|
191
|
-
"value": "```weidu-d-tooltip\
|
|
179
|
+
"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."
|
|
192
180
|
}
|
|
193
181
|
},
|
|
194
182
|
{
|
|
195
|
-
"label": "
|
|
183
|
+
"label": "REPLACE_ACTION_TEXT_PROCESS_REGEXP",
|
|
196
184
|
"kind": 3,
|
|
197
185
|
"source": "builtin",
|
|
198
186
|
"category": "actions",
|
|
199
187
|
"documentation": {
|
|
200
188
|
"kind": "markdown",
|
|
201
|
-
"value": "```weidu-d-tooltip\
|
|
189
|
+
"value": "```weidu-d-tooltip\nREPLACE_ACTION_TEXT_PROCESS_REGEXP 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."
|
|
202
190
|
}
|
|
203
191
|
},
|
|
204
192
|
{
|
|
205
|
-
"label": "
|
|
193
|
+
"label": "REPLACE_ACTION_TEXT_REGEXP",
|
|
206
194
|
"kind": 3,
|
|
207
195
|
"source": "builtin",
|
|
208
196
|
"category": "actions",
|
|
209
197
|
"documentation": {
|
|
210
198
|
"kind": "markdown",
|
|
211
|
-
"value": "```weidu-d-tooltip\
|
|
199
|
+
"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."
|
|
212
200
|
}
|
|
213
201
|
},
|
|
214
202
|
{
|
|
215
|
-
"label": "
|
|
203
|
+
"label": "REPLACE_SAY",
|
|
216
204
|
"kind": 3,
|
|
217
205
|
"source": "builtin",
|
|
218
206
|
"category": "actions",
|
|
219
207
|
"documentation": {
|
|
220
208
|
"kind": "markdown",
|
|
221
|
-
"value": "```weidu-d-tooltip\
|
|
209
|
+
"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."
|
|
222
210
|
}
|
|
223
211
|
},
|
|
224
212
|
{
|
|
225
|
-
"label": "
|
|
213
|
+
"label": "REPLACE_STATE_TRIGGER",
|
|
226
214
|
"kind": 3,
|
|
227
215
|
"source": "builtin",
|
|
228
216
|
"category": "actions",
|
|
229
217
|
"documentation": {
|
|
230
218
|
"kind": "markdown",
|
|
231
|
-
"value": "```weidu-d-tooltip\
|
|
219
|
+
"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."
|
|
232
220
|
}
|
|
233
221
|
},
|
|
234
222
|
{
|
|
235
|
-
"label": "
|
|
223
|
+
"label": "REPLACE_TRANS_ACTION",
|
|
236
224
|
"kind": 3,
|
|
237
225
|
"source": "builtin",
|
|
238
226
|
"category": "actions",
|
|
239
227
|
"documentation": {
|
|
240
228
|
"kind": "markdown",
|
|
241
|
-
"value": "```weidu-d-tooltip\
|
|
229
|
+
"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."
|
|
242
230
|
}
|
|
243
231
|
},
|
|
244
232
|
{
|
|
245
|
-
"label": "
|
|
233
|
+
"label": "REPLACE_TRANS_TRIGGER",
|
|
246
234
|
"kind": 3,
|
|
247
235
|
"source": "builtin",
|
|
248
236
|
"category": "actions",
|
|
249
237
|
"documentation": {
|
|
250
238
|
"kind": "markdown",
|
|
251
|
-
"value": "```weidu-d-tooltip\
|
|
239
|
+
"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."
|
|
252
240
|
}
|
|
253
241
|
},
|
|
254
242
|
{
|
|
@@ -272,93 +260,146 @@
|
|
|
272
260
|
}
|
|
273
261
|
},
|
|
274
262
|
{
|
|
275
|
-
"label": "
|
|
263
|
+
"label": "R_A_T_P_R",
|
|
276
264
|
"kind": 3,
|
|
277
265
|
"source": "builtin",
|
|
278
266
|
"category": "actions",
|
|
279
267
|
"documentation": {
|
|
280
268
|
"kind": "markdown",
|
|
281
|
-
"value": "```weidu-d-tooltip\
|
|
269
|
+
"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)."
|
|
282
270
|
}
|
|
283
271
|
},
|
|
284
272
|
{
|
|
285
|
-
"label": "
|
|
273
|
+
"label": "SET_WEIGHT",
|
|
286
274
|
"kind": 3,
|
|
287
275
|
"source": "builtin",
|
|
288
276
|
"category": "actions",
|
|
289
277
|
"documentation": {
|
|
290
278
|
"kind": "markdown",
|
|
291
|
-
"value": "```weidu-d-tooltip\
|
|
279
|
+
"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."
|
|
292
280
|
}
|
|
293
281
|
},
|
|
294
282
|
{
|
|
295
|
-
"label": "
|
|
296
|
-
"kind":
|
|
283
|
+
"label": "COPY_TRANS",
|
|
284
|
+
"kind": 14,
|
|
297
285
|
"source": "builtin",
|
|
298
|
-
"category": "
|
|
286
|
+
"category": "chain_epilogue",
|
|
299
287
|
"documentation": {
|
|
300
288
|
"kind": "markdown",
|
|
301
|
-
"value": "```weidu-d-tooltip\
|
|
302
|
-
}
|
|
289
|
+
"value": "```weidu-d-tooltip\nCOPY_TRANS [ SAFE ] filename stateNumber\n```\nAt the end of the CHAIN text, copy all transitions from the given state in the given file. This is useful for interjections (see INTERJECT). If SAFE is specified, CHAIN will not warn about potentially unsafe uses of COPY_TRANS (use this if you know it is safe)."
|
|
290
|
+
},
|
|
291
|
+
"detail": "COPY_TRANS [ SAFE ] filename stateNumber"
|
|
303
292
|
},
|
|
304
293
|
{
|
|
305
|
-
"label": "
|
|
306
|
-
"kind":
|
|
294
|
+
"label": "COPY_TRANS_LATE",
|
|
295
|
+
"kind": 14,
|
|
307
296
|
"source": "builtin",
|
|
308
|
-
"category": "
|
|
297
|
+
"category": "chain_epilogue",
|
|
309
298
|
"documentation": {
|
|
310
299
|
"kind": "markdown",
|
|
311
|
-
"value": "```weidu-d-tooltip\
|
|
312
|
-
}
|
|
300
|
+
"value": "```weidu-d-tooltip\nCOPY_TRANS_LATE [ SAFE ] filename stateNumber\n```\nSame as above, but only copy after all the other D Actions have been applied."
|
|
301
|
+
},
|
|
302
|
+
"detail": "COPY_TRANS_LATE [ SAFE ] filename stateNumber"
|
|
313
303
|
},
|
|
314
304
|
{
|
|
315
|
-
"label": "
|
|
305
|
+
"label": "BRANCH",
|
|
316
306
|
"kind": 14,
|
|
317
307
|
"source": "builtin",
|
|
318
|
-
"category": "
|
|
308
|
+
"category": "keywords",
|
|
319
309
|
"documentation": {
|
|
320
310
|
"kind": "markdown",
|
|
321
|
-
"value": "```weidu-d-tooltip\
|
|
311
|
+
"value": "```weidu-d-tooltip\nBRANCH transTriggerString BEGIN chain_speaker list END\n```\nLike chain text, except that the first transTriggerString is appended to all existing dialogue units."
|
|
322
312
|
}
|
|
323
313
|
},
|
|
324
314
|
{
|
|
325
|
-
"label": "
|
|
315
|
+
"label": "END",
|
|
326
316
|
"kind": 14,
|
|
327
317
|
"source": "builtin",
|
|
328
|
-
"category": "
|
|
318
|
+
"category": "keywords",
|
|
329
319
|
"documentation": {
|
|
330
320
|
"kind": "markdown",
|
|
331
|
-
"value": "```weidu-d-tooltip\
|
|
321
|
+
"value": "```weidu-d-tooltip\nEND\n```\nBlock terminator for APPEND, EXTEND_TOP, EXTEND_BOTTOM, state, ALTER_TRANS, and other constructs.\n\n---\nChain epilogue: `END transition list` — execute the given transitions after the final state in the CHAIN."
|
|
332
322
|
}
|
|
333
323
|
},
|
|
334
324
|
{
|
|
335
|
-
"label": "
|
|
325
|
+
"label": "GLOBAL",
|
|
336
326
|
"kind": 14,
|
|
337
327
|
"source": "builtin",
|
|
338
|
-
"category": "
|
|
339
|
-
"documentation": {
|
|
340
|
-
"kind": "markdown",
|
|
341
|
-
"value": "```weidu-d-tooltip\nCOPY_TRANS [ SAFE ] filename stateNumber\n```\nAt the end of the CHAIN text, copy all transitions from the given state in the given file. This is useful for interjections (see INTERJECT). If SAFE is specified, CHAIN will not warn about potentially unsafe uses of COPY_TRANS (use this if you know it is safe)."
|
|
342
|
-
}
|
|
328
|
+
"category": "keywords"
|
|
343
329
|
},
|
|
344
330
|
{
|
|
345
|
-
"label": "
|
|
331
|
+
"label": "IF_FILE_EXISTS",
|
|
346
332
|
"kind": 14,
|
|
347
333
|
"source": "builtin",
|
|
348
|
-
"category": "
|
|
334
|
+
"category": "keywords"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"label": "LOCALS",
|
|
338
|
+
"kind": 14,
|
|
339
|
+
"source": "builtin",
|
|
340
|
+
"category": "keywords"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"label": "MYAREA",
|
|
344
|
+
"kind": 14,
|
|
345
|
+
"source": "builtin",
|
|
346
|
+
"category": "keywords"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"label": "OR",
|
|
350
|
+
"kind": 14,
|
|
351
|
+
"source": "builtin",
|
|
352
|
+
"category": "keywords"
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
"label": "RESPONSE",
|
|
356
|
+
"kind": 14,
|
|
357
|
+
"source": "builtin",
|
|
358
|
+
"category": "keywords"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"label": "SAFE",
|
|
362
|
+
"kind": 14,
|
|
363
|
+
"source": "builtin",
|
|
364
|
+
"category": "keywords"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"label": "THEN",
|
|
368
|
+
"kind": 14,
|
|
369
|
+
"source": "builtin",
|
|
370
|
+
"category": "keywords"
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"label": "WEIGHT",
|
|
374
|
+
"kind": 14,
|
|
375
|
+
"source": "builtin",
|
|
376
|
+
"category": "keywords"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"label": "nonPausing",
|
|
380
|
+
"kind": 14,
|
|
381
|
+
"source": "builtin",
|
|
382
|
+
"category": "keywords"
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"label": "IF",
|
|
386
|
+
"kind": 14,
|
|
387
|
+
"source": "builtin",
|
|
388
|
+
"category": "multi",
|
|
349
389
|
"documentation": {
|
|
350
390
|
"kind": "markdown",
|
|
351
|
-
"value": "```weidu-d-tooltip\
|
|
352
|
-
}
|
|
391
|
+
"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)"
|
|
392
|
+
},
|
|
393
|
+
"detail": "IF"
|
|
353
394
|
},
|
|
354
395
|
{
|
|
355
|
-
"label": "
|
|
396
|
+
"label": "text",
|
|
356
397
|
"kind": 14,
|
|
357
398
|
"source": "builtin",
|
|
358
|
-
"category": "
|
|
399
|
+
"category": "say_text",
|
|
359
400
|
"documentation": {
|
|
360
401
|
"kind": "markdown",
|
|
361
|
-
"value": "```weidu-d-tooltip\
|
|
402
|
+
"value": "```weidu-d-tooltip\ntext\n```\nsayText and replyText are both text."
|
|
362
403
|
}
|
|
363
404
|
},
|
|
364
405
|
{
|
|
@@ -382,153 +423,166 @@
|
|
|
382
423
|
}
|
|
383
424
|
},
|
|
384
425
|
{
|
|
385
|
-
"label": "
|
|
426
|
+
"label": "SAY",
|
|
386
427
|
"kind": 14,
|
|
387
428
|
"source": "builtin",
|
|
388
|
-
"category": "
|
|
429
|
+
"category": "state",
|
|
389
430
|
"documentation": {
|
|
390
431
|
"kind": "markdown",
|
|
391
|
-
"value": "```weidu-d-tooltip\
|
|
432
|
+
"value": "```weidu-d-tooltip\nSAY sayText [ = sayText ... ]\n```\nThe creature then says all of the associated sayText."
|
|
392
433
|
}
|
|
393
434
|
},
|
|
394
435
|
{
|
|
395
|
-
"label": "
|
|
436
|
+
"label": "^",
|
|
396
437
|
"kind": 14,
|
|
397
438
|
"source": "builtin",
|
|
398
|
-
"category": "
|
|
439
|
+
"category": "string",
|
|
399
440
|
"documentation": {
|
|
400
441
|
"kind": "markdown",
|
|
401
|
-
"value": "```weidu-d-tooltip\
|
|
442
|
+
"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\"."
|
|
402
443
|
}
|
|
403
444
|
},
|
|
404
445
|
{
|
|
405
|
-
"label": "
|
|
446
|
+
"label": "DO",
|
|
406
447
|
"kind": 14,
|
|
407
448
|
"source": "builtin",
|
|
408
|
-
"category": "
|
|
449
|
+
"category": "trans_feature",
|
|
409
450
|
"documentation": {
|
|
410
451
|
"kind": "markdown",
|
|
411
|
-
"value": "```weidu-d-tooltip\
|
|
452
|
+
"value": "```weidu-d-tooltip\nDO stateActionString\n```\nIf this transition is taken, the stateActionString is executed."
|
|
412
453
|
}
|
|
413
454
|
},
|
|
414
455
|
{
|
|
415
|
-
"label": "
|
|
456
|
+
"label": "FLAGS",
|
|
416
457
|
"kind": 14,
|
|
417
458
|
"source": "builtin",
|
|
418
|
-
"category": "
|
|
459
|
+
"category": "trans_feature",
|
|
419
460
|
"documentation": {
|
|
420
461
|
"kind": "markdown",
|
|
421
|
-
"value": "```weidu-d-tooltip\
|
|
462
|
+
"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."
|
|
422
463
|
}
|
|
423
464
|
},
|
|
424
465
|
{
|
|
425
|
-
"label": "
|
|
466
|
+
"label": "JOURNAL",
|
|
426
467
|
"kind": 14,
|
|
427
468
|
"source": "builtin",
|
|
428
469
|
"category": "trans_feature",
|
|
429
470
|
"documentation": {
|
|
430
471
|
"kind": "markdown",
|
|
431
|
-
"value": "```weidu-d-tooltip\
|
|
472
|
+
"value": "```weidu-d-tooltip\nJOURNAL text\n```\nIf this transition is taken, the text is added to the PC's journal."
|
|
432
473
|
}
|
|
433
474
|
},
|
|
434
475
|
{
|
|
435
|
-
"label": "
|
|
476
|
+
"label": "REPLY",
|
|
436
477
|
"kind": 14,
|
|
437
478
|
"source": "builtin",
|
|
438
479
|
"category": "trans_feature",
|
|
439
480
|
"documentation": {
|
|
440
481
|
"kind": "markdown",
|
|
441
|
-
"value": "```weidu-d-tooltip\
|
|
482
|
+
"value": "```weidu-d-tooltip\nREPLY replyText\n```\nIf this transition is taken, the PC says the replyText."
|
|
442
483
|
}
|
|
443
484
|
},
|
|
444
485
|
{
|
|
445
|
-
"label": "
|
|
486
|
+
"label": "SOLVED_JOURNAL",
|
|
446
487
|
"kind": 14,
|
|
447
488
|
"source": "builtin",
|
|
448
489
|
"category": "trans_feature",
|
|
449
490
|
"documentation": {
|
|
450
491
|
"kind": "markdown",
|
|
451
|
-
"value": "```weidu-d-tooltip\
|
|
492
|
+
"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."
|
|
452
493
|
}
|
|
453
494
|
},
|
|
454
495
|
{
|
|
455
|
-
"label": "
|
|
496
|
+
"label": "UNSOLVED_JOURNAL",
|
|
456
497
|
"kind": 14,
|
|
457
498
|
"source": "builtin",
|
|
458
499
|
"category": "trans_feature",
|
|
459
500
|
"documentation": {
|
|
460
501
|
"kind": "markdown",
|
|
461
|
-
"value": "```weidu-d-tooltip\
|
|
502
|
+
"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."
|
|
462
503
|
}
|
|
463
504
|
},
|
|
464
505
|
{
|
|
465
|
-
"label": "
|
|
506
|
+
"label": "EXIT",
|
|
466
507
|
"kind": 14,
|
|
467
508
|
"source": "builtin",
|
|
468
|
-
"category": "
|
|
509
|
+
"category": "trans_next",
|
|
469
510
|
"documentation": {
|
|
470
511
|
"kind": "markdown",
|
|
471
|
-
"value": "```weidu-d-tooltip\
|
|
512
|
+
"value": "```weidu-d-tooltip\nEXIT\n```\nThe conversation ends.\n\n---\nChain epilogue: at the end of the CHAIN text, exit the dialogue."
|
|
472
513
|
}
|
|
473
514
|
},
|
|
474
515
|
{
|
|
475
|
-
"label": "
|
|
516
|
+
"label": "EXTERN",
|
|
476
517
|
"kind": 14,
|
|
477
518
|
"source": "builtin",
|
|
478
|
-
"category": "
|
|
519
|
+
"category": "trans_next",
|
|
479
520
|
"documentation": {
|
|
480
521
|
"kind": "markdown",
|
|
481
|
-
"value": "```weidu-d-tooltip\
|
|
522
|
+
"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.\n\n---\nChain epilogue: `EXTERN filename stateNumber` — transfer to the given state in the given dialogue file."
|
|
482
523
|
}
|
|
483
524
|
},
|
|
484
525
|
{
|
|
485
526
|
"label": "GOTO",
|
|
486
527
|
"kind": 14,
|
|
487
528
|
"source": "builtin",
|
|
488
|
-
"category": "
|
|
529
|
+
"category": "trans_next",
|
|
489
530
|
"documentation": {
|
|
490
531
|
"kind": "markdown",
|
|
491
532
|
"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."
|
|
492
533
|
}
|
|
493
534
|
},
|
|
494
535
|
{
|
|
495
|
-
"label": "
|
|
536
|
+
"label": "+",
|
|
496
537
|
"kind": 14,
|
|
497
538
|
"source": "builtin",
|
|
498
|
-
"category": "
|
|
539
|
+
"category": "transition",
|
|
499
540
|
"documentation": {
|
|
500
541
|
"kind": "markdown",
|
|
501
|
-
"value": "```weidu-d-tooltip\
|
|
542
|
+
"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."
|
|
502
543
|
}
|
|
503
544
|
},
|
|
504
545
|
{
|
|
505
|
-
"label": "
|
|
546
|
+
"label": "COPY_TRANS",
|
|
506
547
|
"kind": 14,
|
|
507
548
|
"source": "builtin",
|
|
508
|
-
"category": "
|
|
549
|
+
"category": "transition",
|
|
509
550
|
"documentation": {
|
|
510
551
|
"kind": "markdown",
|
|
511
|
-
"value": "```weidu-d-tooltip\
|
|
512
|
-
}
|
|
552
|
+
"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)."
|
|
553
|
+
},
|
|
554
|
+
"detail": "COPY_TRANS [ SAFE ] filename stateLabel"
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"label": "COPY_TRANS_LATE",
|
|
558
|
+
"kind": 14,
|
|
559
|
+
"source": "builtin",
|
|
560
|
+
"category": "transition",
|
|
561
|
+
"documentation": {
|
|
562
|
+
"kind": "markdown",
|
|
563
|
+
"value": "```weidu-d-tooltip\nCOPY_TRANS_LATE [ SAFE ] filename stateLabel\n```\nSame as COPY_TRANS, but is invoked after all other D Actions."
|
|
564
|
+
},
|
|
565
|
+
"detail": "COPY_TRANS_LATE [ SAFE ] filename stateLabel"
|
|
513
566
|
},
|
|
514
567
|
{
|
|
515
568
|
"label": "IF",
|
|
516
569
|
"kind": 14,
|
|
517
570
|
"source": "builtin",
|
|
518
|
-
"category": "
|
|
571
|
+
"category": "when",
|
|
519
572
|
"documentation": {
|
|
520
573
|
"kind": "markdown",
|
|
521
|
-
"value": "```weidu-d-tooltip\nIF\n```\
|
|
522
|
-
}
|
|
574
|
+
"value": "```weidu-d-tooltip\nIF String\n```\nThe action is processed if the element being altered/replaced/added to contains a substring matching against the String regexp."
|
|
575
|
+
},
|
|
576
|
+
"detail": "IF String"
|
|
523
577
|
},
|
|
524
578
|
{
|
|
525
|
-
"label": "
|
|
579
|
+
"label": "UNLESS",
|
|
526
580
|
"kind": 14,
|
|
527
581
|
"source": "builtin",
|
|
528
|
-
"category": "
|
|
582
|
+
"category": "when",
|
|
529
583
|
"documentation": {
|
|
530
584
|
"kind": "markdown",
|
|
531
|
-
"value": "```weidu-d-tooltip\
|
|
585
|
+
"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."
|
|
532
586
|
}
|
|
533
587
|
}
|
|
534
588
|
]
|