@malib/gear 1.0.0-next.10 → 1.0.0-next.11

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.
@@ -97,10 +97,10 @@ export { AddOptionType as AddOptionType_alias_2 }
97
97
  * @param type 추가 옵션 종류.
98
98
  * @param grade 추가 옵션 단계.
99
99
  *
100
- * @throws {@link TypeError}
100
+ * @throws {@link GearError}
101
101
  * 추가 옵션을 적용할 수 없는 상태의 장비일 경우.
102
102
  *
103
- * @throws {@link TypeError}
103
+ * @throws {@link GearError}
104
104
  * 장비에 부여할 수 없는 추가 옵션을 지정했을 경우.
105
105
  */
106
106
  declare function applyAddOption(gear: Gear, type: AddOptionType, grade: AddOptionGrade): void;
@@ -112,7 +112,7 @@ export { AddOptionType as AddOptionType_alias_2 }
112
112
  * @param gear 적용할 장비.
113
113
  * @param exceptionalHammer 적용할 익셉셔널 해머.
114
114
  *
115
- * @throws {@link TypeError}
115
+ * @throws {@link GearError}
116
116
  * 익셉셔널 강화를 적용할 수 없는 상태의 장비일 경우.
117
117
  */
118
118
  declare function applyExceptional(gear: Gear, exceptionalHammer: ExceptionalHammer): void;
@@ -124,7 +124,7 @@ export { AddOptionType as AddOptionType_alias_2 }
124
124
  * @param gear 적용할 장비.
125
125
  * @param scroll 적용할 주문서.
126
126
  *
127
- * @throws {@link TypeError}
127
+ * @throws {@link GearError}
128
128
  * 주문서를 적용할 수 없는 상태의 장비일 경우.
129
129
  */
130
130
  declare function applyScroll(gear: Gear, scroll: Scroll): void;
@@ -135,7 +135,7 @@ export { AddOptionType as AddOptionType_alias_2 }
135
135
  * 장비에 소울 인챈터를 적용합니다.
136
136
  * @param gear 적용할 장비.
137
137
  *
138
- * @throws {@link TypeError}
138
+ * @throws {@link GearError}
139
139
  * 소울 인챈터를 적용할 수 없는 경우.
140
140
  */
141
141
  declare function applySoulEnchant(gear: Gear): void;
@@ -148,10 +148,10 @@ export { AddOptionType as AddOptionType_alias_2 }
148
148
  * @param type 주문의 흔적 종류.
149
149
  * @param rate 주문의 흔적 성공 확률.
150
150
  *
151
- * @throws {@link TypeError}
151
+ * @throws {@link GearError}
152
152
  * 주문서를 적용할 수 없는 상태의 장비일 경우.
153
153
  *
154
- * @throws {@link TypeError}
154
+ * @throws {@link GearError}
155
155
  * 장비에 적용할 수 없는 주문의 흔적을 지정했을 경우.
156
156
  */
157
157
  declare function applySpellTrace(gear: Gear, type: SpellTraceType, rate: SpellTraceRate): void;
@@ -353,6 +353,12 @@ export { AddOptionType as AddOptionType_alias_2 }
353
353
 
354
354
  export declare function defaultGear(data: Partial<GearData>): Gear;
355
355
 
356
+ export declare class _DeferredGearError extends Error {
357
+ private readonly status;
358
+ constructor(message: string, status: Record<string, unknown>);
359
+ gear(gear: ReadonlyGear): GearError;
360
+ }
361
+
356
362
  export declare const enum ErrorMessage {
357
363
  Shape_InvalidShapeChangeGear = "\uC678\uD615\uC744 \uBCC0\uACBD\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
358
364
  AddOption_InvalidApplyGear = "\uCD94\uAC00 \uC635\uC158\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
@@ -388,7 +394,12 @@ export { AddOptionType as AddOptionType_alias_2 }
388
394
  Soul_InvalidSoulCharge = "\uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC740 0 \uC774\uC0C1 1000 \uC774\uD558\uC758 \uAC12\uC73C\uB85C\uB9CC \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
389
395
  Soul_AlreadyEnchanted = "\uC18C\uC6B8\uC6E8\uD3F0\uC740 \uC911\uBCF5\uD574\uC11C \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",
390
396
  Exceptional_InvalidEnhanceGear = "\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
391
- Exceptional_InvalidResetGear = "\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4."
397
+ Exceptional_InvalidResetGear = "\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
398
+ Constructor_InvalidVersion = "\uC9C0\uC6D0\uD558\uC9C0 \uC54A\uB294 \uC7A5\uBE44 \uC815\uBCF4 \uBC84\uC804\uC785\uB2C8\uB2E4. \uC5C5\uADF8\uB808\uC774\uB4DC \uD6C4 \uC0DD\uC131\uD574\uC57C \uD569\uB2C8\uB2E4.",
399
+ Migrate_InvalidGearData = "\uC785\uB825 \uB370\uC774\uD130\uAC00 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",
400
+ Migrate_UnknownDataVersion = "\uC785\uB825 \uB370\uC774\uD130\uC758 \uBC84\uC804\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",
401
+ Migrate_DataVersionTooNew = "\uC785\uB825 \uB370\uC774\uD130\uC758 \uBC84\uC804\uC774 \uC9C0\uC6D0\uD558\uB294 \uBC84\uC804\uBCF4\uB2E4 \uCD5C\uC2E0\uC785\uB2C8\uB2E4.",
402
+ Migrate_DataPropertyWillBeOverwritten = "\uC785\uB825 \uB370\uC774\uD130\uC758 \uC18D\uC131\uC774 \uB36E\uC5B4\uC4F0\uC5EC\uC9D1\uB2C8\uB2E4. \uC81C\uAC70\uD558\uACE0 \uB2E4\uC2DC \uC2E4\uD589\uD574 \uC8FC\uC138\uC694."
392
403
  }
393
404
 
394
405
  /**
@@ -409,7 +420,7 @@ export { AddOptionType as AddOptionType_alias_2 }
409
420
  * 장비에 주문서 실패를 적용합니다.
410
421
  * @param gear 적용할 장비.
411
422
  *
412
- * @throws {@link TypeError}
423
+ * @throws {@link GearError}
413
424
  * 주문서 실패를 적용할 수 없는 상태의 장비일 경우.
414
425
  */
415
426
  declare function failScroll(gear: Gear): void;
@@ -445,10 +456,20 @@ export { AddOptionType as AddOptionType_alias_2 }
445
456
  *
446
457
  * @param shape 변경할 장비 외형.
447
458
  *
448
- * @throws {@link TypeError}
459
+ * @throws {@link GearError}
449
460
  * 외형을 변경할 수 없는 장비일 경우.
450
461
  */
451
462
  set shape(shape: GearShapeData | undefined);
463
+ /**
464
+ * 이름 새기기
465
+ */
466
+ get itemTag(): string | undefined;
467
+ /**
468
+ * 이름 새기기 변경
469
+ *
470
+ * @param itemTag 적용할 이름.
471
+ */
472
+ set itemTag(itemTag: string | undefined);
452
473
  /**
453
474
  * 장비가 추가 옵션을 지원하는지 여부
454
475
  */
@@ -462,10 +483,10 @@ export { AddOptionType as AddOptionType_alias_2 }
462
483
  * @param type 추가 옵션 종류.
463
484
  * @param grade 추가 옵션 단계.
464
485
  *
465
- * @throws {@link TypeError}
486
+ * @throws {@link GearError}
466
487
  * 추가 옵션을 적용할 수 없는 상태일 경우.
467
488
  *
468
- * @throws {@link TypeError}
489
+ * @throws {@link GearError}
469
490
  * 부여할 수 없는 추가 옵션을 지정했을 경우.
470
491
  */
471
492
  applyAddOption(type: AddOptionType, grade: AddOptionGrade): void;
@@ -476,7 +497,7 @@ export { AddOptionType as AddOptionType_alias_2 }
476
497
  /**
477
498
  * 장비의 추가 옵션을 초기화합니다.
478
499
  *
479
- * @throws {@link TypeError}
500
+ * @throws {@link GearError}
480
501
  * 추가 옵션을 초기화할 수 없는 상태의 장비일 경우.
481
502
  */
482
503
  resetAddOption(): void;
@@ -491,7 +512,7 @@ export { AddOptionType as AddOptionType_alias_2 }
491
512
  /**
492
513
  * 장비에 주문서 실패를 1회 적용합니다.
493
514
  *
494
- * @throws {@link TypeError}
515
+ * @throws {@link GearError}
495
516
  * 주문서 실패를 적용할 수 없는 상태일 경우.
496
517
  */
497
518
  applyScrollFail(): void;
@@ -502,7 +523,7 @@ export { AddOptionType as AddOptionType_alias_2 }
502
523
  /**
503
524
  * 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 1회 복구합니다.
504
525
  *
505
- * @throws {@link TypeError}
526
+ * @throws {@link GearError}
506
527
  * 업그레이드 가능 횟수를 복구할 수 없는 상태일 경우.
507
528
  */
508
529
  applyResileScroll(): void;
@@ -513,7 +534,7 @@ export { AddOptionType as AddOptionType_alias_2 }
513
534
  /**
514
535
  * 장비의 주문서 강화를 초기화합니다.
515
536
  *
516
- * @throws {@link TypeError}
537
+ * @throws {@link GearError}
517
538
  * 주문서 강화를 초기화할 수 없는 장비일 경우.
518
539
  */
519
540
  resetUpgrade(): void;
@@ -525,7 +546,7 @@ export { AddOptionType as AddOptionType_alias_2 }
525
546
  * 장비에 주문서를 1회 적용합니다.
526
547
  * @param scroll 적용할 주문서.
527
548
  *
528
- * @throws {@link TypeError}
549
+ * @throws {@link GearError}
529
550
  * 주문서를 적용할 수 없는 상태일 경우.
530
551
  */
531
552
  applyScroll(scroll: Scroll): void;
@@ -534,10 +555,10 @@ export { AddOptionType as AddOptionType_alias_2 }
534
555
  * @param type 주문의 흔적 종류.
535
556
  * @param rate 주문의 흔적 성공 확률.
536
557
  *
537
- * @throws {@link TypeError}
558
+ * @throws {@link GearError}
538
559
  * 주문서를 적용할 수 없는 상태일 경우.
539
560
  *
540
- * @throws {@link TypeError}
561
+ * @throws {@link GearError}
541
562
  * 적용할 수 없는 주문의 흔적을 지정했을 경우.
542
563
  */
543
564
  applySpellTrace(type: SpellTraceType, rate: SpellTraceRate): void;
@@ -552,7 +573,7 @@ export { AddOptionType as AddOptionType_alias_2 }
552
573
  /**
553
574
  * 장비에 스타포스 강화를 1회 적용합니다.
554
575
  *
555
- * @throws {@link TypeError}
576
+ * @throws {@link GearError}
556
577
  * 스타포스 강화를 적용할 수 없는 경우.
557
578
  */
558
579
  applyStarforce(): void;
@@ -563,7 +584,7 @@ export { AddOptionType as AddOptionType_alias_2 }
563
584
  /**
564
585
  * 장비에 최대 강화 단계를 무시하고 스타포스 강화를 1회 적용합니다.
565
586
  *
566
- * @throws {@link TypeError}
587
+ * @throws {@link GearError}
567
588
  * 스타포스 강화를 적용할 수 없는 경우.
568
589
  */
569
590
  applyStarforceIgnoringMaxStar(): void;
@@ -575,7 +596,7 @@ export { AddOptionType as AddOptionType_alias_2 }
575
596
  * 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
576
597
  * @param bonus 보너스 스탯 적용 여부.
577
598
  *
578
- * @throws {@link TypeError}
599
+ * @throws {@link GearError}
579
600
  * 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
580
601
  */
581
602
  applyStarScroll(bonus?: boolean): void;
@@ -587,7 +608,7 @@ export { AddOptionType as AddOptionType_alias_2 }
587
608
  * 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
588
609
  * @param bonus 보너스 스탯 적용 여부.
589
610
  *
590
- * @throws {@link TypeError}
611
+ * @throws {@link GearError}
591
612
  * 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
592
613
  */
593
614
  applyStarScrollIgnoringMaxStar(bonus?: boolean): void;
@@ -616,10 +637,10 @@ export { AddOptionType as AddOptionType_alias_2 }
616
637
  * @param grade 잠재능력 등급.
617
638
  * @param options 잠재옵션 목록.
618
639
  *
619
- * @throws {@link TypeError}
640
+ * @throws {@link GearError}
620
641
  * 잠재능력을 설정할 수 없는 경우.
621
642
  *
622
- * @throws {@link TypeError}
643
+ * @throws {@link RangeError}
623
644
  * 설정하려는 잠재능력 등급이 Normal일 경우.
624
645
  *
625
646
  * @throws {@link TypeError}
@@ -631,7 +652,7 @@ export { AddOptionType as AddOptionType_alias_2 }
631
652
  *
632
653
  * 에디셔널 잠재능력은 변경되지 않습니다.
633
654
  *
634
- * @throws {@link TypeError}
655
+ * @throws {@link GearError}
635
656
  * 잠재능력을 초기화할 수 없는 경우.
636
657
  */
637
658
  resetPotential(): void;
@@ -652,10 +673,10 @@ export { AddOptionType as AddOptionType_alias_2 }
652
673
  * @param grade 에디셔널 잠재능력 등급.
653
674
  * @param options 에디셔널 잠재옵션 목록.
654
675
  *
655
- * @throws {@link TypeError}
676
+ * @throws {@link GearError}
656
677
  * 에디셔널 잠재능력을 설정할 수 없는 경우.
657
678
  *
658
- * @throws {@link TypeError}
679
+ * @throws {@link RangeError}
659
680
  * 설정하려는 에디셔널 잠재능력 등급이 Normal일 경우.
660
681
  *
661
682
  * @throws {@link TypeError}
@@ -665,7 +686,7 @@ export { AddOptionType as AddOptionType_alias_2 }
665
686
  /**
666
687
  * 장비의 에디셔널 잠재능력을 초기화합니다.
667
688
  *
668
- * @throws {@link TypeError}
689
+ * @throws {@link GearError}
669
690
  * 에디셔널 잠재능력을 초기화할 수 없는 경우.
670
691
  */
671
692
  resetAdditionalPotential(): void;
@@ -689,7 +710,7 @@ export { AddOptionType as AddOptionType_alias_2 }
689
710
  * 장비에 소울을 장착합니다.
690
711
  * @param soul 장착할 소울 아이템.
691
712
  *
692
- * @throws {@link TypeError}
713
+ * @throws {@link GearError}
693
714
  * 소울을 장착할 수 없는 경우.
694
715
  */
695
716
  setSoul(soul: SoulData): void;
@@ -701,7 +722,7 @@ export { AddOptionType as AddOptionType_alias_2 }
701
722
  * 장비의 소울 충전량을 설정합니다.
702
723
  * @param charge 소울 충전량.
703
724
  *
704
- * @throws {@link TypeError}
725
+ * @throws {@link GearError}
705
726
  * 소울 충전량을 설정할 수 없는 경우.
706
727
  */
707
728
  setSoulCharge(charge: number): void;
@@ -721,7 +742,7 @@ export { AddOptionType as AddOptionType_alias_2 }
721
742
  * 장비에 익셉셔널 강화를 적용합니다.
722
743
  * @param exceptionalHammer 적용할 익셉셔널 해머.
723
744
  *
724
- * @throws {@link TypeError}
745
+ * @throws {@link GearError}
725
746
  * 익셉셔널 강화를 적용할 수 없는 상태일 경우.
726
747
  */
727
748
  applyExceptional(exceptionalHammer: ExceptionalHammer): void;
@@ -732,7 +753,7 @@ export { AddOptionType as AddOptionType_alias_2 }
732
753
  /**
733
754
  * 장비의 익셉셔널 강화를 초기화합니다.
734
755
  *
735
- * @throws {@link TypeError}
756
+ * @throws {@link GearError}
736
757
  * 익셉셔널 강화를 초기화할 수 없는 경우.
737
758
  */
738
759
  resetExceptional(): void;
@@ -918,16 +939,20 @@ export { AddOptionType as AddOptionType_alias_2 }
918
939
  * 장비 정보
919
940
  */
920
941
  declare interface GearData {
921
- /** 장비 메타데이터 */
922
- meta: GearMetadata;
942
+ /** 장비 정보 버전 */
943
+ version: typeof VERSION;
944
+ /** 아이템 ID */
945
+ id: number;
923
946
  /** 장비명 */
924
947
  name: string;
925
- /** 장비 아이콘 */
926
- icon?: string;
927
948
  /** 장비 설명 */
928
949
  desc?: string;
950
+ /** 장비 아이콘 */
951
+ icon: string;
929
952
  /** 장비 외형 */
930
953
  shape?: GearShapeData;
954
+ /** 이름 새기기 */
955
+ itemTag?: string;
931
956
  /** 장비 분류 */
932
957
  type: GearType;
933
958
  /** 장비 착용 제한 */
@@ -975,6 +1000,16 @@ export { AddOptionType as AddOptionType_alias_2 }
975
1000
  export { GearData as GearData_alias_1 }
976
1001
  export { GearData as GearData_alias_2 }
977
1002
 
1003
+ export declare class GearError extends Error {
1004
+ readonly gearId: number;
1005
+ readonly gearName: string;
1006
+ readonly status: Record<string, unknown>;
1007
+ constructor(message: string, gear: {
1008
+ id: number;
1009
+ name: string;
1010
+ }, status: Record<string, unknown>);
1011
+ }
1012
+
978
1013
  /**
979
1014
  * 장비 익셉셔널 옵션
980
1015
  */
@@ -1014,23 +1049,6 @@ export { AddOptionType as AddOptionType_alias_2 }
1014
1049
  export { GearIncline as GearIncline_alias_1 }
1015
1050
  export { GearIncline as GearIncline_alias_2 }
1016
1051
 
1017
- /**
1018
- * 장비 메타데이터
1019
- *
1020
- * 사용자는 메타데이터에 커스텀 속성을 추가할 수 있습니다.
1021
- * 커스텀 속성은 해당 라이브러리가 임의로 변경하지 않습니다.
1022
- * 충돌을 방지하기 위해 커스텀 속성명은 하나의 `_`으로 시작해야 합니다.
1023
- */
1024
- declare interface GearMetadata {
1025
- /** 아이템 ID */
1026
- id: number;
1027
- /** 장비 정보 버전 */
1028
- version: 1;
1029
- }
1030
- export { GearMetadata }
1031
- export { GearMetadata as GearMetadata_alias_1 }
1032
- export { GearMetadata as GearMetadata_alias_2 }
1033
-
1034
1052
  declare type GearNames = keyof typeof resources;
1035
1053
 
1036
1054
  /**
@@ -1487,7 +1505,7 @@ export { AddOptionType as AddOptionType_alias_2 }
1487
1505
  * @param grade 추가 옵션 단계.
1488
1506
  * @returns 추가 옵션 종류 및 단계에 해당하는 옵션.
1489
1507
  *
1490
- * @throws {@link TypeError}
1508
+ * @throws {@link GearError}
1491
1509
  * 장비에 부여할 수 없는 추가 옵션을 지정했을 경우.
1492
1510
  */
1493
1511
  declare function getAddOption(gear: ReadonlyGear, type: AddOptionType, grade: AddOptionGrade): Partial<GearAddOption>;
@@ -1503,7 +1521,7 @@ export { AddOptionType as AddOptionType_alias_2 }
1503
1521
  * @param grade 추가 옵션 단계.
1504
1522
  * @returns 추가 옵션 값.
1505
1523
  *
1506
- * @throws {@link TypeError}
1524
+ * @throws {@link GearError}
1507
1525
  * 장비에 부여할 수 없는 추가 옵션을 지정했을 경우.
1508
1526
  */
1509
1527
  declare function getAddOptionValue(gear: ReadonlyGear, type: AddOptionType, grade: AddOptionGrade): number;
@@ -1558,13 +1576,15 @@ export { AddOptionType as AddOptionType_alias_2 }
1558
1576
  * @param rate 주문의 흔적 성공 확률.
1559
1577
  * @returns 주문의 흔적 주문서.
1560
1578
  *
1561
- * @throws {@link TypeError}
1579
+ * @throws {@link GearError}
1562
1580
  * 주문의 흔적을 장비에 적용할 수 없는 경우.
1563
1581
  */
1564
1582
  declare function getSpellTraceScroll(gear: ReadonlyGear, type: SpellTraceType, rate: SpellTraceRate): SpellTrace;
1565
1583
  export { getSpellTraceScroll }
1566
1584
  export { getSpellTraceScroll as getSpellTraceScroll_alias_1 }
1567
1585
 
1586
+ export declare function getVersion(data: object): number | undefined;
1587
+
1568
1588
  export declare function _getWeaponPowerValue(grade: AddOptionGrade, ctx: AddOptionContext): number;
1569
1589
 
1570
1590
  export declare function _getWeaponSpellTrace(gear: ReadonlyGear, type: SpellTraceType, rate: SpellTraceRate): SpellTrace;
@@ -1662,6 +1682,10 @@ export { AddOptionType as AddOptionType_alias_2 }
1662
1682
 
1663
1683
  export declare const MAX_SUPERIOR = 15;
1664
1684
 
1685
+ declare function migrate(data: object, version?: number): object;
1686
+ export { migrate }
1687
+ export { migrate as migrate_alias_1 }
1688
+
1665
1689
  declare type OptionalProperty = 'attackSpeed' | 'cuttableCount' | 'totalCuttableCount' | 'setItemId' | 'growthExp' | 'growthLevel' | 'dateExpire';
1666
1690
 
1667
1691
  export declare type Patch = (gear: Gear) => void;
@@ -1716,1449 +1740,1409 @@ export { AddOptionType as AddOptionType_alias_2 }
1716
1740
  /**
1717
1741
  * 장비 정보를 참조하는 장비 인스턴스를 생성합니다.
1718
1742
  * @param data 장비 정보.
1719
- */
1720
- constructor(data: GearData);
1721
- /**
1722
- * 장비 정보
1723
- */
1724
- get data(): Readonly<GearData>;
1725
- /**
1726
- * 장비 메타데이터
1727
- */
1728
- get meta(): GearMetadata;
1729
- /**
1730
- * 장비명
1731
- */
1732
- get name(): string;
1733
- /**
1734
- * 장비 아이콘
1735
- */
1736
- get icon(): string;
1737
- /**
1738
- * 장비 설명
1739
- */
1740
- get desc(): string | undefined;
1741
- /**
1742
- * 장비 외형
1743
- */
1744
- get shape(): Readonly<GearShapeData> | undefined;
1745
- /**
1746
- * 장비 외형 아이콘
1747
- *
1748
- * 장비 외형이 설정되었을 경우 장비 외형 아이콘, 그렇지 않을 경우 장비 아이콘.
1749
- */
1750
- get shapeIcon(): string;
1751
- /**
1752
- * 장비 분류
1753
- */
1754
- get type(): GearType;
1755
- /**
1756
- * 장비 착용 제한
1757
- */
1758
- get req(): GearReq;
1759
- /**
1760
- * 장비 속성
1761
- */
1762
- get attributes(): GearAttribute;
1763
- /**
1764
- * 장비 최종 옵션
1765
- *
1766
- * 기본 옵션, 추가 옵션, 주문서 옵션, 스타포스 옵션의 합.
1767
- *
1768
- * 익셉셔널 옵션은 미포함.
1769
- */
1770
- get totalOption(): Readonly<GearBaseOption & GearAddOption & GearUpgradeOption & GearStarforceOption>;
1771
- /**
1772
- * 장비 순수 옵션
1773
- */
1774
- get baseOption(): Readonly<GearBaseOption>;
1775
- /**
1776
- * 장비 추가 옵션
1777
- */
1778
- get addOption(): Readonly<GearAddOption>;
1779
- /**
1780
- * 장비 주문서 강화 옵션
1781
- */
1782
- get upgradeOption(): Readonly<GearUpgradeOption>;
1783
- /**
1784
- * 장비 스타포스 옵션
1785
- */
1786
- get starforceOption(): Readonly<GearStarforceOption>;
1787
- /**
1788
- * 추가 옵션 목록
1789
- */
1790
- get addOptions(): readonly Readonly<AddOptionData>[];
1791
- /**
1792
- * 업그레이드 횟수
1793
- */
1794
- get scrollUpgradeCount(): number;
1795
- /**
1796
- * 복구 가능 횟수
1797
- */
1798
- get scrollResilienceCount(): number;
1799
- /**
1800
- * 업그레이드 가능 횟수
1801
- */
1802
- get scrollUpgradeableCount(): number;
1803
- /**
1804
- * 전체 업그레이드 가능 횟수
1805
1743
  *
1806
- * 성공, 실패, 황금 망치 적용 여부를 무시한 장비의 기본 업그레이드 가능 횟수입니다.
1807
- */
1808
- get scrollTotalUpgradeableCount(): number;
1809
- /**
1810
- * 스타포스 강화 단계
1811
- */
1812
- get star(): number;
1813
- /**
1814
- * 최대 스타포스 강화 단계
1815
- *
1816
- * 놀라운 장비 강화 주문서가 사용되었을 경우 최대 `15`입니다.
1817
- */
1818
- get maxStar(): number;
1819
- /**
1820
- * 놀라운 장비 강화 주문서 사용 여부
1821
- */
1822
- get starScroll(): boolean;
1823
- /**
1824
- * 소울 인챈트 여부
1825
- */
1826
- get soulEnchanted(): boolean;
1827
- /**
1828
- * 소울
1829
- */
1830
- get soul(): ReadonlySoulData | undefined;
1831
- /**
1832
- * 소울 충전량
1833
- */
1834
- get soulCharge(): number;
1835
- /**
1836
- * 소울 충전 옵션
1837
- */
1838
- get soulChargeOption(): Readonly<SoulChargeOption>;
1839
- /**
1840
- * 잠재능력 등급
1841
- */
1842
- get potentialGrade(): PotentialGrade;
1843
- /**
1844
- * 잠재능력 목록
1845
- */
1846
- get potentials(): readonly ReadonlyPotential[];
1847
- /**
1848
- * 에디셔널 잠재능력 등급
1849
- */
1850
- get additionalPotentialGrade(): PotentialGrade;
1851
- /**
1852
- * 에디셔널 잠재능력 목록
1853
- */
1854
- get additionalPotentials(): readonly Readonly<ReadonlyPotential>[];
1855
- /**
1856
- * 장비 익셉셔널 옵션
1857
- */
1858
- get exceptionalOption(): Readonly<GearExceptionalOption>;
1859
- /**
1860
- * 익셉셔널 강화 횟수
1861
- */
1862
- get exceptionalUpgradeCount(): number;
1863
- /**
1864
- * 익셉셔널 강화 가능 횟수
1865
- */
1866
- get exceptionalUpgradeableCount(): number;
1744
+ * @throws {@link GearError}
1745
+ * 지원하지 않는 장비 정보 버전일 경우.
1746
+ */
1747
+ constructor(data: GearData);
1748
+ /**
1749
+ * 장비 정보
1750
+ */
1751
+ get data(): Readonly<GearData>;
1752
+ /**
1753
+ * 장비 정보 버전
1754
+ */
1755
+ get version(): typeof VERSION;
1756
+ /**
1757
+ * 장비 ID
1758
+ */
1759
+ get id(): number;
1760
+ /**
1761
+ * 장비명
1762
+ */
1763
+ get name(): string;
1764
+ /**
1765
+ * 장비 아이콘
1766
+ */
1767
+ get icon(): string;
1768
+ /**
1769
+ * 장비 설명
1770
+ */
1771
+ get desc(): string | undefined;
1772
+ /**
1773
+ * 장비 외형
1774
+ */
1775
+ get shape(): Readonly<GearShapeData> | undefined;
1776
+ /**
1777
+ * 장비 외형 아이콘
1778
+ *
1779
+ * 장비 외형이 설정되었을 경우 장비 외형 아이콘, 그렇지 않을 경우 장비 아이콘.
1780
+ */
1781
+ get shapeIcon(): string;
1782
+ /**
1783
+ * 이름 새기기
1784
+ */
1785
+ get itemTag(): string | undefined;
1786
+ /**
1787
+ * 장비 분류
1788
+ */
1789
+ get type(): GearType;
1790
+ /**
1791
+ * 장비 착용 제한
1792
+ */
1793
+ get req(): GearReq;
1794
+ /**
1795
+ * 장비 속성
1796
+ */
1797
+ get attributes(): GearAttribute;
1798
+ /**
1799
+ * 장비 최종 옵션
1800
+ *
1801
+ * 기본 옵션, 추가 옵션, 주문서 옵션, 스타포스 옵션의 합.
1802
+ *
1803
+ * 익셉셔널 옵션은 미포함.
1804
+ */
1805
+ get totalOption(): Readonly<GearBaseOption & GearAddOption & GearUpgradeOption & GearStarforceOption>;
1806
+ /**
1807
+ * 장비 순수 옵션
1808
+ */
1809
+ get baseOption(): Readonly<GearBaseOption>;
1810
+ /**
1811
+ * 장비 추가 옵션
1812
+ */
1813
+ get addOption(): Readonly<GearAddOption>;
1814
+ /**
1815
+ * 장비 주문서 강화 옵션
1816
+ */
1817
+ get upgradeOption(): Readonly<GearUpgradeOption>;
1818
+ /**
1819
+ * 장비 스타포스 옵션
1820
+ */
1821
+ get starforceOption(): Readonly<GearStarforceOption>;
1822
+ /**
1823
+ * 추가 옵션 목록
1824
+ */
1825
+ get addOptions(): readonly Readonly<AddOptionData>[];
1826
+ /**
1827
+ * 업그레이드 횟수
1828
+ */
1829
+ get scrollUpgradeCount(): number;
1830
+ /**
1831
+ * 복구 가능 횟수
1832
+ */
1833
+ get scrollResilienceCount(): number;
1834
+ /**
1835
+ * 업그레이드 가능 횟수
1836
+ */
1837
+ get scrollUpgradeableCount(): number;
1838
+ /**
1839
+ * 전체 업그레이드 가능 횟수
1840
+ *
1841
+ * 성공, 실패, 황금 망치 적용 여부를 무시한 장비의 기본 업그레이드 가능 횟수입니다.
1842
+ */
1843
+ get scrollTotalUpgradeableCount(): number;
1844
+ /**
1845
+ * 스타포스 강화 단계
1846
+ */
1847
+ get star(): number;
1848
+ /**
1849
+ * 최대 스타포스 강화 단계
1850
+ *
1851
+ * 놀라운 장비 강화 주문서가 사용되었을 경우 최대 `15`입니다.
1852
+ */
1853
+ get maxStar(): number;
1854
+ /**
1855
+ * 놀라운 장비 강화 주문서 사용 여부
1856
+ */
1857
+ get starScroll(): boolean;
1858
+ /**
1859
+ * 소울 인챈트 여부
1860
+ */
1861
+ get soulEnchanted(): boolean;
1862
+ /**
1863
+ * 소울
1864
+ */
1865
+ get soul(): ReadonlySoulData | undefined;
1866
+ /**
1867
+ * 소울 충전량
1868
+ */
1869
+ get soulCharge(): number;
1870
+ /**
1871
+ * 소울 충전 옵션
1872
+ */
1873
+ get soulChargeOption(): Readonly<SoulChargeOption>;
1874
+ /**
1875
+ * 잠재능력 등급
1876
+ */
1877
+ get potentialGrade(): PotentialGrade;
1878
+ /**
1879
+ * 잠재능력 목록
1880
+ */
1881
+ get potentials(): readonly ReadonlyPotential[];
1882
+ /**
1883
+ * 에디셔널 잠재능력 등급
1884
+ */
1885
+ get additionalPotentialGrade(): PotentialGrade;
1886
+ /**
1887
+ * 에디셔널 잠재능력 목록
1888
+ */
1889
+ get additionalPotentials(): readonly Readonly<ReadonlyPotential>[];
1890
+ /**
1891
+ * 장비 익셉셔널 옵션
1892
+ */
1893
+ get exceptionalOption(): Readonly<GearExceptionalOption>;
1894
+ /**
1895
+ * 익셉셔널 강화 횟수
1896
+ */
1897
+ get exceptionalUpgradeCount(): number;
1898
+ /**
1899
+ * 익셉셔널 강화 가능 횟수
1900
+ */
1901
+ get exceptionalUpgradeableCount(): number;
1902
+ /**
1903
+ * 전체 익셉셔널 강화 가능 횟수
1904
+ */
1905
+ get exceptionalTotalUpgradeableCount(): number;
1906
+ }
1907
+ export { ReadonlyGear }
1908
+ export { ReadonlyGear as ReadonlyGear_alias_1 }
1909
+
1867
1910
  /**
1868
- * 전체 익셉셔널 강화 가능 횟수
1911
+ * 잠재옵션 (읽기 전용)
1869
1912
  */
1870
- get exceptionalTotalUpgradeableCount(): number;
1871
- }
1872
- export { ReadonlyGear }
1873
- export { ReadonlyGear as ReadonlyGear_alias_1 }
1913
+ declare interface ReadonlyPotential extends Readonly<PotentialData> {
1914
+ /** 잠재능력 옵션 */
1915
+ option: Readonly<PotentialOption>;
1916
+ }
1917
+ export { ReadonlyPotential }
1918
+ export { ReadonlyPotential as ReadonlyPotential_alias_1 }
1874
1919
 
1875
- /**
1876
- * 잠재옵션 (읽기 전용)
1877
- */
1878
- declare interface ReadonlyPotential extends Readonly<PotentialData> {
1879
- /** 잠재능력 옵션 */
1880
- option: Readonly<PotentialOption>;
1881
- }
1882
- export { ReadonlyPotential }
1883
- export { ReadonlyPotential as ReadonlyPotential_alias_1 }
1884
-
1885
- /**
1886
- * 소울 정보 (읽기 전용)
1887
- */
1888
- declare type ReadonlySoulData = Readonly<Omit<SoulData, 'option'> & {
1889
- option: Readonly<SoulOption>;
1890
- }>;
1891
- export { ReadonlySoulData }
1892
- export { ReadonlySoulData as ReadonlySoulData_alias_1 }
1893
- export { ReadonlySoulData as ReadonlySoulData_alias_2 }
1894
-
1895
- /**
1896
- * 장비의 스타포스 강화 옵션을 다시 계산합니다.
1897
- * @param gear 계산할 장비.
1898
- *
1899
- * @throws {@link TypeError}
1900
- * 스타포스 강화 옵션을 다시 계산할 수 없는 경우.
1920
+ /**
1921
+ * 소울 정보 (읽기 전용)
1901
1922
  */
1902
- export declare function recalculateStarforce(gear: Gear): void;
1903
-
1904
- /**
1905
- * 장비의 에디셔널 잠재능력을 초기화합니다.
1906
- * @param gear 초기화할 장비.
1907
- *
1908
- * @throws {@link TypeError}
1909
- * 에디셔널 잠재능력을 초기화할 수 없는 장비일 경우.
1910
- */
1911
- declare function resetAdditionalPotential(gear: Gear): void;
1912
- export { resetAdditionalPotential }
1913
- export { resetAdditionalPotential as resetAdditionalPotential_alias_1 }
1914
-
1915
- /**
1916
- * 장비의 추가 옵션을 초기화합니다.
1917
- * @param gear 초기화할 장비.
1918
- *
1919
- * @throws {@link TypeError}
1920
- * 추가 옵션을 초기화할 수 없는 상태의 장비일 경우.
1921
- */
1922
- declare function resetAddOption(gear: Gear): void;
1923
- export { resetAddOption }
1924
- export { resetAddOption as resetAddOption_alias_1 }
1925
-
1926
- /**
1927
- * 장비의 익셉셔널 강화를 초기화합니다.
1928
- * @param gear 초기화할 장비.
1929
- *
1930
- * @throws {@link TypeError}
1931
- * 익셉셔널 강화를 초기화할 수 없는 장비일 경우.
1932
- */
1933
- declare function resetExceptional(gear: Gear): void;
1934
- export { resetExceptional }
1935
- export { resetExceptional as resetExceptional_alias_1 }
1923
+ declare type ReadonlySoulData = Readonly<Omit<SoulData, 'option'> & {
1924
+ option: Readonly<SoulOption>;
1925
+ }>;
1926
+ export { ReadonlySoulData }
1927
+ export { ReadonlySoulData as ReadonlySoulData_alias_1 }
1928
+ export { ReadonlySoulData as ReadonlySoulData_alias_2 }
1936
1929
 
1937
1930
  /**
1938
- * 장비의 잠재능력을 초기화합니다.
1939
- *
1940
- * 에디셔널 잠재능력은 변경되지 않습니다.
1941
- * @param gear 초기화할 장비.
1931
+ * 장비의 스타포스 강화 옵션을 다시 계산합니다.
1932
+ * @param gear 계산할 장비.
1942
1933
  *
1943
- * @throws {@link TypeError}
1944
- * 잠재능력을 초기화할 수 없는 장비일 경우.
1934
+ * @throws {@link GearError}
1935
+ * 스타포스 강화 옵션을 다시 계산할 수 없는 경우.
1945
1936
  */
1946
- declare function resetPotential(gear: Gear): void;
1947
- export { resetPotential }
1948
- export { resetPotential as resetPotential_alias_1 }
1937
+ export declare function recalculateStarforce(gear: Gear): void;
1949
1938
 
1950
1939
  /**
1951
- * 장비의 소울웨폰을 초기화합니다.
1952
- * @param gear 초기화할 장비.
1953
- */
1954
- declare function resetSoulEnchant(gear: Gear): void;
1955
- export { resetSoulEnchant }
1956
- export { resetSoulEnchant as resetSoulEnchant_alias_1 }
1957
-
1958
- /**
1959
- * 장비의 스타포스 강화를 초기화합니다.
1940
+ * 장비의 에디셔널 잠재능력을 초기화합니다.
1960
1941
  * @param gear 초기화할 장비.
1961
1942
  *
1962
- * @throws {@link TypeError}
1963
- * 스타포스 강화를 초기화할 수 없는 장비일 경우.
1943
+ * @throws {@link GearError}
1944
+ * 에디셔널 잠재능력을 초기화할 수 없는 장비일 경우.
1964
1945
  */
1965
- declare function resetStarforce(gear: Gear): void;
1966
- export { resetStarforce }
1967
- export { resetStarforce as resetStarforce_alias_1 }
1946
+ declare function resetAdditionalPotential(gear: Gear): void;
1947
+ export { resetAdditionalPotential }
1948
+ export { resetAdditionalPotential as resetAdditionalPotential_alias_1 }
1968
1949
 
1969
1950
  /**
1970
- * 장비의 주문서 강화를 초기화합니다.
1951
+ * 장비의 추가 옵션을 초기화합니다.
1971
1952
  * @param gear 초기화할 장비.
1972
1953
  *
1973
- * @throws {@link TypeError}
1974
- * 주문서 강화를 초기화할 수 없는 장비일 경우.
1954
+ * @throws {@link GearError}
1955
+ * 추가 옵션을 초기화할 수 없는 상태의 장비일 경우.
1975
1956
  */
1976
- declare function resetUpgrade(gear: Gear): void;
1977
- export { resetUpgrade }
1978
- export { resetUpgrade as resetUpgrade_alias_1 }
1957
+ declare function resetAddOption(gear: Gear): void;
1958
+ export { resetAddOption }
1959
+ export { resetAddOption as resetAddOption_alias_1 }
1979
1960
 
1980
1961
  /**
1981
- * 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 1회 복구합니다.
1982
- * @param gear 복구할 장비.
1962
+ * 장비의 익셉셔널 강화를 초기화합니다.
1963
+ * @param gear 초기화할 장비.
1983
1964
  *
1984
- * @throws {@link TypeError}
1985
- * 업그레이드 가능 횟수를 복구할 수 없는 상태의 장비일 경우.
1965
+ * @throws {@link GearError}
1966
+ * 익셉셔널 강화를 초기화할 수 없는 장비일 경우.
1986
1967
  */
1987
- declare function resileScroll(gear: Gear): void;
1988
- export { resileScroll }
1989
- export { resileScroll as resileScroll_alias_1 }
1968
+ declare function resetExceptional(gear: Gear): void;
1969
+ export { resetExceptional }
1970
+ export { resetExceptional as resetExceptional_alias_1 }
1990
1971
 
1991
- export declare const resources: {
1992
- '': {
1993
- meta: {
1972
+ /**
1973
+ * 장비의 잠재능력을 초기화합니다.
1974
+ *
1975
+ * 에디셔널 잠재능력은 변경되지 않습니다.
1976
+ * @param gear 초기화할 장비.
1977
+ *
1978
+ * @throws {@link GearError}
1979
+ * 잠재능력을 초기화할 수 없는 장비일 경우.
1980
+ */
1981
+ declare function resetPotential(gear: Gear): void;
1982
+ export { resetPotential }
1983
+ export { resetPotential as resetPotential_alias_1 }
1984
+
1985
+ /**
1986
+ * 장비의 소울웨폰을 초기화합니다.
1987
+ * @param gear 초기화할 장비.
1988
+ */
1989
+ declare function resetSoulEnchant(gear: Gear): void;
1990
+ export { resetSoulEnchant }
1991
+ export { resetSoulEnchant as resetSoulEnchant_alias_1 }
1992
+
1993
+ /**
1994
+ * 장비의 스타포스 강화를 초기화합니다.
1995
+ * @param gear 초기화할 장비.
1996
+ *
1997
+ * @throws {@link GearError}
1998
+ * 스타포스 강화를 초기화할 수 없는 장비일 경우.
1999
+ */
2000
+ declare function resetStarforce(gear: Gear): void;
2001
+ export { resetStarforce }
2002
+ export { resetStarforce as resetStarforce_alias_1 }
2003
+
2004
+ /**
2005
+ * 장비의 주문서 강화를 초기화합니다.
2006
+ * @param gear 초기화할 장비.
2007
+ *
2008
+ * @throws {@link GearError}
2009
+ * 주문서 강화를 초기화할 수 없는 장비일 경우.
2010
+ */
2011
+ declare function resetUpgrade(gear: Gear): void;
2012
+ export { resetUpgrade }
2013
+ export { resetUpgrade as resetUpgrade_alias_1 }
2014
+
2015
+ /**
2016
+ * 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 1회 복구합니다.
2017
+ * @param gear 복구할 장비.
2018
+ *
2019
+ * @throws {@link GearError}
2020
+ * 업그레이드 가능 횟수를 복구할 수 없는 상태의 장비일 경우.
2021
+ */
2022
+ declare function resileScroll(gear: Gear): void;
2023
+ export { resileScroll }
2024
+ export { resileScroll as resileScroll_alias_1 }
2025
+
2026
+ export declare const resources: {
2027
+ '': {
1994
2028
  id: number;
1995
- version: 1;
1996
- };
1997
- name: string;
1998
- icon: string;
1999
- type: 100;
2000
- req: {};
2001
- attributes: {};
2002
- };
2003
- '\uD551\uD06C\uBE48 \uBAA8\uC790': {
2004
- meta: {
2029
+ version: 2;
2030
+ name: string;
2031
+ icon: string;
2032
+ type: 100;
2033
+ req: {};
2034
+ attributes: {};
2035
+ };
2036
+ '\uD551\uD06C\uBE48 \uBAA8\uC790': {
2005
2037
  id: number;
2006
- version: 1;
2007
- };
2008
- name: string;
2009
- icon: string;
2010
- type: 100;
2011
- req: {
2012
- level: number;
2013
- };
2014
- attributes: {
2015
- canStarforce: 1;
2016
- canScroll: 1;
2017
- canAddOption: 1;
2018
- canPotential: 1;
2019
- canAdditionalPotential: 1;
2020
- };
2021
- baseOption: {
2022
- str: number;
2023
- dex: number;
2024
- int: number;
2025
- luk: number;
2038
+ version: 2;
2039
+ name: string;
2040
+ icon: string;
2041
+ type: 100;
2042
+ req: {
2043
+ level: number;
2044
+ };
2045
+ attributes: {
2046
+ canStarforce: 1;
2047
+ canScroll: 1;
2048
+ canAddOption: 1;
2049
+ canPotential: 1;
2050
+ canAdditionalPotential: 1;
2051
+ };
2052
+ baseOption: {
2053
+ str: number;
2054
+ dex: number;
2055
+ int: number;
2056
+ luk: number;
2057
+ };
2058
+ scrollUpgradeableCount: number;
2026
2059
  };
2027
- scrollUpgradeableCount: number;
2028
- };
2029
- '\uB9AC\uBC84\uC2A4 \uD700\uB12C': {
2030
- meta: {
2060
+ '\uB9AC\uBC84\uC2A4 \uD700\uB12C': {
2031
2061
  id: number;
2032
- version: 1;
2033
- };
2034
- name: string;
2035
- icon: string;
2036
- type: 100;
2037
- req: {
2038
- level: number;
2039
- job: number;
2040
- };
2041
- attributes: {
2042
- trade: 2;
2043
- canStarforce: 1;
2044
- canScroll: 1;
2045
- canAddOption: 1;
2046
- canPotential: 1;
2047
- canAdditionalPotential: 1;
2048
- };
2049
- baseOption: {
2050
- str: number;
2051
- armor: number;
2062
+ version: 2;
2063
+ name: string;
2064
+ icon: string;
2065
+ type: 100;
2066
+ req: {
2067
+ level: number;
2068
+ job: number;
2069
+ };
2070
+ attributes: {
2071
+ trade: 2;
2072
+ canStarforce: 1;
2073
+ canScroll: 1;
2074
+ canAddOption: 1;
2075
+ canPotential: 1;
2076
+ canAdditionalPotential: 1;
2077
+ };
2078
+ baseOption: {
2079
+ str: number;
2080
+ armor: number;
2081
+ };
2082
+ scrollUpgradeableCount: number;
2052
2083
  };
2053
- scrollUpgradeableCount: number;
2054
- };
2055
- '\uB178\uAC00\uB2E4 \uBAA9\uC7A5\uAC11': {
2056
- meta: {
2084
+ '\uB178\uAC00\uB2E4 \uBAA9\uC7A5\uAC11': {
2057
2085
  id: number;
2058
- version: 1;
2059
- };
2060
- name: string;
2061
- icon: string;
2062
- type: 108;
2063
- req: {
2064
- level: number;
2065
- };
2066
- attributes: {
2067
- canStarforce: 1;
2068
- canScroll: 1;
2069
- canAddOption: 1;
2070
- canPotential: 1;
2071
- canAdditionalPotential: 1;
2072
- };
2073
- baseOption: {
2074
- armor: number;
2086
+ version: 2;
2087
+ name: string;
2088
+ icon: string;
2089
+ type: 108;
2090
+ req: {
2091
+ level: number;
2092
+ };
2093
+ attributes: {
2094
+ canStarforce: 1;
2095
+ canScroll: 1;
2096
+ canAddOption: 1;
2097
+ canPotential: 1;
2098
+ canAdditionalPotential: 1;
2099
+ };
2100
+ baseOption: {
2101
+ armor: number;
2102
+ };
2103
+ scrollUpgradeableCount: number;
2075
2104
  };
2076
- scrollUpgradeableCount: number;
2077
- };
2078
- '\uD2BC\uD2BC\uD55C \uAE30\uACC4 \uC7A5\uAC11': {
2079
- meta: {
2105
+ '\uD2BC\uD2BC\uD55C \uAE30\uACC4 \uC7A5\uAC11': {
2080
2106
  id: number;
2081
- version: 1;
2082
- };
2083
- name: string;
2084
- icon: string;
2085
- type: 108;
2086
- req: {
2087
- level: number;
2088
- };
2089
- attributes: {
2090
- canStarforce: 1;
2091
- canScroll: 1;
2092
- canAddOption: 1;
2093
- canPotential: 1;
2094
- canAdditionalPotential: 1;
2095
- };
2096
- baseOption: {
2097
- armor: number;
2107
+ version: 2;
2108
+ name: string;
2109
+ icon: string;
2110
+ type: 108;
2111
+ req: {
2112
+ level: number;
2113
+ };
2114
+ attributes: {
2115
+ canStarforce: 1;
2116
+ canScroll: 1;
2117
+ canAddOption: 1;
2118
+ canPotential: 1;
2119
+ canAdditionalPotential: 1;
2120
+ };
2121
+ baseOption: {
2122
+ armor: number;
2123
+ };
2124
+ scrollUpgradeableCount: number;
2098
2125
  };
2099
- scrollUpgradeableCount: number;
2100
- };
2101
- '\uBE14\uB799 \uAC00\uB9AC\uB098 \uAE00\uB85C\uBE0C': {
2102
- meta: {
2126
+ '\uBE14\uB799 \uAC00\uB9AC\uB098 \uAE00\uB85C\uBE0C': {
2103
2127
  id: number;
2104
- version: 1;
2105
- };
2106
- name: string;
2107
- icon: string;
2108
- type: 108;
2109
- req: {
2110
- level: number;
2111
- job: number;
2112
- };
2113
- attributes: {
2114
- canStarforce: 1;
2115
- canScroll: 1;
2116
- canAddOption: 1;
2117
- canPotential: 1;
2118
- canAdditionalPotential: 1;
2119
- };
2120
- baseOption: {
2121
- dex: number;
2122
- luk: number;
2123
- armor: number;
2128
+ version: 2;
2129
+ name: string;
2130
+ icon: string;
2131
+ type: 108;
2132
+ req: {
2133
+ level: number;
2134
+ job: number;
2135
+ };
2136
+ attributes: {
2137
+ canStarforce: 1;
2138
+ canScroll: 1;
2139
+ canAddOption: 1;
2140
+ canPotential: 1;
2141
+ canAdditionalPotential: 1;
2142
+ };
2143
+ baseOption: {
2144
+ dex: number;
2145
+ luk: number;
2146
+ armor: number;
2147
+ };
2148
+ scrollUpgradeableCount: number;
2124
2149
  };
2125
- scrollUpgradeableCount: number;
2126
- };
2127
- '\uD39C\uC0B4\uB9AC\uB974 \uC2A4\uD0A4\uD37C\uBD80\uCE20': {
2128
- meta: {
2150
+ '\uD39C\uC0B4\uB9AC\uB974 \uC2A4\uD0A4\uD37C\uBD80\uCE20': {
2129
2151
  id: number;
2130
- version: 1;
2131
- };
2132
- name: string;
2133
- icon: string;
2134
- type: 107;
2135
- req: {
2136
- level: number;
2137
- job: number;
2138
- };
2139
- attributes: {
2140
- canStarforce: 1;
2141
- canScroll: 1;
2142
- canAddOption: 1;
2143
- canPotential: 1;
2144
- canAdditionalPotential: 1;
2145
- };
2146
- baseOption: {
2147
- str: number;
2148
- dex: number;
2149
- attackPower: number;
2150
- armor: number;
2151
- speed: number;
2152
+ version: 2;
2153
+ name: string;
2154
+ icon: string;
2155
+ type: 107;
2156
+ req: {
2157
+ level: number;
2158
+ job: number;
2159
+ };
2160
+ attributes: {
2161
+ canStarforce: 1;
2162
+ canScroll: 1;
2163
+ canAddOption: 1;
2164
+ canPotential: 1;
2165
+ canAdditionalPotential: 1;
2166
+ };
2167
+ baseOption: {
2168
+ str: number;
2169
+ dex: number;
2170
+ attackPower: number;
2171
+ armor: number;
2172
+ speed: number;
2173
+ };
2174
+ scrollUpgradeableCount: number;
2152
2175
  };
2153
- scrollUpgradeableCount: number;
2154
- };
2155
- '\uC571\uC194\uB7A9\uC2A4 \uC2DC\uD504\uC288\uC988': {
2156
- meta: {
2176
+ '\uC571\uC194\uB7A9\uC2A4 \uC2DC\uD504\uC288\uC988': {
2157
2177
  id: number;
2158
- version: 1;
2159
- };
2160
- name: string;
2161
- icon: string;
2162
- type: 107;
2163
- req: {
2164
- level: number;
2165
- job: number;
2166
- };
2167
- attributes: {
2168
- trade: 2;
2169
- cuttable: 2;
2170
- bossReward: true;
2171
- incline: {
2172
- charm: number;
2173
- };
2174
- canStarforce: 1;
2175
- canScroll: 1;
2176
- canAddOption: 1;
2177
- canPotential: 1;
2178
- canAdditionalPotential: 1;
2179
- };
2180
- baseOption: {
2181
- dex: number;
2182
- luk: number;
2183
- attackPower: number;
2184
- armor: number;
2185
- speed: number;
2186
- jump: number;
2178
+ version: 2;
2179
+ name: string;
2180
+ icon: string;
2181
+ type: 107;
2182
+ req: {
2183
+ level: number;
2184
+ job: number;
2185
+ };
2186
+ attributes: {
2187
+ trade: 2;
2188
+ cuttable: 2;
2189
+ bossReward: true;
2190
+ incline: {
2191
+ charm: number;
2192
+ };
2193
+ canStarforce: 1;
2194
+ canScroll: 1;
2195
+ canAddOption: 1;
2196
+ canPotential: 1;
2197
+ canAdditionalPotential: 1;
2198
+ };
2199
+ baseOption: {
2200
+ dex: number;
2201
+ luk: number;
2202
+ attackPower: number;
2203
+ armor: number;
2204
+ speed: number;
2205
+ jump: number;
2206
+ };
2207
+ scrollUpgradeableCount: number;
2187
2208
  };
2188
- scrollUpgradeableCount: number;
2189
- };
2190
- '\uB178\uBC14 \uD788\uC544\uB370\uC2A4 \uD074\uB85D': {
2191
- meta: {
2209
+ '\uB178\uBC14 \uD788\uC544\uB370\uC2A4 \uD074\uB85D': {
2192
2210
  id: number;
2193
- version: 1;
2194
- };
2195
- name: string;
2196
- icon: string;
2197
- type: 110;
2198
- req: {
2199
- level: number;
2200
- job: number;
2201
- };
2202
- attributes: {
2203
- trade: 1;
2204
- cuttable: 2;
2205
- superior: true;
2206
- canStarforce: 1;
2207
- canScroll: 1;
2208
- canAddOption: 1;
2209
- canPotential: 1;
2210
- canAdditionalPotential: 1;
2211
- };
2212
- baseOption: {
2213
- str: number;
2214
- dex: number;
2215
- int: number;
2216
- luk: number;
2217
- attackPower: number;
2218
- magicPower: number;
2219
- armor: number;
2211
+ version: 2;
2212
+ name: string;
2213
+ icon: string;
2214
+ type: 110;
2215
+ req: {
2216
+ level: number;
2217
+ job: number;
2218
+ };
2219
+ attributes: {
2220
+ trade: 1;
2221
+ cuttable: 2;
2222
+ superior: true;
2223
+ canStarforce: 1;
2224
+ canScroll: 1;
2225
+ canAddOption: 1;
2226
+ canPotential: 1;
2227
+ canAdditionalPotential: 1;
2228
+ };
2229
+ baseOption: {
2230
+ str: number;
2231
+ dex: number;
2232
+ int: number;
2233
+ luk: number;
2234
+ attackPower: number;
2235
+ magicPower: number;
2236
+ armor: number;
2237
+ };
2238
+ scrollUpgradeableCount: number;
2220
2239
  };
2221
- scrollUpgradeableCount: number;
2222
- };
2223
- '\uD0C0\uC77C\uB7F0\uD2B8 \uCF00\uC774\uB860 \uD074\uB85D': {
2224
- meta: {
2240
+ '\uD0C0\uC77C\uB7F0\uD2B8 \uCF00\uC774\uB860 \uD074\uB85D': {
2225
2241
  id: number;
2226
- version: 1;
2227
- };
2228
- name: string;
2229
- icon: string;
2230
- type: 110;
2231
- req: {
2232
- level: number;
2233
- job: number;
2234
- };
2235
- attributes: {
2236
- trade: 1;
2237
- cuttable: 2;
2238
- bossReward: true;
2239
- superior: true;
2240
- canStarforce: 1;
2241
- canScroll: 1;
2242
- canAddOption: 1;
2243
- canPotential: 1;
2244
- canAdditionalPotential: 1;
2245
- };
2246
- baseOption: {
2247
- str: number;
2248
- dex: number;
2249
- int: number;
2250
- luk: number;
2251
- attackPower: number;
2252
- magicPower: number;
2253
- armor: number;
2242
+ version: 2;
2243
+ name: string;
2244
+ icon: string;
2245
+ type: 110;
2246
+ req: {
2247
+ level: number;
2248
+ job: number;
2249
+ };
2250
+ attributes: {
2251
+ trade: 1;
2252
+ cuttable: 2;
2253
+ bossReward: true;
2254
+ superior: true;
2255
+ canStarforce: 1;
2256
+ canScroll: 1;
2257
+ canAddOption: 1;
2258
+ canPotential: 1;
2259
+ canAdditionalPotential: 1;
2260
+ };
2261
+ baseOption: {
2262
+ str: number;
2263
+ dex: number;
2264
+ int: number;
2265
+ luk: number;
2266
+ attackPower: number;
2267
+ magicPower: number;
2268
+ armor: number;
2269
+ };
2270
+ scrollUpgradeableCount: number;
2254
2271
  };
2255
- scrollUpgradeableCount: number;
2256
- };
2257
- '\uC5D0\uD14C\uB974\uB12C \uB098\uC774\uD2B8\uCF00\uC774\uD504': {
2258
- meta: {
2272
+ '\uC5D0\uD14C\uB974\uB12C \uB098\uC774\uD2B8\uCF00\uC774\uD504': {
2259
2273
  id: number;
2260
- version: 1;
2261
- };
2262
- name: string;
2263
- icon: string;
2264
- type: 110;
2265
- req: {
2266
- level: number;
2267
- job: number;
2268
- };
2269
- attributes: {
2270
- trade: 2;
2271
- cuttable: 2;
2272
- bossReward: true;
2273
- incline: {
2274
- charm: number;
2275
- };
2276
- canStarforce: 1;
2277
- canScroll: 1;
2278
- canAddOption: 1;
2279
- canPotential: 1;
2280
- canAdditionalPotential: 1;
2281
- };
2282
- baseOption: {
2283
- str: number;
2284
- dex: number;
2285
- int: number;
2286
- luk: number;
2287
- attackPower: number;
2288
- magicPower: number;
2289
- armor: number;
2274
+ version: 2;
2275
+ name: string;
2276
+ icon: string;
2277
+ type: 110;
2278
+ req: {
2279
+ level: number;
2280
+ job: number;
2281
+ };
2282
+ attributes: {
2283
+ trade: 2;
2284
+ cuttable: 2;
2285
+ bossReward: true;
2286
+ incline: {
2287
+ charm: number;
2288
+ };
2289
+ canStarforce: 1;
2290
+ canScroll: 1;
2291
+ canAddOption: 1;
2292
+ canPotential: 1;
2293
+ canAdditionalPotential: 1;
2294
+ };
2295
+ baseOption: {
2296
+ str: number;
2297
+ dex: number;
2298
+ int: number;
2299
+ luk: number;
2300
+ attackPower: number;
2301
+ magicPower: number;
2302
+ armor: number;
2303
+ };
2304
+ scrollUpgradeableCount: number;
2290
2305
  };
2291
- scrollUpgradeableCount: number;
2292
- };
2293
- '\uC2A4\uCE7C\uB81B \uC204\uB354': {
2294
- meta: {
2306
+ '\uC2A4\uCE7C\uB81B \uC204\uB354': {
2295
2307
  id: number;
2296
- version: 1;
2297
- };
2298
- name: string;
2299
- icon: string;
2300
- type: 115;
2301
- req: {
2302
- level: number;
2303
- };
2304
- attributes: {
2305
- trade: 2;
2306
- cuttable: 2;
2307
- lucky: true;
2308
- bossReward: true;
2309
- canStarforce: 1;
2310
- canScroll: 1;
2311
- canPotential: 1;
2312
- canAdditionalPotential: 1;
2313
- };
2314
- baseOption: {
2315
- str: number;
2316
- dex: number;
2317
- int: number;
2318
- luk: number;
2319
- maxHp: number;
2320
- attackPower: number;
2321
- magicPower: number;
2322
- armor: number;
2308
+ version: 2;
2309
+ name: string;
2310
+ icon: string;
2311
+ type: 115;
2312
+ req: {
2313
+ level: number;
2314
+ };
2315
+ attributes: {
2316
+ trade: 2;
2317
+ cuttable: 2;
2318
+ lucky: true;
2319
+ bossReward: true;
2320
+ canStarforce: 1;
2321
+ canScroll: 1;
2322
+ canPotential: 1;
2323
+ canAdditionalPotential: 1;
2324
+ };
2325
+ baseOption: {
2326
+ str: number;
2327
+ dex: number;
2328
+ int: number;
2329
+ luk: number;
2330
+ maxHp: number;
2331
+ attackPower: number;
2332
+ magicPower: number;
2333
+ armor: number;
2334
+ };
2335
+ scrollUpgradeableCount: number;
2323
2336
  };
2324
- scrollUpgradeableCount: number;
2325
- };
2326
- '\uCE74\uC624\uC2A4 \uD63C\uD14C\uC77C\uC758 \uBAA9\uAC78\uC774': {
2327
- meta: {
2337
+ '\uCE74\uC624\uC2A4 \uD63C\uD14C\uC77C\uC758 \uBAA9\uAC78\uC774': {
2328
2338
  id: number;
2329
- version: 1;
2330
- };
2331
- name: string;
2332
- icon: string;
2333
- type: 112;
2334
- req: {
2335
- level: number;
2336
- };
2337
- attributes: {
2338
- trade: 1;
2339
- onlyEquip: true;
2340
- cuttable: 2;
2341
- incline: {
2342
- charm: number;
2343
- };
2344
- canStarforce: 1;
2345
- canScroll: 1;
2346
- canAddOption: 1;
2347
- canPotential: 1;
2348
- canAdditionalPotential: 1;
2349
- };
2350
- baseOption: {
2351
- str: number;
2352
- dex: number;
2353
- int: number;
2354
- luk: number;
2355
- maxHpRate: number;
2356
- maxMpRate: number;
2357
- attackPower: number;
2358
- magicPower: number;
2359
- armor: number;
2339
+ version: 2;
2340
+ name: string;
2341
+ icon: string;
2342
+ type: 112;
2343
+ req: {
2344
+ level: number;
2345
+ };
2346
+ attributes: {
2347
+ trade: 1;
2348
+ onlyEquip: true;
2349
+ cuttable: 2;
2350
+ incline: {
2351
+ charm: number;
2352
+ };
2353
+ canStarforce: 1;
2354
+ canScroll: 1;
2355
+ canAddOption: 1;
2356
+ canPotential: 1;
2357
+ canAdditionalPotential: 1;
2358
+ };
2359
+ baseOption: {
2360
+ str: number;
2361
+ dex: number;
2362
+ int: number;
2363
+ luk: number;
2364
+ maxHpRate: number;
2365
+ maxMpRate: number;
2366
+ attackPower: number;
2367
+ magicPower: number;
2368
+ armor: number;
2369
+ };
2370
+ scrollUpgradeableCount: number;
2360
2371
  };
2361
- scrollUpgradeableCount: number;
2362
- };
2363
- '\uB370\uC544 \uC2DC\uB450\uC2A4 \uC774\uC5B4\uB9C1': {
2364
- meta: {
2372
+ '\uB370\uC544 \uC2DC\uB450\uC2A4 \uC774\uC5B4\uB9C1': {
2365
2373
  id: number;
2366
- version: 1;
2367
- };
2368
- name: string;
2369
- icon: string;
2370
- type: 103;
2371
- req: {
2372
- level: number;
2373
- };
2374
- attributes: {
2375
- trade: 2;
2376
- cuttable: 2;
2377
- bossReward: true;
2378
- canStarforce: 1;
2379
- canScroll: 1;
2380
- canAddOption: 1;
2381
- canPotential: 1;
2382
- canAdditionalPotential: 1;
2383
- };
2384
- baseOption: {
2385
- str: number;
2386
- dex: number;
2387
- int: number;
2388
- luk: number;
2389
- attackPower: number;
2390
- magicPower: number;
2391
- armor: number;
2374
+ version: 2;
2375
+ name: string;
2376
+ icon: string;
2377
+ type: 103;
2378
+ req: {
2379
+ level: number;
2380
+ };
2381
+ attributes: {
2382
+ trade: 2;
2383
+ cuttable: 2;
2384
+ bossReward: true;
2385
+ canStarforce: 1;
2386
+ canScroll: 1;
2387
+ canAddOption: 1;
2388
+ canPotential: 1;
2389
+ canAdditionalPotential: 1;
2390
+ };
2391
+ baseOption: {
2392
+ str: number;
2393
+ dex: number;
2394
+ int: number;
2395
+ luk: number;
2396
+ attackPower: number;
2397
+ magicPower: number;
2398
+ armor: number;
2399
+ };
2400
+ scrollUpgradeableCount: number;
2392
2401
  };
2393
- scrollUpgradeableCount: number;
2394
- };
2395
- '\uBABD\uD658\uC758 \uBCA8\uD2B8': {
2396
- meta: {
2402
+ '\uBABD\uD658\uC758 \uBCA8\uD2B8': {
2397
2403
  id: number;
2398
- version: 1;
2399
- };
2400
- name: string;
2401
- icon: string;
2402
- type: 113;
2403
- req: {
2404
- level: number;
2405
- };
2406
- attributes: {
2407
- trade: 2;
2408
- cuttable: 2;
2409
- cuttableCount: number;
2410
- totalCuttableCount: number;
2411
- bossReward: true;
2412
- canStarforce: 1;
2413
- canScroll: 1;
2414
- canAddOption: 1;
2415
- canPotential: 1;
2416
- canAdditionalPotential: 1;
2417
- };
2418
- baseOption: {
2419
- str: number;
2420
- dex: number;
2421
- int: number;
2422
- luk: number;
2423
- maxHp: number;
2424
- maxMp: number;
2425
- attackPower: number;
2426
- magicPower: number;
2427
- armor: number;
2404
+ version: 2;
2405
+ name: string;
2406
+ icon: string;
2407
+ type: 113;
2408
+ req: {
2409
+ level: number;
2410
+ };
2411
+ attributes: {
2412
+ trade: 2;
2413
+ cuttable: 2;
2414
+ cuttableCount: number;
2415
+ totalCuttableCount: number;
2416
+ bossReward: true;
2417
+ canStarforce: 1;
2418
+ canScroll: 1;
2419
+ canAddOption: 1;
2420
+ canPotential: 1;
2421
+ canAdditionalPotential: 1;
2422
+ };
2423
+ baseOption: {
2424
+ str: number;
2425
+ dex: number;
2426
+ int: number;
2427
+ luk: number;
2428
+ maxHp: number;
2429
+ maxMp: number;
2430
+ attackPower: number;
2431
+ magicPower: number;
2432
+ armor: number;
2433
+ };
2434
+ scrollUpgradeableCount: number;
2435
+ exceptionalUpgradeableCount: number;
2428
2436
  };
2429
- scrollUpgradeableCount: number;
2430
- exceptionalUpgradeableCount: number;
2431
- };
2432
- '\uC2A4\uCE7C\uB81B \uB9C1': {
2433
- meta: {
2437
+ '\uC2A4\uCE7C\uB81B \uB9C1': {
2434
2438
  id: number;
2435
- version: 1;
2436
- };
2437
- name: string;
2438
- icon: string;
2439
- type: 111;
2440
- req: {
2441
- level: number;
2442
- };
2443
- attributes: {
2444
- trade: 2;
2445
- onlyEquip: true;
2446
- cuttable: 2;
2447
- lucky: true;
2448
- bossReward: true;
2449
- canStarforce: 1;
2450
- canScroll: 1;
2451
- canPotential: 1;
2452
- canAdditionalPotential: 1;
2453
- };
2454
- baseOption: {
2455
- str: number;
2456
- dex: number;
2457
- int: number;
2458
- luk: number;
2459
- maxHp: number;
2460
- maxMp: number;
2461
- attackPower: number;
2462
- magicPower: number;
2463
- armor: number;
2439
+ version: 2;
2440
+ name: string;
2441
+ icon: string;
2442
+ type: 111;
2443
+ req: {
2444
+ level: number;
2445
+ };
2446
+ attributes: {
2447
+ trade: 2;
2448
+ onlyEquip: true;
2449
+ cuttable: 2;
2450
+ lucky: true;
2451
+ bossReward: true;
2452
+ canStarforce: 1;
2453
+ canScroll: 1;
2454
+ canPotential: 1;
2455
+ canAdditionalPotential: 1;
2456
+ };
2457
+ baseOption: {
2458
+ str: number;
2459
+ dex: number;
2460
+ int: number;
2461
+ luk: number;
2462
+ maxHp: number;
2463
+ maxMp: number;
2464
+ attackPower: number;
2465
+ magicPower: number;
2466
+ armor: number;
2467
+ };
2468
+ scrollUpgradeableCount: number;
2464
2469
  };
2465
- scrollUpgradeableCount: number;
2466
- };
2467
- '\uADFC\uC6D0\uC758 \uC18D\uC0AD\uC784': {
2468
- meta: {
2470
+ '\uADFC\uC6D0\uC758 \uC18D\uC0AD\uC784': {
2469
2471
  id: number;
2470
- version: 1;
2471
- };
2472
- name: string;
2473
- icon: string;
2474
- type: 111;
2475
- req: {
2476
- level: number;
2477
- };
2478
- attributes: {
2479
- trade: 2;
2480
- onlyEquip: true;
2481
- cuttable: 2;
2482
- cuttableCount: number;
2483
- totalCuttableCount: number;
2484
- bossReward: true;
2485
- canStarforce: 1;
2486
- canScroll: 1;
2487
- canPotential: 1;
2488
- canAdditionalPotential: 1;
2489
- };
2490
- baseOption: {
2491
- str: number;
2492
- dex: number;
2493
- int: number;
2494
- luk: number;
2495
- maxHp: number;
2496
- maxMp: number;
2497
- attackPower: number;
2498
- magicPower: number;
2472
+ version: 2;
2473
+ name: string;
2474
+ icon: string;
2475
+ type: 111;
2476
+ req: {
2477
+ level: number;
2478
+ };
2479
+ attributes: {
2480
+ trade: 2;
2481
+ onlyEquip: true;
2482
+ cuttable: 2;
2483
+ cuttableCount: number;
2484
+ totalCuttableCount: number;
2485
+ bossReward: true;
2486
+ canStarforce: 1;
2487
+ canScroll: 1;
2488
+ canPotential: 1;
2489
+ canAdditionalPotential: 1;
2490
+ };
2491
+ baseOption: {
2492
+ str: number;
2493
+ dex: number;
2494
+ int: number;
2495
+ luk: number;
2496
+ maxHp: number;
2497
+ maxMp: number;
2498
+ attackPower: number;
2499
+ magicPower: number;
2500
+ };
2501
+ scrollUpgradeableCount: number;
2499
2502
  };
2500
- scrollUpgradeableCount: number;
2501
- };
2502
- '\uB370\uC774\uBE0C\uB808\uC774\uD06C \uD39C\uB358\uD2B8': {
2503
- meta: {
2503
+ '\uB370\uC774\uBE0C\uB808\uC774\uD06C \uD39C\uB358\uD2B8': {
2504
2504
  id: number;
2505
- version: 1;
2506
- };
2507
- name: string;
2508
- icon: string;
2509
- type: 112;
2510
- req: {
2511
- level: number;
2512
- };
2513
- attributes: {
2514
- trade: 2;
2515
- onlyEquip: true;
2516
- cuttable: 2;
2517
- bossReward: true;
2518
- incline: {
2519
- charm: number;
2520
- };
2521
- canStarforce: 1;
2522
- canScroll: 1;
2523
- canAddOption: 1;
2524
- canPotential: 1;
2525
- canAdditionalPotential: 1;
2526
- };
2527
- baseOption: {
2528
- str: number;
2529
- dex: number;
2530
- int: number;
2531
- luk: number;
2532
- maxHpRate: number;
2533
- attackPower: number;
2534
- magicPower: number;
2535
- armor: number;
2505
+ version: 2;
2506
+ name: string;
2507
+ icon: string;
2508
+ type: 112;
2509
+ req: {
2510
+ level: number;
2511
+ };
2512
+ attributes: {
2513
+ trade: 2;
2514
+ onlyEquip: true;
2515
+ cuttable: 2;
2516
+ bossReward: true;
2517
+ incline: {
2518
+ charm: number;
2519
+ };
2520
+ canStarforce: 1;
2521
+ canScroll: 1;
2522
+ canAddOption: 1;
2523
+ canPotential: 1;
2524
+ canAdditionalPotential: 1;
2525
+ };
2526
+ baseOption: {
2527
+ str: number;
2528
+ dex: number;
2529
+ int: number;
2530
+ luk: number;
2531
+ maxHpRate: number;
2532
+ attackPower: number;
2533
+ magicPower: number;
2534
+ armor: number;
2535
+ };
2536
+ scrollUpgradeableCount: number;
2536
2537
  };
2537
- scrollUpgradeableCount: number;
2538
- };
2539
- '\uB9AC\uD2AC \uD558\uD2B8': {
2540
- meta: {
2538
+ '\uB9AC\uD2AC \uD558\uD2B8': {
2541
2539
  id: number;
2542
- version: 1;
2543
- };
2544
- name: string;
2545
- icon: string;
2546
- type: 167;
2547
- req: {
2548
- level: number;
2549
- };
2550
- attributes: {
2551
- trade: 2;
2552
- canStarforce: 1;
2553
- canScroll: 1;
2554
- canPotential: 1;
2555
- canAdditionalPotential: 1;
2556
- };
2557
- baseOption: {
2558
- str: number;
2559
- dex: number;
2560
- int: number;
2561
- luk: number;
2562
- maxHp: number;
2540
+ version: 2;
2541
+ name: string;
2542
+ icon: string;
2543
+ type: 167;
2544
+ req: {
2545
+ level: number;
2546
+ };
2547
+ attributes: {
2548
+ trade: 2;
2549
+ canStarforce: 1;
2550
+ canScroll: 1;
2551
+ canPotential: 1;
2552
+ canAdditionalPotential: 1;
2553
+ };
2554
+ baseOption: {
2555
+ str: number;
2556
+ dex: number;
2557
+ int: number;
2558
+ luk: number;
2559
+ maxHp: number;
2560
+ };
2561
+ scrollUpgradeableCount: number;
2563
2562
  };
2564
- scrollUpgradeableCount: number;
2565
- };
2566
- '\uD398\uC5B4\uB9AC \uD558\uD2B8': {
2567
- meta: {
2563
+ '\uD398\uC5B4\uB9AC \uD558\uD2B8': {
2568
2564
  id: number;
2569
- version: 1;
2570
- };
2571
- name: string;
2572
- icon: string;
2573
- type: 167;
2574
- req: {
2575
- level: number;
2576
- };
2577
- attributes: {
2578
- trade: 2;
2579
- canStarforce: 1;
2580
- canScroll: 1;
2581
- canPotential: 1;
2582
- canAdditionalPotential: 1;
2583
- };
2584
- baseOption: {
2585
- maxHp: number;
2565
+ version: 2;
2566
+ name: string;
2567
+ icon: string;
2568
+ type: 167;
2569
+ req: {
2570
+ level: number;
2571
+ };
2572
+ attributes: {
2573
+ trade: 2;
2574
+ canStarforce: 1;
2575
+ canScroll: 1;
2576
+ canPotential: 1;
2577
+ canAdditionalPotential: 1;
2578
+ };
2579
+ baseOption: {
2580
+ maxHp: number;
2581
+ };
2582
+ scrollUpgradeableCount: number;
2586
2583
  };
2587
- scrollUpgradeableCount: number;
2588
- };
2589
- '\uB9AC\uD034\uB4DC\uBA54\uD0C8 \uD558\uD2B8': {
2590
- meta: {
2584
+ '\uB9AC\uD034\uB4DC\uBA54\uD0C8 \uD558\uD2B8': {
2591
2585
  id: number;
2592
- version: 1;
2593
- };
2594
- name: string;
2595
- icon: string;
2596
- type: 167;
2597
- req: {
2598
- level: number;
2599
- };
2600
- attributes: {
2601
- trade: 2;
2602
- canStarforce: 1;
2603
- canScroll: 1;
2604
- canPotential: 1;
2605
- canAdditionalPotential: 1;
2606
- };
2607
- baseOption: {
2608
- str: number;
2609
- dex: number;
2610
- int: number;
2611
- luk: number;
2612
- maxHp: number;
2586
+ version: 2;
2587
+ name: string;
2588
+ icon: string;
2589
+ type: 167;
2590
+ req: {
2591
+ level: number;
2592
+ };
2593
+ attributes: {
2594
+ trade: 2;
2595
+ canStarforce: 1;
2596
+ canScroll: 1;
2597
+ canPotential: 1;
2598
+ canAdditionalPotential: 1;
2599
+ };
2600
+ baseOption: {
2601
+ str: number;
2602
+ dex: number;
2603
+ int: number;
2604
+ luk: number;
2605
+ maxHp: number;
2606
+ };
2607
+ scrollUpgradeableCount: number;
2613
2608
  };
2614
- scrollUpgradeableCount: number;
2615
- };
2616
- '\uCEF4\uD50C\uB9AC\uD2B8 \uC5B8\uB354\uCEE8\uD2B8\uB864': {
2617
- meta: {
2609
+ '\uCEF4\uD50C\uB9AC\uD2B8 \uC5B8\uB354\uCEE8\uD2B8\uB864': {
2618
2610
  id: number;
2619
- version: 1;
2620
- };
2621
- name: string;
2622
- icon: string;
2623
- type: 167;
2624
- req: {
2625
- level: number;
2626
- };
2627
- attributes: {
2628
- trade: 2;
2629
- canStarforce: 1;
2630
- canScroll: 1;
2631
- canPotential: 1;
2632
- canAdditionalPotential: 1;
2633
- };
2634
- baseOption: {
2635
- str: number;
2636
- dex: number;
2637
- int: number;
2638
- luk: number;
2639
- maxHp: number;
2640
- attackPower: number;
2641
- magicPower: number;
2642
- ignoreMonsterArmor: number;
2611
+ version: 2;
2612
+ name: string;
2613
+ icon: string;
2614
+ type: 167;
2615
+ req: {
2616
+ level: number;
2617
+ };
2618
+ attributes: {
2619
+ trade: 2;
2620
+ canStarforce: 1;
2621
+ canScroll: 1;
2622
+ canPotential: 1;
2623
+ canAdditionalPotential: 1;
2624
+ };
2625
+ baseOption: {
2626
+ str: number;
2627
+ dex: number;
2628
+ int: number;
2629
+ luk: number;
2630
+ maxHp: number;
2631
+ attackPower: number;
2632
+ magicPower: number;
2633
+ ignoreMonsterArmor: number;
2634
+ };
2635
+ scrollUpgradeableCount: number;
2643
2636
  };
2644
- scrollUpgradeableCount: number;
2645
- };
2646
- '\uC7C8\uC774\uD78C \uC2A4\uD0DC\uD504': {
2647
- meta: {
2637
+ '\uC7C8\uC774\uD78C \uC2A4\uD0DC\uD504': {
2648
2638
  id: number;
2649
- version: 1;
2650
- };
2651
- name: string;
2652
- icon: string;
2653
- type: 138;
2654
- req: {
2655
- level: number;
2656
- job: number;
2657
- };
2658
- attributes: {
2659
- attackSpeed: number;
2660
- canStarforce: 1;
2661
- canScroll: 1;
2662
- canAddOption: 1;
2663
- canPotential: 1;
2664
- canAdditionalPotential: 1;
2665
- };
2666
- baseOption: {
2667
- attackPower: number;
2668
- magicPower: number;
2639
+ version: 2;
2640
+ name: string;
2641
+ icon: string;
2642
+ type: 138;
2643
+ req: {
2644
+ level: number;
2645
+ job: number;
2646
+ };
2647
+ attributes: {
2648
+ attackSpeed: number;
2649
+ canStarforce: 1;
2650
+ canScroll: 1;
2651
+ canAddOption: 1;
2652
+ canPotential: 1;
2653
+ canAdditionalPotential: 1;
2654
+ };
2655
+ baseOption: {
2656
+ attackPower: number;
2657
+ magicPower: number;
2658
+ };
2659
+ scrollUpgradeableCount: number;
2669
2660
  };
2670
- scrollUpgradeableCount: number;
2671
- };
2672
- '\uC571\uC194\uB7A9\uC2A4 ESP\uB9AC\uBBF8\uD130': {
2673
- meta: {
2661
+ '\uC571\uC194\uB7A9\uC2A4 ESP\uB9AC\uBBF8\uD130': {
2674
2662
  id: number;
2675
- version: 1;
2676
- };
2677
- name: string;
2678
- icon: string;
2679
- type: 126;
2680
- req: {
2681
- level: number;
2682
- job: number;
2683
- class: number;
2684
- };
2685
- attributes: {
2686
- trade: 2;
2687
- cuttable: 2;
2688
- attackSpeed: number;
2689
- bossReward: true;
2690
- incline: {
2691
- charm: number;
2692
- };
2693
- canStarforce: 1;
2694
- canScroll: 1;
2695
- canAddOption: 1;
2696
- canPotential: 1;
2697
- canAdditionalPotential: 1;
2698
- };
2699
- baseOption: {
2700
- int: number;
2701
- luk: number;
2702
- attackPower: number;
2703
- magicPower: number;
2704
- bossDamage: number;
2705
- ignoreMonsterArmor: number;
2663
+ version: 2;
2664
+ name: string;
2665
+ icon: string;
2666
+ type: 126;
2667
+ req: {
2668
+ level: number;
2669
+ job: number;
2670
+ class: number;
2671
+ };
2672
+ attributes: {
2673
+ trade: 2;
2674
+ cuttable: 2;
2675
+ attackSpeed: number;
2676
+ bossReward: true;
2677
+ incline: {
2678
+ charm: number;
2679
+ };
2680
+ canStarforce: 1;
2681
+ canScroll: 1;
2682
+ canAddOption: 1;
2683
+ canPotential: 1;
2684
+ canAdditionalPotential: 1;
2685
+ };
2686
+ baseOption: {
2687
+ int: number;
2688
+ luk: number;
2689
+ attackPower: number;
2690
+ magicPower: number;
2691
+ bossDamage: number;
2692
+ ignoreMonsterArmor: number;
2693
+ };
2694
+ scrollUpgradeableCount: number;
2706
2695
  };
2707
- scrollUpgradeableCount: number;
2708
- };
2709
- '\uC544\uCF00\uC778\uC170\uC774\uB4DC \uC0E4\uC774\uB2DD\uB85C\uB4DC': {
2710
- meta: {
2696
+ '\uC544\uCF00\uC778\uC170\uC774\uB4DC \uC0E4\uC774\uB2DD\uB85C\uB4DC': {
2711
2697
  id: number;
2712
- version: 1;
2713
- };
2714
- name: string;
2715
- icon: string;
2716
- type: GearType.shiningRod;
2717
- req: {
2718
- level: number;
2719
- job: number;
2720
- };
2721
- attributes: {
2722
- trade: 2;
2723
- cuttable: 2;
2724
- bossReward: true;
2725
- incline: {
2726
- charm: number;
2727
- };
2728
- canStarforce: 1;
2729
- canScroll: 1;
2730
- canAddOption: 1;
2731
- canPotential: 1;
2732
- canAdditionalPotential: 1;
2733
- };
2734
- baseOption: {
2735
- int: number;
2736
- luk: number;
2737
- attackPower: number;
2738
- magicPower: number;
2739
- bossDamage: number;
2740
- ignoreMonsterArmor: number;
2698
+ version: 2;
2699
+ name: string;
2700
+ icon: string;
2701
+ type: GearType.shiningRod;
2702
+ req: {
2703
+ level: number;
2704
+ job: number;
2705
+ };
2706
+ attributes: {
2707
+ trade: 2;
2708
+ cuttable: 2;
2709
+ bossReward: true;
2710
+ incline: {
2711
+ charm: number;
2712
+ };
2713
+ canStarforce: 1;
2714
+ canScroll: 1;
2715
+ canAddOption: 1;
2716
+ canPotential: 1;
2717
+ canAdditionalPotential: 1;
2718
+ };
2719
+ baseOption: {
2720
+ int: number;
2721
+ luk: number;
2722
+ attackPower: number;
2723
+ magicPower: number;
2724
+ bossDamage: number;
2725
+ ignoreMonsterArmor: number;
2726
+ };
2727
+ scrollUpgradeableCount: number;
2741
2728
  };
2742
- scrollUpgradeableCount: number;
2743
- };
2744
- '\uC544\uCF00\uC778\uC170\uC774\uB4DC \uCD08\uC120': {
2745
- meta: {
2729
+ '\uC544\uCF00\uC778\uC170\uC774\uB4DC \uCD08\uC120': {
2746
2730
  id: number;
2747
- version: 1;
2748
- };
2749
- name: string;
2750
- icon: string;
2751
- type: 129;
2752
- req: {
2753
- level: number;
2754
- job: number;
2755
- };
2756
- attributes: {
2757
- trade: 2;
2758
- cuttable: 2;
2759
- attackSpeed: number;
2760
- bossReward: true;
2761
- incline: {
2762
- charm: number;
2763
- };
2764
- canStarforce: 1;
2765
- canScroll: 1;
2766
- canAddOption: 1;
2767
- canPotential: 1;
2768
- canAdditionalPotential: 1;
2769
- };
2770
- baseOption: {
2771
- dex: number;
2772
- luk: number;
2773
- attackPower: number;
2774
- bossDamage: number;
2775
- ignoreMonsterArmor: number;
2731
+ version: 2;
2732
+ name: string;
2733
+ icon: string;
2734
+ type: 129;
2735
+ req: {
2736
+ level: number;
2737
+ job: number;
2738
+ };
2739
+ attributes: {
2740
+ trade: 2;
2741
+ cuttable: 2;
2742
+ attackSpeed: number;
2743
+ bossReward: true;
2744
+ incline: {
2745
+ charm: number;
2746
+ };
2747
+ canStarforce: 1;
2748
+ canScroll: 1;
2749
+ canAddOption: 1;
2750
+ canPotential: 1;
2751
+ canAdditionalPotential: 1;
2752
+ };
2753
+ baseOption: {
2754
+ dex: number;
2755
+ luk: number;
2756
+ attackPower: number;
2757
+ bossDamage: number;
2758
+ ignoreMonsterArmor: number;
2759
+ };
2760
+ scrollUpgradeableCount: number;
2776
2761
  };
2777
- scrollUpgradeableCount: number;
2778
- };
2779
- '\uB808\uB4DC \uBCF4\uC6B0': {
2780
- meta: {
2762
+ '\uB808\uB4DC \uBCF4\uC6B0': {
2781
2763
  id: number;
2782
- version: 1;
2783
- };
2784
- name: string;
2785
- icon: string;
2786
- type: 145;
2787
- req: {
2788
- level: number;
2789
- job: number;
2790
- };
2791
- attributes: {
2792
- trade: 2;
2793
- attackSpeed: number;
2794
- canStarforce: 1;
2795
- canScroll: 1;
2796
- canAddOption: 1;
2797
- canPotential: 1;
2798
- canAdditionalPotential: 1;
2799
- };
2800
- baseOption: {
2801
- attackPower: number;
2764
+ version: 2;
2765
+ name: string;
2766
+ icon: string;
2767
+ type: 145;
2768
+ req: {
2769
+ level: number;
2770
+ job: number;
2771
+ };
2772
+ attributes: {
2773
+ trade: 2;
2774
+ attackSpeed: number;
2775
+ canStarforce: 1;
2776
+ canScroll: 1;
2777
+ canAddOption: 1;
2778
+ canPotential: 1;
2779
+ canAdditionalPotential: 1;
2780
+ };
2781
+ baseOption: {
2782
+ attackPower: number;
2783
+ };
2784
+ scrollUpgradeableCount: number;
2802
2785
  };
2803
- scrollUpgradeableCount: number;
2804
- };
2805
- '\uB77C\uC990\uB9AC 9\uD615': {
2806
- meta: {
2786
+ '\uB77C\uC990\uB9AC 9\uD615': {
2807
2787
  id: number;
2808
- version: 1;
2809
- };
2810
- name: string;
2811
- icon: string;
2812
- type: 157;
2813
- req: {
2814
- level: number;
2815
- job: number;
2816
- class: number;
2817
- };
2818
- attributes: {
2819
- trade: 1;
2820
- attackSpeed: number;
2821
- canStarforce: 1;
2822
- canScroll: 1;
2823
- canAddOption: 1;
2824
- canPotential: 1;
2825
- canAdditionalPotential: 1;
2826
- };
2827
- baseOption: {
2828
- str: number;
2829
- dex: number;
2830
- attackPower: number;
2831
- bossDamage: number;
2832
- ignoreMonsterArmor: number;
2788
+ version: 2;
2789
+ name: string;
2790
+ icon: string;
2791
+ type: 157;
2792
+ req: {
2793
+ level: number;
2794
+ job: number;
2795
+ class: number;
2796
+ };
2797
+ attributes: {
2798
+ trade: 1;
2799
+ attackSpeed: number;
2800
+ canStarforce: 1;
2801
+ canScroll: 1;
2802
+ canAddOption: 1;
2803
+ canPotential: 1;
2804
+ canAdditionalPotential: 1;
2805
+ };
2806
+ baseOption: {
2807
+ str: number;
2808
+ dex: number;
2809
+ attackPower: number;
2810
+ bossDamage: number;
2811
+ ignoreMonsterArmor: number;
2812
+ };
2813
+ scrollUpgradeableCount: number;
2833
2814
  };
2834
- scrollUpgradeableCount: number;
2835
- };
2836
- '\uC81C\uB124\uC2DC\uC2A4 \uBE0C\uB808\uC2A4 \uC288\uD130': {
2837
- meta: {
2815
+ '\uC81C\uB124\uC2DC\uC2A4 \uBE0C\uB808\uC2A4 \uC288\uD130': {
2838
2816
  id: number;
2839
- version: 1;
2840
- };
2841
- name: string;
2842
- icon: string;
2843
- type: 1214;
2844
- req: {
2845
- level: number;
2846
- job: number;
2847
- class: number;
2848
- };
2849
- attributes: {
2850
- only: true;
2851
- trade: 1;
2852
- onlyEquip: true;
2853
- attackSpeed: number;
2854
- lucky: true;
2855
- bossReward: true;
2856
- incline: {
2857
- charm: number;
2858
- };
2859
- canStarforce: 2;
2860
- canScroll: 2;
2861
- canAddOption: 1;
2862
- canPotential: 1;
2863
- canAdditionalPotential: 1;
2864
- };
2865
- baseOption: {
2866
- str: number;
2867
- dex: number;
2868
- attackPower: number;
2869
- speed: number;
2870
- bossDamage: number;
2871
- ignoreMonsterArmor: number;
2817
+ version: 2;
2818
+ name: string;
2819
+ icon: string;
2820
+ type: 1214;
2821
+ req: {
2822
+ level: number;
2823
+ job: number;
2824
+ class: number;
2825
+ };
2826
+ attributes: {
2827
+ only: true;
2828
+ trade: 1;
2829
+ onlyEquip: true;
2830
+ attackSpeed: number;
2831
+ lucky: true;
2832
+ bossReward: true;
2833
+ incline: {
2834
+ charm: number;
2835
+ };
2836
+ canStarforce: 2;
2837
+ canScroll: 2;
2838
+ canAddOption: 1;
2839
+ canPotential: 1;
2840
+ canAdditionalPotential: 1;
2841
+ };
2842
+ baseOption: {
2843
+ str: number;
2844
+ dex: number;
2845
+ attackPower: number;
2846
+ speed: number;
2847
+ bossDamage: number;
2848
+ ignoreMonsterArmor: number;
2849
+ };
2850
+ scrollUpgradeableCount: number;
2872
2851
  };
2873
- scrollUpgradeableCount: number;
2874
2852
  };
2875
- };
2876
2853
 
2877
- /**
2878
- * 주문서
2879
- */
2880
- declare interface Scroll {
2881
- /** 주문서 이름 */
2882
- name: string;
2883
- /** 주문서 아이콘 */
2884
- icon?: string;
2885
- /** 주문서 옵션 */
2886
- option: Partial<GearUpgradeOption>;
2887
- }
2888
- export { Scroll }
2889
- export { Scroll as Scroll_alias_1 }
2890
-
2891
- /**
2892
- * 장비의 에디셔널 잠재능력을 설정합니다.
2893
- * @param gear 설정할 장비.
2894
- * @param grade 에디셔널 잠재능력 등급.
2895
- * @param options 에디셔널 잠재옵션 목록.
2896
- *
2897
- * @throws {@link TypeError}
2898
- * 에디셔널 잠재능력을 설정할 수 없는 장비일 경우.
2854
+ /**
2855
+ * 주문서
2856
+ */
2857
+ declare interface Scroll {
2858
+ /** 주문서 이름 */
2859
+ name: string;
2860
+ /** 주문서 아이콘 */
2861
+ icon?: string;
2862
+ /** 주문서 옵션 */
2863
+ option: Partial<GearUpgradeOption>;
2864
+ }
2865
+ export { Scroll }
2866
+ export { Scroll as Scroll_alias_1 }
2867
+
2868
+ /**
2869
+ * 장비의 에디셔널 잠재능력을 설정합니다.
2870
+ * @param gear 설정할 장비.
2871
+ * @param grade 에디셔널 잠재능력 등급.
2872
+ * @param options 에디셔널 잠재옵션 목록.
2899
2873
  *
2900
- * @throws {@link TypeError}
2901
- * 설정하려는 에디셔널 잠재능력 등급이 Normal일 경우.
2874
+ * @throws {@link GearError}
2875
+ * 에디셔널 잠재능력을 설정할 없는 장비일 경우.
2902
2876
  *
2903
- * @throws {@link TypeError}
2904
- * 잘못된 에디셔널 잠재옵션 목록을 지정했을 경우.
2905
- */
2906
- declare function setAdditionalPotential(gear: Gear, grade: PotentialGrade, options: PotentialData[]): void;
2907
- export { setAdditionalPotential }
2908
- export { setAdditionalPotential as setAdditionalPotential_alias_1 }
2909
-
2910
- /**
2911
- * 장비의 잠재능력을 설정합니다.
2912
- * @param gear 설정할 장비.
2913
- * @param grade 잠재능력 등급.
2914
- * @param options 잠재옵션 목록.
2915
- *
2916
- * @throws {@link TypeError}
2917
- * 잠재능력을 설정할 없는 장비일 경우.
2877
+ * @throws {@link RangeError}
2878
+ * 설정하려는 에디셔널 잠재능력 등급이 Normal일 경우.
2879
+ *
2880
+ * @throws {@link GearError}
2881
+ * 잘못된 에디셔널 잠재옵션 목록을 지정했을 경우.
2882
+ */
2883
+ declare function setAdditionalPotential(gear: Gear, grade: PotentialGrade, options: PotentialData[]): void;
2884
+ export { setAdditionalPotential }
2885
+ export { setAdditionalPotential as setAdditionalPotential_alias_1 }
2886
+
2887
+ /**
2888
+ * 장비의 잠재능력을 설정합니다.
2889
+ * @param gear 설정할 장비.
2890
+ * @param grade 잠재능력 등급.
2891
+ * @param options 잠재옵션 목록.
2918
2892
  *
2919
- * @throws {@link TypeError}
2920
- * 설정하려는 잠재능력 등급이 Normal일 경우.
2893
+ * @throws {@link GearError}
2894
+ * 잠재능력을 설정할 없는 장비일 경우.
2921
2895
  *
2922
- * @throws {@link TypeError}
2923
- * 잘못된 잠재옵션 목록을 지정했을 경우.
2924
- */
2925
- declare function setPotential(gear: Gear, grade: PotentialGrade, options: PotentialData[]): void;
2926
- export { setPotential }
2927
- export { setPotential as setPotential_alias_1 }
2928
-
2929
- /**
2930
- * 장비에 소울을 장착합니다.
2931
- * @param gear 대상 장비.
2932
- * @param soul 장착할 소울 아이템.
2933
- *
2934
- * @throws {@link TypeError}
2935
- * 소울을 장착할 수 없는 경우.
2936
- */
2937
- declare function setSoul(gear: Gear, soul: SoulData): void;
2938
- export { setSoul }
2939
- export { setSoul as setSoul_alias_1 }
2940
-
2941
- /**
2942
- * 장비의 소울 충전량을 설정합니다.
2943
- * @param gear 대상 장비.
2944
- * @param charge 소울 충전량.
2945
- *
2946
- * @throws {@link TypeError}
2947
- * 소울 충전량을 설정할 수 없는 경우.
2948
- */
2949
- declare function setSoulCharge(gear: Gear, charge: number): void;
2950
- export { setSoulCharge }
2951
- export { setSoulCharge as setSoulCharge_alias_1 }
2952
-
2953
- /**
2954
- * 소울 충전 옵션
2955
- */
2956
- declare type SoulChargeOption = Pick<GearOption, 'attackPower' | 'magicPower'>;
2957
- export { SoulChargeOption }
2958
- export { SoulChargeOption as SoulChargeOption_alias_1 }
2959
- export { SoulChargeOption as SoulChargeOption_alias_2 }
2960
-
2961
- /**
2962
- * 소울 정보
2963
- */
2964
- declare interface SoulData {
2965
- /** 소울 명 */
2966
- name: string;
2967
- /** 소울 스킬 명 */
2968
- skill: string;
2969
- /** 소울 옵션 */
2970
- option: Partial<SoulOption>;
2971
- /** 소울 충전 옵션 배율 */
2972
- chargeFactor?: 1 | 2;
2973
- }
2974
- export { SoulData }
2975
- export { SoulData as SoulData_alias_1 }
2976
- export { SoulData as SoulData_alias_2 }
2977
-
2978
- /**
2979
- * 소울 옵션
2980
- */
2981
- declare type SoulOption = Pick<GearOption, 'str' | 'dex' | 'int' | 'luk' | 'strRate' | 'dexRate' | 'intRate' | 'lukRate' | 'attackPower' | 'magicPower' | 'attackPowerRate' | 'magicPowerRate' | 'maxHp' | 'maxMp' | 'criticalRate' | 'ignoreMonsterArmor' | 'bossDamage'>;
2982
- export { SoulOption }
2983
- export { SoulOption as SoulOption_alias_1 }
2984
- export { SoulOption as SoulOption_alias_2 }
2985
-
2986
- declare function soulPatch(soul?: SoulData, charge?: number): Patch;
2987
- export { soulPatch }
2988
- export { soulPatch as soulPatch_alias_1 }
2989
-
2990
- /**
2991
- * 소울 웨폰 정보
2992
- */
2993
- declare interface SoulSlotData {
2994
- /** 소울 아이템 */
2995
- soul?: SoulData;
2996
- /** 소울 충전량 */
2997
- charge?: number;
2998
- /** 소울 충전 옵션 */
2999
- chargeOption?: Partial<SoulChargeOption>;
3000
- }
3001
- export { SoulSlotData }
3002
- export { SoulSlotData as SoulSlotData_alias_1 }
3003
- export { SoulSlotData as SoulSlotData_alias_2 }
3004
-
3005
- /**
3006
- * 주문의 흔적
3007
- */
3008
- declare type SpellTrace = Scroll & {
3009
- type: SpellTraceType;
3010
- rate: SpellTraceRate;
3011
- };
3012
- export { SpellTrace }
3013
- export { SpellTrace as SpellTrace_alias_1 }
3014
-
3015
- /**
3016
- * 주문의 흔적 성공 확률
3017
- */
3018
- declare type SpellTraceRate = 100 | 70 | 30 | 15;
3019
- export { SpellTraceRate }
3020
- export { SpellTraceRate as SpellTraceRate_alias_1 }
3021
-
3022
- /**
3023
- * 주문의 흔적 종류
3024
- */
3025
- declare enum SpellTraceType {
3026
- /** STR */
3027
- str = "str",
3028
- /** DEX */
3029
- dex = "dex",
3030
- /** INT */
3031
- int = "int",
3032
- /** LUK */
3033
- luk = "luk",
3034
- /** 최대 HP */
3035
- maxHp = "maxHp",
3036
- /** 올스탯 */
3037
- allStat = "allStat"
3038
- }
3039
- export { SpellTraceType }
3040
- export { SpellTraceType as SpellTraceType_alias_1 }
3041
-
3042
- /**
3043
- * 장비에 스타포스 강화를 1회 적용합니다.
3044
- *
3045
- * 업그레이드가 완료되지 않은 장비, 놀라운 장비강화 주문서가 적용된 장비에도 적용할 수 있습니다.
3046
- * @param gear 적용할 장비.
3047
- * @param exceedMaxStar 장비의 최대 강화 단계를 초과하여 강화할 지 여부.
3048
- *
3049
- * @throws {@link TypeError}
3050
- * 스타포스 강화를 적용할 수 없는 경우.
3051
- */
3052
- declare function starforce(gear: Gear, exceedMaxStar?: boolean): void;
3053
- export { starforce }
3054
- export { starforce as starforce_alias_1 }
3055
-
3056
- declare function starforcePatch(star: number, starScroll?: boolean, ignoreMaxStar?: boolean): Patch;
3057
- export { starforcePatch }
3058
- export { starforcePatch as starforcePatch_alias_1 }
3059
-
3060
- /**
3061
- * 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
3062
- *
3063
- * 착용 가능 레벨 150 이하의 장비에만 적용할 수 있습니다.
3064
- * 업그레이드가 완료되지 않은 장비, 스타포스 강화가 적용된 장비에도 적용할 수 있습니다.
3065
- * 슈페리얼 장비에는 적용할 수 없습니다.
3066
- *
3067
- * 보너스 스탯은 장비 분류에 따라 결정됩니다.
3068
- * - 방어구(방패 제외): 최대 HP +50
3069
- * - 장신구: 올스탯 +1 ~ +2
3070
- * - 무기/블레이드/방패: 공격력/마력 +1
3071
- * @param gear 적용할 장비.
3072
- * @param bonus 보너스 스탯 적용 여부.
3073
- * @param exceedMaxStar 장비의 최대 강화 단계를 초과하여 강화할 지 여부.
2896
+ * @throws {@link RangeError}
2897
+ * 설정하려는 잠재능력 등급이 Normal일 경우.
3074
2898
  *
3075
2899
  * @throws {@link TypeError}
3076
- * 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
2900
+ * 잘못된 잠재옵션 목록을 지정했을 경우.
3077
2901
  */
3078
- declare function starScroll(gear: Gear, bonus?: boolean, exceedMaxStar?: boolean): void;
3079
- export { starScroll }
3080
- export { starScroll as starScroll_alias_1 }
3081
-
3082
- export declare function sumOptions(...options: Partial<GearOption>[]): Partial<GearOption>;
3083
-
3084
- /**
3085
- * 장비가 에디셔널 잠재능력을 지원하는지 여부를 확인합니다.
3086
- * @param gear 확인할 장비.
3087
- * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3088
- */
3089
- declare function supportsAdditionalPotential(gear: ReadonlyGear): boolean;
3090
- export { supportsAdditionalPotential }
3091
- export { supportsAdditionalPotential as supportsAdditionalPotential_alias_1 }
3092
-
3093
- /**
3094
- * 장비가 추가 옵션을 지원하는지 확인합니다.
3095
- * @param gear 확인할 장비.
3096
- * @returns 적용할 수 있을 경우 `true`; 아닐 경우 `false`.
3097
- */
3098
- declare function supportsAddOption(gear: ReadonlyGear): boolean;
3099
- export { supportsAddOption }
3100
- export { supportsAddOption as supportsAddOption_alias_1 }
3101
-
3102
- /**
3103
- * 장비가 익셉셔널 강화를 지원하는지 여부를 확인합니다.
3104
- * @param gear 확인할 장비.
3105
- * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3106
- */
3107
- declare function supportsExceptional(gear: ReadonlyGear): boolean;
3108
- export { supportsExceptional }
3109
- export { supportsExceptional as supportsExceptional_alias_1 }
3110
-
3111
- /**
3112
- * 장비가 잠재능력을 지원하는지 여부를 확인합니다.
3113
- * @param gear 확인할 장비.
3114
- * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3115
- */
3116
- declare function supportsPotential(gear: ReadonlyGear): boolean;
3117
- export { supportsPotential }
3118
- export { supportsPotential as supportsPotential_alias_1 }
3119
-
3120
- /**
3121
- * 장비가 소울웨폰을 지원하는지 여부를 확인합니다.
3122
- * @param gear 확인할 장비.
3123
- * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3124
- */
3125
- declare function supportsSoul(gear: ReadonlyGear): boolean;
3126
- export { supportsSoul }
3127
- export { supportsSoul as supportsSoul_alias_1 }
2902
+ declare function setPotential(gear: Gear, grade: PotentialGrade, options: PotentialData[]): void;
2903
+ export { setPotential }
2904
+ export { setPotential as setPotential_alias_1 }
3128
2905
 
3129
2906
  /**
3130
- * 장비가 스타포스 강화를 지원하는지 여부를 확인합니다.
3131
- * @param gear 확인할 장비.
3132
- * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3133
- */
3134
- declare function supportsStarforce(gear: ReadonlyGear): boolean;
3135
- export { supportsStarforce }
3136
- export { supportsStarforce as supportsStarforce_alias_1 }
3137
-
3138
- /**
3139
- * 장비가 주문서 강화를 지원하는지 여부를 확인합니다.
3140
- * @param gear 확인할 장비.
3141
- * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3142
- */
3143
- declare function supportsUpgrade(gear: ReadonlyGear): boolean;
3144
- export { supportsUpgrade }
3145
- export { supportsUpgrade as supportsUpgrade_alias_1 }
3146
-
3147
- /**
3148
- * 장비 옵션의 설정되지 않은 속성(`undefined`)을 `0`으로 처리하는 프록시 객체를 생성합니다.
2907
+ * 장비에 소울을 장착합니다.
2908
+ * @param gear 대상 장비.
2909
+ * @param soul 장착할 소울 아이템.
3149
2910
  *
3150
- * 프록시 객체를 반복할 때 값이 `0`인 속성은 열거하지 않습니다.
3151
- * @param option 장비 옵션.
3152
- * @returns 장비 옵션 프록시.
3153
- */
3154
- declare function toGearOption(option: Partial<GearOption>): GearOption;
3155
- export { toGearOption }
3156
- export { toGearOption as toGearOption_alias_1 }
3157
-
3158
- export declare function _updateChargeOption(gear: Gear): void;
3159
-
3160
- declare function upgradePatch(options: ([SpellTraceType, SpellTraceRate] | Partial<GearOption>)[]): Patch;
3161
- export { upgradePatch }
3162
- export { upgradePatch as upgradePatch_alias_1 }
3163
-
3164
- export { }
2911
+ * @throws {@link GearError}
2912
+ * 소울을 장착할 없는 경우.
2913
+ */
2914
+ declare function setSoul(gear: Gear, soul: SoulData): void;
2915
+ export { setSoul }
2916
+ export { setSoul as setSoul_alias_1 }
2917
+
2918
+ /**
2919
+ * 장비의 소울 충전량을 설정합니다.
2920
+ * @param gear 대상 장비.
2921
+ * @param charge 소울 충전량.
2922
+ *
2923
+ * @throws {@link GearError}
2924
+ * 소울 충전량을 설정할 수 없는 경우.
2925
+ *
2926
+ * @throws {@link RangeError}
2927
+ * 소울 충전량이 0 미만 또는 1000 초과인 경우.
2928
+ */
2929
+ declare function setSoulCharge(gear: Gear, charge: number): void;
2930
+ export { setSoulCharge }
2931
+ export { setSoulCharge as setSoulCharge_alias_1 }
2932
+
2933
+ /**
2934
+ * 소울 충전 옵션
2935
+ */
2936
+ declare type SoulChargeOption = Pick<GearOption, 'attackPower' | 'magicPower'>;
2937
+ export { SoulChargeOption }
2938
+ export { SoulChargeOption as SoulChargeOption_alias_1 }
2939
+ export { SoulChargeOption as SoulChargeOption_alias_2 }
2940
+
2941
+ /**
2942
+ * 소울 정보
2943
+ */
2944
+ declare interface SoulData {
2945
+ /** 소울 명 */
2946
+ name: string;
2947
+ /** 소울 스킬 명 */
2948
+ skill: string;
2949
+ /** 소울 옵션 */
2950
+ option: Partial<SoulOption>;
2951
+ /** 소울 충전 옵션 배율 */
2952
+ chargeFactor?: 1 | 2;
2953
+ }
2954
+ export { SoulData }
2955
+ export { SoulData as SoulData_alias_1 }
2956
+ export { SoulData as SoulData_alias_2 }
2957
+
2958
+ /**
2959
+ * 소울 옵션
2960
+ */
2961
+ declare type SoulOption = Pick<GearOption, 'str' | 'dex' | 'int' | 'luk' | 'strRate' | 'dexRate' | 'intRate' | 'lukRate' | 'attackPower' | 'magicPower' | 'attackPowerRate' | 'magicPowerRate' | 'maxHp' | 'maxMp' | 'criticalRate' | 'ignoreMonsterArmor' | 'bossDamage'>;
2962
+ export { SoulOption }
2963
+ export { SoulOption as SoulOption_alias_1 }
2964
+ export { SoulOption as SoulOption_alias_2 }
2965
+
2966
+ declare function soulPatch(soul?: SoulData, charge?: number): Patch;
2967
+ export { soulPatch }
2968
+ export { soulPatch as soulPatch_alias_1 }
2969
+
2970
+ /**
2971
+ * 소울 웨폰 정보
2972
+ */
2973
+ declare interface SoulSlotData {
2974
+ /** 소울 아이템 */
2975
+ soul?: SoulData;
2976
+ /** 소울 충전량 */
2977
+ charge?: number;
2978
+ /** 소울 충전 옵션 */
2979
+ chargeOption?: Partial<SoulChargeOption>;
2980
+ }
2981
+ export { SoulSlotData }
2982
+ export { SoulSlotData as SoulSlotData_alias_1 }
2983
+ export { SoulSlotData as SoulSlotData_alias_2 }
2984
+
2985
+ /**
2986
+ * 주문의 흔적
2987
+ */
2988
+ declare type SpellTrace = Scroll & {
2989
+ type: SpellTraceType;
2990
+ rate: SpellTraceRate;
2991
+ };
2992
+ export { SpellTrace }
2993
+ export { SpellTrace as SpellTrace_alias_1 }
2994
+
2995
+ /**
2996
+ * 주문의 흔적 성공 확률
2997
+ */
2998
+ declare type SpellTraceRate = 100 | 70 | 30 | 15;
2999
+ export { SpellTraceRate }
3000
+ export { SpellTraceRate as SpellTraceRate_alias_1 }
3001
+
3002
+ /**
3003
+ * 주문의 흔적 종류
3004
+ */
3005
+ declare enum SpellTraceType {
3006
+ /** STR */
3007
+ str = "str",
3008
+ /** DEX */
3009
+ dex = "dex",
3010
+ /** INT */
3011
+ int = "int",
3012
+ /** LUK */
3013
+ luk = "luk",
3014
+ /** 최대 HP */
3015
+ maxHp = "maxHp",
3016
+ /** 올스탯 */
3017
+ allStat = "allStat"
3018
+ }
3019
+ export { SpellTraceType }
3020
+ export { SpellTraceType as SpellTraceType_alias_1 }
3021
+
3022
+ /**
3023
+ * 장비에 스타포스 강화를 1회 적용합니다.
3024
+ *
3025
+ * 업그레이드가 완료되지 않은 장비, 놀라운 장비강화 주문서가 적용된 장비에도 적용할 수 있습니다.
3026
+ * @param gear 적용할 장비.
3027
+ * @param exceedMaxStar 장비의 최대 강화 단계를 초과하여 강화할 지 여부.
3028
+ *
3029
+ * @throws {@link GearError}
3030
+ * 스타포스 강화를 적용할 수 없는 경우.
3031
+ */
3032
+ declare function starforce(gear: Gear, exceedMaxStar?: boolean): void;
3033
+ export { starforce }
3034
+ export { starforce as starforce_alias_1 }
3035
+
3036
+ declare function starforcePatch(star: number, starScroll?: boolean, ignoreMaxStar?: boolean): Patch;
3037
+ export { starforcePatch }
3038
+ export { starforcePatch as starforcePatch_alias_1 }
3039
+
3040
+ /**
3041
+ * 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
3042
+ *
3043
+ * 착용 가능 레벨 150 이하의 장비에만 적용할 수 있습니다.
3044
+ * 업그레이드가 완료되지 않은 장비, 스타포스 강화가 적용된 장비에도 적용할 수 있습니다.
3045
+ * 슈페리얼 장비에는 적용할 수 없습니다.
3046
+ *
3047
+ * 보너스 스탯은 장비 분류에 따라 결정됩니다.
3048
+ * - 방어구(방패 제외): 최대 HP +50
3049
+ * - 장신구: 올스탯 +1 ~ +2
3050
+ * - 무기/블레이드/방패: 공격력/마력 +1
3051
+ * @param gear 적용할 장비.
3052
+ * @param bonus 보너스 스탯 적용 여부.
3053
+ * @param exceedMaxStar 장비의 최대 강화 단계를 초과하여 강화할 지 여부.
3054
+ *
3055
+ * @throws {@link GearError}
3056
+ * 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
3057
+ */
3058
+ declare function starScroll(gear: Gear, bonus?: boolean, exceedMaxStar?: boolean): void;
3059
+ export { starScroll }
3060
+ export { starScroll as starScroll_alias_1 }
3061
+
3062
+ export declare function sumOptions(...options: Partial<GearOption>[]): Partial<GearOption>;
3063
+
3064
+ /**
3065
+ * 장비가 에디셔널 잠재능력을 지원하는지 여부를 확인합니다.
3066
+ * @param gear 확인할 장비.
3067
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3068
+ */
3069
+ declare function supportsAdditionalPotential(gear: ReadonlyGear): boolean;
3070
+ export { supportsAdditionalPotential }
3071
+ export { supportsAdditionalPotential as supportsAdditionalPotential_alias_1 }
3072
+
3073
+ /**
3074
+ * 장비가 추가 옵션을 지원하는지 확인합니다.
3075
+ * @param gear 확인할 장비.
3076
+ * @returns 적용할 수 있을 경우 `true`; 아닐 경우 `false`.
3077
+ */
3078
+ declare function supportsAddOption(gear: ReadonlyGear): boolean;
3079
+ export { supportsAddOption }
3080
+ export { supportsAddOption as supportsAddOption_alias_1 }
3081
+
3082
+ /**
3083
+ * 장비가 익셉셔널 강화를 지원하는지 여부를 확인합니다.
3084
+ * @param gear 확인할 장비.
3085
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3086
+ */
3087
+ declare function supportsExceptional(gear: ReadonlyGear): boolean;
3088
+ export { supportsExceptional }
3089
+ export { supportsExceptional as supportsExceptional_alias_1 }
3090
+
3091
+ /**
3092
+ * 장비가 잠재능력을 지원하는지 여부를 확인합니다.
3093
+ * @param gear 확인할 장비.
3094
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3095
+ */
3096
+ declare function supportsPotential(gear: ReadonlyGear): boolean;
3097
+ export { supportsPotential }
3098
+ export { supportsPotential as supportsPotential_alias_1 }
3099
+
3100
+ /**
3101
+ * 장비가 소울웨폰을 지원하는지 여부를 확인합니다.
3102
+ * @param gear 확인할 장비.
3103
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3104
+ */
3105
+ declare function supportsSoul(gear: ReadonlyGear): boolean;
3106
+ export { supportsSoul }
3107
+ export { supportsSoul as supportsSoul_alias_1 }
3108
+
3109
+ /**
3110
+ * 장비가 스타포스 강화를 지원하는지 여부를 확인합니다.
3111
+ * @param gear 확인할 장비.
3112
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3113
+ */
3114
+ declare function supportsStarforce(gear: ReadonlyGear): boolean;
3115
+ export { supportsStarforce }
3116
+ export { supportsStarforce as supportsStarforce_alias_1 }
3117
+
3118
+ /**
3119
+ * 장비가 주문서 강화를 지원하는지 여부를 확인합니다.
3120
+ * @param gear 확인할 장비.
3121
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
3122
+ */
3123
+ declare function supportsUpgrade(gear: ReadonlyGear): boolean;
3124
+ export { supportsUpgrade }
3125
+ export { supportsUpgrade as supportsUpgrade_alias_1 }
3126
+
3127
+ /**
3128
+ * 장비 옵션의 설정되지 않은 속성(`undefined`)을 `0`으로 처리하는 프록시 객체를 생성합니다.
3129
+ *
3130
+ * 프록시 객체를 반복할 때 값이 `0`인 속성은 열거하지 않습니다.
3131
+ * @param option 장비 옵션.
3132
+ * @returns 장비 옵션 프록시.
3133
+ */
3134
+ declare function toGearOption(option: Partial<GearOption>): GearOption;
3135
+ export { toGearOption }
3136
+ export { toGearOption as toGearOption_alias_1 }
3137
+
3138
+ export declare function _updateChargeOption(gear: Gear): void;
3139
+
3140
+ declare function upgradePatch(options: ([SpellTraceType, SpellTraceRate] | Partial<GearOption>)[]): Patch;
3141
+ export { upgradePatch }
3142
+ export { upgradePatch as upgradePatch_alias_1 }
3143
+
3144
+ declare const VERSION = 2;
3145
+ export { VERSION }
3146
+ export { VERSION as VERSION_alias_1 }
3147
+
3148
+ export { }