177号技能剩余倍率不对
This commit is contained in:
parent
58fe3220dd
commit
abb8c30a4e
|
@ -105,6 +105,8 @@
|
|||
scale_match_attrs_bonus: tp`, ${'bonus'} per matches additional,up to ${'stats_max'} for ${'max'} matches`,
|
||||
scale_match_length: tp`When matching ${'min'} of ${'orbs'} ${'in_once'}${'stats'}${'bonus'}`,
|
||||
scale_match_length_bonus: tp`, ${'bonus'} per orbs additional,up to ${'stats_max'} for ${'max'} orbs`,
|
||||
scale_remain_orbs: tp`When ≤ ${'max'} orbs remain on the board ${'stats'}${'bonus'}`,
|
||||
scale_remain_orbs_bonus: tp`, ${'bonus'} for each fewer orb, up to ${'stats_max'} for ${'min'} orbs`,
|
||||
scale_cross: tp`When matching each cross of 5 ${'orbs'} ${'stats'}`,
|
||||
scale_cross_single: tp`When matching a cross of 5 ${'orbs'} ${'stats'}`,
|
||||
scale_state_kind_count: tp`${'stats'} for each [${'awakenings'}${'attrs'}${'types'}] in team`,
|
||||
|
@ -117,8 +119,7 @@
|
|||
hp_belong_to_range: tp`When ${'hp'} ∈ [${'min'},${'max'}] `,
|
||||
use_skill: tp`When skills used `,
|
||||
multi_player: tp`When in Multiplayer Mode `,
|
||||
remain_orbs: tp`When ≤ ${'value'} Orbs on
|
||||
the board `,
|
||||
remain_orbs: tp`When ≤ ${'value'} Orbs on the board `,
|
||||
exact_combo: tp`When exactly ${'value'} combos `,
|
||||
exact_match_length: tp`When matching exactly ${'value'}${'orbs'} `,
|
||||
exact_match_enhanced: tp` orbs including enhanced`,
|
||||
|
|
|
@ -118,6 +118,8 @@ let localTranslating = {
|
|||
scale_match_attrs_bonus: tp`,每多1串${'bonus'},最大${'max'}串时${'stats_max'}`,
|
||||
scale_match_length: tp`${'in_once'}相连消除${'min'}个${'orbs'}时${'stats'}${'bonus'}`,
|
||||
scale_match_length_bonus: tp`,每多1个${'bonus'},最大${'max'}个时${'stats_max'}`,
|
||||
scale_remain_orbs: tp`剩余宝珠 ≤ ${'max'} 时${'stats'}${'bonus'}`,
|
||||
scale_remain_orbs_bonus: tp`,每少1个${'bonus'},最少${'min'}个时${'stats_max'}`,
|
||||
scale_cross: tp`每以十字形式消除5个${'orbs'}1次时${'stats'}`,
|
||||
scale_cross_single: tp`以十字形式消除5个${'orbs'}时${'stats'}`,
|
||||
scale_state_kind_count: tp`以队伍中[${'awakenings'}${'attrs'}${'types'}]的数量提升,每个${'stats'}`,
|
||||
|
|
|
@ -318,6 +318,7 @@ const SkillPowerUpKind = {
|
|||
ScaleMatchLength: 'scale-match-len',
|
||||
ScaleMatchAttrs: 'scale-match-attrs',
|
||||
ScaleCross: 'scale-cross',
|
||||
ScaleRemainOrbs: 'scale-remain-orbs',
|
||||
ScaleStateKindCount: 'scale-state-kind-count',
|
||||
};
|
||||
|
||||
|
@ -793,6 +794,9 @@ const p = {
|
|||
scaleCross: function (crosses) {
|
||||
return { kind: SkillPowerUpKind.ScaleCross, crosses: crosses.map(cross => ({ ...cross, atk: ((cross.atk ?? 100) / 100), rcv: ((cross.rcv ?? 100) / 100)})) };
|
||||
},
|
||||
scaleRemainOrbs: function (max, baseMul, bonusMul) {
|
||||
return { kind: SkillPowerUpKind.ScaleRemainOrbs ,...this.scale(bonusMul ? 0 : max, max, baseMul, bonusMul) };
|
||||
},
|
||||
scaleStateKindCount: function (awakenings, attrs, types, value) {
|
||||
return { kind: SkillPowerUpKind.ScaleStateKindCount, awakenings: awakenings, attrs: attrs, types: types, value: value };
|
||||
},
|
||||
|
@ -1217,11 +1221,11 @@ const parsers = {
|
|||
{ orbs: [attrs ?? 0], type: 'shape', positions: [row1, row2, row3, row4, row5].map(row=>flags(row)) }
|
||||
);
|
||||
},
|
||||
[177](attrs, types, hp, atk, rcv, remains, mul) {
|
||||
[177](attrs, types, hp, atk, rcv, remains, baseAtk, bonusAtk) {
|
||||
return [
|
||||
noSkyfall(),
|
||||
(hp || atk || rcv) && powerUp(flags(attrs), flags(types), p.mul({ hp: hp || 100, atk: atk || 100, rcv: rcv || 100 })) || null,
|
||||
mul && powerUp(null, null, p.mul({ atk: mul }), c.remainOrbs(remains)) || null
|
||||
baseAtk && powerUp(null, null, p.scaleRemainOrbs(remains, [baseAtk ?? 100, 100], [bonusAtk ?? 0, 0])) || null
|
||||
].filter(Boolean);
|
||||
},
|
||||
[178](time, attrs, types, hp, atk, rcv, attrs2, percent) {
|
||||
|
@ -2552,6 +2556,26 @@ function renderPowerUp(powerUp) {
|
|||
//}
|
||||
break;
|
||||
}
|
||||
case SkillPowerUpKind.ScaleRemainOrbs: {
|
||||
let min = powerUp.min, max = powerUp.max, baseAtk = powerUp.baseAtk, baseRcv = powerUp.baseRcv, bonusAtk = powerUp.bonusAtk, bonusRcv = powerUp.bonusRcv;
|
||||
|
||||
let dict = {
|
||||
max: max,
|
||||
stats: renderStats(1, baseAtk, baseRcv),
|
||||
}
|
||||
if (max !== min)
|
||||
{
|
||||
let _dict = {
|
||||
min: min,
|
||||
bonus: renderStats(0, bonusAtk, bonusRcv, {mul: false}),
|
||||
stats_max: renderStats(1, baseAtk + bonusAtk * (max-min), baseRcv + bonusRcv * (max-min)),
|
||||
}
|
||||
dict.bonus = frg.ap(tsp.power.scale_remain_orbs_bonus(_dict));
|
||||
}
|
||||
frg.ap(tsp.power.scale_remain_orbs(dict));
|
||||
|
||||
break;
|
||||
}
|
||||
case SkillPowerUpKind.ScaleStateKindCount: {
|
||||
let awakenings = powerUp.awakenings, attrs = powerUp.attrs, types = powerUp.types, value = powerUp.value;
|
||||
let dict = {
|
||||
|
|
Loading…
Reference in New Issue