增加了限时伤害上限技能
This commit is contained in:
parent
4c7308fe8b
commit
70dfd133e8
|
@ -54,7 +54,8 @@
|
|||
follow_attack_fixed: tp`追加${'damage'}的${'attr'}伤害`,
|
||||
auto_heal_buff: tp`行动结束后${'icon'}回复${'value'}的${'stats'}`,
|
||||
auto_heal: tp`${'icon'}消除宝珠的回合,回复${'belong_to'}${'value'}的${'stats'}`,
|
||||
ctw: tp`${'icon'}${'value'}内时间停止,可以任意移动宝珠`,
|
||||
ctw: tp`${'icon'}${'time'}内时间停止,可以任意移动宝珠${'addition'}`,
|
||||
ctw_addition: tp`,达成${'cond'}时,${'skill'}`,
|
||||
gravity: tp`${'icon'}造成${'target'}${'value'}的伤害`,
|
||||
resolve: tp`${'icon'}如${'stats'}≧${'min'},受到单一次致命攻击时,将会以1点 HP 生还`,
|
||||
board_change: tp`全画面的宝珠变为${'orbs'}`,
|
||||
|
|
|
@ -69,7 +69,8 @@ let localTranslating = {
|
|||
follow_attack_fixed: tp`inflicts ${'damage'} ${'attr'} damage`,
|
||||
auto_heal_buff: tp`${'icon'}Heal ${'value'} ${'stats'} every turn`,
|
||||
auto_heal: tp`${'icon'}Heal ${'stats'} by ${'belong_to'} ${'value'} after matching orbs`,
|
||||
ctw: tp`${'icon'}Move orbs freely for ${'value'}`,
|
||||
ctw: tp`${'icon'}Move orbs freely for ${'time'}${'addition'}`,
|
||||
ctw_addition: tp`, ${'cond'} is achieved, ${'skill'}`,
|
||||
gravity: tp`${'icon'}Reduce ${'target'} ${'value'}`,
|
||||
resolve: tp`${'icon'}Survive a single hit when ${'stats'}≧${'min'}`,
|
||||
board_change: tp`Change all orbs to ${'orbs'}`,
|
||||
|
@ -2051,18 +2052,54 @@ const specialSearchFunctions = (function() {
|
|||
},
|
||||
{name:"Increase Damage Cap",otLangName:{chs:"增加伤害上限 buff",cht:"增加傷害上限 buff"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [241];
|
||||
function getIncreaseDamageCap(skill)
|
||||
{
|
||||
let cap = 0;
|
||||
switch (skill.type) {
|
||||
case 241:
|
||||
cap = skill.params[1];
|
||||
break;
|
||||
case 246:
|
||||
cap = skill.params[2];
|
||||
break;
|
||||
case 247:
|
||||
cap = skill.params[3];
|
||||
break;
|
||||
}
|
||||
return cap;
|
||||
}
|
||||
const searchTypeArray = [241, 246, 247];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill;
|
||||
}).sort((a,b)=>sortByParams(a, b, searchTypeArray, 1));
|
||||
}).sort((a,b)=>{
|
||||
const a_ss = getCardActiveSkill(a, searchTypeArray), b_ss = getCardActiveSkill(b, searchTypeArray);
|
||||
let a_pC = getIncreaseDamageCap(a_ss), b_pC = getIncreaseDamageCap(b_ss);
|
||||
return a_pC - b_pC;
|
||||
});
|
||||
},
|
||||
addition:card=>{
|
||||
const searchTypeArray = [241];
|
||||
const searchTypeArray = [241, 246, 247];
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
if (!skill) return;
|
||||
const sk = skill.params;
|
||||
return `${(sk[1]*1e8).bigNumberToString()}×${sk[0]}T`;
|
||||
let cap;
|
||||
switch (skill.type) {
|
||||
case 241:
|
||||
cap = sk[1];
|
||||
break;
|
||||
case 246:
|
||||
cap = sk[2];
|
||||
break;
|
||||
case 247:
|
||||
cap = sk[3];
|
||||
break;
|
||||
}
|
||||
if (skill.type == 241) {
|
||||
return `${(cap*1e8).bigNumberToString()}×${sk[0]}T`;
|
||||
} else {
|
||||
return `${(cap*1e8).bigNumberToString()} in ${sk[0]}S`;
|
||||
}
|
||||
}
|
||||
},
|
||||
{name:"Member ATK rate change",otLangName:{chs:"队员攻击力 buff",cht:"隊員攻擊力 buff"},
|
||||
|
@ -3054,14 +3091,14 @@ const specialSearchFunctions = (function() {
|
|||
},
|
||||
{name:"Time pause(sort by time)",otLangName:{chs:"时间暂停(按停止时间排序)",cht:"時間暫停(按停止時間排序)"},
|
||||
function:cards=>{
|
||||
const searchTypeArray = [5];
|
||||
const searchTypeArray = [5, 246, 247];
|
||||
return cards.filter(card=>{
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
return skill;
|
||||
}).sort((a,b)=>sortByParams(a,b,searchTypeArray));
|
||||
},
|
||||
addition:card=>{
|
||||
const searchTypeArray = [5];
|
||||
const searchTypeArray = [5, 246, 247];
|
||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||
const value = skill.params[0];
|
||||
return `时停${value}s`;
|
||||
|
|
|
@ -862,6 +862,12 @@ const c = {
|
|||
if (attrs === void 0) { attrs = Attributes.all(); }
|
||||
return { exact: { type: type, value: value, attrs: attrs, multiple: multiple} };
|
||||
},
|
||||
combos: function (min) {
|
||||
return { combos: { min } };
|
||||
},
|
||||
attrs: function (attrs, min) {
|
||||
return { attrs: { attrs, min} };
|
||||
},
|
||||
compo: function (type, ids) {
|
||||
return { compo: { type: type, ids: ids } };
|
||||
},
|
||||
|
@ -1029,7 +1035,9 @@ function fixedTime(value) { return { kind: SkillKinds.FixedTime, value: v.consta
|
|||
function addCombo(value) { return { kind: SkillKinds.AddCombo, value: value }; }
|
||||
function defBreak(value) { return { kind: SkillKinds.DefenseBreak, value: value }; }
|
||||
function poison(value) { return { kind: SkillKinds.Poison, value: value }; }
|
||||
function CTW(value) { return { kind: SkillKinds.CTW, value: value }; }
|
||||
function CTW(time, cond, skill) {
|
||||
return { kind: SkillKinds.CTW, time, cond, skill };
|
||||
}
|
||||
function followAttack(value) { return { kind: SkillKinds.FollowAttack, value: value }; }
|
||||
function followAttackFixed(value) { return { kind: SkillKinds.FollowAttackFixed, value: v.constant(value) }; }
|
||||
function autoHeal(value) { return { kind: SkillKinds.AutoHeal, value: value }; }
|
||||
|
@ -1601,11 +1609,11 @@ const skillObjectParsers = {
|
|||
boardJammingStates('immobility', 'fixed', { positions: {colums: flags(colum), rows: flags(row)} })
|
||||
);
|
||||
},
|
||||
[241](turns, cap, target = 1) { //改变伤害上限主动技
|
||||
const targetTypes = ["self","leader-self","leader-helper","sub-members"];
|
||||
const typeArr = flags(target).map(n => targetTypes[n]);
|
||||
[241](turns, cap) { //改变伤害上限主动技
|
||||
// const targetTypes = ["self","leader-self","leader-helper","sub-members"];
|
||||
// const typeArr = flags(target).map(n => targetTypes[n]);
|
||||
return activeTurns(turns,
|
||||
increaseDamageCap(cap * 1e8, typeArr)
|
||||
increaseDamageCap(cap * 1e8, ["self"])
|
||||
);
|
||||
},
|
||||
[244](turns, type) { //改变板面大小主动技
|
||||
|
@ -1636,6 +1644,12 @@ const skillObjectParsers = {
|
|||
[245](rarity, _2, _3, hp, atk, rcv) { //全员满足某种情况,现在是全部星级不一样
|
||||
return powerUp(flags(_2), flags(_3), p.mul({ hp: hp || 100, atk: atk || 100, rcv: rcv || 100 }), c.compo('team-same-rarity', rarity));
|
||||
},
|
||||
[246](time, combo, cap) { //限定时间内转出多少C提高伤害上限
|
||||
return CTW(v.constant(time), c.combos(combo) , increaseDamageCap(cap * 1e8, ["self"]));
|
||||
},
|
||||
[247](time, attr, min, cap) { //限定时间内转出多少色提高伤害上限
|
||||
return CTW(v.constant(time), c.attrs(flags(attr), min) , increaseDamageCap(cap * 1e8, ["self"]));
|
||||
},
|
||||
[1000](type, pos, ...ids) {
|
||||
const posType = (type=>{
|
||||
switch (type) {
|
||||
|
@ -1994,10 +2008,18 @@ function renderSkill(skill, option = {})
|
|||
break;
|
||||
}
|
||||
case SkillKinds.CTW: { //时间暂停
|
||||
let {time, cond, skill: subSkill} = skill;
|
||||
let dict = {
|
||||
icon: createIcon(skill.kind),
|
||||
value: renderValue(skill.value, { unit: tsp.unit.seconds }),
|
||||
time: renderValue(time, { unit: tsp.unit.seconds }),
|
||||
};
|
||||
if (cond) {
|
||||
let dict2 = {
|
||||
cond: renderCondition(cond),
|
||||
skill: renderSkill(subSkill)
|
||||
}
|
||||
dict.addition = tsp.skill.ctw_addition(dict2);
|
||||
}
|
||||
frg.ap(tsp.skill.ctw(dict));
|
||||
break;
|
||||
}
|
||||
|
@ -2761,6 +2783,17 @@ function renderCondition(cond) {
|
|||
value: renderValue(v.constant(cond.remainOrbs.count), {unit: tsp.unit.orbs}),
|
||||
};
|
||||
frg.ap(tsp.cond.remain_orbs(dict));
|
||||
} else if (cond.combos) {
|
||||
const { min } = cond.combos;
|
||||
let dict = { min };
|
||||
frg.ap(tsp.power.scale_combos(dict));
|
||||
} else if (cond.attrs) {
|
||||
const { attrs, min} = cond.attrs;
|
||||
let dict = {
|
||||
min,
|
||||
orbs: renderOrbs(attrs, {affix: true})
|
||||
};
|
||||
frg.ap(tsp.power.scale_attributes(dict));
|
||||
} else if (cond.exact) {
|
||||
const { type, attrs , value, multiple } = cond.exact;
|
||||
if (type === 'combo') {
|
||||
|
|
|
@ -8051,7 +8051,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"multi.html",
|
||||
"1ef781f0286837ddf18d06784992af68"
|
||||
"7a8c2f2cdd08036c0b18d0fd82ca5213"
|
||||
],
|
||||
[
|
||||
"script-custom_elements.js",
|
||||
|
@ -8063,7 +8063,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script-skill-parser.js",
|
||||
"3c6789e94ed2b39052d209c363eabc3a"
|
||||
"640054aa1e74d653993af4c9a4de5b00"
|
||||
],
|
||||
[
|
||||
"script-universal_function.js",
|
||||
|
@ -8071,11 +8071,11 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"script.js",
|
||||
"29b443c6701b1f475c0e37141cc40725"
|
||||
"e7baa9224af3134c62a8b62e19d12197"
|
||||
],
|
||||
[
|
||||
"solo.html",
|
||||
"e8feb027ec5ac6d7e627e5ad10281030"
|
||||
"9a82c31d52533ebc37f1a04e5753fb63"
|
||||
],
|
||||
[
|
||||
"style-monsterimages.css",
|
||||
|
@ -8083,7 +8083,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"style.css",
|
||||
"8c8575c31b4b6282037986a3b6935b89"
|
||||
"ea0c9d5bb0aefd3032eb7de8500d4f14"
|
||||
],
|
||||
[
|
||||
"temp.js",
|
||||
|
@ -8091,7 +8091,7 @@ const cachesMap = new Map([
|
|||
],
|
||||
[
|
||||
"triple.html",
|
||||
"1e5b3a2ff515fb7043537ac417390afb"
|
||||
"a7858b668418ca1c2f37f75c85fd0dac"
|
||||
],
|
||||
[
|
||||
"languages/en.css",
|
||||
|
|
17
style.css
17
style.css
|
@ -2064,15 +2064,18 @@ icon.inflicts::after
|
|||
{
|
||||
content: attr(data-search-result-count);
|
||||
}
|
||||
.guide-mod .search-mon-list{
|
||||
max-height: 30vh;
|
||||
overflow: auto;
|
||||
}
|
||||
/*图鉴模式使用粘性定位*/
|
||||
.guide-mod .sticky-box {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
/*图鉴模式默认高度为30%设备高度,可修改大小*/
|
||||
.guide-mod .search-mon-list{
|
||||
overflow: auto;
|
||||
height: 30vh;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
.setting-box .row-mon-id .real-time-change-card-label
|
||||
{
|
||||
|
@ -3826,12 +3829,6 @@ table .orb-icon
|
|||
{
|
||||
margin-right: 5px;
|
||||
}
|
||||
.dialog-dungeon-enchance .collab-list::after {
|
||||
content: "(Will be deprecated)"
|
||||
}
|
||||
:lang(zh) .dialog-dungeon-enchance .collab-list::after {
|
||||
content: "(即将弃用)"
|
||||
}
|
||||
|
||||
.icon-skill,
|
||||
.icon-skill::after,
|
||||
|
|
Loading…
Reference in New Issue