diff --git a/languages/en.js b/languages/en.js index 35f92dd0..8a64c554 100644 --- a/languages/en.js +++ b/languages/en.js @@ -61,46 +61,47 @@ drum: tp`Plus a drumming sound is made when Orbs are moved`, auto_path: tp`Shows 3 combo path (Norm. Dungeon & 3 linked Orbs only)`, board7x6: tp`[${'icon'}7x6 board]`, - counter_attack: tp`When attacked by an ${'target'}, ${'prob'}${'value'} ${'attr'} ${'icon'}counterattack`, + counter_attack: tp`When attacked by an ${'target'}, ${'chance'}${'value'} ${'attr'} ${'icon'}counterattack`, change_orbs: tp`Changes ${'from'} to ${'to'}`, - generate_orbs: tp`${'exclude'}生成${'orbs'}各${'value'}个`, + generate_orbs: tp`Creates ${'value'} ${'orbs'} each at random ${'exclude'}`, fixed_orbs: tp`Changes the ${'position'} to ${'orbs'}`, - orb_drop_increase: tp`${'orbs'}的掉落率提高到${'value'}`, - orb_drop_increase_flag: tp`${'value'}掉落${'flag'}${'orbs'}`, - attr_absorb: tp`${'icon'}属性吸收`, - combo_absorb: tp`${'icon'}连击吸收`, - damage_absorb: tp`${'icon'}伤害吸收`, - damage_void: tp`${'icon'}伤害无效`, - void_enemy_buff: tp`敌人的 ${'buff'} 无效化`, - change_attribute: tp`将${'target'}变为${'attrs'}`, - set_orb_state_enhanced: tp`${'icon'}强化${'orbs'}(每颗宝珠效力增加${'value'})`, - set_orb_state_locked: tp`将${'orbs'}${'icon'}锁定${'value'}`, + orb_drop_increase: tp`Increases the skyfall of ${'orbs'} to ${'value'}`, + orb_drop_increase_flag: tp`${'orbs'} skyfall ${'chance'}${'flag'}`, + orb_drop_increase_chance: tp`by ${'value'}`, + attr_absorb: tp`${'icon'}Attribute absorption`, + combo_absorb: tp`${'icon'}Combo absorption`, + damage_absorb: tp`${'icon'}Damage absorption`, + damage_void: tp`${'icon'}Damage void`, + void_enemy_buff: tp`Voids enemies' ${'buff'}`, + change_attribute: tp`${'target'} Att. changes to ${'attrs'}`, + set_orb_state_enhanced: tp`${'orbs'} ${'icon'}enhanced (${'value'} per orb)`, + set_orb_state_locked: tp`${'icon'}Locks ${'value'}${'orbs'}`, set_orb_state_unlocked: tp`${'icon'}Unlocks all orbs`, set_orb_state_bound: tp`${'orbs'} are unmatchable`, - rate_multiply: tp`作为队长进入地下城时,${'rate'}变为${'value'}`, - rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`, - rate_multiply_coin: tp`${'icon'}金币掉落率`, - rate_multiply_exp: tp`${'icon'}等级经验倍率`, + rate_multiply: tp`${'rate'} ${'value'} when entering as leader`, + rate_multiply_drop: tp`${'icon'}Drop rate`, + rate_multiply_coin: tp`${'icon'}Coins`, + rate_multiply_exp: tp`${'icon'}Rank EXP`, reduce_damage: tp`${'condition'}Reduces${'attrs'} damage taken by ${'value'}`, power_up: tp`${'condition'}${'targets'}${'value'}${'reduceDamage'}${'addCombo'}${'followAttack'}`, power_up_targets: tp`${'attrs'}${'types'}'s `, henshin: tp`Transforms into ${'card'}`, - void_poison: tp`消除${'poison'}时不会受到毒伤害`, - skill_proviso: tp`${'condition'}才能发动后续效果`, + void_poison: tp`Voids ${'poison'} damage`, + skill_proviso: tp`The follow-up effect can only be initiated ${'condition'}`, }, power: { unknown: tp`[ Unkonwn power up: ${'type'} ]`, - scale_attributes: tp`${'orbs'}中${'min'}种属性同时攻击时${'stats'}${'bonus'}`, - scale_attributes_bonus: tp`,每多1种${'bonus'},最大${'max'}种时${'stats_max'}`, - scale_combos: tp`${'min'}连击以上时${'stats'}${'bonus'}`, - scale_combos_bonus: tp`,每多1连击${'bonus'},最大${'max'}连击时${'stats_max'}`, - scale_match_attrs: tp`${'matches'}中${'min'}串匹配时${'stats'}${'bonus'}`, - 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_cross: tp`每以十字形式消除5个${'orbs'}1次时${'stats'}`, - scale_cross_single: tp`以十字形式消除5个${'orbs'}时${'stats'}`, - scale_state_kind_count: tp`以队伍中${'awakenings'}${'attrs'}${'types'}的数量提升,每个${'stats'}`, + scale_attributes: tp`When matching ${'min'} attr. of ${'orbs'} ${'stats'}${'bonus'}`, + scale_attributes_bonus: tp`, ${'bonus'} per attr. additional, up to ${'stats_max'} for ${'max'} attr.`, + scale_combos: tp`When ${'min'} combos ${'stats'}${'bonus'}`, + scale_combos_bonus: tp`, ${'bonus'} per combos additional, up to ${'stats_max'} for ${'max'} combos`, + scale_match_attrs: tp`When matching ${'min'} combos in [${'matches'}] ${'stats'}${'bonus'}`, + scale_match_attrs_bonus: tp`, ${'bonus'} per matches additional,up to ${'stats_max'} for ${'max'} matches`, + scale_match_length: tp`${'in_once'}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_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`, }, cond: { unknown: tp`[ Unknown condition ]`, @@ -171,18 +172,18 @@ turns: tp` turns`, }, word: { - comma: tp`, `, //逗号 - slight_pause: tp`, `, //顿号 - range_hyphen: tp`~`, //范围连字符 - in_once: tp`in onece`, + comma: tp`, `, + slight_pause: tp`, `, + range_hyphen: tp`~`, + in_once: tp`in onece `, evo_type_pixel: tp`Pixel Evo`, evo_type_reincarnation: tp`Reinc. or Super Reinc. Evo`, evo_type_unknow: tp`Unknown Evo`, - affix_attr: tp`${'cotent'} attr.`, //词缀-属性 - affix_orb: tp`${'cotent'} orbs`, //词缀-宝珠 - affix_type: tp`${'cotent'} types`, //词缀-类型 - affix_awakening: tp`${'cotent'} awoken`, //词缀-觉醒 - affix_exclude: tp`exclude ${'cotent'}`, //词缀-属性 + affix_attr: tp`${'cotent'} attr.`, + affix_orb: tp`${'cotent'} orbs`, + affix_type: tp`${'cotent'} types`, + affix_awakening: tp`${'cotent'} awoken`, + affix_exclude: tp`, exclude ${'cotent'}`, }, attrs: { [0]: tp`${'icon'}Fire`, @@ -232,47 +233,6 @@ [15]: tp`${'icon'}Redeemable`, }, }, - /*skill_parse: { - skill: { - unknown: ()=>`Unknown skill type.`, - active_turns: (turns, activeElement)=> [activeElement,`, for ${turns} turns.`], - random_skills: (skillList)=>[`Activates these random skills:`, skillList], - delay: ()=> `Delays enemies' next move`, - mass_attack: ()=> `plus Mass Attack`, - leader_change: ()=> `Switches places with Leader Monster; use again to switch back`, - no_skyfall: ()=> `No Skyfall Combos`, - heal: (valueElement)=> [`Recovers `, valueElement, ` as HP`], - defense_break: (valueElement)=> [`Reduce enemies' defense by `, valueElement], - poison: (valueElement)=> [`Poisons all enemies, inflict damage equal to `, valueElement, ` every turn`], - time_extend: (valueElement)=> [`Orb move time `, valueElement], - follow_attack: (valueElement)=> [`Inflicts a bonus attack equal to `, valueElement, ` when matching Orbs`], - auto_heal: (valueElement)=> [`Heals HP equal to `, valueElement, ` when matching Orbs`], - ctw: (valueElement)=> [`Move Orbs freely for `, valueElement], - gravity: (valueElement)=> [`Reduces enemies's `, valueElement], - resolve: (stats, valueElement, probability)=> [probability<100 ? `There's a ${probability}% chance, `:'',`May leave you with 1 HP in a single hit reduced to 0, when your `, stats, ` is ≧` ,valueElement], - }, - value: { - unknown: (type)=>`[ unknown value: ${type}]`, - mul: (value, showPercent) => showPercent ? `${(value * 100).keepCounts()}%` : `${value.keepCounts()}x`, - const: (value, unit)=> `${value}${unit ? ` ${unit}` : ''}`, - mul_maxhp: (value, stats, showPercent) => showPercent ? [`${(value * 100).keepCounts()}% of `, stats] : [stats,` ${value.keepCounts()}x`], - mul_hp: (value, stats, showPercent) => showPercent ? [`${(value * 100).keepCounts()}% of `, stats] : [stats,` ${value.keepCounts()}x`], - mul_atk: (value, stats, showPercent) => showPercent ? [`${(value * 100).keepCounts()}% of `, stats] : [stats,` ${value.keepCounts()}x`], - mul_rcv: (value, stats, showPercent) => showPercent ? [`${(value * 100).keepCounts()}% of `, stats] : [stats,` ${value.keepCounts()}x`], - }, - stats: { - unknown: (type)=>`[ unknown stats: ${type}]`, - maxhp: ()=>`Max HP`, - hp: (enemy)=>`${enemy?`remaining`:`own`} HP`, - atk: (enemy)=>`${enemy?`remaining`:`own`} ATK`, - rcv: (enemy)=>`${enemy?`remaining`:`own`} RCV`, - teamatk: ()=>`Team ATK`, - teamrcv: ()=>`Team RCV`, - }, - unit: { - seconds : `sec`, - }, - },*/ } deepMerge(localTranslating, _localTranslating); localisation(localTranslating); \ No newline at end of file diff --git a/script-json_data.js b/script-json_data.js index 809f5a0a..153d6af9 100644 --- a/script-json_data.js +++ b/script-json_data.js @@ -75,12 +75,12 @@ let localTranslating = { drum: tp`宝珠移动和消除的声音变成太鼓达人的音效`, auto_path: tp`显示3连击的转珠路径(只匹配3珠,并只适用于普通地下城)`, board7x6: tp`【${'icon'}7×6版面】`, - counter_attack: tp`受到${'target'}攻击时,${'prob'}进行受到伤害${'value'}的${'attr'}${'icon'}反击`, + counter_attack: tp`受到${'target'}攻击时,${'chance'}进行受到伤害${'value'}的${'attr'}${'icon'}反击`, change_orbs: tp`${'from'}→${'to'}`, generate_orbs: tp`${'exclude'}生成${'orbs'}各${'value'}个`, fixed_orbs: tp`在${'position'}产生${'orbs'}`, orb_drop_increase: tp`${'orbs'}的掉落率提高到${'value'}`, - orb_drop_increase_flag: tp`${'value'}掉落${'flag'}${'orbs'}`, + orb_drop_increase_flag: tp`${'chance'}掉落${'flag'}${'orbs'}`, attr_absorb: tp`${'icon'}属性吸收`, combo_absorb: tp`${'icon'}连击吸收`, damage_absorb: tp`${'icon'}伤害吸收`, diff --git a/script-skill-parser.js b/script-skill-parser.js index 75cdde19..37cc9360 100644 --- a/script-skill-parser.js +++ b/script-skill-parser.js @@ -902,7 +902,7 @@ const parsers = { ]; }, [152](attrs, count) { return setOrbState(flags(attrs), 'locked', {count: v.constant(count)}); }, - [153](attr) { return changeAttr('opponent', attr); }, + [153](attr, _) { return changeAttr('opponent', attr); }, [154](from, to) { return changeOrbs(fromTo(flags(from), flags(to))); }, [155](attrs, types, hp, atk, rcv) { return powerUp(flags(attrs), flags(types), p.mul({ hp, atk, rcv }), c.multiplayer()); }, [156](turns, awoken1, awoken2, awoken3, type, mul) { @@ -1547,7 +1547,7 @@ function renderSkill(skill, option = {}) dict = { icon: createIcon(skill.kind), target: tsp.target.enemy(), - prob: prob.value < 1 ? tsp.value.prob({value: renderValue(prob, { percent:true })}) : null, + chance: prob.value < 1 ? tsp.value.prob({value: renderValue(prob, { percent:true })}) : null, value: renderValue(value), attr: renderAttrs(attr, {affix: true}), }; @@ -1631,8 +1631,11 @@ function renderSkill(skill, option = {}) } case SkillKinds.OrbDropIncrease: { //增加天降 let attrs = skill.attrs, value = skill.value, flag = skill.flag; + dict = { - value: value && renderValue(value, {percent: true}) || null, + chance: value && tsp.value.prob({ + value: renderValue(value, {percent: true}) + }) || null, orbs: renderOrbs(attrs, {className: "drop", affix: true}), flag: flag && tsp.orbs[flag]({icon: createIcon("orb-" + flag)}) || null, }; @@ -1656,9 +1659,9 @@ function renderSkill(skill, option = {}) break; } case SkillKinds.ChangeAttribute: { - let attrs = skill.attrs, target = skill.target; + let attr = skill.attr, target = skill.target; dict = { - attrs: renderAttrs(attrs, {affix: true}), + attrs: renderAttrs(attr, {affix: true}), target: target === 'opponent' ? tsp.target.enemy_all() : tsp.target.self(), }; frg.ap(tsp.skill.change_attribute(dict));