@malib/gear 1.0.0-next.1 → 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.
@@ -1,407 +0,0 @@
1
- import { GearAddOption, GearBaseOption, GearData, GearExceptionalOption, GearMetadata, GearStarforceOption, GearType, GearUpgradeOption, PotentialData, PotentialGrade, ReadonlySoulData, SoulChargeOption, SoulData } from './data';
2
- import { AddOptionGrade, AddOptionType } from './enhance/addOption';
3
- import { ExceptionalHammer } from './enhance/exceptional';
4
- import { SpellTraceRate, SpellTraceType } from './enhance/spellTrace';
5
- import { Scroll } from './enhance/upgrade';
6
- import { GearAttribute } from './GearAttribute';
7
- import { GearReq } from './GearReq';
8
- /**
9
- * 장비
10
- *
11
- * 장비 정보를 KMS과 동일한 방식으로 변경하는 기능을 제공합니다.
12
- * - `supports...`: 장비가 특정 강화 방식을 지원하는지 여부입니다.
13
- * - `can...`: 장비에 특정 강화를 적용할 수 있는 상태인지 여부입니다.
14
- * - `apply...()`: 장비에 특정 강화를 적용합니다.
15
- * - `set...()`: 장비의 특정 속성을 설정합니다.
16
- * - `reset...()`: 장비의 특정 강화에 관련된 속성을 초기화합니다.
17
- *
18
- * 생성자에 전달된 장비 정보와 `data` 속성 간에 엄격한 동등(`===`)을 보장합니다.
19
- *
20
- * 장비 정보의 모든 속성에 대해 읽기 전용 속성을 제공하고, 일부 속성은 장비 객체 자체에 또는 반환 객체의 속성에 쓰기가 가능합니다.
21
- */
22
- export declare class Gear {
23
- /** 장비 정보 */
24
- data: GearData;
25
- /**
26
- * 장비 정보를 참조하는 장비 인스턴스를 생성합니다.
27
- * @param data 장비 정보.
28
- */
29
- constructor(data: GearData);
30
- /**
31
- * 장비 메타데이터
32
- */
33
- get meta(): GearMetadata;
34
- /**
35
- * 장비명
36
- */
37
- get name(): string;
38
- /**
39
- * 장비 아이콘
40
- */
41
- get icon(): string;
42
- /**
43
- * 장비 설명
44
- */
45
- get desc(): string | undefined;
46
- /**
47
- * 장비 외형
48
- */
49
- get shapeName(): string | undefined;
50
- /**
51
- * 장비 외형 아이콘
52
- *
53
- * `shapeIcon`을 설정하지 않았을 경우 장비의 기본 아이콘.
54
- */
55
- get shapeIcon(): string;
56
- /**
57
- * 장비 분류
58
- */
59
- get type(): GearType;
60
- /**
61
- * 장비 착용 제한
62
- */
63
- get req(): GearReq;
64
- /**
65
- * 장비 속성
66
- */
67
- get attributes(): GearAttribute;
68
- /**
69
- * 장비 최종 옵션
70
- *
71
- * 기본 옵션, 추가 옵션, 주문서 옵션, 스타포스 옵션의 합.
72
- *
73
- * 익셉셔널 옵션은 미포함.
74
- */
75
- get totalOption(): Readonly<GearBaseOption | GearAddOption | GearUpgradeOption | GearStarforceOption>;
76
- /**
77
- * 장비 순수 옵션
78
- */
79
- get baseOption(): Readonly<GearBaseOption>;
80
- /**
81
- * 장비 추가 옵션
82
- */
83
- get addOption(): Readonly<GearAddOption>;
84
- /**
85
- * 장비 주문서 강화 옵션
86
- */
87
- get upgradeOption(): Readonly<GearUpgradeOption>;
88
- /**
89
- * 장비 스타포스 옵션
90
- */
91
- get starforceOption(): Readonly<GearStarforceOption>;
92
- /**
93
- * 업그레이드 횟수
94
- */
95
- get scrollUpgradeCount(): number;
96
- /**
97
- * 복구 가능 횟수
98
- */
99
- get scrollResilienceCount(): number;
100
- /**
101
- * 업그레이드 가능 횟수
102
- */
103
- get scrollUpgradeableCount(): number;
104
- /**
105
- * 황금 망치 재련 적용
106
- */
107
- get goldenHammer(): number;
108
- /**
109
- * 전체 업그레이드 가능 횟수
110
- *
111
- * 성공, 실패, 황금 망치 적용 여부를 무시한 장비의 기본 업그레이드 가능 횟수입니다.
112
- */
113
- get scrollTotalUpgradeableCount(): number;
114
- /**
115
- * 강화 단계
116
- */
117
- get star(): number;
118
- /**
119
- * 최대 강화 단계
120
- *
121
- * 장비의 현재 강화 단계가 최대 강화 단계를 초과할 시 현재 강화 단계입니다.
122
- * 놀라운 장비 강화 주문서가 사용되었을 경우 최대 `15`입니다.
123
- */
124
- get maxStar(): number;
125
- /**
126
- * 놀라운 장비 강화 주문서 사용 여부
127
- */
128
- get starScroll(): boolean;
129
- /**
130
- * 소울 인챈트 여부
131
- */
132
- get soulEnchanted(): boolean;
133
- /**
134
- * 소울
135
- */
136
- get soul(): ReadonlySoulData | undefined;
137
- /**
138
- * 소울 충전량
139
- */
140
- get soulCharge(): number;
141
- /**
142
- * 소울 충전 옵션
143
- */
144
- get soulChargeOption(): Readonly<SoulChargeOption>;
145
- /**
146
- * 잠재능력 등급
147
- */
148
- get potentialGrade(): PotentialGrade;
149
- set potentialGrade(value: PotentialGrade);
150
- /**
151
- * 잠재능력 목록
152
- */
153
- get potentials(): Readonly<PotentialData[]>;
154
- set potentials(value: PotentialData[]);
155
- /**
156
- * 에디셔널 잠재능력 등급
157
- */
158
- get additionalPotentialGrade(): PotentialGrade;
159
- set additionalPotentialGrade(value: PotentialGrade);
160
- /**
161
- * 에디셔널 잠재능력 목록
162
- */
163
- get additionalPotentials(): Readonly<PotentialData[]>;
164
- set additionalPotentials(value: PotentialData[]);
165
- /**
166
- * 장비 익셉셔널 옵션
167
- */
168
- get exceptionalOption(): Readonly<GearExceptionalOption>;
169
- /**
170
- * 익셉셔널 강화 횟수
171
- */
172
- get exceptionalUpgradeCount(): number;
173
- /**
174
- * 익셉셔널 강화 가능 횟수
175
- */
176
- get exceptionalUpgradeableCount(): number;
177
- /**
178
- * 전체 익셉셔널 강화 가능 횟수
179
- */
180
- get exceptionalTotalUpgradeableCount(): number;
181
- /**
182
- * 장비의 외형을 설정합니다.
183
- * @param name 외형 장비명.
184
- * @param icon 외형 아이콘.
185
- */
186
- setShape(name: string, icon: string): void;
187
- /**
188
- * 장비의 외형을 초기화합니다.
189
- */
190
- resetShape(): void;
191
- /**
192
- * 장비가 추가 옵션을 지원하는지 여부
193
- *
194
- * '스칼렛 숄더', '보스 아레나 엠블렘'일 경우 `false`를 반환합니다. 해당 동작은 변경될 수 있습니다.
195
- */
196
- get supportsAddOption(): boolean;
197
- /**
198
- * 장비에 추가 옵션을 적용합니다.
199
- * @param type 추가 옵션 종류.
200
- * @param grade 추가 옵션 등급.
201
- *
202
- * @throws {@link TypeError}
203
- * 장비에 부여할 수 없는 추가 옵션을 지정했을 경우.
204
- */
205
- applyAddOption(type: AddOptionType, grade: AddOptionGrade): void;
206
- /**
207
- * 장비의 추가 옵션을 초기화합니다.
208
- */
209
- resetAddOption(): void;
210
- /**
211
- * 장비가 주문서 강화를 지원하는지 여부
212
- */
213
- get supportsUpgrade(): boolean;
214
- /**
215
- * 장비에 황금 망치를 적용할 수 있는 상태인지 여부
216
- */
217
- get canApplyGoldenHammer(): boolean;
218
- /**
219
- * 장비에 황금 망치를 적용합니다.
220
- *
221
- * @throws {@link TypeError}
222
- * 황금 망치를 적용할 수 없는 상태일 경우.
223
- */
224
- applyGoldenHammer(): void;
225
- /**
226
- * 장비에 주문서 실패를 적용할 수 있는 상태인지 여부
227
- */
228
- get canApplyFailScroll(): boolean;
229
- /**
230
- * 장비에 주문서 실패를 1회 적용합니다.
231
- *
232
- * @throws {@link TypeError}
233
- * 주문서 실패를 적용할 수 없는 상태일 경우.
234
- */
235
- applyScrollFail(): void;
236
- /**
237
- * 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 복구할 수 있는 상태인지 여부
238
- */
239
- get canApplyResileScroll(): boolean;
240
- /**
241
- * 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 1회 복구합니다.
242
- *
243
- * @throws {@link TypeError}
244
- * 업그레이드 가능 횟수를 복구할 수 없는 상태일 경우.
245
- */
246
- applyScrollResile(): void;
247
- /**
248
- * 장비의 주문서 강화를 초기화할 수 있는 상태인지 여부
249
- */
250
- get canResetUpgrade(): boolean;
251
- /**
252
- * 장비의 주문서 강화를 초기화합니다.
253
- *
254
- * @throws {@link TypeError}
255
- * 주문서 강화를 초기화할 수 없는 장비일 경우.
256
- */
257
- resetUpgrade(): void;
258
- /**
259
- * 장비에 주문서를 적용할 수 있는 상태인지 여부
260
- */
261
- get canApplyScroll(): boolean;
262
- /**
263
- * 장비에 주문서를 1회 적용합니다.
264
- * @param scroll 적용할 주문서.
265
- *
266
- * @throws {@link TypeError}
267
- * 주문서를 적용할 수 없는 상태일 경우.
268
- */
269
- applyScroll(scroll: Scroll): void;
270
- /**
271
- * 장비에 주문의 흔적 강화를 1회 적용합니다.
272
- * @param type 주문의 흔적 종류.
273
- * @param rate 주문의 흔적 성공 확률.
274
- *
275
- * @throws {@link TypeError}
276
- * 주문서를 적용할 수 없는 상태일 경우.
277
- *
278
- * @throws {@link TypeError}
279
- * 적용할 수 없는 주문의 흔적을 지정했을 경우.
280
- */
281
- applySpellTrace(type: SpellTraceType, rate: SpellTraceRate): void;
282
- /**
283
- * 장비가 스타포스 강화를 지원하는지 여부
284
- */
285
- get supportsStarforce(): boolean;
286
- /**
287
- * 장비에 스타포스 강화를 적용할 수 있는 상태인지 여부
288
- */
289
- get canApplyStarforce(): boolean;
290
- /**
291
- * 장비에 스타포스 강화를 1회 적용합니다.
292
- *
293
- * @throws {@link TypeError}
294
- * 스타포스 강화를 적용할 수 없는 경우.
295
- */
296
- applyStarforce(): void;
297
- /**
298
- * 장비에 최대 강화 단계를 무시하고 스타포스 강화를 적용할 수 있는 상태인지 여부
299
- */
300
- get canApplyStarforceIgnoringMaxStar(): boolean;
301
- /**
302
- * 장비에 최대 강화 단계를 무시하고 스타포스 강화를 1회 적용합니다.
303
- *
304
- * @throws {@link TypeError}
305
- * 스타포스 강화를 적용할 수 없는 경우.
306
- */
307
- applyStarforceIgnoringMaxStar(): void;
308
- /**
309
- * 장비에 놀라운 장비 강화 주문서를 적용할 수 있는 상태인지 여부
310
- */
311
- get canApplyStarScroll(): boolean;
312
- /**
313
- * 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
314
- * @param bonus 보너스 스탯 적용 여부.
315
- *
316
- * @throws {@link TypeError}
317
- * 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
318
- */
319
- applyStarScroll(bonus?: boolean): void;
320
- /**
321
- * 장비에 놀라운 장비 강화 주문서를 적용할 수 있는 상태인지 여부
322
- */
323
- get canApplyStarScrollIgnoringMaxStar(): boolean;
324
- /**
325
- * 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
326
- * @param bonus 보너스 스탯 적용 여부.
327
- *
328
- * @throws {@link TypeError}
329
- * 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
330
- */
331
- applyStarScrollIgnoringMaxStar(bonus?: boolean): void;
332
- /**
333
- * 장비의 스타포스 강화를 초기화할 수 있는지 여부
334
- */
335
- get canResetStarforce(): boolean;
336
- /**
337
- * 장비의 스타포스 강화를 초기화합니다.
338
- */
339
- resetStarforce(): void;
340
- /**
341
- * 장비가 소울웨폰을 지원하는지 여부
342
- */
343
- get supportsSoul(): boolean;
344
- /**
345
- * 장비에 소울 인챈터를 적용할 수 있는 상태인지 여부
346
- */
347
- get canApplySoulEnchant(): boolean;
348
- /**
349
- * 장비에 소울 인챈터를 적용합니다.
350
- */
351
- applySoulEnchant(): void;
352
- /**
353
- * 장비에 소울을 장착할 수 있는지 여부
354
- */
355
- get canSetSoul(): boolean;
356
- /**
357
- * 장비에 소울을 장착합니다.
358
- * @param soul 장착할 소울 아이템.
359
- *
360
- * @throws {@link TypeError}
361
- * 소울을 장착할 수 없는 경우.
362
- */
363
- setSoul(soul: SoulData): void;
364
- /**
365
- * 장비의 소울 충전량을 설정할 수 있는지 여부
366
- */
367
- get canSetSoulCharge(): boolean;
368
- /**
369
- * 장비의 소울 충전량을 설정합니다.
370
- * @param charge 소울 충전량.
371
- *
372
- * @throws {@link TypeError}
373
- * 소울 충전량을 설정할 수 없는 경우.
374
- */
375
- setSoulCharge(charge: number): void;
376
- /**
377
- * 장비의 소울웨폰을 초기화합니다.
378
- */
379
- resetSoulEnchant(): void;
380
- /**
381
- * 장비가 익셉셔널 강화를 지원하는지 여부
382
- */
383
- get supportsExceptional(): boolean;
384
- /**
385
- * 장비에 익셉셔널 강화를 적용할 수 있는지 여부
386
- */
387
- get canApplyExceptional(): boolean;
388
- /**
389
- * 장비에 익셉셔널 강화를 적용합니다.
390
- * @param exceptionalHammer 적용할 익셉셔널 해머.
391
- *
392
- * @throws {@link TypeError}
393
- * 익셉셔널 강화를 적용할 수 없는 상태일 경우.
394
- */
395
- applyExceptional(exceptionalHammer: ExceptionalHammer): void;
396
- /**
397
- * 장비의 익셉셔널 강화를 초기화할 수 있는지 여부
398
- */
399
- get canResetExceptional(): boolean;
400
- /**
401
- * 장비의 익셉셔널 강화를 초기화합니다.
402
- *
403
- * @throws {@link TypeError}
404
- * 익셉셔널 강화를 초기화할 수 없는 경우.
405
- */
406
- resetExceptional(): void;
407
- }
@@ -1,54 +0,0 @@
1
- import { AddOptionCan, GearAttributeData, GearCuttable, GearIncline, GearShare, GearTrade, PotentialCan } from './data';
2
- export declare class GearAttribute implements GearAttributeData {
3
- /** 장비 속성 정보 */
4
- data: GearAttributeData;
5
- constructor(data: GearAttributeData);
6
- /** 고유 아이템 */
7
- get only(): boolean;
8
- /** 교환 가능 여부 */
9
- get trade(): GearTrade;
10
- set trade(value: GearTrade);
11
- /** 고유장착 아이템 */
12
- get onlyEquip(): boolean;
13
- /** 월드 내 나의 캐릭터 간 이동 가능 여부 */
14
- get share(): GearShare;
15
- /** 황금망치 사용 불가 */
16
- get blockGoldenHammer(): boolean;
17
- /** 슈페리얼 */
18
- get superior(): boolean;
19
- /** 강화불가 */
20
- get cannotUpgrade(): boolean;
21
- /** 추가옵션 설정 가능 여부 */
22
- get canAddOption(): AddOptionCan;
23
- /** 잠재능력 설정 가능 여부 */
24
- get canPotential(): PotentialCan;
25
- /** 에디셔널 잠재능력 설정 가능 여부 */
26
- get canAdditionalPotential(): PotentialCan;
27
- /** 스페셜 아이템 여부 */
28
- get specialGrade(): boolean;
29
- /** 착용 레벨 증가 */
30
- get reqLevelIncrease(): number;
31
- /** 카르마의 가위 사용 가능 여부 */
32
- get cuttable(): GearCuttable;
33
- /** 가위 사용 가능 횟수 */
34
- get cuttableCount(): number | undefined;
35
- set cuttableCount(value: number | undefined);
36
- /** 쉐어 네임 텍을 사용 가능 여부 */
37
- get accountShareTag(): boolean;
38
- /** 럭키 아이템 */
39
- get lucky(): boolean;
40
- /** 장착 시 획득 경험치 */
41
- get incline(): Readonly<GearIncline>;
42
- set incline(value: Partial<GearIncline>);
43
- /** 보스 드롭 여부 */
44
- get bossReward(): boolean;
45
- /** 성장 경험치 */
46
- get growthExp(): number | undefined;
47
- set growthExp(value: number | undefined);
48
- /** 성장 레벨 */
49
- get growthLevel(): number | undefined;
50
- set growthLevel(value: number | undefined);
51
- /** 장비 유효 기간(KST) */
52
- get dateExpire(): string | undefined;
53
- set dateExpire(value: string | undefined);
54
- }
@@ -1,72 +0,0 @@
1
- import { GearReqData } from './data';
2
- /**
3
- * 장비 착용 제한
4
- */
5
- export declare class GearReq implements GearReqData {
6
- /**
7
- * 장비 착용 제한 정보
8
- */
9
- data: GearReqData;
10
- /**
11
- * 장비 착용 제한 정보를 참조하는 장비 착용 제한 인스턴스를 생성합니다.
12
- */
13
- constructor(data: GearReqData);
14
- /**
15
- * 착용 가능 레벨
16
- */
17
- get level(): number;
18
- /**
19
- * 착용 가능 STR
20
- */
21
- get str(): number;
22
- /**
23
- * 착용 가능 DEX
24
- */
25
- get dex(): number;
26
- /**
27
- * 착용 가능 INT
28
- */
29
- get int(): number;
30
- /**
31
- * 착용 가능 LUK
32
- */
33
- get luk(): number;
34
- /**
35
- * 착용 가능 직업 분류
36
- * */
37
- get job(): number;
38
- /**
39
- * 착용 가능 직업
40
- */
41
- get class(): number;
42
- /**
43
- * 초보자 및 전 직업 착용 가능 여부를 계산합니다.
44
- * @returns 착용할 수 있을 경우 `true`; 아닐 경우 `false`.
45
- */
46
- beginner(): boolean;
47
- /**
48
- * 전사 착용 가능 여부를 계산합니다.
49
- * @returns 착용할 수 있을 경우 `true`; 아닐 경우 `false`.
50
- */
51
- warrior(): boolean;
52
- /**
53
- * 마법사 착용 가능 여부를 계산합니다.
54
- * @returns 착용할 수 있을 경우 `true`; 아닐 경우 `false`.
55
- */
56
- magician(): boolean;
57
- /**
58
- * 궁수 착용 가능 여부를 계산합니다.
59
- * @returns 착용할 수 있을 경우 `true`; 아닐 경우 `false`.
60
- */
61
- bowman(): boolean;
62
- /**
63
- * 도적 착용 가능 여부를 계산합니다.
64
- * @returns 착용할 수 있을 경우 `true`; 아닐 경우 `false`.
65
- */
66
- thief(): boolean;
67
- /**
68
- * 해적 착용 가능 여부를 계산합니다.
69
- * @returns 착용할 수 있을 경우 `true`; 아닐 경우 `false`.
70
- */
71
- pirate(): boolean;
72
- }
@@ -1,103 +0,0 @@
1
- /**
2
- * 장비 속성 정보
3
- */
4
- export type GearAttributeData = {
5
- /** 고유 아이템 */
6
- only?: boolean;
7
- /** 교환 가능 여부 */
8
- trade?: GearTrade;
9
- /** 고유장착 아이템 */
10
- onlyEquip?: boolean;
11
- /** 월드 내 나의 캐릭터 간 이동 가능 여부 */
12
- share?: GearShare;
13
- /** 황금망치 사용 불가 */
14
- blockGoldenHammer?: boolean;
15
- /** 슈페리얼 */
16
- superior?: boolean;
17
- /** 강화불가 */
18
- cannotUpgrade?: boolean;
19
- /** 추가 옵션 설정 가능 여부 */
20
- canAddOption?: AddOptionCan;
21
- /** 잠재능력 설정 가능 여부 */
22
- canPotential?: PotentialCan;
23
- /** 에디셔널 잠재능력 설정 가능 여부 */
24
- canAdditionalPotential?: PotentialCan;
25
- /** 스페셜 아이템 여부 */
26
- specialGrade?: boolean;
27
- /** 착용 레벨 증가 */
28
- reqLevelIncrease?: number;
29
- /** 카르마의 가위 사용 가능 여부 */
30
- cuttable?: GearCuttable;
31
- /** 가위 사용 가능 횟수 */
32
- cuttableCount?: number;
33
- /** 쉐어 네임 텍을 사용 가능 여부 */
34
- accountShareTag?: boolean;
35
- /** 럭키 아이템 */
36
- lucky?: boolean;
37
- /** 장착 시 획득 경험치 */
38
- incline?: Partial<GearIncline>;
39
- /** 보스 드롭 여부 */
40
- bossReward?: boolean;
41
- /** 성장 경험치 */
42
- growthExp?: number;
43
- /** 성장 레벨 */
44
- growthLevel?: number;
45
- /** 장비 유효 기간(KST) */
46
- dateExpire?: string;
47
- };
48
- export declare enum GearTrade {
49
- /** 교환 가능 */
50
- Tradeable = 0,
51
- /** 교환 불가 */
52
- TradeBlock = 1,
53
- /** 장착 시 교환 불가 */
54
- EquipTradeBlock = 2
55
- }
56
- export declare enum GearShare {
57
- /** 없음 */
58
- None = 0,
59
- /** 월드 내 나의 캐릭터 간 이동 가능 */
60
- AccountSharable = 1,
61
- /** 월드 내 나의 캐릭터 간 1회 이동 가능 (이동 후 교환불가) */
62
- AccountSharableOnce = 2
63
- }
64
- export declare enum AddOptionCan {
65
- /** 없음 (장비 분류를 따름) */
66
- None = 0,
67
- /** 설정 가능 */
68
- Can = 1,
69
- /** 설정 불가 */
70
- Cannot = 2
71
- }
72
- export declare enum PotentialCan {
73
- /** 없음 (장비 분류를 따름) */
74
- None = 0,
75
- /** 설정 가능 */
76
- Can = 1,
77
- /** 설정 불가 */
78
- Cannot = 2,
79
- /** 재설정 불가 */
80
- Fixed = 3
81
- }
82
- export declare enum GearCuttable {
83
- /** 없음 */
84
- None = 0,
85
- /** 카르마의 가위 또는 실버 카르마의 가위를 사용하면 1회 교환이 가능하게 할 수 있습니다. */
86
- Silver = 1,
87
- /** 플래티넘 카르마의 가위를 사용하면 1회 교환이 가능하게 할 수 있습니다. */
88
- Platinum = 2
89
- }
90
- export type GearIncline = {
91
- /** 카리스마 */
92
- charisma: number;
93
- /** 통찰력 */
94
- insight: number;
95
- /** 의지 */
96
- will: number;
97
- /** 손재주 */
98
- craft: number;
99
- /** 감성 */
100
- sense: number;
101
- /** 매력 */
102
- charm: number;
103
- };