@malib/gear 0.0.2 → 0.1.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 -1
- package/index.d.ts +8 -1
- package/index.js +1017 -540
- package/lib/gear.d.ts +26 -53
- package/lib/gearoption.d.ts +19 -0
- package/lib/gearproptype.d.ts +80 -105
- package/lib/gearreq.d.ts +19 -0
- package/lib/logic/bonusstat.d.ts +28 -0
- package/lib/logic/bonusstattype.d.ts +47 -0
- package/lib/logic/enhancement.d.ts +62 -0
- package/lib/logic/scroll.d.ts +28 -0
- package/lib/logic/soul.d.ts +41 -0
- package/lib/logic/upgrade.d.ts +54 -0
- package/lib/potentialgrade.d.ts +18 -0
- package/lib/soul.d.ts +18 -261
- package/package.json +2 -2
- package/lib/soultype.d.ts +0 -22
package/lib/gear.d.ts
CHANGED
|
@@ -1,46 +1,10 @@
|
|
|
1
|
+
import { GearOption } from "./gearoption";
|
|
1
2
|
import { GearPropType } from "./gearproptype";
|
|
3
|
+
import { GearReq } from "./gearreq";
|
|
2
4
|
import { GearType } from "./geartype";
|
|
3
5
|
import { Potential } from "./potential";
|
|
4
6
|
import { PotentialGrade } from "./potentialgrade";
|
|
5
|
-
import {
|
|
6
|
-
/**
|
|
7
|
-
* 장비 착용 제한
|
|
8
|
-
*/
|
|
9
|
-
export declare class GearReq {
|
|
10
|
-
/** 착용 가능 레벨 */
|
|
11
|
-
level: number;
|
|
12
|
-
/** REQ STR */
|
|
13
|
-
str: number;
|
|
14
|
-
/** REQ LUK */
|
|
15
|
-
luk: number;
|
|
16
|
-
/** REQ DEX */
|
|
17
|
-
dex: number;
|
|
18
|
-
/** REQ INT */
|
|
19
|
-
int: number;
|
|
20
|
-
/** 착용 가능 직업 분류 */
|
|
21
|
-
job: number;
|
|
22
|
-
/** 착용 가능 직업 */
|
|
23
|
-
specJob: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 장비 옵션
|
|
27
|
-
*/
|
|
28
|
-
export declare class GearOption {
|
|
29
|
-
/** 기본 수치 */
|
|
30
|
-
base: number;
|
|
31
|
-
/** 추가옵션 수치 */
|
|
32
|
-
bonus: number;
|
|
33
|
-
/** 주문서 강화 수치 */
|
|
34
|
-
upgrade: number;
|
|
35
|
-
/** 장비 강화 수치 */
|
|
36
|
-
enchant: number;
|
|
37
|
-
/** 모든 수치가 0일 경우 `true`; 아닐 경우 `false` */
|
|
38
|
-
get empty(): boolean;
|
|
39
|
-
/** 모든 수치의 합; 합이 음수일 경우 `0` */
|
|
40
|
-
get sum(): number;
|
|
41
|
-
/** 기본 수치 대비 변화량 */
|
|
42
|
-
get diff(): number;
|
|
43
|
-
}
|
|
7
|
+
import { SoulSlot } from "./soul";
|
|
44
8
|
/**
|
|
45
9
|
* 장비
|
|
46
10
|
*/
|
|
@@ -61,14 +25,18 @@ export declare class Gear {
|
|
|
61
25
|
req: GearReq;
|
|
62
26
|
/** 장비 속성 */
|
|
63
27
|
props: Map<GearPropType, number>;
|
|
64
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* 장비 옵션
|
|
30
|
+
*
|
|
31
|
+
* 접근할 때는 `options` 대신 `option`을 사용하는 것이 권장됩니다.
|
|
32
|
+
*/
|
|
65
33
|
options: Map<GearPropType, GearOption>;
|
|
66
34
|
/** 최대 업그레이드 가능 횟수 */
|
|
67
35
|
totalUpgradeCount: number;
|
|
68
36
|
/** 업그레이드 횟수 */
|
|
69
37
|
upgradeCount: number;
|
|
70
38
|
/** 복구 가능 횟수 */
|
|
71
|
-
|
|
39
|
+
upgradeFailCount: number;
|
|
72
40
|
/** 황금망치 횟수 */
|
|
73
41
|
hammerCount: number;
|
|
74
42
|
/** 최대 장비 강화 수치 */
|
|
@@ -88,7 +56,16 @@ export declare class Gear {
|
|
|
88
56
|
/** 에디셔널 잠재옵션 목록 */
|
|
89
57
|
additionalPotentials: Potential[];
|
|
90
58
|
/** 소울 */
|
|
91
|
-
|
|
59
|
+
soulSlot: SoulSlot;
|
|
60
|
+
/**
|
|
61
|
+
* 업그레이드 가능 횟수
|
|
62
|
+
*/
|
|
63
|
+
get upgradeCountLeft(): number;
|
|
64
|
+
/**
|
|
65
|
+
* 현재 옵션과 기본 옵션의 차이를 가중치를 포함하여 계산합니다.
|
|
66
|
+
* @returns 가중치가 적용된 옵션 차이의 합
|
|
67
|
+
*/
|
|
68
|
+
get diff(): number;
|
|
92
69
|
/**
|
|
93
70
|
* 장비 옵션을 반환합니다. 존재하지 않는 옵션은 장비에 추가됩니다.
|
|
94
71
|
* @param type 장비 옵션 종류
|
|
@@ -107,17 +84,6 @@ export declare class Gear {
|
|
|
107
84
|
* @returns 속성이 존재하고 값이 `0` 이상일 경우 `true`; 아닐 경우 `false`
|
|
108
85
|
*/
|
|
109
86
|
getBooleanValue(type: GearPropType): boolean;
|
|
110
|
-
/**
|
|
111
|
-
* 장비의 최대 강화 수치를 계산합니다.
|
|
112
|
-
* @returns 최대 장비 강화 수치
|
|
113
|
-
*/
|
|
114
|
-
getMaxStar(): number;
|
|
115
|
-
private static readonly starData;
|
|
116
|
-
/**
|
|
117
|
-
* 현재 옵션과 기본 옵션의 차이를 가중치를 포함하여 계산합니다.
|
|
118
|
-
* @returns 가중치가 적용된 옵션 차이의 합
|
|
119
|
-
*/
|
|
120
|
-
get diff(): number;
|
|
121
87
|
/**
|
|
122
88
|
* 장비가 주무기인지 여부를 나타내는 `boolean`값을 반환합니다. 블레이드(katara)는 포함되지 않습니다.
|
|
123
89
|
* @param type 장비 분류
|
|
@@ -180,5 +146,12 @@ export declare class Gear {
|
|
|
180
146
|
*/
|
|
181
147
|
static getGearType(gearID: number): GearType;
|
|
182
148
|
static GetGender(gearID: number): number;
|
|
149
|
+
/**
|
|
150
|
+
* 장비의 최대 강화 수치를 계산합니다.
|
|
151
|
+
* @param gear 장비
|
|
152
|
+
* @returns 최대 장비 강화 수치
|
|
153
|
+
*/
|
|
154
|
+
static getMaxStar(gear: Gear): number;
|
|
155
|
+
private static readonly starData;
|
|
183
156
|
private static getPropTypeWeight;
|
|
184
157
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 장비 옵션
|
|
3
|
+
*/
|
|
4
|
+
export declare class GearOption {
|
|
5
|
+
/** 기본 수치 */
|
|
6
|
+
base: number;
|
|
7
|
+
/** 추가옵션 수치 */
|
|
8
|
+
bonus: number;
|
|
9
|
+
/** 주문서 강화 수치 */
|
|
10
|
+
upgrade: number;
|
|
11
|
+
/** 장비 강화 수치 */
|
|
12
|
+
enchant: number;
|
|
13
|
+
/** 모든 수치가 0일 경우 `true`; 아닐 경우 `false` */
|
|
14
|
+
get empty(): boolean;
|
|
15
|
+
/** 모든 수치의 합; 합이 음수일 경우 `0` */
|
|
16
|
+
get sum(): number;
|
|
17
|
+
/** 기본 수치 대비 변화량 */
|
|
18
|
+
get diff(): number;
|
|
19
|
+
}
|
package/lib/gearproptype.d.ts
CHANGED
|
@@ -10,119 +10,94 @@ export declare enum GearPropType {
|
|
|
10
10
|
incINTr = 6,
|
|
11
11
|
incLUK = 7,
|
|
12
12
|
incLUKr = 8,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
incIMDR = 32,
|
|
37
|
-
damR = 33,
|
|
38
|
-
nbdR = 34,
|
|
39
|
-
statR = 35,
|
|
40
|
-
incCHUC = 36,
|
|
13
|
+
incAllStat = 9,
|
|
14
|
+
incMHP = 10,
|
|
15
|
+
incMMP = 11,
|
|
16
|
+
incMHPr = 12,
|
|
17
|
+
incMMPr = 13,
|
|
18
|
+
incMDF = 14,
|
|
19
|
+
incARC = 15,
|
|
20
|
+
incAUT = 16,
|
|
21
|
+
incPAD = 17,
|
|
22
|
+
incMAD = 18,
|
|
23
|
+
incAD = 19,
|
|
24
|
+
incPDD = 20,
|
|
25
|
+
incSpeed = 21,
|
|
26
|
+
incJump = 22,
|
|
27
|
+
knockback = 23,
|
|
28
|
+
bdR = 24,
|
|
29
|
+
incBDR = 25,
|
|
30
|
+
imdR = 26,
|
|
31
|
+
incIMDR = 27,
|
|
32
|
+
damR = 28,
|
|
33
|
+
nbdR = 29,
|
|
34
|
+
statR = 30,
|
|
35
|
+
incCHUC = 31,
|
|
41
36
|
incPADr = 100,
|
|
42
37
|
incMADr = 101,
|
|
43
38
|
incPDDr = 102,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
incINTlv = 136,
|
|
78
|
-
incLUKlv = 137,
|
|
79
|
-
incMaxDamage = 138,
|
|
80
|
-
incMHPlv = 139,
|
|
81
|
-
incPADlv = 140,
|
|
82
|
-
incMADlv = 141,
|
|
83
|
-
incCriticaldamage = 142,
|
|
39
|
+
incCr = 103,
|
|
40
|
+
incDAMr = 104,
|
|
41
|
+
RecoveryHP = 105,
|
|
42
|
+
RecoveryMP = 106,
|
|
43
|
+
face = 107,
|
|
44
|
+
prop = 108,
|
|
45
|
+
time = 109,
|
|
46
|
+
HP = 110,
|
|
47
|
+
MP = 111,
|
|
48
|
+
attackType = 112,
|
|
49
|
+
ignoreTargetDEF = 113,
|
|
50
|
+
ignoreDAM = 114,
|
|
51
|
+
ignoreDAMr = 115,
|
|
52
|
+
DAMreflect = 116,
|
|
53
|
+
mpconReduce = 117,
|
|
54
|
+
incMesoProp = 118,
|
|
55
|
+
incRewardProp = 119,
|
|
56
|
+
incAllskill = 120,
|
|
57
|
+
RecoveryUP = 121,
|
|
58
|
+
boss = 122,
|
|
59
|
+
level = 123,
|
|
60
|
+
incTerR = 124,
|
|
61
|
+
incAsrR = 125,
|
|
62
|
+
incEXPr = 126,
|
|
63
|
+
reduceCooltime = 127,
|
|
64
|
+
incSTRlv = 128,
|
|
65
|
+
incDEXlv = 129,
|
|
66
|
+
incINTlv = 130,
|
|
67
|
+
incLUKlv = 131,
|
|
68
|
+
incMHPlv = 132,
|
|
69
|
+
incPADlv = 133,
|
|
70
|
+
incMADlv = 134,
|
|
71
|
+
incCriticaldamage = 135,
|
|
84
72
|
attackSpeed = 200,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
reduceReq = 204,
|
|
89
|
-
growthLevel = 205,
|
|
90
|
-
growthExp = 206,
|
|
91
|
-
mastery = 300,
|
|
92
|
-
reqLevel = 1000,
|
|
93
|
-
reqSTR = 1001,
|
|
94
|
-
reqDEX = 1002,
|
|
95
|
-
reqINT = 1003,
|
|
96
|
-
reqLUK = 1004,
|
|
97
|
-
reqJob = 1005,
|
|
98
|
-
reqPOP = 1006,
|
|
99
|
-
reqSpecJob = 1007,
|
|
73
|
+
setItemID = 201,
|
|
74
|
+
durability = 202,
|
|
75
|
+
reduceReq = 203,
|
|
100
76
|
only = 1100,
|
|
101
77
|
tradeBlock = 1101,
|
|
102
78
|
accountSharable = 1102,
|
|
103
79
|
onlyEquip = 1103,
|
|
104
80
|
tradeAvailable = 1104,
|
|
105
81
|
equipTradeBlock = 1105,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
tucIgnoreForPotential = 1127
|
|
82
|
+
sharableOnce = 1106,
|
|
83
|
+
charismaEXP = 1107,
|
|
84
|
+
senseEXP = 1108,
|
|
85
|
+
insightEXP = 1109,
|
|
86
|
+
willEXP = 1110,
|
|
87
|
+
craftEXP = 1111,
|
|
88
|
+
charmEXP = 1112,
|
|
89
|
+
accountShareTag = 1113,
|
|
90
|
+
bossReward = 1114,
|
|
91
|
+
noPotential = 1115,
|
|
92
|
+
fixedPotential = 1116,
|
|
93
|
+
specialGrade = 1117,
|
|
94
|
+
fixedGrade = 1118,
|
|
95
|
+
superiorEqp = 1119,
|
|
96
|
+
incPQEXPr = 1120,
|
|
97
|
+
jokerToSetItem = 1121,
|
|
98
|
+
blockGoldHammer = 1122,
|
|
99
|
+
exceptUpgrade = 1123,
|
|
100
|
+
onlyUpgrade = 1124,
|
|
101
|
+
noLookChange = 1125,
|
|
102
|
+
tucIgnoreForPotential = 1126
|
|
128
103
|
}
|
package/lib/gearreq.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 장비 착용 제한
|
|
3
|
+
*/
|
|
4
|
+
export declare class GearReq {
|
|
5
|
+
/** 착용 가능 레벨 */
|
|
6
|
+
level: number;
|
|
7
|
+
/** REQ STR */
|
|
8
|
+
str: number;
|
|
9
|
+
/** REQ LUK */
|
|
10
|
+
luk: number;
|
|
11
|
+
/** REQ DEX */
|
|
12
|
+
dex: number;
|
|
13
|
+
/** REQ INT */
|
|
14
|
+
int: number;
|
|
15
|
+
/** 착용 가능 직업 분류 */
|
|
16
|
+
job: number;
|
|
17
|
+
/** 착용 가능 직업 */
|
|
18
|
+
specJob: number;
|
|
19
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Gear } from "../gear";
|
|
2
|
+
import { GearPropType } from "../gearproptype";
|
|
3
|
+
import { BonusStatType } from "./bonusstattype";
|
|
4
|
+
export declare type BonusStatGrade = 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
5
|
+
/**
|
|
6
|
+
* 추가옵션 관련 기능을 제공합니다.
|
|
7
|
+
*
|
|
8
|
+
* - '보스 아레나 엠블렘'은 지원하지 않습니다.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BonusStatLogic {
|
|
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
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 보너스 스탯 종류
|
|
3
|
+
*/
|
|
4
|
+
export declare enum BonusStatType {
|
|
5
|
+
/** STR 단일 */
|
|
6
|
+
STR = 0,
|
|
7
|
+
/** DEX 단일 */
|
|
8
|
+
DEX = 1,
|
|
9
|
+
/** INT 단일 */
|
|
10
|
+
INT = 2,
|
|
11
|
+
/** LUK 단일 */
|
|
12
|
+
LUK = 3,
|
|
13
|
+
/** STR, DEX 이중 */
|
|
14
|
+
STR_DEX = 4,
|
|
15
|
+
/** STR, INT 이중 */
|
|
16
|
+
STR_INT = 5,
|
|
17
|
+
/** STR, LUK 이중 */
|
|
18
|
+
STR_LUK = 6,
|
|
19
|
+
/** DEX, INT 이중 */
|
|
20
|
+
DEX_INT = 7,
|
|
21
|
+
/** DEX, LUK 이중 */
|
|
22
|
+
DEX_LUK = 8,
|
|
23
|
+
/** INT, LUK 이중 */
|
|
24
|
+
INT_LUK = 9,
|
|
25
|
+
/** 방어력 */
|
|
26
|
+
PDD = 10,
|
|
27
|
+
/** 공격력 */
|
|
28
|
+
PAD = 11,
|
|
29
|
+
/** 마력 */
|
|
30
|
+
MAD = 12,
|
|
31
|
+
/** 최대 HP */
|
|
32
|
+
MHP = 13,
|
|
33
|
+
/** 최대 MP */
|
|
34
|
+
MMP = 14,
|
|
35
|
+
/** 이동속도 */
|
|
36
|
+
speed = 15,
|
|
37
|
+
/** 점프력 */
|
|
38
|
+
jump = 16,
|
|
39
|
+
/** 데미지 % */
|
|
40
|
+
damR = 17,
|
|
41
|
+
/** 보스 데미지 % */
|
|
42
|
+
bdR = 18,
|
|
43
|
+
/** 올스탯 % */
|
|
44
|
+
allStatR = 19,
|
|
45
|
+
/** 착용 레벨 감소 */
|
|
46
|
+
reduceReq = 20
|
|
47
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Gear } from "../gear";
|
|
2
|
+
/**
|
|
3
|
+
* 장비 강화 관련 기능을 제공합니다.
|
|
4
|
+
*
|
|
5
|
+
* - 스타포스 강화 이후 주문서 수치가 변동될 경우 `recalculate` 함수를 호출해야 합니다.
|
|
6
|
+
*/
|
|
7
|
+
export declare class EnhancementLogic {
|
|
8
|
+
private static readonly MAX_STARFORCE;
|
|
9
|
+
private static readonly MAX_AMAZING;
|
|
10
|
+
/**
|
|
11
|
+
* 장비에 스타포스 강화를 1회 적용합니다.
|
|
12
|
+
* - 업그레이드가 완료되지 않은 장비, 놀라운 장비강화 주문서가 적용된 장비에도 적용됩니다.
|
|
13
|
+
* @param gear 강화를 적용할 장비
|
|
14
|
+
* @param ignoreMaxStar 장비의 최대 강화 수치를 초과하여 강화하는지 여부
|
|
15
|
+
* - 슈페리얼 장비는 최대 강화 수치를 초과할 수 없음
|
|
16
|
+
* @returns 성공했을 경우 `true`; 아닐 경우 `false`
|
|
17
|
+
*/
|
|
18
|
+
addStarforce(gear: Gear, ignoreMaxStar?: boolean): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* 슈페리얼 장비에 스타포스 강화를 1회 적용합니다.
|
|
21
|
+
*/
|
|
22
|
+
private addSuperiorStarforce;
|
|
23
|
+
/**
|
|
24
|
+
* 장비에 놀라운 장비강화 주문서를 1회 적용합니다.
|
|
25
|
+
*
|
|
26
|
+
* 스타포스가 적용된 장비에도 사용 가능합니다. 슈페리얼 장비에는 적용되지 않습니다.
|
|
27
|
+
* @param gear 강화를 적용할 장비
|
|
28
|
+
* @param ignoreMaxStar 장비의 최대 강화 수치 초과로 강화하는 지 여부
|
|
29
|
+
* - ex) 착용 제한 레벨이 100인 장비는 최대 강화 수치가 8성이지만 `ignoreMaxStar`가 `true`일 경우 15성까지 강화 가능
|
|
30
|
+
* @param bonus 보너스 스탯 적용 여부
|
|
31
|
+
* - 방어구(방패 제외): 최대 HP +50
|
|
32
|
+
* - 장신구: 올스탯 +1~2
|
|
33
|
+
* - 주무기, 블레이드, 방패: 공격력, 마력 +1
|
|
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
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Gear } from "../gear";
|
|
2
|
+
import { GearPropType } from "../gearproptype";
|
|
3
|
+
export declare type SpellTraceProbability = 100 | 70 | 30 | 15;
|
|
4
|
+
export declare type SpellTraceStatType = GearPropType.incSTR | GearPropType.incDEX | GearPropType.incINT | GearPropType.incLUK | GearPropType.incAllStat | GearPropType.incMHP;
|
|
5
|
+
/**
|
|
6
|
+
* 주문서
|
|
7
|
+
*/
|
|
8
|
+
export declare class Scroll {
|
|
9
|
+
/** 주문서 이름 */
|
|
10
|
+
name: string;
|
|
11
|
+
/** 주문서 옵션 */
|
|
12
|
+
stat: Map<GearPropType, number>;
|
|
13
|
+
constructor(name?: string, stats?: Map<GearPropType, number>);
|
|
14
|
+
/**
|
|
15
|
+
* 주문의 흔적 `Scroll`을 반환합니다.
|
|
16
|
+
* @param gear 적용할 장비
|
|
17
|
+
* @param type 주문의 흔적 스탯 종류; 다음 값 중 하나입니다:
|
|
18
|
+
*
|
|
19
|
+
* `GearPropType.incSTR` / `GearPropType.incDEX` /
|
|
20
|
+
* `GearPropType.incINT` / `GearPropType.incLUK` /
|
|
21
|
+
* `GearPropType.incAllStat` / `GearPropType.incMHP`
|
|
22
|
+
* @param probability 주문의 흔적 성공 확률 %; 다음 값 중 하나입니다:
|
|
23
|
+
*
|
|
24
|
+
* `100` / `70` / `30` / `15`
|
|
25
|
+
* @returns 주문의 흔적 `Scroll`; 존재하지 않을 경우 `undefined`
|
|
26
|
+
*/
|
|
27
|
+
static getSpellTraceScroll(gear: Gear, type: SpellTraceStatType, probability: SpellTraceProbability): Scroll | undefined;
|
|
28
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Gear } from "../gear";
|
|
2
|
+
import { Soul } from "../soul";
|
|
3
|
+
/**
|
|
4
|
+
* 소울웨폰 관련 기능을 제공합니다.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SoulLogic {
|
|
7
|
+
/**
|
|
8
|
+
* 무기를 소울웨폰으로 변환합니다.
|
|
9
|
+
* @param gear 적용할 장비
|
|
10
|
+
* @returns 소울웨폰으로 변환되었을 경우 `true`; 아닐 경우 `false`
|
|
11
|
+
*/
|
|
12
|
+
enchant(gear: Gear): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 소울웨폰을 원래의 무기로 되돌립니다.
|
|
15
|
+
* @param gear 되돌릴 장비
|
|
16
|
+
* @returns 되돌렸을 경우 `true`; 아닐 경우 `false`
|
|
17
|
+
*/
|
|
18
|
+
disenchant(gear: Gear): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* 소울웨폰에 소울을 장착합니다.
|
|
21
|
+
* @param gear 소울을 장착할 장비
|
|
22
|
+
* @param soul 장착할 소울
|
|
23
|
+
* @returns 장착했을 경우 `true`; 아닐 경우 `false`
|
|
24
|
+
*/
|
|
25
|
+
setSoul(gear: Gear, soul: Soul): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* 소울이 장착된 소울웨폰에서 소울을 제거합니다.
|
|
28
|
+
* @param gear 소울을 제거할 장비
|
|
29
|
+
* @returns 제거했을 경우 `true`; 아닐 경우 `false`
|
|
30
|
+
*/
|
|
31
|
+
removeSoul(gear: Gear): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* 소울웨폰의 소울 충전량을 설정하고 옵션을 적용합니다.
|
|
34
|
+
* 0부터 1000까지의 값으로 설정할 수 있습니다.
|
|
35
|
+
* @param gear 소울 충전량을 설정할 장비
|
|
36
|
+
* @param charge 소울 충전량
|
|
37
|
+
* @returns 적용했을 경우 `true`; 아닐 경우 `false`
|
|
38
|
+
*/
|
|
39
|
+
setCharge(gear: Gear, charge: number): boolean;
|
|
40
|
+
private getChargeAD;
|
|
41
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Gear } from "../gear";
|
|
2
|
+
import { Scroll, SpellTraceProbability, SpellTraceStatType } from "./scroll";
|
|
3
|
+
/**
|
|
4
|
+
* 주문서 업그레이드 관련 기능을 제공합니다.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UpgradeLogic {
|
|
7
|
+
/**
|
|
8
|
+
* 장비에 황금망치를 적용합니다.
|
|
9
|
+
* @param gear 황금망치를 적용할 장비
|
|
10
|
+
* @returns 황금망치가 적용됐을 경우 `true`; 아닐 경우 `false`
|
|
11
|
+
*/
|
|
12
|
+
applyGoldHammer(gear: Gear): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* 장비에 주문서를 1회 적용합니다.
|
|
15
|
+
* @param gear 주문서를 적용할 장비
|
|
16
|
+
* @param scroll 적용할 주문서
|
|
17
|
+
* @returns 주문서가 적용됐을 경우 `true`; 아닐 경우 `false`
|
|
18
|
+
*/
|
|
19
|
+
applyScroll(gear: Gear, scroll: Scroll): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* 장비에 주문의 흔적 강화를 1회 적용합니다.
|
|
22
|
+
* @param gear 강화를 적용할 장비
|
|
23
|
+
* @param type 주문의 흔적 스탯 종류; 다음 값 중 하나입니다:
|
|
24
|
+
*
|
|
25
|
+
* `GearPropType.incSTR` / `GearPropType.incDEX` /
|
|
26
|
+
* `GearPropType.incINT` / `GearPropType.incLUK` /
|
|
27
|
+
* `GearPropType.incAllStat` / `GearPropType.incMHP`
|
|
28
|
+
* @param probability 주문의 흔적 성공 확률 %; 다음 값 중 하나입니다:
|
|
29
|
+
*
|
|
30
|
+
* `100` / `70` / `30` / `15`
|
|
31
|
+
* @returns 주문서가 적용됐을 경우 `true`; 아닐 경우 `false`
|
|
32
|
+
*/
|
|
33
|
+
applySpellTrace(gear: Gear, type: SpellTraceStatType, probability: SpellTraceProbability): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 장비의 업그레이드 가능 횟수를 실패로 1회 감소합니다.
|
|
36
|
+
* @param gear 감소할 장비
|
|
37
|
+
* @returns 감소됐을 경우 `true`; 아닐 경우 `false`
|
|
38
|
+
*/
|
|
39
|
+
addUpgradeFailCount(gear: Gear): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* 장비의 실패한 업그레이드 가능 횟수를 1회 복구합니다.
|
|
42
|
+
* @param gear 복구할 장비
|
|
43
|
+
* @returns 복구했을 경우 `true`; 아닐 경우 `false`
|
|
44
|
+
*/
|
|
45
|
+
restoreUpgradeCount(gear: Gear): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* 장비의 주문서, 황금망치 관련 속성을 초기화합니다.
|
|
48
|
+
*
|
|
49
|
+
* 아크 이노센트와 동일한 효과입니다. 놀라운 장비강화 주문서가 적용된 장비도 적용 가능하지만 오차가 발생할 수 있습니다.
|
|
50
|
+
* @param gear 초기화할 장비
|
|
51
|
+
* @returns 초기화했을 경우 `true`; 아닐 경우 `false`
|
|
52
|
+
*/
|
|
53
|
+
resetUpgrade(gear: Gear): boolean;
|
|
54
|
+
}
|
package/lib/potentialgrade.d.ts
CHANGED
|
@@ -2,10 +2,28 @@
|
|
|
2
2
|
* 잠재능력 등급
|
|
3
3
|
*/
|
|
4
4
|
export declare enum PotentialGrade {
|
|
5
|
+
/**
|
|
6
|
+
* 노멀
|
|
7
|
+
*/
|
|
5
8
|
normal = 0,
|
|
9
|
+
/**
|
|
10
|
+
* 레어
|
|
11
|
+
*/
|
|
6
12
|
rare = 1,
|
|
13
|
+
/**
|
|
14
|
+
* 에픽
|
|
15
|
+
*/
|
|
7
16
|
epic = 2,
|
|
17
|
+
/**
|
|
18
|
+
* 유니크
|
|
19
|
+
*/
|
|
8
20
|
unique = 3,
|
|
21
|
+
/**
|
|
22
|
+
* 레전드리
|
|
23
|
+
*/
|
|
9
24
|
legendary = 4,
|
|
25
|
+
/**
|
|
26
|
+
* 스페셜
|
|
27
|
+
*/
|
|
10
28
|
special = 5
|
|
11
29
|
}
|