@malib/gear 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +2 -2
- package/index.d.ts +1 -14
- package/index.js +1355 -745
- package/internal.d.ts +14 -0
- package/lib/gear.d.ts +47 -50
- package/lib/gearicon.d.ts +9 -0
- package/lib/gearreq.d.ts +4 -4
- package/lib/logic/bonusstat.d.ts +34 -22
- package/lib/logic/enhancement.d.ts +37 -59
- package/lib/logic/scroll.d.ts +12 -11
- package/lib/logic/upgrade.d.ts +43 -50
- package/lib/potential.d.ts +6 -6
- package/lib/soul.d.ts +41 -3
- package/package.json +12 -2
- package/lib/logic/soul.d.ts +0 -41
package/internal.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./lib/gear";
|
|
2
|
+
export * from "./lib/gearicon";
|
|
3
|
+
export * from "./lib/gearoption";
|
|
4
|
+
export * from "./lib/gearproptype";
|
|
5
|
+
export * from "./lib/gearreq";
|
|
6
|
+
export * from "./lib/geartype";
|
|
7
|
+
export * from "./lib/potential";
|
|
8
|
+
export * from "./lib/potentialgrade";
|
|
9
|
+
export * from "./lib/soul";
|
|
10
|
+
export * from "./lib/logic/bonusstat";
|
|
11
|
+
export * from "./lib/logic/bonusstattype";
|
|
12
|
+
export * from "./lib/logic/enhancement";
|
|
13
|
+
export * from "./lib/logic/scroll";
|
|
14
|
+
export * from "./lib/logic/upgrade";
|
package/lib/gear.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { GearIcon } from "./gearicon";
|
|
1
2
|
import { GearOption } from "./gearoption";
|
|
2
3
|
import { GearPropType } from "./gearproptype";
|
|
3
4
|
import { GearReq } from "./gearreq";
|
|
4
5
|
import { GearType } from "./geartype";
|
|
5
6
|
import { Potential } from "./potential";
|
|
6
7
|
import { PotentialGrade } from "./potentialgrade";
|
|
7
|
-
import {
|
|
8
|
+
import { SoulWeapon } from "./soul";
|
|
8
9
|
/**
|
|
9
10
|
* 장비
|
|
10
11
|
*/
|
|
@@ -16,9 +17,7 @@ export declare class Gear {
|
|
|
16
17
|
/** 설명 */
|
|
17
18
|
desc: string;
|
|
18
19
|
/** 아이콘 */
|
|
19
|
-
icon:
|
|
20
|
-
/** 아이콘 오프셋 */
|
|
21
|
-
origin: [number, number];
|
|
20
|
+
icon: GearIcon;
|
|
22
21
|
/** 장비 분류 */
|
|
23
22
|
type: GearType;
|
|
24
23
|
/** 장비 착용 제한 */
|
|
@@ -28,7 +27,7 @@ export declare class Gear {
|
|
|
28
27
|
/**
|
|
29
28
|
* 장비 옵션
|
|
30
29
|
*
|
|
31
|
-
*
|
|
30
|
+
* 개별 속성 접근 시 이 속성 대신 `option`을 사용하는 것이 권장됩니다.
|
|
32
31
|
*/
|
|
33
32
|
options: Map<GearPropType, GearOption>;
|
|
34
33
|
/** 최대 업그레이드 가능 횟수 */
|
|
@@ -56,100 +55,98 @@ export declare class Gear {
|
|
|
56
55
|
/** 에디셔널 잠재옵션 목록 */
|
|
57
56
|
additionalPotentials: Potential[];
|
|
58
57
|
/** 소울 */
|
|
59
|
-
|
|
58
|
+
soulWeapon: SoulWeapon;
|
|
60
59
|
/**
|
|
61
60
|
* 업그레이드 가능 횟수
|
|
62
61
|
*/
|
|
63
62
|
get upgradeCountLeft(): number;
|
|
64
63
|
/**
|
|
65
|
-
* 현재 옵션과 기본 옵션의
|
|
66
|
-
* @returns 가중치가 적용된 옵션 차이의 합
|
|
64
|
+
* 가중치를 포함하여 계산한 현재 옵션과 기본 옵션의 차이
|
|
67
65
|
*/
|
|
68
66
|
get diff(): number;
|
|
69
67
|
/**
|
|
70
|
-
* 장비
|
|
71
|
-
* @param type 장비 옵션
|
|
72
|
-
* @returns 장비 옵션
|
|
68
|
+
* 지정된 장비 옵션 종류과 연결된 옵션을 가져옵니다.
|
|
69
|
+
* @param type 장비 옵션 종류.
|
|
70
|
+
* @returns 장비 옵션 객체. 존재하지 않을 경우 장비에 추가한 뒤 반환합니다.
|
|
73
71
|
*/
|
|
74
72
|
option(type: GearPropType): GearOption;
|
|
75
73
|
/**
|
|
76
|
-
* 장비
|
|
77
|
-
* @param type 장비 속성
|
|
78
|
-
* @returns 속성의
|
|
74
|
+
* 지정된 장비 속성 종류과 연결된 값을 가져옵니다.
|
|
75
|
+
* @param type 장비 속성 종류.
|
|
76
|
+
* @returns 속성의 값. 장비에 존재하지 않을 경우 추가하지 않고 `0`을 반환합니다.
|
|
79
77
|
*/
|
|
80
78
|
getPropValue(type: GearPropType): number;
|
|
81
79
|
/**
|
|
82
|
-
* 장비
|
|
83
|
-
* @param type 장비 속성
|
|
84
|
-
* @returns 속성이 존재하고 값이 `0` 이상일 경우 `true`; 아닐 경우 `false
|
|
80
|
+
* 지정된 장비 속성 종류과 연결된 `boolean` 값을 가져옵니다.
|
|
81
|
+
* @param type 장비 속성 종류.
|
|
82
|
+
* @returns 속성이 존재하고 값이 `0` 이상일 경우 `true`; 아닐 경우 `false`.
|
|
85
83
|
*/
|
|
86
84
|
getBooleanValue(type: GearPropType): boolean;
|
|
87
85
|
/**
|
|
88
|
-
*
|
|
89
|
-
* @param type 장비
|
|
90
|
-
* @returns 주무기일 경우 `true`; 아닐 경우 `false
|
|
86
|
+
* 장비 분류가 주무기인지 여부를 확인합니다. 블레이드(`katara`)는 포함되지 않습니다.
|
|
87
|
+
* @param type 장비 분류.
|
|
88
|
+
* @returns 주무기일 경우 `true`; 아닐 경우 `false`.
|
|
91
89
|
*/
|
|
92
90
|
static isWeapon(type: GearType): boolean;
|
|
93
91
|
/**
|
|
94
|
-
*
|
|
95
|
-
* @param type 장비
|
|
96
|
-
* @returns 한손무기일 경우 `true`; 아닐 경우 `false
|
|
92
|
+
* 장비 분류가 한손무기인지 여부를 확인합니다. 블레이드(`katara`)는 포함되지 않습니다.
|
|
93
|
+
* @param type 장비 분류.
|
|
94
|
+
* @returns 한손무기일 경우 `true`; 아닐 경우 `false`.
|
|
97
95
|
*/
|
|
98
96
|
static isLeftWeapon(type: GearType): boolean;
|
|
99
97
|
/**
|
|
100
|
-
*
|
|
101
|
-
* @param type 장비
|
|
102
|
-
* @returns 두손무기일 경우 `true`; 아닐 경우 `false
|
|
98
|
+
* 장비 분류가 두손무기인지 여부를 확인합니다.
|
|
99
|
+
* @param type 장비 분류.
|
|
100
|
+
* @returns 두손무기일 경우 `true`; 아닐 경우 `false`.
|
|
103
101
|
*/
|
|
104
102
|
static isDoubleHandWeapon(type: GearType): boolean;
|
|
105
103
|
/**
|
|
106
|
-
*
|
|
107
|
-
* @param type 장비
|
|
108
|
-
* @returns 보조무기일 경우 `true`; 아닐 경우 `false
|
|
104
|
+
* 장비 분류가 보조무기인지 여부를 확인합니다. 블레이드(`katara`), 방패류가 포함됩니다.
|
|
105
|
+
* @param type 장비 분류.
|
|
106
|
+
* @returns 보조무기일 경우 `true`; 아닐 경우 `false`.
|
|
109
107
|
*/
|
|
110
108
|
static isSubWeapon(type: GearType): boolean;
|
|
111
109
|
/**
|
|
112
|
-
*
|
|
113
|
-
* @param type 장비
|
|
114
|
-
* @returns 방패일 경우 `true`; 아닐 경우 `false
|
|
110
|
+
* 장비 분류가 방패인지 여부를 확인합니다.
|
|
111
|
+
* @param type 장비 분류.
|
|
112
|
+
* @returns 방패일 경우 `true`; 아닐 경우 `false`.
|
|
115
113
|
*/
|
|
116
114
|
static isShield(type: GearType): boolean;
|
|
117
115
|
/**
|
|
118
|
-
*
|
|
119
|
-
* @param type 장비
|
|
120
|
-
* @returns 방어구일 경우 `true`; 아닐 경우 `false
|
|
116
|
+
* 장비 분류가 방어구인지 여부를 확인합니다. 어깨장식이 포함되지 않고 방패가 포함됩니다.
|
|
117
|
+
* @param type 장비 분류.
|
|
118
|
+
* @returns 방어구일 경우 `true`; 아닐 경우 `false`.
|
|
121
119
|
*/
|
|
122
120
|
static isArmor(type: GearType): boolean;
|
|
123
121
|
/**
|
|
124
|
-
*
|
|
125
|
-
* @param type 장비
|
|
126
|
-
* @returns 장신구일 경우 `true`; 아닐 경우 `false
|
|
122
|
+
* 장비 분류가 장신구인지 여부를 확인합니다. 어깨장식이 포함됩니다.
|
|
123
|
+
* @param type 장비 분류.
|
|
124
|
+
* @returns 장신구일 경우 `true`; 아닐 경우 `false`.
|
|
127
125
|
*/
|
|
128
126
|
static isAccessory(type: GearType): boolean;
|
|
129
127
|
/**
|
|
130
|
-
*
|
|
131
|
-
* @param type 장비
|
|
132
|
-
* @returns 메카닉 장비일 경우 `true`; 아닐 경우 `false
|
|
128
|
+
* 장비 분류가 메카닉 장비인지 여부를 확인합니다.
|
|
129
|
+
* @param type 장비 분류.
|
|
130
|
+
* @returns 메카닉 장비일 경우 `true`; 아닐 경우 `false`.
|
|
133
131
|
*/
|
|
134
132
|
static isMechanicGear(type: GearType): boolean;
|
|
135
133
|
/**
|
|
136
|
-
*
|
|
137
|
-
* @param type 장비
|
|
138
|
-
* @returns 에반 드래곤 장비일 경우 `true`; 아닐 경우 `false
|
|
134
|
+
* 장비 분류가 에반 드래곤 장비인지 여부를 확인합니다.
|
|
135
|
+
* @param type 장비 분류.
|
|
136
|
+
* @returns 에반 드래곤 장비일 경우 `true`; 아닐 경우 `false`.
|
|
139
137
|
*/
|
|
140
138
|
static isDragonGear(type: GearType): boolean;
|
|
141
|
-
static specialCanPotential(type: GearType): boolean;
|
|
142
139
|
/**
|
|
143
140
|
* 장비 ID로부터 장비 분류를 계산합니다.
|
|
144
|
-
* @param gearID 장비 ID
|
|
145
|
-
* @returns 장비
|
|
141
|
+
* @param gearID 장비 ID.
|
|
142
|
+
* @returns 장비 분류.
|
|
146
143
|
*/
|
|
147
144
|
static getGearType(gearID: number): GearType;
|
|
148
|
-
static GetGender(gearID: number): number;
|
|
149
145
|
/**
|
|
150
146
|
* 장비의 최대 강화 수치를 계산합니다.
|
|
151
|
-
* @param gear
|
|
152
|
-
* @returns 최대
|
|
147
|
+
* @param gear 계산할 장비.
|
|
148
|
+
* @returns 장비의 최대 강화 수치.
|
|
149
|
+
* 최대 업그레이드 가능 횟수가 `0`이거나 `onlyUpgrade` 속성이 존재하거나 메카닉 장비 또는 드래곤 장비일 경우 `0`입니다.
|
|
153
150
|
*/
|
|
154
151
|
static getMaxStar(gear: Gear): number;
|
|
155
152
|
private static readonly starData;
|
package/lib/gearreq.d.ts
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
export declare class GearReq {
|
|
5
5
|
/** 착용 가능 레벨 */
|
|
6
6
|
level: number;
|
|
7
|
-
/**
|
|
7
|
+
/** 착용 가능 STR */
|
|
8
8
|
str: number;
|
|
9
|
-
/**
|
|
9
|
+
/** 착용 가능 LUK */
|
|
10
10
|
luk: number;
|
|
11
|
-
/**
|
|
11
|
+
/** 착용 가능 DEX */
|
|
12
12
|
dex: number;
|
|
13
|
-
/**
|
|
13
|
+
/** 착용 가능 INT */
|
|
14
14
|
int: number;
|
|
15
15
|
/** 착용 가능 직업 분류 */
|
|
16
16
|
job: number;
|
package/lib/logic/bonusstat.d.ts
CHANGED
|
@@ -1,28 +1,40 @@
|
|
|
1
1
|
import { Gear } from "../gear";
|
|
2
2
|
import { GearPropType } from "../gearproptype";
|
|
3
3
|
import { BonusStatType } from "./bonusstattype";
|
|
4
|
+
/**
|
|
5
|
+
* 추가옵션 등급
|
|
6
|
+
*/
|
|
4
7
|
export type BonusStatGrade = 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
+
* 장비에 1개의 추가옵션을 추가합니다.
|
|
10
|
+
* @param gear 추가옵션을 추가할 장비.
|
|
11
|
+
* @param type 추가옵션 스탯 종류.
|
|
12
|
+
* @param grade 추가옵션 등급. `1`부터 `7`까지의 값입니다.
|
|
13
|
+
* @returns 추가했을 경우 `true`; 아닐 경우 `false`.
|
|
14
|
+
* 장비에 부여할 수 없는 추가옵션을 지정했을 경우 `false`를 반환합니다.
|
|
15
|
+
*/
|
|
16
|
+
export declare function addBonusStat(gear: Gear, type: BonusStatType, grade: BonusStatGrade): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* 장비에 적용된 추가옵션을 초기화합니다.
|
|
19
|
+
* @param gear 추가옵션을 초기화할 장비.
|
|
20
|
+
* @returns 항상 초기화에 성공하고 `true`를 반환합니다.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resetBonusStat(gear: Gear): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 추가옵션을 계산합니다.
|
|
25
|
+
* @param gear 추가옵션을 계산할 장비.
|
|
26
|
+
* @param type 추가옵션 스탯 종류.
|
|
27
|
+
* @param grade 추가옵션 등급. `1`부터 `7`까지의 값입니다.
|
|
28
|
+
* @returns 추가옵션이 포함된 `Map`.
|
|
29
|
+
* 장비에 부여할 수 없는 추가옵션을 지정했을 경우 빈 `Map`을 반환합니다.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getBonusStatOption(gear: Gear, type: BonusStatType, grade: BonusStatGrade): Map<GearPropType, number>;
|
|
32
|
+
/**
|
|
33
|
+
* 추가옵션 스탯 종류에 따른 값을 계산합니다.
|
|
34
|
+
* @param gear 추가옵션을 계산할 장비.
|
|
35
|
+
* @param type 추가옵션 스탯 종류.
|
|
36
|
+
* @param grade 추가옵션 등급. `1`부터 `7`까지의 값입니다.
|
|
37
|
+
* @returns 추가옵션 스탯 종류에 따른 값.
|
|
38
|
+
* 지정한 추가옵션을 적용할 수 없는 경우 `0`을 반환합니다.
|
|
9
39
|
*/
|
|
10
|
-
export declare
|
|
11
|
-
/**
|
|
12
|
-
* 장비에 1개의 추가옵션을 추가합니다. 기존에 부여된 추가옵션에 더해집니다.
|
|
13
|
-
* @param gear 추가옵션을 추가할 장비
|
|
14
|
-
* @param type 추가옵션 스탯 종류
|
|
15
|
-
* @param grade 추가옵션 등급; 1~7의 정수
|
|
16
|
-
* @returns 추가옵션 부여애 성공했을 경우 `true`; 아닐 경우 `false`
|
|
17
|
-
*/
|
|
18
|
-
addBonusStat(gear: Gear, type: BonusStatType, grade: BonusStatGrade): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* 장비에 적용된 추가옵션을 초기화합니다.
|
|
21
|
-
* @param gear 추가옵션을 초기화할 장비
|
|
22
|
-
* @returns 추가옵션 초기화에 성공했을 경우 `true`; 아닐 경우 `false`
|
|
23
|
-
*/
|
|
24
|
-
resetBonusStat(gear: Gear): boolean;
|
|
25
|
-
getBonusStatOption(gear: Gear, type: BonusStatType, grade: BonusStatGrade): Map<GearPropType, number>;
|
|
26
|
-
getBonusStatValue(gear: Gear, type: BonusStatType, grade: BonusStatGrade): number;
|
|
27
|
-
static getGearPropType(type: BonusStatType): GearPropType[];
|
|
28
|
-
}
|
|
40
|
+
export declare function getBonusStatValue(gear: Gear, type: BonusStatType, grade: BonusStatGrade): number;
|
|
@@ -1,62 +1,40 @@
|
|
|
1
1
|
import { Gear } from "../gear";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* 장비에 스타포스 강화를 1회 적용합니다.
|
|
4
|
+
* 업그레이드가 완료되지 않은 장비, 놀라운 장비강화 주문서가 적용된 장비에도 적용할 수 있습니다.
|
|
5
|
+
* 주문서 수치가 변경될 경우 `recalculate` 함수를 직접 적용해야 합니다.
|
|
6
|
+
* @param gear 강화를 적용할 장비.
|
|
7
|
+
* @param ignoreMaxStar 장비의 최대 강화 수치를 초과하여 강화하는지 여부. 기본값은 `false`입니다.
|
|
8
|
+
* 슈페리얼 장비일 경우 무시합니다.
|
|
9
|
+
* @returns 적용했을 경우 `true`; 아닐 경우 `false`.
|
|
10
|
+
* `ignoreMaxStar`가 `false`고 장비의 현재 강화 수치가 최대 강화 수치와 동일하거나,
|
|
11
|
+
* `ignoreMaxStar`가 `true`고 장비의 현재 강화 수치가 `25`이거나,
|
|
12
|
+
* 놀라운 장비강화 주문서가 적용된 상태이고 장비의 현재 강화 수치가 `15`일 경우 `false`를 반환합니다.
|
|
6
13
|
*/
|
|
7
|
-
export declare
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* @returns 성공했을 경우 `true`; 아닐 경우 `false`
|
|
35
|
-
*/
|
|
36
|
-
addAmazingEnhancement(gear: Gear, bonus?: boolean, ignoreMaxStar?: boolean): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* 장비 강화를 초기화합니다.
|
|
39
|
-
* @param 강화를 초기화할 장비
|
|
40
|
-
* @returns 성공했을 경우 `true`; 아닐 경우 `false`
|
|
41
|
-
*/
|
|
42
|
-
resetEnhancement(gear: Gear): boolean;
|
|
43
|
-
/**
|
|
44
|
-
* 스타포스 강화로 오르는 스탯을 다시 계산합니다.
|
|
45
|
-
*
|
|
46
|
-
* 놀라운 장비강화 주문서가 적용된 장비에는 적용되지 않습니다.
|
|
47
|
-
* @param 스탯을 다시 계산할 장비
|
|
48
|
-
* @returns 성공했을 경우 `true`; 아닐 경우 `false`
|
|
49
|
-
*/
|
|
50
|
-
recalculate(gear: Gear): boolean;
|
|
51
|
-
private static getStatData;
|
|
52
|
-
private static readonly superiorAttData;
|
|
53
|
-
private static readonly superiorStatData;
|
|
54
|
-
private static readonly starforceWeaponAttData;
|
|
55
|
-
private static readonly starforceAttData;
|
|
56
|
-
private static readonly starforceStatData;
|
|
57
|
-
private static readonly amazingAttData;
|
|
58
|
-
private static readonly amazingStatData;
|
|
59
|
-
private static readonly starforceGloveBonusAttData;
|
|
60
|
-
private static readonly starforceMhpData;
|
|
61
|
-
private static readonly starforceSpeedJumpData;
|
|
62
|
-
}
|
|
14
|
+
export declare function addStarforce(gear: Gear, ignoreMaxStar?: boolean): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* 장비에 놀라운 장비강화 주문서를 1회 적용합니다.
|
|
17
|
+
* 업그레이드가 완료되지 않은 장비, 스타포스 강화가 적용된 장비에도 적용할 수 있습니다. 슈페리얼 장비에는 적용할 수 없습니다.
|
|
18
|
+
* @param gear 강화를 적용할 장비.
|
|
19
|
+
* @param bonus 보너스 스탯 적용 여부.
|
|
20
|
+
* 장비 분류가 방어구(방패 제외)일 경우 최대 HP 50, 장신구일 경우 올스탯 1또는 2, 주무기/블레이드/방패일 경우 공격력 및 마력 1을 적용합니다.
|
|
21
|
+
* @param ignoreMaxStar 장비의 최대 강화 수치를 초과하여 강화하는지 여부. 기본값은 `false`입니다.
|
|
22
|
+
* @returns 적용했을 경우 `true`; 아닐 경우 `false`.
|
|
23
|
+
* 슈페리얼 장비거나,
|
|
24
|
+
* `ignoreMaxStar`가 `false`고 장비의 현재 강화 수치가 최대 강화 수치와 동일하거나,
|
|
25
|
+
* `ignoreMaxStar`가 `true`고 장비의 현재 강화 수치가 `15`일 경우 `false`를 반환합니다.
|
|
26
|
+
*/
|
|
27
|
+
export declare function addAmazingEnhancement(gear: Gear, bonus?: boolean, ignoreMaxStar?: boolean): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 장비 강화를 초기화합니다.
|
|
30
|
+
* @param 강화를 초기화할 장비.
|
|
31
|
+
* @returns 초기화했을 경우 `true`; 아닐 경우 `false`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function resetEnhancement(gear: Gear): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 스타포스 강화로 오르는 스탯을 다시 계산합니다. 주문서 강화 수치에 변동이 있을 경우 적용해야 합니다.
|
|
36
|
+
* @param 스탯을 다시 계산할 장비.
|
|
37
|
+
* @returns 성공했을 경우 `true`; 아닐 경우 `false`.
|
|
38
|
+
* 놀라운 장비강화 주문서가 적용된 장비일 경우 `false`를 반환합니다.
|
|
39
|
+
*/
|
|
40
|
+
export declare function recalculateStarforce(gear: Gear): boolean;
|
package/lib/logic/scroll.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { Gear } from "../gear";
|
|
2
2
|
import { GearPropType } from "../gearproptype";
|
|
3
|
+
/**
|
|
4
|
+
* 주문의 흔적 성공 확률
|
|
5
|
+
*/
|
|
3
6
|
export type SpellTraceProbability = 100 | 70 | 30 | 15;
|
|
7
|
+
/**
|
|
8
|
+
* 주문의 흔적 스탯 종류
|
|
9
|
+
*/
|
|
4
10
|
export type SpellTraceStatType = GearPropType.incSTR | GearPropType.incDEX | GearPropType.incINT | GearPropType.incLUK | GearPropType.incAllStat | GearPropType.incMHP;
|
|
5
11
|
/**
|
|
6
12
|
* 주문서
|
|
@@ -12,17 +18,12 @@ export declare class Scroll {
|
|
|
12
18
|
stat: Map<GearPropType, number>;
|
|
13
19
|
constructor(name?: string, stats?: Map<GearPropType, number>);
|
|
14
20
|
/**
|
|
15
|
-
* 주문의 흔적
|
|
16
|
-
* @param gear 적용할
|
|
17
|
-
* @param type 주문의 흔적 스탯
|
|
18
|
-
*
|
|
19
|
-
* `
|
|
20
|
-
*
|
|
21
|
-
* `GearPropType.incAllStat` / `GearPropType.incMHP`
|
|
22
|
-
* @param probability 주문의 흔적 성공 확률 %; 다음 값 중 하나입니다:
|
|
23
|
-
*
|
|
24
|
-
* `100` / `70` / `30` / `15`
|
|
25
|
-
* @returns 주문의 흔적 `Scroll`; 존재하지 않을 경우 `undefined`
|
|
21
|
+
* 주문의 흔적 주문서를 생성합니다.
|
|
22
|
+
* @param gear 주문의 흔적을 적용할 장비.
|
|
23
|
+
* @param type 주문의 흔적 스탯 종류. `GearPropType` 타입이고
|
|
24
|
+
* `incSTR` / `incDEX` / `incINT` / `incLUK` / `incAllStat` / `incMHP` 중 하나입니다.
|
|
25
|
+
* @param probability 주문의 흔적 성공 확률. `100` / `70` / `30` / `15` 중 하나입니다.
|
|
26
|
+
* @returns 주문의 흔적 주문서. 지정된 장비, 스탯, 확률을 만족하는 주문서가 존재하지 않을 경우 `undefined`를 반환합니다.
|
|
26
27
|
*/
|
|
27
28
|
static getSpellTraceScroll(gear: Gear, type: SpellTraceStatType, probability: SpellTraceProbability): Scroll | undefined;
|
|
28
29
|
}
|
package/lib/logic/upgrade.d.ts
CHANGED
|
@@ -1,54 +1,47 @@
|
|
|
1
1
|
import { Gear } from "../gear";
|
|
2
2
|
import { Scroll, SpellTraceProbability, SpellTraceStatType } from "./scroll";
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* 장비에 황금망치를 적용합니다.
|
|
5
|
+
* @param gear 황금망치를 적용할 장비.
|
|
6
|
+
* @returns 황금망치를 적용했을 경우 `true`; 아닐 경우 `false`.
|
|
7
|
+
* 장비에 황금망치 적용 불가 속성이 존재하거나 전용 주문서가 존재하거나 이미 황금망치가 적용되었을 경우 `false`를 반환합니다.
|
|
5
8
|
*/
|
|
6
|
-
export declare
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
restoreUpgradeCount(gear: Gear): boolean;
|
|
46
|
-
/**
|
|
47
|
-
* 장비의 주문서, 황금망치 관련 속성을 초기화합니다.
|
|
48
|
-
*
|
|
49
|
-
* 아크 이노센트와 동일한 효과입니다. 놀라운 장비강화 주문서가 적용된 장비도 적용 가능하지만 오차가 발생할 수 있습니다.
|
|
50
|
-
* @param gear 초기화할 장비
|
|
51
|
-
* @returns 초기화했을 경우 `true`; 아닐 경우 `false`
|
|
52
|
-
*/
|
|
53
|
-
resetUpgrade(gear: Gear): boolean;
|
|
54
|
-
}
|
|
9
|
+
export declare function applyGoldHammer(gear: Gear): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* 장비에 주문서를 1회 적용합니다.
|
|
12
|
+
* @param gear 주문서를 적용할 장비.
|
|
13
|
+
* @param scroll 적용할 주문서.
|
|
14
|
+
* @returns 주문서를 적용했을 경우 `true`; 아닐 경우 `false`.
|
|
15
|
+
* 장비에 남은 업그레이드 가능 횟수가 존재하지 않을 경우 `false`를 반환합니다.
|
|
16
|
+
*/
|
|
17
|
+
export declare function applyScroll(gear: Gear, scroll: Scroll): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* 장비에 주문의 흔적 강화를 1회 적용합니다.
|
|
20
|
+
* @param gear 주문의 흔적 강화를 적용할 장비.
|
|
21
|
+
* @param type 주문의 흔적 스탯 종류. `GearPropType` 타입이고
|
|
22
|
+
* `incSTR` / `incDEX` / `incINT` / `incLUK` / `incAllStat` / `incMHP` 중 하나입니다.
|
|
23
|
+
* @param probability 주문의 흔적 성공 확률. `100` / `70` / `30` / `15` 중 하나입니다.
|
|
24
|
+
* @returns 주문서를 적용했을 경우 `true`; 아닐 경우 `false`. 지정된 장비, 스탯, 확률을 만족하는 주문서가 존재하지 않을 경우 `false`를 반환합니다.
|
|
25
|
+
*/
|
|
26
|
+
export declare function applySpellTrace(gear: Gear, type: SpellTraceStatType, probability: SpellTraceProbability): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 장비의 업그레이드 복구 가능 횟수를 1회 추가합니다.
|
|
29
|
+
* @param gear 추가할 장비.
|
|
30
|
+
* @returns 추가했을 경우 `true`; 아닐 경우 `false`.
|
|
31
|
+
* 장비에 남은 업그레이드 가능 횟수가 존재하지 않을 경우 `false`를 반환합니다.
|
|
32
|
+
*/
|
|
33
|
+
export declare function addUpgradeFailCount(gear: Gear): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 장비의 복구 가능 횟수를 1회 복구합니다.
|
|
36
|
+
* @param gear 복구할 장비.
|
|
37
|
+
* @returns 복구했을 경우 `true`; 아닐 경우 `false`.
|
|
38
|
+
* 장비에 남은 복구 가능 횟수가 존재하지 않을 경우 `false`를 반환합니다.
|
|
39
|
+
*/
|
|
40
|
+
export declare function restoreUpgradeCount(gear: Gear): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* 장비의 주문서, 옵션, 황금망치 관련 속성을 초기화합니다.
|
|
43
|
+
* 놀라운 장비강화 주문서로 증가한 옵션에 오차가 발생할 수 있습니다.
|
|
44
|
+
* @param gear 초기화할 장비.
|
|
45
|
+
* @returns 항상 초기화에 성공하고 `true`를 반환합니다.
|
|
46
|
+
*/
|
|
47
|
+
export declare function resetUpgrade(gear: Gear): boolean;
|
package/lib/potential.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { GearType } from "./geartype";
|
|
|
4
4
|
* 잠재옵션
|
|
5
5
|
*/
|
|
6
6
|
export declare class Potential {
|
|
7
|
-
/** 잠재옵션
|
|
7
|
+
/** 잠재옵션 코드 */
|
|
8
8
|
code: number;
|
|
9
9
|
/**
|
|
10
10
|
* 잠재옵션 분류
|
|
@@ -24,15 +24,15 @@ export declare class Potential {
|
|
|
24
24
|
get convertSummary(): string;
|
|
25
25
|
/**
|
|
26
26
|
* 장비의 착용 가능 레벨로부터 잠재옵션의 레벨을 계산합니다.
|
|
27
|
-
* @param gearReqLevel 장비의 착용 가능
|
|
28
|
-
* @returns 잠재옵션
|
|
27
|
+
* @param gearReqLevel 장비의 착용 가능 레벨.
|
|
28
|
+
* @returns 잠재옵션 레벨. 1부터 25까지의 값입니다.
|
|
29
29
|
*/
|
|
30
30
|
static getPotentialLevel(gearReqLevel: number): number;
|
|
31
31
|
/**
|
|
32
32
|
* 잠재옵션 분류와 장비 분류를 비교합니다.
|
|
33
|
-
* @param optionType 잠재옵션
|
|
34
|
-
* @param gearType 장비
|
|
35
|
-
* @returns 잠재옵션 분류가 장비 분류에 적용 가능한 경우 `true`; 아닌 경우 `false
|
|
33
|
+
* @param optionType 잠재옵션 분류.
|
|
34
|
+
* @param gearType 장비 분류.
|
|
35
|
+
* @returns 잠재옵션 분류가 장비 분류에 적용 가능한 경우 `true`; 아닌 경우 `false`.
|
|
36
36
|
*/
|
|
37
37
|
static checkOptionType(optionType: number, gearType: GearType): boolean;
|
|
38
38
|
}
|
package/lib/soul.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { Gear } from "./gear";
|
|
1
2
|
import { GearPropType } from "./gearproptype";
|
|
2
3
|
/**
|
|
3
4
|
* 소울 웨폰
|
|
4
5
|
*/
|
|
5
|
-
export declare class
|
|
6
|
+
export declare class SoulWeapon {
|
|
6
7
|
/** 소울 인챈트 여부 */
|
|
7
8
|
enchanted: boolean;
|
|
8
9
|
/** 소울 */
|
|
@@ -11,7 +12,45 @@ export declare class SoulSlot {
|
|
|
11
12
|
charge: number;
|
|
12
13
|
/** 소울 충전량으로 증가하는 옵션 */
|
|
13
14
|
chargeOption: Map<GearPropType, number>;
|
|
14
|
-
|
|
15
|
+
private gear;
|
|
16
|
+
constructor(gear: Gear);
|
|
17
|
+
/**
|
|
18
|
+
* 소울 인챈트를 적용합니다.
|
|
19
|
+
* @returns 적용했을 경우 `true`; 아닐 경우 `false`.
|
|
20
|
+
* 이미 소울 인챈트 상태이거나 장비 분류가 무기가 아닐 경우 `false`를 반환합니다.
|
|
21
|
+
*/
|
|
22
|
+
enchant(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* 소울 인챈트를 해제합니다.
|
|
25
|
+
* @returns 해제했을 경우 `true`; 아닐 경우 `false`.
|
|
26
|
+
* 소울 인챈트 상태가 아닐 경우 `false`를 반환합니다.
|
|
27
|
+
*/
|
|
28
|
+
disenchant(): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* 소울을 장착합니다.
|
|
31
|
+
* 소울 충전량으로 증가하는 옵션을 다시 계산합니다.
|
|
32
|
+
* 소울 인챈트가 적용된 상태에만 장착됩니다.
|
|
33
|
+
* @param soul 장착할 소울.
|
|
34
|
+
* @returns 장착했을 경우 `true`; 아닐 경우 `false`.
|
|
35
|
+
* 소울 인챈트 상태가 아닐 경우 `false`를 반환합니다.
|
|
36
|
+
*/
|
|
37
|
+
setSoul(soul: Soul): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 장착된 소울을 제거합니다.
|
|
40
|
+
* @returns 제거했을 경우 `true`; 아닐 경우 `false`.
|
|
41
|
+
* 소울 인챈트 상태가 아니거나 장착된 소울이 없을 경우 `false`를 반환합니다.
|
|
42
|
+
*/
|
|
43
|
+
removeSoul(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* 소울 충전량을 설정합니다.
|
|
46
|
+
* 소울 충전량으로 증가하는 옵션을 다시 계산합니다.
|
|
47
|
+
* @param charge 설정할 소울 충전량.
|
|
48
|
+
* `0`부터 `1000`까지의 값으로 설정할 수 있습니다.
|
|
49
|
+
* @returns 적용했을 경우 `true`; 아닐 경우 `false`.
|
|
50
|
+
* 소울 인챈트 상태가 아니거나 설정할 소울 충전량이 0과 1000 사이의 값이 아닐 경우 `false`를 반환합니다.
|
|
51
|
+
*/
|
|
52
|
+
setCharge(charge: number): boolean;
|
|
53
|
+
private getChargeAD;
|
|
15
54
|
}
|
|
16
55
|
/**
|
|
17
56
|
* 소울
|
|
@@ -24,5 +63,4 @@ export declare class Soul {
|
|
|
24
63
|
/** 소울 옵션 */
|
|
25
64
|
option: Map<GearPropType, number>;
|
|
26
65
|
multiplier: number;
|
|
27
|
-
constructor();
|
|
28
66
|
}
|
package/package.json
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@malib/gear",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"type": "module"
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"module": "index.js",
|
|
7
|
+
"types": "index.d.ts",
|
|
8
|
+
"typings": "index.d.ts",
|
|
9
|
+
"typedoc": {
|
|
10
|
+
"entryPoint": "./src/index.ts",
|
|
11
|
+
"readmeFile": "./README.md",
|
|
12
|
+
"displayName": "gear",
|
|
13
|
+
"tsconfig": "./tsconfig.lib.json"
|
|
14
|
+
}
|
|
5
15
|
}
|