@@ -21,9 +21,9 @@ import {
21
21
OPERATORS ,
22
22
adjustOperatorLevel ,
23
23
alternativeOperatorSkillUsages ,
24
- defaultSkills ,
25
24
getDefaultRequirements ,
26
25
getEliteIconUrl ,
26
+ getSkillCount ,
27
27
getSkillUsageAltTitle ,
28
28
withDefaultRequirements ,
29
29
} from '../../../models/operator'
@@ -66,12 +66,12 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
66
66
const edit = useEdit ( )
67
67
const setFavOperators = useSetAtom ( editorFavOperatorsAtom )
68
68
const info = OPERATORS . find ( ( { name } ) => name === operator . name )
69
- const skills = info ? info . skills : defaultSkills
69
+ const skillCount = info ? getSkillCount ( info ) : 3
70
70
const requirements = withDefaultRequirements (
71
71
operator . requirements ,
72
72
info ?. rarity ,
73
73
)
74
- const detailedSkills = skills . map ( ( _ , index ) => ( {
74
+ const detailedSkills = Array . from ( { length : skillCount } , ( _ , index ) => ( {
75
75
available : index <= requirements . elite ,
76
76
defaultLevel : getDefaultRequirements ( info ?. rarity ) . skillLevel ,
77
77
} ) )
@@ -313,6 +313,7 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
313
313
const skillLevel = selected
314
314
? requirements . skillLevel
315
315
: defaultLevel
316
+ const maxLevel = requirements . elite === 2 ? 10 : 7
316
317
return (
317
318
< li
318
319
key = { index }
@@ -350,20 +351,19 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
350
351
} )
351
352
}
352
353
} }
353
- onValueChange = { ( value ) => {
354
+ onValueChange = { ( _ , valueStr ) => {
354
355
edit ( ( ) => {
355
356
// 拿到新输入的一位数字(比如原来是 5,输入 2,变成 52,这里会拿到 2)
356
- const acceptedValue =
357
- value >= 10
358
- ? + String ( value ) . replace (
359
- String ( requirements . skillLevel ) ,
360
- '' ,
361
- )
362
- : value
363
- let newLevel = clamp ( acceptedValue , 0 , 9 )
357
+ let newLevel =
358
+ valueStr . length > 1
359
+ ? + String ( valueStr ) . replace ( String ( skillLevel ) , '' )
360
+ : Number ( valueStr )
361
+
364
362
if ( newLevel === 0 ) {
365
363
newLevel = 10
366
364
}
365
+ newLevel = clamp ( newLevel , 1 , maxLevel )
366
+
367
367
onChange ?.( {
368
368
...operator ,
369
369
requirements : {
@@ -372,7 +372,7 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
372
372
} ,
373
373
} )
374
374
return {
375
- action : 'set-operator-level ' ,
375
+ action : 'set-operator-skillLevel ' ,
376
376
desc : i18n . actions . editor2 . set_operator_skill_level ,
377
377
squashBy : operator . id ,
378
378
}
@@ -388,12 +388,12 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
388
388
skillLevel : clamp (
389
389
requirements . skillLevel + ( e . deltaY > 0 ? - 1 : 1 ) ,
390
390
1 ,
391
- 10 ,
391
+ maxLevel ,
392
392
) ,
393
393
} ,
394
394
} )
395
395
return {
396
- action : 'set-operator-level ' ,
396
+ action : 'set-operator-skillLevel ' ,
397
397
desc : i18n . actions . editor2 . set_operator_skill_level ,
398
398
squashBy : operator . id ,
399
399
}
@@ -412,11 +412,11 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
412
412
</ li >
413
413
)
414
414
} ) }
415
- { controlsEnabled && info ?. equips && (
415
+ { controlsEnabled && info ?. modules && (
416
416
< Select
417
417
className = "row-start-4"
418
418
filterable = { false }
419
- items = { info . equips }
419
+ items = { info . modules }
420
420
itemRenderer = { (
421
421
item ,
422
422
{ index, handleClick, handleFocus, modifiers } ,
@@ -440,7 +440,7 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
440
440
...operator ,
441
441
requirements : {
442
442
...operator . requirements ,
443
- module : info . equips . indexOf ( item ) ,
443
+ module : info . modules . indexOf ( item ) ,
444
444
} ,
445
445
} )
446
446
return {
@@ -467,7 +467,7 @@ export const OperatorItem: FC<OperatorItemProps> = memo(
467
467
: '!bg-gray-300 dark:!bg-gray-600 opacity-15 dark:opacity-25 hover:opacity-30 dark:hover:opacity-50' ,
468
468
) }
469
469
>
470
- { info . equips [ requirements . module ] }
470
+ { info . modules [ requirements . module ] }
471
471
</ Button >
472
472
</ Select >
473
473
) }
0 commit comments