|
@@ -263,49 +263,31 @@ export class Reward {
|
263
|
263
|
|
264
|
264
|
|
265
|
265
|
|
266
|
|
-export class HeroLevel {
|
|
266
|
+export class Item {
|
267
|
267
|
|
268
|
268
|
constructor(_buf_: ByteBuf) {
|
269
|
|
- this.id = _buf_.ReadInt()
|
270
|
|
- this.level = _buf_.ReadInt()
|
271
|
|
- { let n = Math.min(_buf_.ReadSize(), _buf_.Size); this.unlockSkill = []; for(let i = 0 ; i < n ; i++) { let _e0; _e0 = _buf_.ReadInt(); this.unlockSkill.push(_e0);}}
|
272
|
|
- this.unlockSkillDesc = _buf_.ReadString()
|
273
|
|
- this.atk = _buf_.ReadInt()
|
274
|
|
- this.atkSpeed = _buf_.ReadInt()
|
|
269
|
+ this.idx = _buf_.ReadInt()
|
|
270
|
+ this.type = _buf_.ReadInt()
|
|
271
|
+ this.name = _buf_.ReadString()
|
275
|
272
|
}
|
276
|
273
|
|
277
|
274
|
/**
|
278
|
|
- * 英雄ID
|
279
|
|
- */
|
280
|
|
- readonly id: number
|
281
|
|
- /**
|
282
|
|
- * 等级
|
|
275
|
+ * 道具ID
|
283
|
276
|
*/
|
284
|
|
- readonly level: number
|
285
|
|
- /**
|
286
|
|
- * 英雄解锁技能
|
287
|
|
- */
|
288
|
|
- readonly unlockSkill: number[]
|
289
|
|
- /**
|
290
|
|
- * 解锁技能描述
|
291
|
|
- */
|
292
|
|
- readonly unlockSkillDesc: string
|
|
277
|
+ readonly idx: number
|
293
|
278
|
/**
|
294
|
|
- * 攻击力
|
|
279
|
+ * 类型
|
295
|
280
|
*/
|
296
|
|
- readonly atk: number
|
|
281
|
+ readonly type: number
|
297
|
282
|
/**
|
298
|
|
- * 攻击速度
|
|
283
|
+ * 道具名
|
299
|
284
|
*/
|
300
|
|
- readonly atkSpeed: number
|
|
285
|
+ readonly name: string
|
301
|
286
|
|
302
|
287
|
resolve(tables:Tables) {
|
303
|
288
|
|
304
|
289
|
|
305
|
290
|
|
306
|
|
-
|
307
|
|
-
|
308
|
|
-
|
309
|
291
|
}
|
310
|
292
|
}
|
311
|
293
|
|
|
@@ -313,43 +295,31 @@ export class HeroLevel {
|
313
|
295
|
|
314
|
296
|
|
315
|
297
|
|
316
|
|
-export class Hero {
|
|
298
|
+export class System {
|
317
|
299
|
|
318
|
300
|
constructor(_buf_: ByteBuf) {
|
319
|
|
- this.id = _buf_.ReadInt()
|
320
|
|
- this.quality = _buf_.ReadInt()
|
321
|
|
- this.attacktype = _buf_.ReadInt()
|
322
|
|
- this.name = _buf_.ReadString()
|
323
|
|
- { let n = Math.min(_buf_.ReadSize(), _buf_.Size); this.skills = []; for(let i = 0 ; i < n ; i++) { let _e0; _e0 = _buf_.ReadInt(); this.skills.push(_e0);}}
|
|
301
|
+ this.idx = _buf_.ReadInt()
|
|
302
|
+ this.mainKey = _buf_.ReadString()
|
|
303
|
+ this.value = _buf_.ReadString()
|
324
|
304
|
}
|
325
|
305
|
|
326
|
306
|
/**
|
327
|
|
- * 英雄ID
|
|
307
|
+ * IDX
|
328
|
308
|
*/
|
329
|
|
- readonly id: number
|
|
309
|
+ readonly idx: number
|
330
|
310
|
/**
|
331
|
|
- * 品质
|
|
311
|
+ * 常量主键
|
332
|
312
|
*/
|
333
|
|
- readonly quality: Hero.Quality
|
|
313
|
+ readonly mainKey: string
|
334
|
314
|
/**
|
335
|
|
- * 攻击类型
|
|
315
|
+ * 常量值
|
336
|
316
|
*/
|
337
|
|
- readonly attacktype: Hero.AttackType
|
338
|
|
- /**
|
339
|
|
- * 名字
|
340
|
|
- */
|
341
|
|
- readonly name: string
|
342
|
|
- /**
|
343
|
|
- * 技能列表
|
344
|
|
- */
|
345
|
|
- readonly skills: number[]
|
|
317
|
+ readonly value: string
|
346
|
318
|
|
347
|
319
|
resolve(tables:Tables) {
|
348
|
320
|
|
349
|
321
|
|
350
|
322
|
|
351
|
|
-
|
352
|
|
-
|
353
|
323
|
}
|
354
|
324
|
}
|
355
|
325
|
|
|
@@ -443,6 +413,218 @@ export class Skill {
|
443
|
413
|
|
444
|
414
|
|
445
|
415
|
|
|
416
|
+export class HeroLevel {
|
|
417
|
+
|
|
418
|
+ constructor(_buf_: ByteBuf) {
|
|
419
|
+ this.id = _buf_.ReadInt()
|
|
420
|
+ this.level = _buf_.ReadInt()
|
|
421
|
+ { let n = Math.min(_buf_.ReadSize(), _buf_.Size); this.unlockSkill = []; for(let i = 0 ; i < n ; i++) { let _e0; _e0 = _buf_.ReadInt(); this.unlockSkill.push(_e0);}}
|
|
422
|
+ this.unlockSkillDesc = _buf_.ReadString()
|
|
423
|
+ this.atk = _buf_.ReadInt()
|
|
424
|
+ this.atkSpeed = _buf_.ReadInt()
|
|
425
|
+ }
|
|
426
|
+
|
|
427
|
+ /**
|
|
428
|
+ * 英雄ID
|
|
429
|
+ */
|
|
430
|
+ readonly id: number
|
|
431
|
+ /**
|
|
432
|
+ * 等级
|
|
433
|
+ */
|
|
434
|
+ readonly level: number
|
|
435
|
+ /**
|
|
436
|
+ * 英雄解锁技能
|
|
437
|
+ */
|
|
438
|
+ readonly unlockSkill: number[]
|
|
439
|
+ /**
|
|
440
|
+ * 解锁技能描述
|
|
441
|
+ */
|
|
442
|
+ readonly unlockSkillDesc: string
|
|
443
|
+ /**
|
|
444
|
+ * 攻击力
|
|
445
|
+ */
|
|
446
|
+ readonly atk: number
|
|
447
|
+ /**
|
|
448
|
+ * 攻击速度
|
|
449
|
+ */
|
|
450
|
+ readonly atkSpeed: number
|
|
451
|
+
|
|
452
|
+ resolve(tables:Tables) {
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+ }
|
|
460
|
+}
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+export class WaveRewards {
|
|
467
|
+
|
|
468
|
+ constructor(_buf_: ByteBuf) {
|
|
469
|
+ this.idx = _buf_.ReadInt()
|
|
470
|
+ this.waveMin = _buf_.ReadInt()
|
|
471
|
+ this.waveMax = _buf_.ReadInt()
|
|
472
|
+ this.level = _buf_.ReadInt()
|
|
473
|
+ { let n = Math.min(_buf_.ReadSize(), _buf_.Size); this.rewards = []; for(let i = 0 ; i < n ; i++) { let _e0; _e0 = new Common.Reward(_buf_); this.rewards.push(_e0);}}
|
|
474
|
+ }
|
|
475
|
+
|
|
476
|
+ /**
|
|
477
|
+ * idx
|
|
478
|
+ */
|
|
479
|
+ readonly idx: number
|
|
480
|
+ /**
|
|
481
|
+ * 波数下限
|
|
482
|
+ */
|
|
483
|
+ readonly waveMin: number
|
|
484
|
+ /**
|
|
485
|
+ * 波数上限
|
|
486
|
+ */
|
|
487
|
+ readonly waveMax: number
|
|
488
|
+ /**
|
|
489
|
+ * 难度
|
|
490
|
+ */
|
|
491
|
+ readonly level: number
|
|
492
|
+ /**
|
|
493
|
+ * 奖励列表
|
|
494
|
+ */
|
|
495
|
+ readonly rewards: Common.Reward[]
|
|
496
|
+
|
|
497
|
+ resolve(tables:Tables) {
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
|
|
501
|
+
|
|
502
|
+ for (let _e of this.rewards) { _e?.resolve(tables); }
|
|
503
|
+ }
|
|
504
|
+}
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
|
|
510
|
+export class Wave {
|
|
511
|
+
|
|
512
|
+ constructor(_buf_: ByteBuf) {
|
|
513
|
+ this.waveIndex = _buf_.ReadInt()
|
|
514
|
+ this.level = _buf_.ReadInt()
|
|
515
|
+ this.model = _buf_.ReadInt()
|
|
516
|
+ this.counter = _buf_.ReadInt()
|
|
517
|
+ this.hp = _buf_.ReadInt()
|
|
518
|
+ this.speed = _buf_.ReadInt()
|
|
519
|
+ this.gap = _buf_.ReadInt()
|
|
520
|
+ this.isboss = _buf_.ReadInt()
|
|
521
|
+ this.perAddCoid = _buf_.ReadInt()
|
|
522
|
+ this.perAddGem = _buf_.ReadInt()
|
|
523
|
+ }
|
|
524
|
+
|
|
525
|
+ /**
|
|
526
|
+ * 波数
|
|
527
|
+ */
|
|
528
|
+ readonly waveIndex: number
|
|
529
|
+ /**
|
|
530
|
+ * 难度
|
|
531
|
+ */
|
|
532
|
+ readonly level: number
|
|
533
|
+ /**
|
|
534
|
+ * 怪物模型
|
|
535
|
+ */
|
|
536
|
+ readonly model: number
|
|
537
|
+ /**
|
|
538
|
+ * 数量
|
|
539
|
+ */
|
|
540
|
+ readonly counter: number
|
|
541
|
+ /**
|
|
542
|
+ * 血量
|
|
543
|
+ */
|
|
544
|
+ readonly hp: number
|
|
545
|
+ /**
|
|
546
|
+ * 速度
|
|
547
|
+ */
|
|
548
|
+ readonly speed: number
|
|
549
|
+ /**
|
|
550
|
+ * 间距
|
|
551
|
+ */
|
|
552
|
+ readonly gap: number
|
|
553
|
+ /**
|
|
554
|
+ * 是否是boss
|
|
555
|
+ */
|
|
556
|
+ readonly isboss: number
|
|
557
|
+ /**
|
|
558
|
+ * 每只怪增加局内金币
|
|
559
|
+ */
|
|
560
|
+ readonly perAddCoid: number
|
|
561
|
+ /**
|
|
562
|
+ * 每只怪增加局内宝石
|
|
563
|
+ */
|
|
564
|
+ readonly perAddGem: number
|
|
565
|
+
|
|
566
|
+ resolve(tables:Tables) {
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+ }
|
|
578
|
+}
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+export class Hero {
|
|
585
|
+
|
|
586
|
+ constructor(_buf_: ByteBuf) {
|
|
587
|
+ this.id = _buf_.ReadInt()
|
|
588
|
+ this.quality = _buf_.ReadInt()
|
|
589
|
+ this.attacktype = _buf_.ReadInt()
|
|
590
|
+ this.name = _buf_.ReadString()
|
|
591
|
+ { let n = Math.min(_buf_.ReadSize(), _buf_.Size); this.skills = []; for(let i = 0 ; i < n ; i++) { let _e0; _e0 = _buf_.ReadInt(); this.skills.push(_e0);}}
|
|
592
|
+ }
|
|
593
|
+
|
|
594
|
+ /**
|
|
595
|
+ * 英雄ID
|
|
596
|
+ */
|
|
597
|
+ readonly id: number
|
|
598
|
+ /**
|
|
599
|
+ * 品质
|
|
600
|
+ */
|
|
601
|
+ readonly quality: Hero.Quality
|
|
602
|
+ /**
|
|
603
|
+ * 攻击类型
|
|
604
|
+ */
|
|
605
|
+ readonly attacktype: Hero.AttackType
|
|
606
|
+ /**
|
|
607
|
+ * 名字
|
|
608
|
+ */
|
|
609
|
+ readonly name: string
|
|
610
|
+ /**
|
|
611
|
+ * 技能列表
|
|
612
|
+ */
|
|
613
|
+ readonly skills: number[]
|
|
614
|
+
|
|
615
|
+ resolve(tables:Tables) {
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+ }
|
|
622
|
+}
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
|
446
|
628
|
export class SkillBuff {
|
447
|
629
|
|
448
|
630
|
constructor(_buf_: ByteBuf) {
|
|
@@ -682,6 +864,145 @@ export class TbSkill {
|
682
|
864
|
|
683
|
865
|
|
684
|
866
|
|
|
867
|
+/**
|
|
868
|
+ * 波数表.xlsx
|
|
869
|
+ */
|
|
870
|
+export class TbWave {
|
|
871
|
+ private _dataList: Wave[]
|
|
872
|
+
|
|
873
|
+ constructor(_buf_: ByteBuf) {
|
|
874
|
+ this._dataList = []
|
|
875
|
+ for(let n = _buf_.ReadInt(); n > 0; n--) {
|
|
876
|
+ let _v: Wave
|
|
877
|
+ _v = new Wave(_buf_)
|
|
878
|
+ this._dataList.push(_v)
|
|
879
|
+ }
|
|
880
|
+ }
|
|
881
|
+
|
|
882
|
+ getDataList(): Wave[] { return this._dataList }
|
|
883
|
+
|
|
884
|
+ get(index: number): Wave | undefined { return this._dataList[index] }
|
|
885
|
+
|
|
886
|
+ resolve(tables:Tables) {
|
|
887
|
+ for(let data of this._dataList)
|
|
888
|
+ {
|
|
889
|
+ data.resolve(tables)
|
|
890
|
+ }
|
|
891
|
+ }
|
|
892
|
+
|
|
893
|
+}
|
|
894
|
+
|
|
895
|
+
|
|
896
|
+
|
|
897
|
+
|
|
898
|
+/**
|
|
899
|
+ * 波数奖励表.xlsx
|
|
900
|
+ */
|
|
901
|
+export class TbWaveRewards {
|
|
902
|
+ private _dataMap: Map<number, WaveRewards>
|
|
903
|
+ private _dataList: WaveRewards[]
|
|
904
|
+ constructor(_buf_: ByteBuf) {
|
|
905
|
+ this._dataMap = new Map<number, WaveRewards>()
|
|
906
|
+ this._dataList = []
|
|
907
|
+ for(let n = _buf_.ReadInt(); n > 0; n--) {
|
|
908
|
+ let _v: WaveRewards
|
|
909
|
+ _v = new WaveRewards(_buf_)
|
|
910
|
+ this._dataList.push(_v)
|
|
911
|
+ this._dataMap.set(_v.idx, _v)
|
|
912
|
+ }
|
|
913
|
+ }
|
|
914
|
+
|
|
915
|
+ getDataMap(): Map<number, WaveRewards> { return this._dataMap; }
|
|
916
|
+ getDataList(): WaveRewards[] { return this._dataList; }
|
|
917
|
+
|
|
918
|
+ get(key: number): WaveRewards | undefined {
|
|
919
|
+ return this._dataMap.get(key);
|
|
920
|
+ }
|
|
921
|
+
|
|
922
|
+ resolve(tables:Tables) {
|
|
923
|
+ for(let data of this._dataList)
|
|
924
|
+ {
|
|
925
|
+ data.resolve(tables)
|
|
926
|
+ }
|
|
927
|
+ }
|
|
928
|
+
|
|
929
|
+}
|
|
930
|
+
|
|
931
|
+
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+/**
|
|
935
|
+ * 道具表.xlsx
|
|
936
|
+ */
|
|
937
|
+export class TbItem {
|
|
938
|
+ private _dataMap: Map<number, Item>
|
|
939
|
+ private _dataList: Item[]
|
|
940
|
+ constructor(_buf_: ByteBuf) {
|
|
941
|
+ this._dataMap = new Map<number, Item>()
|
|
942
|
+ this._dataList = []
|
|
943
|
+ for(let n = _buf_.ReadInt(); n > 0; n--) {
|
|
944
|
+ let _v: Item
|
|
945
|
+ _v = new Item(_buf_)
|
|
946
|
+ this._dataList.push(_v)
|
|
947
|
+ this._dataMap.set(_v.idx, _v)
|
|
948
|
+ }
|
|
949
|
+ }
|
|
950
|
+
|
|
951
|
+ getDataMap(): Map<number, Item> { return this._dataMap; }
|
|
952
|
+ getDataList(): Item[] { return this._dataList; }
|
|
953
|
+
|
|
954
|
+ get(key: number): Item | undefined {
|
|
955
|
+ return this._dataMap.get(key);
|
|
956
|
+ }
|
|
957
|
+
|
|
958
|
+ resolve(tables:Tables) {
|
|
959
|
+ for(let data of this._dataList)
|
|
960
|
+ {
|
|
961
|
+ data.resolve(tables)
|
|
962
|
+ }
|
|
963
|
+ }
|
|
964
|
+
|
|
965
|
+}
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+/**
|
|
971
|
+ * 系统常量表.xlsx
|
|
972
|
+ */
|
|
973
|
+export class TbSystem {
|
|
974
|
+ private _dataMap: Map<string, System>
|
|
975
|
+ private _dataList: System[]
|
|
976
|
+ constructor(_buf_: ByteBuf) {
|
|
977
|
+ this._dataMap = new Map<string, System>()
|
|
978
|
+ this._dataList = []
|
|
979
|
+ for(let n = _buf_.ReadInt(); n > 0; n--) {
|
|
980
|
+ let _v: System
|
|
981
|
+ _v = new System(_buf_)
|
|
982
|
+ this._dataList.push(_v)
|
|
983
|
+ this._dataMap.set(_v.mainKey, _v)
|
|
984
|
+ }
|
|
985
|
+ }
|
|
986
|
+
|
|
987
|
+ getDataMap(): Map<string, System> { return this._dataMap; }
|
|
988
|
+ getDataList(): System[] { return this._dataList; }
|
|
989
|
+
|
|
990
|
+ get(key: string): System | undefined {
|
|
991
|
+ return this._dataMap.get(key);
|
|
992
|
+ }
|
|
993
|
+
|
|
994
|
+ resolve(tables:Tables) {
|
|
995
|
+ for(let data of this._dataList)
|
|
996
|
+ {
|
|
997
|
+ data.resolve(tables)
|
|
998
|
+ }
|
|
999
|
+ }
|
|
1000
|
+
|
|
1001
|
+}
|
|
1002
|
+
|
|
1003
|
+
|
|
1004
|
+
|
|
1005
|
+
|
685
|
1006
|
type ByteBufLoader = (file: string) => ByteBuf
|
686
|
1007
|
|
687
|
1008
|
export class Tables {
|
|
@@ -705,6 +1026,26 @@ export class Tables {
|
705
|
1026
|
* ZD技能表.xlsx
|
706
|
1027
|
*/
|
707
|
1028
|
get TbSkill(): TbSkill { return this._TbSkill;}
|
|
1029
|
+ private _TbWave: TbWave
|
|
1030
|
+ /**
|
|
1031
|
+ * 波数表.xlsx
|
|
1032
|
+ */
|
|
1033
|
+ get TbWave(): TbWave { return this._TbWave;}
|
|
1034
|
+ private _TbWaveRewards: TbWaveRewards
|
|
1035
|
+ /**
|
|
1036
|
+ * 波数奖励表.xlsx
|
|
1037
|
+ */
|
|
1038
|
+ get TbWaveRewards(): TbWaveRewards { return this._TbWaveRewards;}
|
|
1039
|
+ private _TbItem: TbItem
|
|
1040
|
+ /**
|
|
1041
|
+ * 道具表.xlsx
|
|
1042
|
+ */
|
|
1043
|
+ get TbItem(): TbItem { return this._TbItem;}
|
|
1044
|
+ private _TbSystem: TbSystem
|
|
1045
|
+ /**
|
|
1046
|
+ * 系统常量表.xlsx
|
|
1047
|
+ */
|
|
1048
|
+ get TbSystem(): TbSystem { return this._TbSystem;}
|
708
|
1049
|
|
709
|
1050
|
static getTableNames(): string[] {
|
710
|
1051
|
let names: string[] = [];
|
|
@@ -712,6 +1053,10 @@ export class Tables {
|
712
|
1053
|
names.push('tbherolevel');
|
713
|
1054
|
names.push('tbskillbuff');
|
714
|
1055
|
names.push('tbskill');
|
|
1056
|
+ names.push('tbwave');
|
|
1057
|
+ names.push('tbwaverewards');
|
|
1058
|
+ names.push('tbitem');
|
|
1059
|
+ names.push('tbsystem');
|
715
|
1060
|
return names;
|
716
|
1061
|
}
|
717
|
1062
|
|
|
@@ -720,11 +1065,19 @@ export class Tables {
|
720
|
1065
|
this._TbHeroLevel = new TbHeroLevel(loader('tbherolevel'))
|
721
|
1066
|
this._TbSkillBuff = new TbSkillBuff(loader('tbskillbuff'))
|
722
|
1067
|
this._TbSkill = new TbSkill(loader('tbskill'))
|
|
1068
|
+ this._TbWave = new TbWave(loader('tbwave'))
|
|
1069
|
+ this._TbWaveRewards = new TbWaveRewards(loader('tbwaverewards'))
|
|
1070
|
+ this._TbItem = new TbItem(loader('tbitem'))
|
|
1071
|
+ this._TbSystem = new TbSystem(loader('tbsystem'))
|
723
|
1072
|
|
724
|
1073
|
this._TbHero.resolve(this)
|
725
|
1074
|
this._TbHeroLevel.resolve(this)
|
726
|
1075
|
this._TbSkillBuff.resolve(this)
|
727
|
1076
|
this._TbSkill.resolve(this)
|
|
1077
|
+ this._TbWave.resolve(this)
|
|
1078
|
+ this._TbWaveRewards.resolve(this)
|
|
1079
|
+ this._TbItem.resolve(this)
|
|
1080
|
+ this._TbSystem.resolve(this)
|
728
|
1081
|
}
|
729
|
1082
|
}
|
730
|
1083
|
|