R3EXS 1.1.0 → 2.0.0
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.
- checksums.yaml +4 -4
- data/.yardopts +10 -12
- data/CHANGELOG.md +46 -21
- data/README.md +17 -38
- data/README_EN.md +21 -40
- data/bin/R3EXS +191 -217
- data/ext/R3EXS/R3EXS.cxx +334 -0
- data/ext/R3EXS/extconf.rb +12 -0
- data/lib/R3EXS/RGSS3.rb +553 -1437
- data/lib/R3EXS/RGSS3_R3EXS.rb +1939 -1811
- data/lib/R3EXS/ast.rb +209 -149
- data/lib/R3EXS/error.rb +39 -209
- data/lib/R3EXS/extract_strings.rb +86 -63
- data/lib/R3EXS/inject_strings.rb +83 -61
- data/lib/R3EXS/json_rvdata2.rb +122 -109
- data/lib/R3EXS/logger.rb +44 -0
- data/lib/R3EXS/rvdata2_json.rb +79 -82
- data/lib/R3EXS/utils.rb +404 -1055
- data/lib/R3EXS/version.rb +3 -4
- data/lib/R3EXS.rb +14 -12
- metadata +20 -34
- data/ext/rgss3a_rvdata2/extconf.rb +0 -3
- data/ext/rgss3a_rvdata2/rgss3a_rvdata2.c +0 -616
data/lib/R3EXS/RGSS3_R3EXS.rb
CHANGED
|
@@ -1,1811 +1,1939 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
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
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
#
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
end
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
#
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
#
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
#
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
end
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
#
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module R3EXS
|
|
4
|
+
# 事件指令的命令名称
|
|
5
|
+
EVENT_COMMANDS = {
|
|
6
|
+
0 => 'Empty',
|
|
7
|
+
|
|
8
|
+
# [string(Face Graphic name)]---[int(Face Graphic index)]---[int:{0:Normal Window, 1:Dim Background, 2:Transparent}]---[int:{0:Top, 1:Middle, 2:Bottom}]---END
|
|
9
|
+
101 => 'ShowTextAttributes',
|
|
10
|
+
|
|
11
|
+
# [Array<string>(Choices Array)]---[int:{0:Disallow, 1:Choice 1, 2:Choice 2, 3:Choice 3, 4:Choice 4, 5:Branch}(When Cancel)]---END
|
|
12
|
+
102 => 'ShowChoices',
|
|
13
|
+
|
|
14
|
+
# [int(Variable for Number)]---[int:{1~8}(Digits)]---END
|
|
15
|
+
103 => 'InputNumber',
|
|
16
|
+
|
|
17
|
+
# [int(Variable for Item ID)]---END
|
|
18
|
+
104 => 'SelectKeyItem',
|
|
19
|
+
|
|
20
|
+
# [int:{1~8}(Speed)]---[bool(No Fast Forward)]---END
|
|
21
|
+
105 => 'ShowScrollingTextAttributes',
|
|
22
|
+
|
|
23
|
+
# [string]---END
|
|
24
|
+
108 => 'Comment',
|
|
25
|
+
|
|
26
|
+
# |--[int:0(Switch)]---[int(Switch ID)]---[int{0:ON, 1:OFF}]---END
|
|
27
|
+
# |
|
|
28
|
+
# | |--[int:0(Compare to Constant)]---[int(Number)]-------|
|
|
29
|
+
# |--[int:1(Variable)]---[int(Variable ID)]--| |--[int{0:==, 1:>=, 2:<=, 3:>, 4:<, 5:!=}]---END
|
|
30
|
+
# | |--[int:1(Compare to Variable)]---[int(Variable ID)]--|
|
|
31
|
+
# |
|
|
32
|
+
# |--[int:2(Self Switch)]---[string{'A', 'B', 'C', 'D'}]---[int{0:ON, 1:OFF}]---END
|
|
33
|
+
# |
|
|
34
|
+
# |--[int:3(Timer)]---[int:{0~5999}(sec)]---[int{0:>=, 1:<=}]---END
|
|
35
|
+
# |
|
|
36
|
+
# | |--[int:0(In the Party)]---END
|
|
37
|
+
# | |
|
|
38
|
+
# | |--[int:1(Name)]---[string]---END
|
|
39
|
+
# | |
|
|
40
|
+
# | |--[int:2(Class)]---[int(Class ID)]---END
|
|
41
|
+
# | |
|
|
42
|
+
# |--[int:4(Actor)]---[int(Actor ID)]--------|--[int:3(Skill)]---[int(Skill ID)]---END
|
|
43
|
+
# | |
|
|
44
|
+
# | |--[int:4(Weapon)]---[int(Weapon ID)]---END
|
|
45
|
+
# | |
|
|
46
|
+
# | |--[int:5(Armor)]---[int(Armor ID)]---END
|
|
47
|
+
# | |
|
|
48
|
+
# | |--[int:6(State)]---[int(State ID)]---END
|
|
49
|
+
# |
|
|
50
|
+
# | |--[int:0(Appeared)---END
|
|
51
|
+
# |--[int:5(Enemy)]---[int(Enemy ID)]--------|
|
|
52
|
+
# | |--[int:1(State)]---[int(State ID)]---END
|
|
53
|
+
# |
|
|
54
|
+
# |--[int:6(Character)]---[int:{-1:Player, 0:This event, 1:EV001, ...}]---[int:{2:Down, 4:Left, 6:Right, 8:Up}]---END
|
|
55
|
+
# |
|
|
56
|
+
# |--[int:7(Gold)]---[int(Money)]---[int{0:>=, 1:<=, 2:<}]---END
|
|
57
|
+
# |
|
|
58
|
+
# |--[int:8(Item)]---[int(Item ID)]---END
|
|
59
|
+
# |
|
|
60
|
+
# |--[int:9(Weapon)]---[int(Weapon ID)]---[bool(Include Equipments)]---END
|
|
61
|
+
# |
|
|
62
|
+
# |--[int:10(Armor)]---[int(Armor ID)]---[bool(Include Equipments)]---END
|
|
63
|
+
# |
|
|
64
|
+
# |--[int:11(Button)]---[int:{2:Down, 4:Left, 6:Right, 8:Up, 11:A, 12:B, 13:C, 14:X, 15:Y, 16:Z, 17:L, 18:R}]---END
|
|
65
|
+
# |
|
|
66
|
+
# |--[int:12(Script)]---[string]---END
|
|
67
|
+
# |
|
|
68
|
+
# |--[int:13(Vehicle)]---[int:{0:Boat, 1:Ship, 2:Airship}]---END
|
|
69
|
+
111 => 'ConditionalBranch',
|
|
70
|
+
112 => 'Loop',
|
|
71
|
+
113 => 'BreakLoop',
|
|
72
|
+
115 => 'ExitEventProcessing',
|
|
73
|
+
|
|
74
|
+
# [int(Common Event ID)]---END
|
|
75
|
+
117 => 'CallCommonEvent',
|
|
76
|
+
|
|
77
|
+
# [string]---END
|
|
78
|
+
118 => 'Label',
|
|
79
|
+
|
|
80
|
+
# [string]---END
|
|
81
|
+
119 => 'JumpToLabel',
|
|
82
|
+
|
|
83
|
+
# [int(Switch Begin ID)]---[int(Switch End ID)]---[int:{0:ON, 1:OFF}]---END
|
|
84
|
+
121 => 'ControlSwitches',
|
|
85
|
+
|
|
86
|
+
# |--[int:0(Constant)]---[int(Number)]---END
|
|
87
|
+
# |
|
|
88
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
89
|
+
# |
|
|
90
|
+
# |--[int:2(Random)]---[int(Min)]---[int(Max)]---END
|
|
91
|
+
# |
|
|
92
|
+
# | |--[int:{0:Item, 1:Weapon, 2:Armor}]---[int(Corresponded Item ID)]---[int:0]---END
|
|
93
|
+
# | |
|
|
94
|
+
# [int(Variable Begin ID)]---[int(Variable End ID)]---[int:{0:Set, 1:Add, 2:Sub, 3:Mul, 4:Div, 5:Mod}]--| |--[int:3(Actor)]---[int:(Actor ID)]---[int:{0:Level, 1:EXP, 2:HP, 3:MP, 4:MHP, 5:MMP, 6:ATK, 7:DEF, 8:MAT, 9:MDF, 10:AGI, 11:LUK}]---END
|
|
95
|
+
# | |
|
|
96
|
+
# | |--[int:4(Enemy)]---[int:(Enemy ID)]---[int:{0:HP, 1:MP, 2:MHP, 3:MMP, 4:ATK, 5:DEF, 6:MAT, 7:MDF, 8:AGI, 9:LUK}]---END
|
|
97
|
+
# |--[int:3(Game Data)]--|
|
|
98
|
+
# | |--[int:5(Character)]---[int:{-1:Player, 0:This Event, 1:EV001, ...}]---[int:{0:Map X, 1:Map Y, 2:Direction, 3:Screen X ,4:Screen Y}]---END
|
|
99
|
+
# | |
|
|
100
|
+
# | |--[int:6(Party)]---[int:{0~7}(Member ID)]---[int:0]---END
|
|
101
|
+
# | |
|
|
102
|
+
# | |--[int:7(Other)]---[int:{0(Map ID), 1(Party Members), 2(Gold), 3(Steps), 4(Play Time), 5(Timer), 6(Save Count), 7(Battle Count)}]---[int:0]---END
|
|
103
|
+
# |
|
|
104
|
+
# |--[int:4(Scripts)]---[string]---END
|
|
105
|
+
122 => 'ControlVariables',
|
|
106
|
+
|
|
107
|
+
# [string:{'A', 'B', 'C', 'D'}(Self Switch Name)]---[int:{0:ON, 1:OFF}]---END
|
|
108
|
+
123 => 'ControlSelfSwitch',
|
|
109
|
+
|
|
110
|
+
# [int:{0:Start, 1:Stop}]---[int:{0~5999}(sec)]---END
|
|
111
|
+
124 => 'ControlTimer',
|
|
112
|
+
|
|
113
|
+
# |--[int:0(Constant)]---[int:{0~9999999}(Number)]---END
|
|
114
|
+
# [int:{0:Increase, 1:Decrease}]--|
|
|
115
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
116
|
+
125 => 'ChangeGold',
|
|
117
|
+
|
|
118
|
+
# |--[int:0(Constant)]---[int:{0~9999999}(Number)]---END
|
|
119
|
+
# [int(Item ID)]---[int:{0:Increase, 1:Decrease}]--|
|
|
120
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
121
|
+
126 => 'ChangeItems',
|
|
122
|
+
|
|
123
|
+
# |--[int:0(Constant)]---[int:{0~9999999}(Number)]--|
|
|
124
|
+
# |--[int:0(Increase)]--| |--[bool:false(Include Equipment)]---END
|
|
125
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]---------|
|
|
126
|
+
# [int(Weapon ID)]--|
|
|
127
|
+
# | |--[int:0(Constant)]---[int:{0~9999999}(Number)]--|
|
|
128
|
+
# |--[int:1(Decrease)]--| |--[bool(Include Equipment)]---END
|
|
129
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------|
|
|
130
|
+
127 => 'ChangeWeapons',
|
|
131
|
+
|
|
132
|
+
# |--[int:0(Constant)]---[int:{0~9999999}(Number)]--|
|
|
133
|
+
# |--[int:0(Increase)]--| |--[bool:false(Include Equipment)]---END
|
|
134
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]---------|
|
|
135
|
+
# [int(Armor ID)]--|
|
|
136
|
+
# | |--[int:0(Constant)]---[int:{0~9999999}(Number)]--|
|
|
137
|
+
# |--[int:1(Decrease)]--| |--[bool(Include Equipment)]---END
|
|
138
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------|
|
|
139
|
+
128 => 'ChangeArmor',
|
|
140
|
+
|
|
141
|
+
# [int(Actor ID)]---[int:{0:Add, 1:Remove}]---[int:{0:NO, 1:YES}(Initialize)]---END
|
|
142
|
+
129 => 'ChangePartyMember',
|
|
143
|
+
|
|
144
|
+
# [RPG::BGM]---END
|
|
145
|
+
132 => 'ChangeBattleBGM',
|
|
146
|
+
|
|
147
|
+
# [RPG::ME]---END
|
|
148
|
+
133 => 'ChangeBattleEndME',
|
|
149
|
+
|
|
150
|
+
# [int:{0:Disable, 1:Enable}]---END
|
|
151
|
+
134 => 'ChangeSaveAccess',
|
|
152
|
+
|
|
153
|
+
# [int:{0:Disable, 1:Enable}]---END
|
|
154
|
+
135 => 'ChangeMenuAccess',
|
|
155
|
+
|
|
156
|
+
# [int:{0:Disable, 1:Enable}]---END
|
|
157
|
+
136 => 'ChangeEncounter',
|
|
158
|
+
|
|
159
|
+
# [int:{0:Disable, 1:Enable}]---END
|
|
160
|
+
137 => 'ChangeFormationAccess',
|
|
161
|
+
|
|
162
|
+
# [RPG::Tone]---END
|
|
163
|
+
138 => 'ChangeWindowColor',
|
|
164
|
+
|
|
165
|
+
# |--[int:0(Direct Designation)]---[int(Map ID)]---[int(Map X)]---[int(Map Y)]-------------------------------------------------------------------------------------|
|
|
166
|
+
# | |--[int:{0:Retain, 2:Down, 4:Left, 6:Right, 8:Up}(Direction)]---[int:{0:Normal, 1:White, 2:None}(Fade)]---END
|
|
167
|
+
# |--[int:1(Designation with Variables)]---[int(Map ID Corresponded Variable ID)]---[int(Map X Corresponded Variable ID)]---[int(Map Y Corresponded Variable ID)]--|
|
|
168
|
+
201 => 'TransferPlayer',
|
|
169
|
+
|
|
170
|
+
# |--[int:0(Direct Designation)]---[int(Map ID)]---[int(Map X)]---[int(Map Y)]---END
|
|
171
|
+
# [int:{0:Boat, 1:Ship, 2:Airship}]--|
|
|
172
|
+
# |--[int:1(Designation with Variables)]---[int(Map ID Corresponded Variable ID)]---[int(Map X Corresponded Variable ID)]---[int(Map Y Corresponded Variable ID)]---END
|
|
173
|
+
202 => 'SetVehicleLocation',
|
|
174
|
+
|
|
175
|
+
# |--[int:0(Direct Designation)]---[int(Map X)]---[int(Map Y)]------------------------------------------------------------|
|
|
176
|
+
# | |
|
|
177
|
+
# [int:{0:This Event, 1:EV001, ...}]----------|--[int:1(Designation with Variables)]---[int(Map X Corresponded Variable ID)]---[int(Map Y Corresponded Variable ID)]--|--[int:{0:Retain, 2:Down, 4:Left, 6:Right, 8:Up}(Direction)]---END
|
|
178
|
+
# | |
|
|
179
|
+
# |--[int:2(Exchange with Another Event)]---[int(Exchanged Event ID)]---[int:0]-------------------------------------------|
|
|
180
|
+
203 => 'SetEventLocation',
|
|
181
|
+
|
|
182
|
+
# [int:{2:Down, 4:Left, 6:Right, 8:Up}]---[int:{0~100}(Distance)]---[int:{1:1/8 Speed, 2:1/4 Speed, 3:1/2 Speed, 4:Normal, 5:2 Speed, 6:4 Speed}]---END
|
|
183
|
+
204 => 'ScrollMap',
|
|
184
|
+
|
|
185
|
+
# [int:{-1:Player, 0:This Event, 1:EV001, ...}]---[RPG::MoveRoute(45 is Script)]---END
|
|
186
|
+
205 => 'SetMoveRoute',
|
|
187
|
+
|
|
188
|
+
# END
|
|
189
|
+
206 => 'GetSwitchVehicle',
|
|
190
|
+
|
|
191
|
+
# [int:{0:ON, 1:OFF}]---END
|
|
192
|
+
211 => 'ChangeTransparency',
|
|
193
|
+
|
|
194
|
+
# [int:{-1:Player, 0:This Event, 1:EV001, ...}]---[int(Animation ID)]---[bool(Wait for Completion)]---END
|
|
195
|
+
212 => 'ShowAnimation',
|
|
196
|
+
|
|
197
|
+
# [int:{-1:Player, 0:This Event, 1:EV001, ...}]---[int(Ballon Icon ID)]---[bool(Wait for Completion)]---END
|
|
198
|
+
213 => 'ShowBalloonIcon',
|
|
199
|
+
214 => 'EraseEvent',
|
|
200
|
+
|
|
201
|
+
# [int:{0:ON, 1:OFF}]---END
|
|
202
|
+
216 => 'ChangePlayerFollowers',
|
|
203
|
+
217 => 'GatherFollowers',
|
|
204
|
+
221 => 'FadeoutScreen',
|
|
205
|
+
222 => 'FadeinScreen',
|
|
206
|
+
|
|
207
|
+
# [RPG::Tone]---[int:{0~600}(Time 1/60 sec)]---[bool(Wait for Completion)]---END
|
|
208
|
+
223 => 'TintScreen',
|
|
209
|
+
|
|
210
|
+
# [RPG::Color]---[int:{0~600}(Time 1/60 sec)]---[bool(Wait for Completion)]---END
|
|
211
|
+
224 => 'FlashScreen',
|
|
212
|
+
|
|
213
|
+
# [int:{1~9}(Power)]---[int:{1~9}(Speed)]---[int:{0~600}(Time 1/60 sec)]---[bool(Wait for Completion)]---END
|
|
214
|
+
225 => 'ShakeScreen',
|
|
215
|
+
|
|
216
|
+
# [int:{0~999}(Time 1/60 sec)]---END
|
|
217
|
+
230 => 'Wait',
|
|
218
|
+
|
|
219
|
+
# |--[int:0(Constant)]---[int:{-9999~9999}(Map X)]---[int:{-9999~9999}(Map Y)]--------------------------|
|
|
220
|
+
# [int:{1~100}(Number)]---[string(Picture Graphic Name)]---[int:{0:Upper Left, 1:Center}(Origin)]--| |--[int:{0~2000}(Width %)]---[int:{0~2000}(Height %)]---[int:{0~255}(Opacity)]---[int:{0:Normal, 1:Add, 2:Sub}]---END
|
|
221
|
+
# |--[int:1(Variable)]---[int(Map X Corresponded Variable ID)]---[int(Map Y Corresponded Variable ID)]--|
|
|
222
|
+
231 => 'ShowPicture',
|
|
223
|
+
|
|
224
|
+
# |--[int:0(Constant)]---[int:{-9999~9999}(Map X)]---[int:{-9999~9999}(Map Y)]--------------------------|
|
|
225
|
+
# [int:{1~100}(Number)]---[int:{0:Upper Left, 1:Center}(Origin)]--| |--[int:{0~2000}(Width %)]---[int:{0~2000}(Height %)]---[int:{0~255}(Opacity)]---[int:{0:Normal, 1:Add, 2:Sub}]---[int:{0~600}(Time 1/60 sec)]---[bool(Wait for Completion)]---END
|
|
226
|
+
# |--[int:1(Variable)]---[int(Map X Corresponded Variable ID)]---[int(Map Y Corresponded Variable ID)]--|
|
|
227
|
+
232 => 'MovePicture',
|
|
228
|
+
|
|
229
|
+
# [int:{1~100}(Number)]-[int:{-90~90}(Speed)]--END
|
|
230
|
+
233 => 'RotatePicture',
|
|
231
|
+
|
|
232
|
+
# [int:{1~100}(Number)]---[RPG::Tone]---[int:{0~600}(Time 1/60 sec)]---[bool(Wait for Completion)]---END
|
|
233
|
+
234 => 'TintPicture',
|
|
234
|
+
|
|
235
|
+
# [int:{1~100}(Number)]---END
|
|
236
|
+
235 => 'ErasePicture',
|
|
237
|
+
|
|
238
|
+
# [string:{":none", ":rain", ":storm", ":snow"}]---[int:{0~9}(Power)]---[int:{0~600}(Time 1/60 sec)]---[bool(Wait for Completion)]---END
|
|
239
|
+
236 => 'SetWeatherEffects',
|
|
240
|
+
|
|
241
|
+
# [RPG::BGM]---END
|
|
242
|
+
241 => 'PlayBGM',
|
|
243
|
+
|
|
244
|
+
# [int:{1~60}(Time sec)]---END
|
|
245
|
+
242 => 'FadeoutBGM',
|
|
246
|
+
243 => 'SaveBGM',
|
|
247
|
+
244 => 'ReplayBGM',
|
|
248
|
+
|
|
249
|
+
# [RPG::BGM]---END
|
|
250
|
+
245 => 'PlayBGS',
|
|
251
|
+
|
|
252
|
+
# [int:{1~60}(Time sec)]---END
|
|
253
|
+
246 => 'FadeoutBGS',
|
|
254
|
+
|
|
255
|
+
# [RPG::ME]---END
|
|
256
|
+
249 => 'PlayME',
|
|
257
|
+
|
|
258
|
+
# [RPG::SE]---END
|
|
259
|
+
250 => 'PlaySE',
|
|
260
|
+
251 => 'StopSE',
|
|
261
|
+
|
|
262
|
+
# [string(Movie Name)]---END
|
|
263
|
+
261 => 'PlayMovie',
|
|
264
|
+
|
|
265
|
+
# [int:{0:ON, 1:OFF}]---END
|
|
266
|
+
281 => 'ChangeMapNameDisplay',
|
|
267
|
+
|
|
268
|
+
# [int(Tileset ID)]---END
|
|
269
|
+
282 => 'ChangeTileset',
|
|
270
|
+
|
|
271
|
+
# [string(Floor Picture)]---[string(Wall Picture)]---END
|
|
272
|
+
283 => 'ChangeBattleBack',
|
|
273
|
+
|
|
274
|
+
# [string(Distant view Picture)]---[bool(Loop Horizontal)]---[bool(Loop Vertical)]---[int(-32~32)(Horizontal Scroll)]---[int(-32~32)(Vertical Scroll)]---END
|
|
275
|
+
284 => 'ChangeParallaxBack',
|
|
276
|
+
|
|
277
|
+
# |--[int:0(Direct Designation)]---[int(Map X)]---[int(Map Y)]---END
|
|
278
|
+
# [int(Variable for Info)]---[int:{0:Terrain, 1:Event ID, 2:Tile ID(Layer 1), 3:Tile ID(Layer 2), 4:Tile ID(Layer 3), 5:Region ID}(Info Type)]--|
|
|
279
|
+
# |--[int:1(Designation with Variables)]---[int(Map X Corresponded Variable ID)]---[int(Map Y Corresponded Variable ID)]---END
|
|
280
|
+
285 => 'GetLocationInfo',
|
|
281
|
+
|
|
282
|
+
# |--[int:0(Direct Designation)]---[int(Enemy ID)]-----------------------------------|
|
|
283
|
+
# | |--[bool(Can Escape)]---[bool(Continue Even When Loser)]---END
|
|
284
|
+
# |--[int:1(Designation with Variables)]---[int(Enemy ID Corresponded Variable ID)]--|
|
|
285
|
+
301 => 'BattleProcessing',
|
|
286
|
+
|
|
287
|
+
# |--[int:0(Price: Standard)]---[int:0]------------------|
|
|
288
|
+
# [int:{0:Item, 1:Weapon, 2:Armor}]---[int(Corresponded Item ID)]--| |--[bool(Purchase Only)]---END
|
|
289
|
+
# |--[int:1(Price: Specify)]---[int:{0~9999999}(Price)]--|
|
|
290
|
+
302 => 'ShopProcessing',
|
|
291
|
+
|
|
292
|
+
# [int(Actor ID)]---[int:{1~16}(Max Characters)]---END
|
|
293
|
+
303 => 'NameInputProcessing',
|
|
294
|
+
|
|
295
|
+
# |--[int:0(Constant)]---[int:{1~9999}(Number)]--|
|
|
296
|
+
# |--[int:0(Increase)]--| |--[bool:false(Allow Knockout)]---END
|
|
297
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]------|
|
|
298
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--|
|
|
299
|
+
# | | |--[int:0(Constant)]---[int:{1~9999}(Number)]--|
|
|
300
|
+
# | |--[int:1(Decrease)]--| |--[bool(Allow Knockout)]---END
|
|
301
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]------|
|
|
302
|
+
# |
|
|
303
|
+
# | |--[int:0(Constant)]---[int:{1~9999}(Number)]--|
|
|
304
|
+
# | |--[int:0(Increase)]--| |--[bool:false(Allow Knockout)]---END
|
|
305
|
+
# | | |--[int:1(Variable)]---[int(Variable ID)]------|
|
|
306
|
+
# |--[int:1(Variable)]---[int(Variable ID)]-----------------------|
|
|
307
|
+
# | |--[int:0(Constant)]---[int:{1~9999}(Number)]--|
|
|
308
|
+
# |--[int:1(Decrease)]--| |--[bool(Allow Knockout)]---END
|
|
309
|
+
# |--[int:1(Variable)]---[int(Variable ID)]------|
|
|
310
|
+
311 => 'ChangeHP',
|
|
311
|
+
|
|
312
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--| |--[int:0(Constant)]---[int:{1~9999}(Number)]---END
|
|
313
|
+
# | |--[int:{0:Increase, 1:Decrease}]--|
|
|
314
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------------------| |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
315
|
+
312 => 'ChangeMP',
|
|
316
|
+
|
|
317
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--|
|
|
318
|
+
# | |--[int:{0:Add, 1:Remove}]---[int(State ID)]---END
|
|
319
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------------------|
|
|
320
|
+
313 => 'ChangeState',
|
|
321
|
+
|
|
322
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]---END
|
|
323
|
+
# |
|
|
324
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
325
|
+
314 => 'RecoverAll',
|
|
326
|
+
|
|
327
|
+
# |--[int:0(:Constant)]---[int:{1~9999999}(Number)]--|
|
|
328
|
+
# |--[int:0(Increase)]--| |--[bool(Show Level Up Message)]---END
|
|
329
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]----------|
|
|
330
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--|
|
|
331
|
+
# | | |--[int:0(Constant)]---[int:{1~9999999}(Number)]--|
|
|
332
|
+
# | |--[int:1(Decrease)]--| |--[bool:false(Show Level Up Message)]---END
|
|
333
|
+
# | |--[int:1(Variable)]------------------------------|
|
|
334
|
+
# |
|
|
335
|
+
# | |--[int:0(Constant)]---[int:{1~9999999}(Number)]--|
|
|
336
|
+
# | |--[int:0(Increase)]--| |--[bool(Show Level Up Message)]---END
|
|
337
|
+
# | | |--[int:1(Variable)]---[int(Variable ID)]---------|
|
|
338
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------------------|
|
|
339
|
+
# | |--[int:0(Constant)]---[int:{1~9999999}(Number)]--|
|
|
340
|
+
# |--[int:1(Decrease)]--| |--[bool:false(Show Level Up Message)]---END
|
|
341
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------|
|
|
342
|
+
315 => 'ChangeEXP',
|
|
343
|
+
|
|
344
|
+
# |--[int:0(Constant)]---[int:{1~98}(Number)]--|
|
|
345
|
+
# |--[int:0(Increase)]--| |--[bool(Show Level Up Message)]---END
|
|
346
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]----|
|
|
347
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--|
|
|
348
|
+
# | | |--[int:0(Constant)]---[int:{1~98}(Number)]--|
|
|
349
|
+
# | |--[int:1(Decrease)]--| |--[bool:false(Show Level Up Message)]---END
|
|
350
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]----|
|
|
351
|
+
# |
|
|
352
|
+
# | |--[int:0(Constant)]---[int:{1~98}(Number)]--|
|
|
353
|
+
# | |--[int:0(Increase)]--| |--[bool(Show Level Up Message)]---END
|
|
354
|
+
# | | |--[int:1(Variable)]---[int(Variable ID)]----|
|
|
355
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------------------|
|
|
356
|
+
# | |--[int:0(Constant)]---[int:{1~98}(Number)]--|
|
|
357
|
+
# |--[int:1(Decrease)]--| |--[bool:false(Show Level Up Message)]---END
|
|
358
|
+
# |--[int:1(Variable)]---[int(Variable ID)]------|
|
|
359
|
+
316 => 'ChangeLevel',
|
|
360
|
+
|
|
361
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--| |--[int:0(Constant)]---[int:{0~9999999}(Number)]---END
|
|
362
|
+
# | |--[int:{0:MHP, 1:MMP, 2:ATK, 3:DEF, 4:MAT, 5:MDF, 6:AGI, 7:LUK}]---[int:{0:Increase, 1:Decrease}]--|
|
|
363
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------------------| |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
364
|
+
317 => 'ChangeParameters',
|
|
365
|
+
|
|
366
|
+
# |--[int:0(Fixed)]---[int:{0:Entire Party, 1:Actor 001, ...}]--|
|
|
367
|
+
# | |--[int:{0:Learn, 1:Forget}]---[int(Skill ID)]---END
|
|
368
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---------------------|
|
|
369
|
+
318 => 'ChangeSkills',
|
|
370
|
+
|
|
371
|
+
# [int(Actor ID)]---[int:{0:Weapon, 1:Shield, 2:Head, 3:Boby, 4:Accessory}]---[int:{0:None, 1:Equipment 001, ...}(Equipment ID)]---END
|
|
372
|
+
319 => 'ChangeEquipment',
|
|
373
|
+
|
|
374
|
+
# [int(Actor ID)]---[string(New Actor Name)]---END
|
|
375
|
+
320 => 'ChangeActorName',
|
|
376
|
+
|
|
377
|
+
# [int(Actor ID)]---[int(New Class ID)]---END
|
|
378
|
+
321 => 'ChangeActorClass',
|
|
379
|
+
|
|
380
|
+
# [int(Actor ID)]---[string(New Actor walking Picture Name)]---[int(New Actor Walking Picture Index)]---[string(New Actor Portrait Picture Name)]---[int(New Actor Portrait Picture Index)]---END
|
|
381
|
+
322 => 'ChangeActorGraphic',
|
|
382
|
+
|
|
383
|
+
# [int:{0:Boat, 1:Ship, 2:Airship}]---[string(New Vehicle Picture Name)]---[int(New Vehicle Picture Index)]---END
|
|
384
|
+
323 => 'ChangeVehicleGraphic',
|
|
385
|
+
|
|
386
|
+
# [int(Actor ID)]---[string(New Actor Nickname)]---END
|
|
387
|
+
324 => 'ChangeActorNickname',
|
|
388
|
+
|
|
389
|
+
# |--[int:0(Constant)]---[int:{1~999999}(Number)]--|
|
|
390
|
+
# |--[int:0(Increase)]--| |--[bool:false(Allow Knockout)]---END
|
|
391
|
+
# | |--[int:1(Variable)]---[int(Variable ID)]--------|
|
|
392
|
+
# [int:{-1:Entire Troop, 0:Troop 001, ...}]--|
|
|
393
|
+
# | |--[int:0(Constant)]---[int:{1~999999}(Number)]--|
|
|
394
|
+
# |--[int:1(Decrease)]--| |--[bool(Allow Knockout)]---END
|
|
395
|
+
# |--[int:1(Variable)]---[int(Variable ID)]--------|
|
|
396
|
+
#
|
|
397
|
+
331 => 'ChangeEnemyHP',
|
|
398
|
+
|
|
399
|
+
# |--[int:0(Constant)]---[int:{1~9999}(Number)]---END
|
|
400
|
+
# [int:{-1:Entire Troop, 0:Troop 001, ...}]---[int:{0:Increase, 1:Decrease}]--|
|
|
401
|
+
# |--[int:1(Variable)]---[int(Variable ID)]---END
|
|
402
|
+
332 => 'ChangeEnemyMP',
|
|
403
|
+
|
|
404
|
+
# [int:{-1:Entire Troop, 0:Troop 001, ...}]---[int:{0:Add, 1:Remove}]---[int(State ID)]---END
|
|
405
|
+
333 => 'ChangeEnemyState',
|
|
406
|
+
|
|
407
|
+
# [int:{-1:Entire Troop, 0:Troop 001, ...}]---END
|
|
408
|
+
334 => 'EnemyRecoverAll',
|
|
409
|
+
|
|
410
|
+
# [int:{-1:Entire Troop, 0:Troop 001, ...}]---END
|
|
411
|
+
335 => 'EnemyAppear',
|
|
412
|
+
|
|
413
|
+
# [int(Troop ID)]---[int(Enemy ID)]---END
|
|
414
|
+
336 => 'EnemyTransform',
|
|
415
|
+
|
|
416
|
+
# [int:{-1:Entire Troop, 0:Troop 001, ...}]---[int(Animation ID)]---END
|
|
417
|
+
337 => 'ShowBattleAnimation',
|
|
418
|
+
|
|
419
|
+
# |--[int:0(Enemy)]---[int(Troop ID)]--|
|
|
420
|
+
# | |--[int(Skill ID)]---[int:{-2:Last Target, -1:Random, 0:Index 1,...}]---END
|
|
421
|
+
# |--[int:1(Actor)]---[int(Actor ID)]--|
|
|
422
|
+
339 => 'ForceAction',
|
|
423
|
+
340 => 'AbortBattle',
|
|
424
|
+
351 => 'OpenMenuScreen',
|
|
425
|
+
352 => 'OpenSaveScreen',
|
|
426
|
+
353 => 'GameOver',
|
|
427
|
+
354 => 'ReturnToTitleScreen',
|
|
428
|
+
|
|
429
|
+
# [string]---END
|
|
430
|
+
355 => 'Script',
|
|
431
|
+
|
|
432
|
+
# [string]---END
|
|
433
|
+
401 => 'ShowText',
|
|
434
|
+
|
|
435
|
+
# [int(Choice Index)]---[string(Choice Name)]---END
|
|
436
|
+
402 => 'When',
|
|
437
|
+
403 => 'WhenCancel',
|
|
438
|
+
404 => 'ChoicesEnd',
|
|
439
|
+
|
|
440
|
+
# [string]---END
|
|
441
|
+
405 => 'ShowScrollingText',
|
|
442
|
+
|
|
443
|
+
# [string]---END
|
|
444
|
+
408 => 'CommentMore',
|
|
445
|
+
411 => 'Else',
|
|
446
|
+
412 => 'BranchEnd',
|
|
447
|
+
413 => 'RepeatAbove',
|
|
448
|
+
|
|
449
|
+
# [RPG::MoveCommand(45 is script)]---END
|
|
450
|
+
505 => 'MoveRoute',
|
|
451
|
+
601 => 'IfWin',
|
|
452
|
+
602 => 'IfEscape',
|
|
453
|
+
603 => 'IfLose',
|
|
454
|
+
604 => 'BattleProcessingEnd',
|
|
455
|
+
|
|
456
|
+
# |--[int:0(Price: Standard)]---[int:0]---END
|
|
457
|
+
# [int:{0:Item, 1:Weapon, 2:Armor}]---[int(Corresponded Item ID)]--|
|
|
458
|
+
# |--[int:1(Price: Specify)]---[int:{0~9999999}(Price)]---END
|
|
459
|
+
605 => 'ShopItem',
|
|
460
|
+
|
|
461
|
+
# [string]---END
|
|
462
|
+
655 => 'ScriptMore'
|
|
463
|
+
}.freeze
|
|
464
|
+
# 地图数据类
|
|
465
|
+
class Map
|
|
466
|
+
# 地图显示名
|
|
467
|
+
#
|
|
468
|
+
# @return [String]
|
|
469
|
+
attr_accessor :display_name
|
|
470
|
+
|
|
471
|
+
# 备注
|
|
472
|
+
#
|
|
473
|
+
# @return [String]
|
|
474
|
+
attr_accessor :note
|
|
475
|
+
|
|
476
|
+
# 地图事件
|
|
477
|
+
#
|
|
478
|
+
# @return [Hash{Integer => R3EXS::Event}]
|
|
479
|
+
attr_accessor :events
|
|
480
|
+
|
|
481
|
+
# 用 RPG::Map 初始化
|
|
482
|
+
#
|
|
483
|
+
# @param map [RPG::Map] 待处理的 RPG::Map 对象
|
|
484
|
+
#
|
|
485
|
+
# @return [R3EXS::Map]
|
|
486
|
+
def initialize(map)
|
|
487
|
+
@display_name = map.display_name
|
|
488
|
+
@note = map.note
|
|
489
|
+
@events = {}
|
|
490
|
+
map.events.each do |key, event|
|
|
491
|
+
next if event.nil?
|
|
492
|
+
|
|
493
|
+
event_r3exs = R3EXS::Event.new(event)
|
|
494
|
+
@events[key] = event_r3exs unless event_r3exs.empty?
|
|
495
|
+
end
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
# 注入到 RPG::Map 对象
|
|
499
|
+
#
|
|
500
|
+
# @param map [RPG::Map] 待注入的 RPG::Map 对象
|
|
501
|
+
#
|
|
502
|
+
# @return [void]
|
|
503
|
+
def inject_to(map)
|
|
504
|
+
map.display_name = @display_name
|
|
505
|
+
map.note = @note
|
|
506
|
+
@events.each { |key, event| event.inject_to(map.events[key]) }
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
# 提取所有的字符串
|
|
510
|
+
#
|
|
511
|
+
# @return [Array<String>]
|
|
512
|
+
def ex_strings
|
|
513
|
+
strings = [@display_name]
|
|
514
|
+
strings << @note
|
|
515
|
+
@events.each_value { |event| strings.concat(event.ex_strings) }
|
|
516
|
+
strings
|
|
517
|
+
end
|
|
518
|
+
|
|
519
|
+
# 将所有的字符串替换为指定的字符串
|
|
520
|
+
#
|
|
521
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
522
|
+
#
|
|
523
|
+
# @return [void]
|
|
524
|
+
def in_strings(hash)
|
|
525
|
+
@display_name = hash.fetch(@display_name, @display_name)
|
|
526
|
+
@note = hash.fetch(@note, @note)
|
|
527
|
+
@events.each_value { |event| event.in_strings(hash) }
|
|
528
|
+
end
|
|
529
|
+
end
|
|
530
|
+
|
|
531
|
+
# 地图信息的数据类
|
|
532
|
+
class MapInfo
|
|
533
|
+
# 地图名称
|
|
534
|
+
#
|
|
535
|
+
# @return [String]
|
|
536
|
+
attr_accessor :name
|
|
537
|
+
|
|
538
|
+
# 用 RPG::MapInfo 初始化
|
|
539
|
+
#
|
|
540
|
+
# @param mapinfo [RPG::MapInfo] 待处理的 RPG::MapInfo 对象
|
|
541
|
+
#
|
|
542
|
+
# @return [R3EXS::MapInfo]
|
|
543
|
+
def initialize(mapinfo)
|
|
544
|
+
@name = mapinfo.name
|
|
545
|
+
end
|
|
546
|
+
|
|
547
|
+
# 注入到 RPG::MapInfo 对象
|
|
548
|
+
#
|
|
549
|
+
# @param mapinfo [RPG::MapInfo] 待注入的 RPG::MapInfo 对象
|
|
550
|
+
#
|
|
551
|
+
# @return [void]
|
|
552
|
+
def inject_to(mapinfo)
|
|
553
|
+
mapinfo.name = @name
|
|
554
|
+
end
|
|
555
|
+
|
|
556
|
+
# 提取所有的字符串
|
|
557
|
+
#
|
|
558
|
+
# @return [Array<String>]
|
|
559
|
+
def ex_strings
|
|
560
|
+
[@name]
|
|
561
|
+
end
|
|
562
|
+
|
|
563
|
+
# 将所有的字符串替换为指定的字符串
|
|
564
|
+
#
|
|
565
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
566
|
+
#
|
|
567
|
+
# @return [void]
|
|
568
|
+
def in_strings(hash)
|
|
569
|
+
@name = hash.fetch(@name, @name)
|
|
570
|
+
end
|
|
571
|
+
|
|
572
|
+
# 判断是否为空
|
|
573
|
+
#
|
|
574
|
+
# @return [Boolean]
|
|
575
|
+
def empty?
|
|
576
|
+
@name.blank?
|
|
577
|
+
end
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
# 地图事件的数据类
|
|
581
|
+
class Event
|
|
582
|
+
# 名称
|
|
583
|
+
#
|
|
584
|
+
# @return [String]
|
|
585
|
+
attr_accessor :name
|
|
586
|
+
|
|
587
|
+
# 事件页数组
|
|
588
|
+
#
|
|
589
|
+
# @return [Array<R3EXS::Event::Page>]
|
|
590
|
+
attr_accessor :pages
|
|
591
|
+
|
|
592
|
+
# 用 RPG::Event 初始化
|
|
593
|
+
#
|
|
594
|
+
# @param event [RPG::Event] 待处理的 RPG::Event 对象
|
|
595
|
+
#
|
|
596
|
+
# @return [R3EXS::Event]
|
|
597
|
+
def initialize(event)
|
|
598
|
+
@name = event.name
|
|
599
|
+
@pages = []
|
|
600
|
+
event.pages.each_with_index do |page, page_index|
|
|
601
|
+
next if page.nil?
|
|
602
|
+
|
|
603
|
+
page_r3exs = R3EXS::Event::Page.new(page, page_index)
|
|
604
|
+
@pages << page_r3exs unless page_r3exs.empty?
|
|
605
|
+
end
|
|
606
|
+
end
|
|
607
|
+
|
|
608
|
+
# 注入到 RPG::Event 对象
|
|
609
|
+
#
|
|
610
|
+
# @param event [RPG::Event] 待注入的 RPG::Event 对象
|
|
611
|
+
#
|
|
612
|
+
# @return [void]
|
|
613
|
+
def inject_to(event)
|
|
614
|
+
event.name = @name
|
|
615
|
+
@pages.each { |page| page.inject_to(event.pages[page.index]) }
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
# 提取所有的字符串
|
|
619
|
+
#
|
|
620
|
+
# @return [Array<String>]
|
|
621
|
+
def ex_strings
|
|
622
|
+
strings = [@name]
|
|
623
|
+
@pages.each { |page| strings.concat(page.ex_strings) }
|
|
624
|
+
strings
|
|
625
|
+
end
|
|
626
|
+
|
|
627
|
+
# 将所有的字符串替换为指定的字符串
|
|
628
|
+
#
|
|
629
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
630
|
+
#
|
|
631
|
+
# @return [void]
|
|
632
|
+
def in_strings(hash)
|
|
633
|
+
@name = hash.fetch(@name, @name)
|
|
634
|
+
@pages.each { |page| page.in_strings(hash) }
|
|
635
|
+
end
|
|
636
|
+
|
|
637
|
+
# 判断是否为空
|
|
638
|
+
#
|
|
639
|
+
# @return [Boolean]
|
|
640
|
+
def empty?
|
|
641
|
+
@name.blank? && @pages.empty?
|
|
642
|
+
end
|
|
643
|
+
|
|
644
|
+
# 地图事件块事件页资料
|
|
645
|
+
class Page
|
|
646
|
+
# 在原始数组中的索引
|
|
647
|
+
#
|
|
648
|
+
# @return [Integer]
|
|
649
|
+
attr_accessor :index
|
|
650
|
+
|
|
651
|
+
# 执行内容
|
|
652
|
+
#
|
|
653
|
+
# @return [Array<R3EXS::EventCommand>]
|
|
654
|
+
attr_accessor :list
|
|
655
|
+
|
|
656
|
+
# 用 RPG::Event::Page 初始化
|
|
657
|
+
#
|
|
658
|
+
# @param page [RPG::Event::Page] 待处理的 RPG::Event::Page 对象
|
|
659
|
+
# @param index [Integer] 在原始数组中的索引
|
|
660
|
+
#
|
|
661
|
+
# @return [R3EXS::Event::Page]
|
|
662
|
+
def initialize(page, index)
|
|
663
|
+
@index = index
|
|
664
|
+
@list = []
|
|
665
|
+
page.list.each_with_index do |eventcommand, eventcommand_index|
|
|
666
|
+
next if eventcommand.nil?
|
|
667
|
+
|
|
668
|
+
eventcommand_r3exs = R3EXS::EventCommand.new(eventcommand, eventcommand_index)
|
|
669
|
+
@list << eventcommand_r3exs unless eventcommand_r3exs.empty?
|
|
670
|
+
end
|
|
671
|
+
end
|
|
672
|
+
|
|
673
|
+
# 注入到 RPG::Event::Page 对象
|
|
674
|
+
#
|
|
675
|
+
# @param page [RPG::Event::Page] 待注入的 RPG::Event::Page 对象
|
|
676
|
+
#
|
|
677
|
+
# @return [void]
|
|
678
|
+
def inject_to(page)
|
|
679
|
+
@list.each { |eventcommand| eventcommand.inject_to(page.list[eventcommand.index]) }
|
|
680
|
+
end
|
|
681
|
+
|
|
682
|
+
# 提取所有的字符串
|
|
683
|
+
#
|
|
684
|
+
# @return [Array<String>]
|
|
685
|
+
def ex_strings
|
|
686
|
+
strings = []
|
|
687
|
+
@list.each { |eventcommand| strings.concat(eventcommand.ex_strings) }
|
|
688
|
+
strings
|
|
689
|
+
end
|
|
690
|
+
|
|
691
|
+
# 将所有的字符串替换为指定的字符串
|
|
692
|
+
#
|
|
693
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
694
|
+
#
|
|
695
|
+
# @return [void]
|
|
696
|
+
def in_strings(hash)
|
|
697
|
+
@list.each { |eventcommand| eventcommand.in_strings(hash) }
|
|
698
|
+
end
|
|
699
|
+
|
|
700
|
+
# 判断是否为空
|
|
701
|
+
#
|
|
702
|
+
# @return [Boolean]
|
|
703
|
+
def empty?
|
|
704
|
+
@list.empty?
|
|
705
|
+
end
|
|
706
|
+
end
|
|
707
|
+
end
|
|
708
|
+
|
|
709
|
+
# 事件指令的数据类
|
|
710
|
+
class EventCommand
|
|
711
|
+
# 在原始数组中的索引
|
|
712
|
+
#
|
|
713
|
+
# @return [Integer]
|
|
714
|
+
attr_accessor :index
|
|
715
|
+
|
|
716
|
+
# 事件指令代码
|
|
717
|
+
#
|
|
718
|
+
# @return [Integer]
|
|
719
|
+
attr_accessor :code
|
|
720
|
+
|
|
721
|
+
# 事件指令用途
|
|
722
|
+
#
|
|
723
|
+
# @return [String]
|
|
724
|
+
attr_accessor :usage
|
|
725
|
+
|
|
726
|
+
# 事件指令参数
|
|
727
|
+
#
|
|
728
|
+
# @return [Array<String, R3EXS::MoveRoute>]
|
|
729
|
+
attr_accessor :parameter
|
|
730
|
+
|
|
731
|
+
# 用 RPG::EventCommand 初始化
|
|
732
|
+
#
|
|
733
|
+
# @param eventcommand [RPG::EventCommand] 待处理的 RPG::EventCommand 对象
|
|
734
|
+
# @param index [Integer] 在原始数组中的索引
|
|
735
|
+
#
|
|
736
|
+
# @return [R3EXS::EventCommand]
|
|
737
|
+
def initialize(eventcommand, index)
|
|
738
|
+
@index = index
|
|
739
|
+
@code = eventcommand.code
|
|
740
|
+
@parameter = []
|
|
741
|
+
case @code
|
|
742
|
+
when 102 # ShowChoices
|
|
743
|
+
@usage = EVENT_COMMANDS[102]
|
|
744
|
+
@parameter.concat(eventcommand.parameters[0])
|
|
745
|
+
when 108 # Comment
|
|
746
|
+
@usage = EVENT_COMMANDS[108]
|
|
747
|
+
@parameter << eventcommand.parameters[0]
|
|
748
|
+
when 111 # ConditionalBranch
|
|
749
|
+
@usage = EVENT_COMMANDS[111]
|
|
750
|
+
if eventcommand.parameters[0] == 4 && eventcommand.parameters[2] == 1
|
|
751
|
+
@parameter << eventcommand.parameters[3]
|
|
752
|
+
elsif eventcommand.parameters[0] == 12
|
|
753
|
+
@parameter << eventcommand.parameters[1]
|
|
754
|
+
end
|
|
755
|
+
when 118 # Label
|
|
756
|
+
@usage = EVENT_COMMANDS[118]
|
|
757
|
+
@parameter << eventcommand.parameters[0]
|
|
758
|
+
when 119 # JumpToLabel
|
|
759
|
+
@usage = EVENT_COMMANDS[119]
|
|
760
|
+
@parameter << eventcommand.parameters[0]
|
|
761
|
+
when 122 # ControlVariables
|
|
762
|
+
if eventcommand.parameters[3] == 4
|
|
763
|
+
@usage = EVENT_COMMANDS[122]
|
|
764
|
+
@parameter << eventcommand.parameters[4]
|
|
765
|
+
end
|
|
766
|
+
when 205 # SetMoveRoute
|
|
767
|
+
moveroute_r3exs = R3EXS::MoveRoute.new(eventcommand.parameters[1])
|
|
768
|
+
unless moveroute_r3exs.empty?
|
|
769
|
+
@usage = EVENT_COMMANDS[205]
|
|
770
|
+
@parameter << moveroute_r3exs
|
|
771
|
+
end
|
|
772
|
+
when 320 # ChangeActorName
|
|
773
|
+
@usage = EVENT_COMMANDS[320]
|
|
774
|
+
@parameter << eventcommand.parameters[1]
|
|
775
|
+
when 324 # ChangeActorNickname
|
|
776
|
+
@usage = EVENT_COMMANDS[324]
|
|
777
|
+
@parameter << eventcommand.parameters[1]
|
|
778
|
+
when 355 # Script
|
|
779
|
+
@usage = EVENT_COMMANDS[355]
|
|
780
|
+
@parameter << eventcommand.parameters[0]
|
|
781
|
+
when 401 # ShowText
|
|
782
|
+
@usage = EVENT_COMMANDS[401]
|
|
783
|
+
@parameter << eventcommand.parameters[0]
|
|
784
|
+
when 402 # When
|
|
785
|
+
@usage = EVENT_COMMANDS[402]
|
|
786
|
+
@parameter << eventcommand.parameters[1]
|
|
787
|
+
when 405 # ShowScrollingText
|
|
788
|
+
@usage = EVENT_COMMANDS[405]
|
|
789
|
+
@parameter << eventcommand.parameters[0]
|
|
790
|
+
when 408 # CommentMore
|
|
791
|
+
@usage = EVENT_COMMANDS[408]
|
|
792
|
+
@parameter << eventcommand.parameters[0]
|
|
793
|
+
when 655 # ScriptMore
|
|
794
|
+
@usage = EVENT_COMMANDS[655]
|
|
795
|
+
@parameter << eventcommand.parameters[0]
|
|
796
|
+
end
|
|
797
|
+
end
|
|
798
|
+
|
|
799
|
+
# 注入到 RPG::EventCommand 对象
|
|
800
|
+
#
|
|
801
|
+
# @param eventcommand [RPG::EventCommand] 待注入的 RPG::EventCommand 对象
|
|
802
|
+
#
|
|
803
|
+
# @return [void]
|
|
804
|
+
def inject_to(eventcommand)
|
|
805
|
+
case eventcommand.code
|
|
806
|
+
when 102 # ShowChoices
|
|
807
|
+
eventcommand.parameters[0] = @parameter
|
|
808
|
+
when 108 # Comment
|
|
809
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
810
|
+
when 111 # ConditionalBranch
|
|
811
|
+
if eventcommand.parameters[0] == 4 && eventcommand.parameters[2] == 1
|
|
812
|
+
eventcommand.parameters[3] = @parameter[0]
|
|
813
|
+
elsif eventcommand.parameters[0] == 12
|
|
814
|
+
eventcommand.parameters[1] = @parameter[0]
|
|
815
|
+
end
|
|
816
|
+
when 118 # Label
|
|
817
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
818
|
+
when 119 # JumpToLabel
|
|
819
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
820
|
+
when 122 # ControlVariables
|
|
821
|
+
eventcommand.parameters[4] = @parameter[0]
|
|
822
|
+
when 205 # SetMoveRoute
|
|
823
|
+
@parameter[0].inject_to(eventcommand.parameters[1])
|
|
824
|
+
when 320 # ChangeActorName
|
|
825
|
+
eventcommand.parameters[1] = @parameter[0]
|
|
826
|
+
when 324 # ChangeActorNickname
|
|
827
|
+
eventcommand.parameters[1] = @parameter[0]
|
|
828
|
+
when 355 # Script
|
|
829
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
830
|
+
when 401 # ShowText
|
|
831
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
832
|
+
when 402 # When
|
|
833
|
+
eventcommand.parameters[1] = @parameter[0]
|
|
834
|
+
when 405 # ShowScrollingText
|
|
835
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
836
|
+
when 408 # CommentMore
|
|
837
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
838
|
+
when 655 # ScriptMore
|
|
839
|
+
eventcommand.parameters[0] = @parameter[0]
|
|
840
|
+
end
|
|
841
|
+
end
|
|
842
|
+
|
|
843
|
+
# 提取所有的字符串
|
|
844
|
+
#
|
|
845
|
+
# @return [Array<String>]
|
|
846
|
+
def ex_strings
|
|
847
|
+
strings = []
|
|
848
|
+
if @code == 205
|
|
849
|
+
strings.concat(@parameter[0].ex_strings)
|
|
850
|
+
else
|
|
851
|
+
strings.concat(@parameter)
|
|
852
|
+
end
|
|
853
|
+
strings
|
|
854
|
+
end
|
|
855
|
+
|
|
856
|
+
# 将所有的字符串替换为指定的字符串
|
|
857
|
+
#
|
|
858
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
859
|
+
#
|
|
860
|
+
# @return [void]
|
|
861
|
+
def in_strings(hash)
|
|
862
|
+
if @code == 205
|
|
863
|
+
@parameter[0].in_strings(hash)
|
|
864
|
+
else
|
|
865
|
+
@parameter.map! { |string| hash.fetch(string, string) }
|
|
866
|
+
end
|
|
867
|
+
end
|
|
868
|
+
|
|
869
|
+
# 判断是否为空
|
|
870
|
+
#
|
|
871
|
+
# @return [Boolean]
|
|
872
|
+
def empty?
|
|
873
|
+
@parameter.empty?
|
|
874
|
+
end
|
|
875
|
+
end
|
|
876
|
+
|
|
877
|
+
# 移动路线的数据类
|
|
878
|
+
class MoveRoute
|
|
879
|
+
# 移动路线内容
|
|
880
|
+
#
|
|
881
|
+
# @return [Array<R3EXS::MoveCommand>]
|
|
882
|
+
attr_accessor :list
|
|
883
|
+
|
|
884
|
+
# 用 RPG::MoveRoute 初始化
|
|
885
|
+
#
|
|
886
|
+
# @param moveroute [RPG::MoveRoute] 待处理的 RPG::MoveRoute 对象
|
|
887
|
+
#
|
|
888
|
+
# @return [R3EXS::MoveRoute]
|
|
889
|
+
def initialize(moveroute)
|
|
890
|
+
@list = []
|
|
891
|
+
moveroute.list.each_with_index do |movecommand, index|
|
|
892
|
+
next if movecommand.nil?
|
|
893
|
+
|
|
894
|
+
movecommand_r3exs = R3EXS::MoveCommand.new(movecommand, index)
|
|
895
|
+
@list << movecommand_r3exs unless movecommand_r3exs.empty?
|
|
896
|
+
end
|
|
897
|
+
end
|
|
898
|
+
|
|
899
|
+
# 注入到 RPG::MoveRoute 对象
|
|
900
|
+
#
|
|
901
|
+
# @param moveroute [RPG::MoveRoute] 待注入的 RPG::MoveRoute 对象
|
|
902
|
+
#
|
|
903
|
+
# @return [void]
|
|
904
|
+
def inject_to(moveroute)
|
|
905
|
+
@list.each { |movecommand| movecommand.inject_to(moveroute.list[movecommand.index]) }
|
|
906
|
+
end
|
|
907
|
+
|
|
908
|
+
# 提取所有的字符串
|
|
909
|
+
#
|
|
910
|
+
# @return [Array<String>]
|
|
911
|
+
def ex_strings
|
|
912
|
+
strings = []
|
|
913
|
+
@list.each { |movecommand| strings.concat(movecommand.ex_strings) }
|
|
914
|
+
strings
|
|
915
|
+
end
|
|
916
|
+
|
|
917
|
+
# 将所有的字符串替换为指定的字符串
|
|
918
|
+
#
|
|
919
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
920
|
+
#
|
|
921
|
+
# @return [void]
|
|
922
|
+
def in_strings(hash)
|
|
923
|
+
@list.each { |movecommand| movecommand.in_strings(hash) }
|
|
924
|
+
end
|
|
925
|
+
|
|
926
|
+
# 判断是否为空
|
|
927
|
+
#
|
|
928
|
+
# @return [Boolean]
|
|
929
|
+
def empty?
|
|
930
|
+
@list.empty?
|
|
931
|
+
end
|
|
932
|
+
end
|
|
933
|
+
|
|
934
|
+
# 移动路线指令的数据类
|
|
935
|
+
class MoveCommand
|
|
936
|
+
# 在原始数组中的索引
|
|
937
|
+
#
|
|
938
|
+
# @return [Integer]
|
|
939
|
+
attr_accessor :index
|
|
940
|
+
|
|
941
|
+
# 移动路线指令代码
|
|
942
|
+
#
|
|
943
|
+
# @return [Integer]
|
|
944
|
+
attr_accessor :code
|
|
945
|
+
|
|
946
|
+
# 移动指令用途
|
|
947
|
+
#
|
|
948
|
+
# @return [String]
|
|
949
|
+
attr_accessor :usage
|
|
950
|
+
|
|
951
|
+
# 移动指令参数
|
|
952
|
+
#
|
|
953
|
+
# @return [Array<String>]
|
|
954
|
+
attr_accessor :parameter
|
|
955
|
+
|
|
956
|
+
# 用 RPG::MoveCommand 初始化
|
|
957
|
+
#
|
|
958
|
+
# @param movecommand [RPG::MoveCommand] 待处理的 RPG::MoveCommand 对象
|
|
959
|
+
# @param index [Integer] 在原始数组中的索引
|
|
960
|
+
#
|
|
961
|
+
# @return [R3EXS::MoveCommand]
|
|
962
|
+
def initialize(movecommand, index)
|
|
963
|
+
@index = index
|
|
964
|
+
@code = movecommand.code
|
|
965
|
+
@parameter = []
|
|
966
|
+
return unless @code == 45
|
|
967
|
+
|
|
968
|
+
@usage = 'MoveCommandScript'
|
|
969
|
+
@parameter << movecommand.parameters[0]
|
|
970
|
+
end
|
|
971
|
+
|
|
972
|
+
# 注入到 RPG::MoveCommand 对象
|
|
973
|
+
#
|
|
974
|
+
# @param movecommand [RPG::MoveCommand] 待注入的 RPG::MoveCommand 对象
|
|
975
|
+
#
|
|
976
|
+
# @return [void]
|
|
977
|
+
def inject_to(movecommand)
|
|
978
|
+
return unless movecommand.code == 45
|
|
979
|
+
|
|
980
|
+
movecommand.parameters[0] = @parameter[0]
|
|
981
|
+
end
|
|
982
|
+
|
|
983
|
+
# 提取所有的字符串
|
|
984
|
+
#
|
|
985
|
+
# @return [Array<String>]
|
|
986
|
+
def ex_strings
|
|
987
|
+
@parameter
|
|
988
|
+
end
|
|
989
|
+
|
|
990
|
+
# 将所有的字符串替换为指定的字符串
|
|
991
|
+
#
|
|
992
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
993
|
+
#
|
|
994
|
+
# @return [void]
|
|
995
|
+
def in_strings(hash)
|
|
996
|
+
@parameter.map! { |string| hash.fetch(string, string) }
|
|
997
|
+
end
|
|
998
|
+
|
|
999
|
+
# 判断是否为空
|
|
1000
|
+
#
|
|
1001
|
+
# @return [Boolean]
|
|
1002
|
+
def empty?
|
|
1003
|
+
@parameter.empty?
|
|
1004
|
+
end
|
|
1005
|
+
end
|
|
1006
|
+
|
|
1007
|
+
# 角色、职业、技能、物品、武器、护甲、敌人和状态的超类
|
|
1008
|
+
class BaseItem
|
|
1009
|
+
# 在原始数组中的索引
|
|
1010
|
+
#
|
|
1011
|
+
# @return [Integer]
|
|
1012
|
+
attr_reader :index
|
|
1013
|
+
|
|
1014
|
+
# 名称
|
|
1015
|
+
#
|
|
1016
|
+
# @return [String]
|
|
1017
|
+
attr_accessor :name
|
|
1018
|
+
|
|
1019
|
+
# 说明
|
|
1020
|
+
#
|
|
1021
|
+
# @return [String]
|
|
1022
|
+
attr_accessor :description
|
|
1023
|
+
|
|
1024
|
+
# 备注
|
|
1025
|
+
#
|
|
1026
|
+
# @return [String]
|
|
1027
|
+
attr_accessor :note
|
|
1028
|
+
|
|
1029
|
+
# 用 RPG::BaseItem 初始化
|
|
1030
|
+
#
|
|
1031
|
+
# @param baseitem [RPG::BaseItem] 待处理的 RPG::BaseItem 对象
|
|
1032
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1033
|
+
#
|
|
1034
|
+
# @return [R3EXS::BaseItem]
|
|
1035
|
+
def initialize(baseitem, index)
|
|
1036
|
+
@index = index
|
|
1037
|
+
@name = baseitem.name
|
|
1038
|
+
@description = baseitem.description
|
|
1039
|
+
@note = baseitem.note
|
|
1040
|
+
end
|
|
1041
|
+
|
|
1042
|
+
# 注入到 RPG::BaseItem 对象
|
|
1043
|
+
#
|
|
1044
|
+
# @param baseitem [RPG::BaseItem] 待注入的 RPG::BaseItem 对象
|
|
1045
|
+
#
|
|
1046
|
+
# @return [void]
|
|
1047
|
+
def inject_to(baseitem)
|
|
1048
|
+
baseitem.name = @name
|
|
1049
|
+
baseitem.description = @description
|
|
1050
|
+
baseitem.note = @note
|
|
1051
|
+
end
|
|
1052
|
+
|
|
1053
|
+
# 提取所有的字符串
|
|
1054
|
+
#
|
|
1055
|
+
# @return [Array<String>]
|
|
1056
|
+
def ex_strings
|
|
1057
|
+
strings = []
|
|
1058
|
+
strings << @name
|
|
1059
|
+
strings << @description
|
|
1060
|
+
strings << @note
|
|
1061
|
+
strings
|
|
1062
|
+
end
|
|
1063
|
+
|
|
1064
|
+
# 将所有的字符串替换为指定的字符串
|
|
1065
|
+
#
|
|
1066
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1067
|
+
#
|
|
1068
|
+
# @return [void]
|
|
1069
|
+
def in_strings(hash)
|
|
1070
|
+
@name = hash.fetch(@name, @name)
|
|
1071
|
+
@description = hash.fetch(@description, @description)
|
|
1072
|
+
@note = hash.fetch(@note, @note)
|
|
1073
|
+
end
|
|
1074
|
+
|
|
1075
|
+
# 判断是否为空
|
|
1076
|
+
#
|
|
1077
|
+
# @return [Boolean]
|
|
1078
|
+
def empty?
|
|
1079
|
+
@name.blank? && @description.blank? && @note.blank?
|
|
1080
|
+
end
|
|
1081
|
+
end
|
|
1082
|
+
|
|
1083
|
+
# 角色的数据类
|
|
1084
|
+
class Actor < BaseItem
|
|
1085
|
+
# 称号
|
|
1086
|
+
#
|
|
1087
|
+
# @return [String]
|
|
1088
|
+
attr_accessor :nickname
|
|
1089
|
+
|
|
1090
|
+
# 用 RPG::Actor 初始化
|
|
1091
|
+
#
|
|
1092
|
+
# @param actor [RPG::Actor] 待处理的 RPG::Actor 对象
|
|
1093
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1094
|
+
#
|
|
1095
|
+
# @return [R3EXS::Actor]
|
|
1096
|
+
def initialize(actor, index)
|
|
1097
|
+
super(actor, index)
|
|
1098
|
+
@nickname = actor.nickname
|
|
1099
|
+
end
|
|
1100
|
+
|
|
1101
|
+
# 注入到 RPG::Actor 对象
|
|
1102
|
+
#
|
|
1103
|
+
# @param actor [RPG::Actor] 待注入的 RPG::Actor 对象
|
|
1104
|
+
#
|
|
1105
|
+
# @return [void]
|
|
1106
|
+
def inject_to(actor)
|
|
1107
|
+
super(actor)
|
|
1108
|
+
actor.nickname = @nickname
|
|
1109
|
+
end
|
|
1110
|
+
|
|
1111
|
+
# 提取所有的字符串
|
|
1112
|
+
#
|
|
1113
|
+
# @return [Array<String>]
|
|
1114
|
+
def ex_strings
|
|
1115
|
+
strings = super
|
|
1116
|
+
strings << @nickname
|
|
1117
|
+
strings
|
|
1118
|
+
end
|
|
1119
|
+
|
|
1120
|
+
# 将所有的字符串替换为指定的字符串
|
|
1121
|
+
#
|
|
1122
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1123
|
+
#
|
|
1124
|
+
# @return [void]
|
|
1125
|
+
def in_strings(hash)
|
|
1126
|
+
super(hash)
|
|
1127
|
+
@nickname = hash.fetch(@nickname, @nickname)
|
|
1128
|
+
end
|
|
1129
|
+
|
|
1130
|
+
# 判断是否为空
|
|
1131
|
+
#
|
|
1132
|
+
# @return [Boolean]
|
|
1133
|
+
def empty?
|
|
1134
|
+
super && @nickname.blank?
|
|
1135
|
+
end
|
|
1136
|
+
end
|
|
1137
|
+
|
|
1138
|
+
# 职业的数据类
|
|
1139
|
+
class Class < BaseItem
|
|
1140
|
+
# 习得技能
|
|
1141
|
+
#
|
|
1142
|
+
# @return [Array<R3EXS::Class::Learning>]
|
|
1143
|
+
attr_accessor :learnings
|
|
1144
|
+
|
|
1145
|
+
# 用 RPG::Class 初始化
|
|
1146
|
+
#
|
|
1147
|
+
# @param klass [RPG::Class] 待处理的 RPG::Class 对象
|
|
1148
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1149
|
+
#
|
|
1150
|
+
# @return [R3EXS::Class]
|
|
1151
|
+
def initialize(klass, index)
|
|
1152
|
+
super(klass, index)
|
|
1153
|
+
@learnings = []
|
|
1154
|
+
klass.learnings.each_with_index do |learning, learning_index|
|
|
1155
|
+
next if learning.nil?
|
|
1156
|
+
|
|
1157
|
+
learning_r3exs = R3EXS::Class::Learning.new(learning, learning_index)
|
|
1158
|
+
@learnings << learning_r3exs unless learning_r3exs.empty?
|
|
1159
|
+
end
|
|
1160
|
+
end
|
|
1161
|
+
|
|
1162
|
+
# 注入到 RPG::Class 对象
|
|
1163
|
+
#
|
|
1164
|
+
# @param klass [RPG::Class] 待注入的 RPG::Class 对象
|
|
1165
|
+
#
|
|
1166
|
+
# @return [void]
|
|
1167
|
+
def inject_to(klass)
|
|
1168
|
+
super(klass)
|
|
1169
|
+
@learnings.each { |learning| learning.inject_to(klass.learnings[learning.index]) }
|
|
1170
|
+
end
|
|
1171
|
+
|
|
1172
|
+
# 提取所有的字符串
|
|
1173
|
+
#
|
|
1174
|
+
# @return [Array<String>]
|
|
1175
|
+
def ex_strings
|
|
1176
|
+
strings = super
|
|
1177
|
+
@learnings.each { |learning| strings.concat(learning.ex_strings) }
|
|
1178
|
+
strings
|
|
1179
|
+
end
|
|
1180
|
+
|
|
1181
|
+
# 将所有的字符串替换为指定的字符串
|
|
1182
|
+
#
|
|
1183
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1184
|
+
#
|
|
1185
|
+
# @return [void]
|
|
1186
|
+
def in_strings(hash)
|
|
1187
|
+
super(hash)
|
|
1188
|
+
@learnings.each { |learning| learning.in_strings(hash) }
|
|
1189
|
+
end
|
|
1190
|
+
|
|
1191
|
+
# 判断是否为空
|
|
1192
|
+
#
|
|
1193
|
+
# @return [Boolean]
|
|
1194
|
+
def empty?
|
|
1195
|
+
super && @learnings.empty?
|
|
1196
|
+
end
|
|
1197
|
+
|
|
1198
|
+
# 职业[技能]的数据类
|
|
1199
|
+
class Learning
|
|
1200
|
+
# 在原始数组中的索引
|
|
1201
|
+
#
|
|
1202
|
+
# @return [Integer]
|
|
1203
|
+
attr_reader :index
|
|
1204
|
+
|
|
1205
|
+
# 备注
|
|
1206
|
+
#
|
|
1207
|
+
# @return [String]
|
|
1208
|
+
attr_accessor :note
|
|
1209
|
+
|
|
1210
|
+
# 用 RPG::Class::Learning 初始化
|
|
1211
|
+
#
|
|
1212
|
+
# @param learning [RPG::Class::Learning] 待处理的 RPG::Class::Learning 对象
|
|
1213
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1214
|
+
#
|
|
1215
|
+
# @return [R3EXS::Class::Learning]
|
|
1216
|
+
def initialize(learning, index)
|
|
1217
|
+
@index = index
|
|
1218
|
+
@note = learning.note
|
|
1219
|
+
end
|
|
1220
|
+
|
|
1221
|
+
# 注入到 RPG::Class::Learning 对象
|
|
1222
|
+
#
|
|
1223
|
+
# @param learning [RPG::Class::Learning] 待注入的 RPG::Class::Learning 对象
|
|
1224
|
+
#
|
|
1225
|
+
# @return [void]
|
|
1226
|
+
def inject_to(learning)
|
|
1227
|
+
learning.note = @note
|
|
1228
|
+
end
|
|
1229
|
+
|
|
1230
|
+
# 提取所有的字符串
|
|
1231
|
+
#
|
|
1232
|
+
# @return [Array<String>]
|
|
1233
|
+
def ex_strings
|
|
1234
|
+
[@note]
|
|
1235
|
+
end
|
|
1236
|
+
|
|
1237
|
+
# 将所有的字符串替换为指定的字符串
|
|
1238
|
+
#
|
|
1239
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1240
|
+
#
|
|
1241
|
+
# @return [void]
|
|
1242
|
+
def in_strings(hash)
|
|
1243
|
+
@note = hash.fetch(@note, @note)
|
|
1244
|
+
end
|
|
1245
|
+
|
|
1246
|
+
# 判断是否为空
|
|
1247
|
+
#
|
|
1248
|
+
# @return [Boolean]
|
|
1249
|
+
def empty?
|
|
1250
|
+
@note.blank?
|
|
1251
|
+
end
|
|
1252
|
+
end
|
|
1253
|
+
end
|
|
1254
|
+
|
|
1255
|
+
# 技能和物品的超类
|
|
1256
|
+
class UsableItem < BaseItem
|
|
1257
|
+
end
|
|
1258
|
+
|
|
1259
|
+
# 技能的数据类
|
|
1260
|
+
class Skill < UsableItem
|
|
1261
|
+
# 使用时的信息
|
|
1262
|
+
#
|
|
1263
|
+
# @return [String]
|
|
1264
|
+
attr_accessor :message1
|
|
1265
|
+
|
|
1266
|
+
# 使用时的信息
|
|
1267
|
+
#
|
|
1268
|
+
# @return [String]
|
|
1269
|
+
attr_accessor :message2
|
|
1270
|
+
|
|
1271
|
+
# 用 RPG::Skill 初始化
|
|
1272
|
+
#
|
|
1273
|
+
# @param skill [RPG::Skill] 待处理的 RPG::Skill 对象
|
|
1274
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1275
|
+
#
|
|
1276
|
+
# @return [R3EXS::Skill]
|
|
1277
|
+
def initialize(skill, index)
|
|
1278
|
+
super(skill, index)
|
|
1279
|
+
@message1 = skill.message1
|
|
1280
|
+
@message2 = skill.message2
|
|
1281
|
+
end
|
|
1282
|
+
|
|
1283
|
+
# 注入到 RPG::Skill 对象
|
|
1284
|
+
#
|
|
1285
|
+
# @param skill [RPG::Skill] 待注入的 RPG::Skill 对象
|
|
1286
|
+
#
|
|
1287
|
+
# @return [void]
|
|
1288
|
+
def inject_to(skill)
|
|
1289
|
+
super
|
|
1290
|
+
skill.message1 = @message1
|
|
1291
|
+
skill.message2 = @message2
|
|
1292
|
+
end
|
|
1293
|
+
|
|
1294
|
+
# 提取所有的字符串
|
|
1295
|
+
#
|
|
1296
|
+
# @return [Array<String>]
|
|
1297
|
+
def ex_strings
|
|
1298
|
+
strings = super
|
|
1299
|
+
strings << @message1
|
|
1300
|
+
strings << @message2
|
|
1301
|
+
strings
|
|
1302
|
+
end
|
|
1303
|
+
|
|
1304
|
+
# 将所有的字符串替换为指定的字符串
|
|
1305
|
+
#
|
|
1306
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1307
|
+
#
|
|
1308
|
+
# @return [void]
|
|
1309
|
+
def in_strings(hash)
|
|
1310
|
+
super(hash)
|
|
1311
|
+
@message1 = hash.fetch(@message1, @message1)
|
|
1312
|
+
@message2 = hash.fetch(@message2, @message2)
|
|
1313
|
+
end
|
|
1314
|
+
|
|
1315
|
+
# 判断是否为空
|
|
1316
|
+
#
|
|
1317
|
+
# @return [Boolean]
|
|
1318
|
+
def empty?
|
|
1319
|
+
super && @message1.blank? && @message2.blank?
|
|
1320
|
+
end
|
|
1321
|
+
end
|
|
1322
|
+
|
|
1323
|
+
# 物品的数据类
|
|
1324
|
+
class Item < UsableItem
|
|
1325
|
+
end
|
|
1326
|
+
|
|
1327
|
+
# 武器与护甲的超类
|
|
1328
|
+
class EquipItem < BaseItem
|
|
1329
|
+
end
|
|
1330
|
+
|
|
1331
|
+
# 武器的数据类
|
|
1332
|
+
class Weapon < EquipItem
|
|
1333
|
+
end
|
|
1334
|
+
|
|
1335
|
+
# 护甲的数据类
|
|
1336
|
+
class Armor < EquipItem
|
|
1337
|
+
end
|
|
1338
|
+
|
|
1339
|
+
# 敌人的数据类
|
|
1340
|
+
class Enemy < BaseItem
|
|
1341
|
+
end
|
|
1342
|
+
|
|
1343
|
+
# 状态的数据类
|
|
1344
|
+
class State < BaseItem
|
|
1345
|
+
# 状态提示信息, 附加到队友
|
|
1346
|
+
#
|
|
1347
|
+
# @return [String]
|
|
1348
|
+
attr_accessor :message1
|
|
1349
|
+
|
|
1350
|
+
# 状态提示信息, 附加到敌人
|
|
1351
|
+
#
|
|
1352
|
+
# @return [String]
|
|
1353
|
+
attr_accessor :message2
|
|
1354
|
+
|
|
1355
|
+
# 状态提示信息, 状态持续
|
|
1356
|
+
#
|
|
1357
|
+
# @return [String]
|
|
1358
|
+
attr_accessor :message3
|
|
1359
|
+
|
|
1360
|
+
# 状态提示信息, 状态解除
|
|
1361
|
+
#
|
|
1362
|
+
# @return [String]
|
|
1363
|
+
attr_accessor :message4
|
|
1364
|
+
|
|
1365
|
+
# 用 RPG::State 初始化
|
|
1366
|
+
#
|
|
1367
|
+
# @param state [RPG::State] 待处理的 RPG::State 对象
|
|
1368
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1369
|
+
#
|
|
1370
|
+
# @return [R3EXS::State]
|
|
1371
|
+
def initialize(state, index)
|
|
1372
|
+
super(state, index)
|
|
1373
|
+
@message1 = state.message1
|
|
1374
|
+
@message2 = state.message2
|
|
1375
|
+
@message3 = state.message3
|
|
1376
|
+
@message4 = state.message4
|
|
1377
|
+
end
|
|
1378
|
+
|
|
1379
|
+
# 注入到 RPG::State 对象
|
|
1380
|
+
#
|
|
1381
|
+
# @param state [RPG::State] 待注入的 RPG::State 对象
|
|
1382
|
+
#
|
|
1383
|
+
# @return [void]
|
|
1384
|
+
def inject_to(state)
|
|
1385
|
+
super
|
|
1386
|
+
state.message1 = @message1
|
|
1387
|
+
state.message2 = @message2
|
|
1388
|
+
state.message3 = @message3
|
|
1389
|
+
state.message4 = @message4
|
|
1390
|
+
end
|
|
1391
|
+
|
|
1392
|
+
# 提取所有的字符串
|
|
1393
|
+
#
|
|
1394
|
+
# @return [Array<String>]
|
|
1395
|
+
def ex_strings
|
|
1396
|
+
strings = super
|
|
1397
|
+
strings << @message1
|
|
1398
|
+
strings << @message2
|
|
1399
|
+
strings << @message3
|
|
1400
|
+
strings << @message4
|
|
1401
|
+
strings
|
|
1402
|
+
end
|
|
1403
|
+
|
|
1404
|
+
# 将所有的字符串替换为指定的字符串
|
|
1405
|
+
#
|
|
1406
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1407
|
+
#
|
|
1408
|
+
# @return [void]
|
|
1409
|
+
def in_strings(hash)
|
|
1410
|
+
super(hash)
|
|
1411
|
+
@message1 = hash.fetch(@message1, @message1)
|
|
1412
|
+
@message2 = hash.fetch(@message2, @message2)
|
|
1413
|
+
@message3 = hash.fetch(@message3, @message3)
|
|
1414
|
+
@message4 = hash.fetch(@message4, @message4)
|
|
1415
|
+
end
|
|
1416
|
+
|
|
1417
|
+
# 判断是否为空
|
|
1418
|
+
#
|
|
1419
|
+
# @return [Boolean]
|
|
1420
|
+
def empty?
|
|
1421
|
+
super && @message1.blank? && @message2.blank? && @message3.blank? && @message4.blank?
|
|
1422
|
+
end
|
|
1423
|
+
end
|
|
1424
|
+
|
|
1425
|
+
# 敌人队伍的数据类
|
|
1426
|
+
class Troop
|
|
1427
|
+
# 在原始数组中的索引
|
|
1428
|
+
#
|
|
1429
|
+
# @return [Integer]
|
|
1430
|
+
attr_accessor :index
|
|
1431
|
+
|
|
1432
|
+
# 敌人队伍名称
|
|
1433
|
+
#
|
|
1434
|
+
# @return [String]
|
|
1435
|
+
attr_accessor :name
|
|
1436
|
+
|
|
1437
|
+
# 战斗事件
|
|
1438
|
+
#
|
|
1439
|
+
# @return [Array<R3EXS::Troop::Page>]
|
|
1440
|
+
attr_accessor :pages
|
|
1441
|
+
|
|
1442
|
+
# 用 RPG::Troop 初始化
|
|
1443
|
+
#
|
|
1444
|
+
# @param troop [RPG::Troop] 待处理的 RPG::Troop 对象
|
|
1445
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1446
|
+
#
|
|
1447
|
+
# @return [R3EXS::Troop]
|
|
1448
|
+
def initialize(troop, index, _unused = nil)
|
|
1449
|
+
@index = index
|
|
1450
|
+
@name = troop.name
|
|
1451
|
+
@pages = []
|
|
1452
|
+
troop.pages.each_with_index do |page, page_index|
|
|
1453
|
+
next if page.nil?
|
|
1454
|
+
|
|
1455
|
+
page_r3exs = R3EXS::Troop::Page.new(page, page_index)
|
|
1456
|
+
@pages << page_r3exs unless page_r3exs.empty?
|
|
1457
|
+
end
|
|
1458
|
+
end
|
|
1459
|
+
|
|
1460
|
+
# 注入到 RPG::Troop 对象
|
|
1461
|
+
#
|
|
1462
|
+
# @param troop [RPG::Troop] 待注入的 RPG::Troop 对象
|
|
1463
|
+
#
|
|
1464
|
+
# @return [void]
|
|
1465
|
+
def inject_to(troop)
|
|
1466
|
+
troop.name = @name
|
|
1467
|
+
@pages.each { |page| page.inject_to(troop.pages[page.index]) }
|
|
1468
|
+
end
|
|
1469
|
+
|
|
1470
|
+
# 提取所有的字符串
|
|
1471
|
+
#
|
|
1472
|
+
# @return [Array<String>]
|
|
1473
|
+
def ex_strings
|
|
1474
|
+
strings = [@name]
|
|
1475
|
+
@pages.each { |page| strings.concat(page.ex_strings) }
|
|
1476
|
+
strings
|
|
1477
|
+
end
|
|
1478
|
+
|
|
1479
|
+
# 将所有的字符串替换为指定的字符串
|
|
1480
|
+
#
|
|
1481
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1482
|
+
#
|
|
1483
|
+
# @return [void]
|
|
1484
|
+
def in_strings(hash)
|
|
1485
|
+
@name = hash.fetch(@name, @name)
|
|
1486
|
+
@pages.each { |page| page.in_strings(hash) }
|
|
1487
|
+
end
|
|
1488
|
+
|
|
1489
|
+
# 判断是否为空
|
|
1490
|
+
#
|
|
1491
|
+
# @return [Boolean]
|
|
1492
|
+
def empty?
|
|
1493
|
+
@name.blank? && @pages.empty?
|
|
1494
|
+
end
|
|
1495
|
+
|
|
1496
|
+
# 战斗事件(页)的数据类
|
|
1497
|
+
class Page
|
|
1498
|
+
# 在原始数组中的索引
|
|
1499
|
+
#
|
|
1500
|
+
# @return [Integer]
|
|
1501
|
+
attr_accessor :index
|
|
1502
|
+
|
|
1503
|
+
# 执行内容
|
|
1504
|
+
#
|
|
1505
|
+
# @return [Array<R3EXS::EventCommand>]
|
|
1506
|
+
attr_accessor :list
|
|
1507
|
+
|
|
1508
|
+
# 用 RPG::Troop::Page 初始化
|
|
1509
|
+
#
|
|
1510
|
+
# @param page [RPG::Troop::Page] 待处理的 RPG::Troop::Page 对象
|
|
1511
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1512
|
+
#
|
|
1513
|
+
# @return [R3EXS::Troop::Page]
|
|
1514
|
+
def initialize(page, index)
|
|
1515
|
+
@index = index
|
|
1516
|
+
@list = []
|
|
1517
|
+
page.list.each_with_index do |eventcommand, eventcommand_index|
|
|
1518
|
+
next if eventcommand.nil?
|
|
1519
|
+
|
|
1520
|
+
eventcommand_r3exs = R3EXS::EventCommand.new(eventcommand, eventcommand_index)
|
|
1521
|
+
@list << eventcommand_r3exs unless eventcommand_r3exs.empty?
|
|
1522
|
+
end
|
|
1523
|
+
end
|
|
1524
|
+
|
|
1525
|
+
# 注入到 RPG::Troop::Page 对象
|
|
1526
|
+
#
|
|
1527
|
+
# @param page [RPG::Troop::Page] 待注入的 RPG::Troop::Page 对象
|
|
1528
|
+
#
|
|
1529
|
+
# @return [void]
|
|
1530
|
+
def inject_to(page)
|
|
1531
|
+
@list.each { |eventcommand| eventcommand.inject_to(page.list[eventcommand.index]) }
|
|
1532
|
+
end
|
|
1533
|
+
|
|
1534
|
+
# 提取所有的字符串
|
|
1535
|
+
#
|
|
1536
|
+
# @return [Array<String>]
|
|
1537
|
+
def ex_strings
|
|
1538
|
+
strings = []
|
|
1539
|
+
@list.each { |eventcommand| strings.concat(eventcommand.ex_strings) }
|
|
1540
|
+
strings
|
|
1541
|
+
end
|
|
1542
|
+
|
|
1543
|
+
# 将所有的字符串替换为指定的字符串
|
|
1544
|
+
#
|
|
1545
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1546
|
+
#
|
|
1547
|
+
# @return [void]
|
|
1548
|
+
def in_strings(hash)
|
|
1549
|
+
@list.each { |eventcommand| eventcommand.in_strings(hash) }
|
|
1550
|
+
end
|
|
1551
|
+
|
|
1552
|
+
# 判断是否为空
|
|
1553
|
+
#
|
|
1554
|
+
# @return [Boolean]
|
|
1555
|
+
def empty?
|
|
1556
|
+
@list.empty?
|
|
1557
|
+
end
|
|
1558
|
+
end
|
|
1559
|
+
end
|
|
1560
|
+
|
|
1561
|
+
# 动画的数据类
|
|
1562
|
+
class Animation
|
|
1563
|
+
# 在原始数组中的索引
|
|
1564
|
+
#
|
|
1565
|
+
# @return [Integer]
|
|
1566
|
+
attr_reader :index
|
|
1567
|
+
|
|
1568
|
+
# 名称
|
|
1569
|
+
#
|
|
1570
|
+
# @return [String]
|
|
1571
|
+
attr_accessor :name
|
|
1572
|
+
|
|
1573
|
+
# 用 RPG::Animation 初始化
|
|
1574
|
+
#
|
|
1575
|
+
# @param animation [RPG::Animation] 待处理的 RPG::Animation 对象
|
|
1576
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1577
|
+
#
|
|
1578
|
+
# @return [R3EXS::Animation]
|
|
1579
|
+
def initialize(animation, index, _unused = nil)
|
|
1580
|
+
@index = index
|
|
1581
|
+
@name = animation.name
|
|
1582
|
+
end
|
|
1583
|
+
|
|
1584
|
+
# 注入到 RPG::Animation 对象
|
|
1585
|
+
#
|
|
1586
|
+
# @param animation [RPG::Animation] 待注入的 RPG::Animation 对象
|
|
1587
|
+
#
|
|
1588
|
+
# @return [void]
|
|
1589
|
+
def inject_to(animation)
|
|
1590
|
+
animation.name = @name
|
|
1591
|
+
end
|
|
1592
|
+
|
|
1593
|
+
# 提取所有的字符串
|
|
1594
|
+
#
|
|
1595
|
+
# @return [Array<String>]
|
|
1596
|
+
def ex_strings
|
|
1597
|
+
[@name]
|
|
1598
|
+
end
|
|
1599
|
+
|
|
1600
|
+
# 将所有的字符串替换为指定的字符串
|
|
1601
|
+
#
|
|
1602
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1603
|
+
#
|
|
1604
|
+
# @return [void]
|
|
1605
|
+
def in_strings(hash)
|
|
1606
|
+
@name = hash.fetch(@name, @name)
|
|
1607
|
+
end
|
|
1608
|
+
|
|
1609
|
+
# 判断是否为空
|
|
1610
|
+
#
|
|
1611
|
+
# @return [Boolean]
|
|
1612
|
+
def empty?
|
|
1613
|
+
@name.blank?
|
|
1614
|
+
end
|
|
1615
|
+
end
|
|
1616
|
+
|
|
1617
|
+
# 图块的数据类
|
|
1618
|
+
class Tileset
|
|
1619
|
+
# 在原始数组中的索引
|
|
1620
|
+
#
|
|
1621
|
+
# @return [Integer]
|
|
1622
|
+
attr_accessor :index
|
|
1623
|
+
|
|
1624
|
+
# 图块页名称
|
|
1625
|
+
#
|
|
1626
|
+
# @return [String]
|
|
1627
|
+
attr_accessor :name
|
|
1628
|
+
|
|
1629
|
+
# 备注
|
|
1630
|
+
#
|
|
1631
|
+
# @return [String]
|
|
1632
|
+
attr_accessor :note
|
|
1633
|
+
|
|
1634
|
+
# 用 RPG::Tileset 初始化
|
|
1635
|
+
#
|
|
1636
|
+
# @param tileset [RPG::Tileset] 待处理的 RPG::Tileset 对象
|
|
1637
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1638
|
+
#
|
|
1639
|
+
# @return [R3EXS::Tileset]
|
|
1640
|
+
def initialize(tileset, index)
|
|
1641
|
+
@index = index
|
|
1642
|
+
@name = tileset.name
|
|
1643
|
+
@note = tileset.note
|
|
1644
|
+
end
|
|
1645
|
+
|
|
1646
|
+
# 注入到 RPG::Tileset 对象
|
|
1647
|
+
#
|
|
1648
|
+
# @param tileset [RPG::Tileset] 待注入的 RPG::Tileset 对象
|
|
1649
|
+
#
|
|
1650
|
+
# @return [void]
|
|
1651
|
+
def inject_to(tileset)
|
|
1652
|
+
tileset.name = @name
|
|
1653
|
+
tileset.note = @note
|
|
1654
|
+
end
|
|
1655
|
+
|
|
1656
|
+
# 提取所有的字符串
|
|
1657
|
+
#
|
|
1658
|
+
# @return [Array<String>]
|
|
1659
|
+
def ex_strings
|
|
1660
|
+
strings = [@name]
|
|
1661
|
+
strings << @note
|
|
1662
|
+
strings
|
|
1663
|
+
end
|
|
1664
|
+
|
|
1665
|
+
# 将所有的字符串替换为指定的字符串
|
|
1666
|
+
#
|
|
1667
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1668
|
+
#
|
|
1669
|
+
# @return [void]
|
|
1670
|
+
def in_strings(hash)
|
|
1671
|
+
@name = hash.fetch(@name, @name)
|
|
1672
|
+
@note = hash.fetch(@note, @note)
|
|
1673
|
+
end
|
|
1674
|
+
|
|
1675
|
+
# 判断是否为空
|
|
1676
|
+
#
|
|
1677
|
+
# @return [Boolean]
|
|
1678
|
+
def empty?
|
|
1679
|
+
@name.blank? && @note.blank?
|
|
1680
|
+
end
|
|
1681
|
+
end
|
|
1682
|
+
|
|
1683
|
+
# 公共事件的数据类
|
|
1684
|
+
class CommonEvent
|
|
1685
|
+
# 在原始数组中的索引
|
|
1686
|
+
#
|
|
1687
|
+
# @return [Integer]
|
|
1688
|
+
attr_accessor :index
|
|
1689
|
+
|
|
1690
|
+
# 名称
|
|
1691
|
+
#
|
|
1692
|
+
# @return [String]
|
|
1693
|
+
attr_accessor :name
|
|
1694
|
+
|
|
1695
|
+
# 执行内容
|
|
1696
|
+
#
|
|
1697
|
+
# @return [Array<R3EXS::EventCommand>]
|
|
1698
|
+
attr_accessor :list
|
|
1699
|
+
|
|
1700
|
+
# 用 RPG::CommonEvent 初始化
|
|
1701
|
+
#
|
|
1702
|
+
# @param commonevent [RPG::CommonEvent] 待处理的 RPG::CommonEvent 对象
|
|
1703
|
+
# @param index [Integer] 在原始数组中的索引
|
|
1704
|
+
#
|
|
1705
|
+
# @return [R3EXS::CommonEvent]
|
|
1706
|
+
def initialize(commonevent, index, _unused = nil)
|
|
1707
|
+
@index = index
|
|
1708
|
+
@name = commonevent.name
|
|
1709
|
+
@list = []
|
|
1710
|
+
commonevent.list.each_with_index do |eventcommand, eventcommand_index|
|
|
1711
|
+
next if eventcommand.nil?
|
|
1712
|
+
|
|
1713
|
+
eventcommand_r3exs = R3EXS::EventCommand.new(eventcommand, eventcommand_index)
|
|
1714
|
+
@list << eventcommand_r3exs unless eventcommand_r3exs.empty?
|
|
1715
|
+
end
|
|
1716
|
+
end
|
|
1717
|
+
|
|
1718
|
+
# 注入到 RPG::CommonEvent 对象
|
|
1719
|
+
#
|
|
1720
|
+
# @param commonevent [RPG::CommonEvent] 待注入的 RPG::CommonEvent 对象
|
|
1721
|
+
#
|
|
1722
|
+
# @return [void]
|
|
1723
|
+
def inject_to(commonevent)
|
|
1724
|
+
commonevent.name = @name
|
|
1725
|
+
@list.each { |eventcommand| eventcommand.inject_to(commonevent.list[eventcommand.index]) }
|
|
1726
|
+
end
|
|
1727
|
+
|
|
1728
|
+
# 提取所有的字符串
|
|
1729
|
+
#
|
|
1730
|
+
# @return [Array<String>]
|
|
1731
|
+
def ex_strings
|
|
1732
|
+
strings = [@name]
|
|
1733
|
+
@list.each { |eventcommand| strings.concat(eventcommand.ex_strings) }
|
|
1734
|
+
strings
|
|
1735
|
+
end
|
|
1736
|
+
|
|
1737
|
+
# 将所有的字符串替换为指定的字符串
|
|
1738
|
+
#
|
|
1739
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1740
|
+
#
|
|
1741
|
+
# @return [void]
|
|
1742
|
+
def in_strings(hash)
|
|
1743
|
+
@name = hash.fetch(@name, @name)
|
|
1744
|
+
@list.each { |eventcommand| eventcommand.in_strings(hash) }
|
|
1745
|
+
end
|
|
1746
|
+
|
|
1747
|
+
# 判断是否为空
|
|
1748
|
+
#
|
|
1749
|
+
# @return [Boolean]
|
|
1750
|
+
def empty?
|
|
1751
|
+
@name.blank? && @list.empty?
|
|
1752
|
+
end
|
|
1753
|
+
end
|
|
1754
|
+
|
|
1755
|
+
# 系统的数据类
|
|
1756
|
+
class System
|
|
1757
|
+
# 游戏标题
|
|
1758
|
+
#
|
|
1759
|
+
# @return [String]
|
|
1760
|
+
attr_accessor :game_title
|
|
1761
|
+
|
|
1762
|
+
# 货币单位
|
|
1763
|
+
#
|
|
1764
|
+
# @return [String]
|
|
1765
|
+
attr_accessor :currency_unit
|
|
1766
|
+
|
|
1767
|
+
# 属性列表
|
|
1768
|
+
#
|
|
1769
|
+
# @return [Array<String>]
|
|
1770
|
+
attr_accessor :elements
|
|
1771
|
+
|
|
1772
|
+
# 技能类型列表
|
|
1773
|
+
#
|
|
1774
|
+
# @return [Array<String>]
|
|
1775
|
+
attr_accessor :skill_types
|
|
1776
|
+
|
|
1777
|
+
# 武器类型列表
|
|
1778
|
+
#
|
|
1779
|
+
# @return [Array<String>]
|
|
1780
|
+
attr_accessor :weapon_types
|
|
1781
|
+
|
|
1782
|
+
# 护甲类型列表
|
|
1783
|
+
#
|
|
1784
|
+
# @return [Array<String>]
|
|
1785
|
+
attr_accessor :armor_types
|
|
1786
|
+
|
|
1787
|
+
# 开关列表
|
|
1788
|
+
#
|
|
1789
|
+
# @return [Array<String>]
|
|
1790
|
+
attr_accessor :switches
|
|
1791
|
+
|
|
1792
|
+
# 变量列表
|
|
1793
|
+
#
|
|
1794
|
+
# @return [Array<String>]
|
|
1795
|
+
attr_accessor :variables
|
|
1796
|
+
|
|
1797
|
+
# 用语
|
|
1798
|
+
#
|
|
1799
|
+
# @return [R3EXS::System::Terms]
|
|
1800
|
+
attr_accessor :terms
|
|
1801
|
+
|
|
1802
|
+
# 用 RPG::System 初始化
|
|
1803
|
+
#
|
|
1804
|
+
# @param system [RPG::System] 待处理的 RPG::System 对象
|
|
1805
|
+
#
|
|
1806
|
+
# @return [R3EXS::System]
|
|
1807
|
+
def initialize(system, _unused = nil)
|
|
1808
|
+
@game_title = system.game_title
|
|
1809
|
+
@currency_unit = system.currency_unit
|
|
1810
|
+
@elements = system.elements
|
|
1811
|
+
@skill_types = system.skill_types
|
|
1812
|
+
@weapon_types = system.weapon_types
|
|
1813
|
+
@armor_types = system.armor_types
|
|
1814
|
+
@switches = system.switches
|
|
1815
|
+
@variables = system.variables
|
|
1816
|
+
@terms = R3EXS::System::Terms.new(system.terms)
|
|
1817
|
+
end
|
|
1818
|
+
|
|
1819
|
+
# 注入到 RPG::System 对象
|
|
1820
|
+
#
|
|
1821
|
+
# @param system [RPG::System] 待注入的 RPG::System 对象
|
|
1822
|
+
#
|
|
1823
|
+
# @return [void]
|
|
1824
|
+
def inject_to(system)
|
|
1825
|
+
system.game_title = @game_title
|
|
1826
|
+
system.currency_unit = @currency_unit
|
|
1827
|
+
system.elements = @elements
|
|
1828
|
+
system.skill_types = @skill_types
|
|
1829
|
+
system.weapon_types = @weapon_types
|
|
1830
|
+
system.armor_types = @armor_types
|
|
1831
|
+
system.switches = @switches
|
|
1832
|
+
system.variables = @variables
|
|
1833
|
+
@terms.inject_to(system.terms)
|
|
1834
|
+
end
|
|
1835
|
+
|
|
1836
|
+
# 提取所有的字符串
|
|
1837
|
+
#
|
|
1838
|
+
# @return [Array<String>]
|
|
1839
|
+
def ex_strings
|
|
1840
|
+
strings = [@game_title]
|
|
1841
|
+
strings << @currency_unit
|
|
1842
|
+
strings.concat(@elements)
|
|
1843
|
+
strings.concat(@skill_types)
|
|
1844
|
+
strings.concat(@weapon_types)
|
|
1845
|
+
strings.concat(@armor_types)
|
|
1846
|
+
strings.concat(@switches)
|
|
1847
|
+
strings.concat(@variables)
|
|
1848
|
+
strings.concat(@terms.ex_strings)
|
|
1849
|
+
strings
|
|
1850
|
+
end
|
|
1851
|
+
|
|
1852
|
+
# 将所有的字符串替换为指定的字符串
|
|
1853
|
+
#
|
|
1854
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1855
|
+
#
|
|
1856
|
+
# @return [void]
|
|
1857
|
+
def in_strings(hash)
|
|
1858
|
+
@game_title = hash.fetch(@game_title, @game_title)
|
|
1859
|
+
@currency_unit = hash.fetch(@currency_unit, @currency_unit)
|
|
1860
|
+
@elements.map! { |string| hash.fetch(string, string) }
|
|
1861
|
+
@skill_types.map! { |string| hash.fetch(string, string) }
|
|
1862
|
+
@weapon_types.map! { |string| hash.fetch(string, string) }
|
|
1863
|
+
@armor_types.map! { |string| hash.fetch(string, string) }
|
|
1864
|
+
@switches.map! { |string| hash.fetch(string, string) }
|
|
1865
|
+
@variables.map! { |string| hash.fetch(string, string) }
|
|
1866
|
+
@terms.in_strings(hash)
|
|
1867
|
+
end
|
|
1868
|
+
|
|
1869
|
+
# 用语的资料类
|
|
1870
|
+
class Terms
|
|
1871
|
+
# 基本状态
|
|
1872
|
+
#
|
|
1873
|
+
# @return [Array<String>]
|
|
1874
|
+
attr_accessor :basic
|
|
1875
|
+
|
|
1876
|
+
# 能力
|
|
1877
|
+
#
|
|
1878
|
+
# @return [Array<String>]
|
|
1879
|
+
attr_accessor :params
|
|
1880
|
+
|
|
1881
|
+
# 装备位置
|
|
1882
|
+
#
|
|
1883
|
+
# @return [Array<String>]
|
|
1884
|
+
attr_accessor :etypes
|
|
1885
|
+
|
|
1886
|
+
# 指令
|
|
1887
|
+
#
|
|
1888
|
+
# @return [Array<String>]
|
|
1889
|
+
attr_accessor :commands
|
|
1890
|
+
|
|
1891
|
+
# 用 RPG::System::Terms 初始化
|
|
1892
|
+
#
|
|
1893
|
+
# @param terms [RPG::System::Terms] 待处理的 RPG::System::Terms 对象
|
|
1894
|
+
#
|
|
1895
|
+
# @return [R3EXS::System::Terms]
|
|
1896
|
+
def initialize(terms)
|
|
1897
|
+
@basic = terms.basic
|
|
1898
|
+
@params = terms.params
|
|
1899
|
+
@etypes = terms.etypes
|
|
1900
|
+
@commands = terms.commands
|
|
1901
|
+
end
|
|
1902
|
+
|
|
1903
|
+
# 注入到 RPG::System::Terms 对象
|
|
1904
|
+
#
|
|
1905
|
+
# @param terms [RPG::System::Terms] 待注入的 RPG::System::Terms 对象
|
|
1906
|
+
#
|
|
1907
|
+
# @return [void]
|
|
1908
|
+
def inject_to(terms)
|
|
1909
|
+
terms.basic = @basic
|
|
1910
|
+
terms.params = @params
|
|
1911
|
+
terms.etypes = @etypes
|
|
1912
|
+
terms.commands = @commands
|
|
1913
|
+
end
|
|
1914
|
+
|
|
1915
|
+
# 提取所有的字符串
|
|
1916
|
+
#
|
|
1917
|
+
# @return [Array<String>]
|
|
1918
|
+
def ex_strings
|
|
1919
|
+
strings = @basic
|
|
1920
|
+
strings.concat(@params)
|
|
1921
|
+
strings.concat(@etypes)
|
|
1922
|
+
strings.concat(@commands)
|
|
1923
|
+
strings
|
|
1924
|
+
end
|
|
1925
|
+
|
|
1926
|
+
# 将所有的字符串替换为指定的字符串
|
|
1927
|
+
#
|
|
1928
|
+
# @param hash [Hash{String => String}] 字符串翻译表
|
|
1929
|
+
#
|
|
1930
|
+
# @return [void]
|
|
1931
|
+
def in_strings(hash)
|
|
1932
|
+
@basic.map! { |string| hash.fetch(string, string) }
|
|
1933
|
+
@params.map! { |string| hash.fetch(string, string) }
|
|
1934
|
+
@etypes.map! { |string| hash.fetch(string, string) }
|
|
1935
|
+
@commands.map! { |string| hash.fetch(string, string) }
|
|
1936
|
+
end
|
|
1937
|
+
end
|
|
1938
|
+
end
|
|
1939
|
+
end
|