-
Notifications
You must be signed in to change notification settings - Fork 129
/
GameEvents.xml
376 lines (375 loc) · 19.4 KB
/
GameEvents.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
<?xml version="1.0" encoding="utf-8"?>
<events xmlns="http://octgn.net/GameEvents.xsd" >
<eventversion version="3.1.0.0">
<!-- Happens when the table first loads, and never again -->
<event name="OnTableLoad"/>
<!-- Happens after OnTableLoad and after each game reset -->
<event name="OnGameStart"/>
<event name="OnLoadDeck">
<param name="player" type="Player"/>
<!-- Groups cards are loaded into -->
<param name="groups" type="Group[]"/>
</event>
<event name="OnChangeCounter">
<param name="player" type="Player"/>
<param name="counter" type="Counter"/>
<param name="oldValue" type="int"/>
</event>
<event name="OnEndTurn">
<!-- Player that ended their turn -->
<param name="player" type="Player"/>
</event>
<event name="OnTurn">
<!-- Player whos turn it is -->
<param name="player" type="Player"/>
<param name="turnNumber" type="int"/>
</event>
<event name="OnTargetCard">
<param name="player" type="Player"/>
<param name="card" type="Card"/>
<!-- If false, we untargeted, else we targeted -->
<param name="isTargeted" type="bool"/>
</event>
<event name="OnTargetCardArrow">
<param name="player" type="Player"/>
<param name="fromCard" type="Card"/>
<param name="toCard" type="Card"/>
<!-- If false, we untargeted, else we targeted -->
<param name="isTargeted" type="bool"/>
</event>
<event name="OnMoveCard">
<param name="player" type="Player"/>
<param name="card" type="Card"/>
<param name="fromGroup" type="Group"/>
<param name="toGroup" type="Group"/>
<!-- index within the group -->
<param name="oldIndex" type="int"/>
<param name="index" type="int"/>
<param name="oldX" type="int"/>
<param name="oldY" type="int"/>
<param name="x" type="int"/>
<param name="y" type="int"/>
<!-- True if this was called due to a script, false if it wasn't(most likely mouse dragged by the user) -->
<param name="isScriptMove" type="bool"/>
<!--
<param name="highlight" type ="string"/>
<param name="markers" type ="string"/>
-->
</event>
<event name="OnMoveCards">
<param name="player" type="Player"/>
<param name="cards" type="Card[]"/>
<param name="fromGroup" type="Group[]"/>
<param name="toGroup" type="Group[]"/>
<!-- index within the group -->
<param name="oldIndexs" type="int[]"/>
<param name="indexs" type="int[]"/>
<param name="oldX" type="int[]"/>
<param name="oldY" type="int[]"/>
<param name="x" type="int[]"/>
<param name="y" type="int[]"/>
<param name="highlights" type ="string[]"/>
<param name="markers" type ="string[]"/>
<!-- True if this was called due to a script, false if it wasn't(most likely mouse dragged by the user) -->
<param name="isScriptMove" type="bool"/>
</event>
<event name="OnPlayerGlobalVariableChanged">
<param name="player" type="Player"/>
<param name="name" type="string"/>
<param name="oldValue" type="string"/>
<param name="Value" type="string"/>
</event>
<event name="OnGlobalVariableChanged">
<param name="name" type="string"/>
<param name="oldValue" type="string"/>
<param name="Value" type="string"/>
</event>
<event name="OnCardClick">
<param name="card" type="Card"/>
<param name="mouseButton" type="int"/>
<param name="keysDown" type="string[]"/>
</event>
<event name="OnCardDoubleClick">
<param name="card" type="Card"/>
<param name="mouseButton" type="int"/>
<param name="keysDown" type="string[]"/>
</event>
<event name="OnMarkerChanged">
<param name="card" type="Card"/>
<param name="markerName" type="string"/>
<param name="oldValue" type="int"/>
<param name="newValue" type="int"/>
<param name="isScriptChange" type="bool"/>
</event>
</eventversion>
<eventversion version="3.1.0.1">
<!-- Happens when the table first loads, and never again -->
<event name="OnTableLoad"/>
<!-- Happens after OnTableLoad and after each game reset -->
<event name="OnGameStart"/>
<event name="OnPlayerConnect">
<param name="player" type="Player"/>
</event>
<event name="OnPlayerLeaveGame">
<param name="player" type="Player"/>
</event>
<event name="OnLoadDeck">
<param name="player" type="Player"/>
<!-- Groups cards are loaded into -->
<param name="groups" type="Group[]"/>
</event>
<event name="OnChangeCounter">
<param name="player" type="Player"/>
<param name="counter" type="Counter"/>
<param name="oldValue" type="int"/>
</event>
<event name="OnEndTurn">
<!-- Player that ended their turn -->
<param name="player" type="Player"/>
</event>
<event name="OnTurn">
<!-- Player whos turn it is -->
<param name="player" type="Player"/>
<param name="turnNumber" type="int"/>
</event>
<event name="OnTargetCard">
<param name="player" type="Player"/>
<param name="card" type="Card"/>
<!-- If false, we untargeted, else we targeted -->
<param name="isTargeted" type="bool"/>
</event>
<event name="OnTargetCardArrow">
<param name="player" type="Player"/>
<param name="fromCard" type="Card"/>
<param name="toCard" type="Card"/>
<!-- If false, we untargeted, else we targeted -->
<param name="isTargeted" type="bool"/>
</event>
<event name="OnPlayerGlobalVariableChanged">
<param name="player" type="Player"/>
<param name="name" type="string"/>
<param name="oldValue" type="string"/>
<param name="Value" type="string"/>
</event>
<event name="OnGlobalVariableChanged">
<param name="name" type="string"/>
<param name="oldValue" type="string"/>
<param name="Value" type="string"/>
</event>
<event name="OnCardClick">
<param name="card" type="Card"/>
<param name="mouseButton" type="int"/>
<param name="keysDown" type="string[]"/>
</event>
<event name="OnCardDoubleClick">
<param name="card" type="Card"/>
<param name="mouseButton" type="int"/>
<param name="keysDown" type="string[]"/>
</event>
<event name="OnMarkerChanged">
<param name="card" type="Card"/>
<param name="markerName" type="string"/>
<param name="oldValue" type="int"/>
<param name="newValue" type="int"/>
<param name="isScriptChange" type="bool"/>
</event>
<event name="OnMoveCard">
<param name="player" type="Player"/>
<param name="card" type="Card"/>
<param name="fromGroup" type="Group"/>
<param name="toGroup" type="Group"/>
<!-- index within the group -->
<param name="oldIndex" type="int"/>
<param name="index" type="int"/>
<param name="oldX" type="int"/>
<param name="oldY" type="int"/>
<param name="x" type="int"/>
<param name="y" type="int"/>
<param name="faceup" type="bool"/>
<param name="highlight" type ="string"/>
<param name="markers" type ="string"/>
</event>
<event name="OnMoveCards">
<param name="player" type="Player"/>
<param name="cards" type="Card[]"/>
<param name="fromGroups" type="Group[]"/>
<param name="toGroups" type="Group[]"/>
<!-- index within the group -->
<param name="oldIndexs" type="int[]"/>
<param name="indexs" type="int[]"/>
<param name="oldX" type="int[]"/>
<param name="oldY" type="int[]"/>
<param name="x" type="int[]"/>
<param name="y" type="int[]"/>
<param name="highlights" type ="string[]"/>
<param name="markers" type ="string[]"/>
<param name="faceups" type="bool[]"/>
</event>
<event name="OnScriptedMoveCard">
<param name="player" type="Player"/>
<param name="card" type="Card"/>
<param name="fromGroup" type="Group"/>
<param name="toGroup" type="Group"/>
<!-- index within the group -->
<param name="oldIndex" type="int"/>
<param name="index" type="int"/>
<param name="oldX" type="int"/>
<param name="oldY" type="int"/>
<param name="x" type="int"/>
<param name="y" type="int"/>
<param name="faceup" type="bool"/>
<param name="highlight" type ="string"/>
<param name="markers" type ="string"/>
</event>
<event name="OnScriptedMoveCards">
<param name="player" type="Player"/>
<param name="cards" type="Card[]"/>
<param name="fromGroups" type="Group[]"/>
<param name="toGroups" type="Group[]"/>
<!-- index within the group -->
<param name="oldIndexs" type="int[]"/>
<param name="indexs" type="int[]"/>
<param name="oldX" type="int[]"/>
<param name="oldY" type="int[]"/>
<param name="x" type="int[]"/>
<param name="y" type="int[]"/>
<param name="highlights" type ="string[]"/>
<param name="markers" type ="string[]"/>
<param name="faceups" type="bool[]"/>
</event>
</eventversion>
<eventversion version="3.1.0.2">
<event name="OnTableLoaded" hint="Triggers after the table first loads"/>
<event name="OnGameStarted" hint="Triggers at the start of a new game, such as when the table first loads or after a game reset"/>
<event name="OnPlayerConnected" hint="Triggers when a player reconnects to the game">
<param name="player" type="Player" hint="The player that reconnected to the game"/>
</event>
<event name="OnPlayerQuit" hint="Triggers when a player leaves the game">
<param name="player" type="Player" hint="The player that left the game"/>
</event>
<event name="OnDeckLoaded" hint="Triggers when a player loads a deck">
<param name="player" type="Player" hint="the player that loaded the deck"/>
<param name="isLimited" type="bool" hint="true if the deck was loaded via the Limited Deck Editor, false if a pre-built deck was loaded"/>
<param name="groups" type="Group[]" hint="the groups in which cards were loaded into"/>
</event>
<event name="OnCounterChanged" hint="Triggers when a player's counter changes values">
<param name="player" type="Player" hint="the player that owns the affected counter"/>
<param name="counter" type="Counter" hint="the affected counter"/>
<param name="value" type="int" hint="the original value of the counter"/>
<param name="scripted" type="bool" hint="true if the counter's value was changed via python script, false if it was manually changed through the UI"/>
</event>
<event name="OnTurnPaused" hint="Triggers when the passing of the turn is interrupted due to a stop set by another player">
<param name="player" type="Player" hint="the player that interruped the turn passing"/>
</event>
<event name="OnTurnPassed" hint="Triggers when the turn is passed to another player">
<param name="player" type="Player" hint="the original player passing the turn"/>
<param name="turn" type="int" hint="the turn number before the turn was passed"/>
<param name="force" type="bool" hint="true if turn stops were forced to skip via scripting"/>
</event>
<event name="OnCardTargeted" hint="Triggers when a target is added or removed from a card">
<param name="player" type="Player" hint="the player creating or removing the target"/>
<param name="card" type="Card" hint="the affected card object"/>
<param name="targeted" type="bool" hint="true if the target was created, false if the target was removed"/>
<param name="scripted" type="bool" hint="true if the target was created via python script, false if created through the UI"/>
</event>
<event name="OnCardArrowTargeted" hint="Triggers when a card arrow target is created or removed between two cards">
<param name="player" type="Player" hint="the player that changed the target arrow"/>
<param name="fromCard" type="Card" hint="the card at the base of the target arrow"/>
<param name="toCard" type="Card" hint="the card at the point of the target arrow"/>
<param name="targeted" type="bool" hint="true if the target arrow was created, false if the arrow was removed"/>
<param name="scripted" type="bool" hint="true if the target arrow was created via python script, false if created through the UI"/>
</event>
<event name="OnPlayerGlobalVariableChanged" hint="Triggers when the value of a player's global variable changes">
<param name="player" type="Player" hint="the player owner of the affected global variable"/>
<param name="name" type="string" hint="the affected global variable's name"/>
<param name="oldValue" type="string" hint="the original value for this variable"/>
<param name="value" type="string" hint="the new value for this variable"/>
</event>
<event name="OnGlobalVariableChanged" hint="Triggers when the value of a global variable changes">
<param name="name" type="string" hint="the affected global variable's name"/>
<param name="oldValue" type="string" hint="the original value for this variable"/>
<param name="value" type="string" hint="the new value for this variable"/>
</event>
<event name="OnCardClicked" hint="Triggers when a card is clicked.">
<param name="card" type="Card" hint="the affected card object"/>
<param name="mouseButton" type="int" hint="the integer associated with the mouse button being clicked. 0 for left, 1 for middle, 2 for right. 3 and 4 are additional mappable mouse buttons"/>
<param name="keysDown" type="string[]" hint="an array of keys which were also held while the click occurred"/>
</event>
<event name="OnCardDoubleClicked" hint="Triggers when a card is double-clicked.">
<param name="card" type="Card" hint="the affected card object"/>
<param name="mouseButton" type="int" hint="the integer associated with the mouse button being double-clicked. 0 for left, 1 for middle, 2 for right. 3 and 4 are additional mappable mouse buttons"/>
<param name="keysDown" type="string[]" hint="an array of keys which were also held while the double-click occurred"/>
</event>
<event name="OnMarkerChanged" hint="Triggers when a marker's quantity is changed on a card">
<param name="card" type="Card" hint="the affected card object"/>
<param name="marker" type="string" hint="the name of the marker being changed"/>
<param name="id" type="string" hint="the unique identifier of the marker being changed"/>
<param name="value" type="int" hint="the original quantity of the marker"/>
<param name="scripted" type="bool" hint="true if a script changed the marker, false if the player manually changed the marker through the UI"/>
</event>
<event name="OnCardControllerChanged" hint="Triggers when the controller of a card changes">
<param name="card" type="Card" hint="the affected card object"/>
<param name="oldPlayer" type="Player" hint="the original controller of the card"/>
<param name="player" type="Player" hint="the player taking control of the card"/>
</event>
<event name="OnCardsMoved" hint="Triggers when one or more cards are moved to a new location via drag-drop.">
<param name="player" type="Player" hint="the player executing the card move script"/>
<param name="cards" type="Card[]" hint="the array of card objects involved in the move"/>
<param name="fromGroups" type="Group[]" hint="the array of source groups"/>
<param name="toGroups" type="Group[]" hint="the array of destination groups"/>
<param name="indexs" type="int[]" hint="the array of original z-index positions within the source groups"/>
<param name="xs" type="int[]" hint="the array of original x-coordinate positions, if the source group is the table"/>
<param name="ys" type="int[]" hint="the array of original y-coordinate positions, if the source group is the table"/>
<param name="highlights" type ="string[]" hint="the array of original highlight color strings on the cards"/>
<param name="markers" type ="string[]" hint="the array of original markers placed on the cards. Note that these are stored as strings and will need to be parsed back to a dictionary to be read in python."/>
<param name="faceups" type="bool[]" hint="the array of original faceup states on the cards"/>
<param name="filters" type ="string[]" hint="the array of original filter color strings on the cards"/>
<param name="alternates" type ="string[]" hint="the array of original alternate card states on the cards"/>
</event>
<event name="OnScriptedCardsMoved" hint="Triggers when a python script causes one or more cards to move to a new location.">
<param name="player" type="Player" hint="the player executing the card move script"/>
<param name="cards" type="Card[]" hint="the array of card objects involved in the move"/>
<param name="fromGroups" type="Group[]" hint="the array of source groups"/>
<param name="toGroups" type="Group[]" hint="the array of destination groups"/>
<param name="indexs" type="int[]" hint="the array of original z-index positions within the source groups"/>
<param name="xs" type="int[]" hint="the array of original x-coordinate positions, if the source group is the table"/>
<param name="ys" type="int[]" hint="the array of original y-coordinate positions, if the source group is the table"/>
<param name="highlights" type ="string[]" hint="the array of original highlight color strings on the cards"/>
<param name="markers" type ="string[]" hint="the array of original markers placed on the cards. Note that these are stored as strings and will need to be parsed back to a dictionary to be read in python."/>
<param name="faceups" type="bool[]" hint="the array of original faceup states on the cards"/>
<param name="filters" type ="string[]" hint="the array of original filter color strings on the cards"/>
<param name="alternates" type ="string[]" hint="the array of original alternate card states on the cards"/>
</event>
<event name="OnPhasePassed" hint="Triggers when the active turn player changes the current phase">
<param name="name" type="string" hint="the name of the previous phase"/>
<param name="id" type="int" hint="the index of the previous phase in the list of phases"/>
<param name="force" type="bool" hint="true if stops set on a phase were forced to skip via scripting "/>
</event>
<event name="OnPhasePaused" hint="(unused)">
<param name="player" type="Player"/>
</event>
<event name="OverrideCardsMoved" hint="Overrides the default behavior when one or more cards are moved to another location via drag-drop.">
<param name="cards" type="Card[]" hint="the array of card objects involved in the move"/>
<param name="toGroups" type="Group[]" hint="the array of requested destination groups"/>
<param name="indexs" type="int[]" hint="the array of requested z-index positions within the destination group"/>
<param name="xs" type="int[]" hint="the array of requested x-coordinate positions, if the destination group is the table"/>
<param name="ys" type="int[]" hint="the array of requested y-coordinate positions, if the destination group is the table"/>
<param name="faceups" type="bool[]" hint="the array of boolean faceup states requested at the destination group"/>
</event>
<event name="OverrideTurnPassed" hint="Overrides the default behavior when clicking the green 'pass turn' button on the player tab">
<param name="player" type="Player" hint="the player the turn is being passed to"/>
</event>
<event name="OverrideGameReset" hint="Overrides the default behavior when a game reset command is requested">
</event>
<event name="OverrideGameSoftReset" hint="Overrides the default behavior when a soft-reset command is requested" >
</event>
<event name="OverridePhasePassed" hint="(unused) Overrides the default behavior when the active phase passes past a stopped phase">
<param name="name" type="string" hint="the name of the paused phase triggering the event"/>
<param name="id" type="int" hint="the index of the paused phase in the list of phases"/>
</event>
<event name="OverridePhaseClicked" hint="Overrides the default behavior for clicking on a phase button">
<param name="name" type="string" hint="the name of the phase clicked"/>
<param name="id" type="int" hint="the index of the phase in the list of phases" />
</event>
</eventversion>
</events>