加几个新技能
This commit is contained in:
parent
9fb94b2784
commit
beefcfe1f7
Binary file not shown.
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 70 KiB |
Binary file not shown.
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 202 KiB |
|
@ -115,6 +115,8 @@ const _localTranslating = {
|
||||||
set_orb_state_locked: tp`将${'orbs'}${'icon'}锁定${'value'}`,
|
set_orb_state_locked: tp`将${'orbs'}${'icon'}锁定${'value'}`,
|
||||||
set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的锁定状态`,
|
set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的锁定状态`,
|
||||||
set_orb_state_bound: tp`无法消除${'orbs'}`,
|
set_orb_state_bound: tp`无法消除${'orbs'}`,
|
||||||
|
set_orb_state_combo_drop: tp`${'orbs'}增加${'value'}${'icon'}豆荚状态`,
|
||||||
|
set_orb_state_nail: tp`${'orbs'}增加${'value'}${'icon'}钉子状态`,
|
||||||
rate_multiply: tp`作为队长进入地下城时,${'rate'}变为${'value'}`,
|
rate_multiply: tp`作为队长进入地下城时,${'rate'}变为${'value'}`,
|
||||||
rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`,
|
rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`,
|
||||||
rate_multiply_coin: tp`${'icon'}金币掉落率`,
|
rate_multiply_coin: tp`${'icon'}金币掉落率`,
|
||||||
|
|
|
@ -115,6 +115,8 @@ const _localTranslating = {
|
||||||
set_orb_state_locked: tp`將${'orbs'}${'icon'}鎖定${'value'}`,
|
set_orb_state_locked: tp`將${'orbs'}${'icon'}鎖定${'value'}`,
|
||||||
set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的鎖定狀態`,
|
set_orb_state_unlocked: tp`${'icon'}解除${'orbs'}的鎖定狀態`,
|
||||||
set_orb_state_bound: tp`無法消除${'orbs'}`,
|
set_orb_state_bound: tp`無法消除${'orbs'}`,
|
||||||
|
set_orb_state_combo_drop: tp`${'orbs'}增加${'value'}${'icon'}豆莢狀態`,
|
||||||
|
set_orb_state_nail: tp`${'orbs'}增加${'value'}${'icon'}釘子狀態`,
|
||||||
rate_multiply: tp`作為隊長進入地下城時,${'rate'}變為${'value'}`,
|
rate_multiply: tp`作為隊長進入地下城時,${'rate'}變為${'value'}`,
|
||||||
rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`,
|
rate_multiply_drop: tp`${'icon'}怪物蛋掉落率`,
|
||||||
rate_multiply_coin: tp`${'icon'}金幣掉落率`,
|
rate_multiply_coin: tp`${'icon'}金幣掉落率`,
|
||||||
|
|
|
@ -130,6 +130,8 @@ let localTranslating = {
|
||||||
set_orb_state_locked: tp`${'icon'}Locks ${'value'}${'orbs'}`,
|
set_orb_state_locked: tp`${'icon'}Locks ${'value'}${'orbs'}`,
|
||||||
set_orb_state_unlocked: tp`${'icon'}Unlocks ${'orbs'}`,
|
set_orb_state_unlocked: tp`${'icon'}Unlocks ${'orbs'}`,
|
||||||
set_orb_state_bound: tp`${'orbs'} are unmatchable`,
|
set_orb_state_bound: tp`${'orbs'} are unmatchable`,
|
||||||
|
set_orb_state_combo_drop: tp`Add ${'value'} ${'icon'}combo drop on ${'orbs'}`,
|
||||||
|
set_orb_state_nail: tp`Add ${'value'} ${'icon'}nail on ${'orbs'}`,
|
||||||
rate_multiply: tp`${'rate'} ${'value'} when entering as leader`,
|
rate_multiply: tp`${'rate'} ${'value'} when entering as leader`,
|
||||||
rate_multiply_drop: tp`${'icon'}Drop rate`,
|
rate_multiply_drop: tp`${'icon'}Drop rate`,
|
||||||
rate_multiply_coin: tp`${'icon'}Coins`,
|
rate_multiply_coin: tp`${'icon'}Coins`,
|
||||||
|
@ -1071,14 +1073,46 @@ const specialSearchFunctions = (function() {
|
||||||
}
|
}
|
||||||
function lock_Addition(card)
|
function lock_Addition(card)
|
||||||
{
|
{
|
||||||
const searchTypeArray = [152];
|
const searchTypeArray = [152, 190, 262];
|
||||||
const skill = getCardActiveSkill(card, searchTypeArray);
|
const skills = getCardActiveSkills(card, searchTypeArray, true);
|
||||||
if (!skill) return;
|
if (!skills.length) return;
|
||||||
const sk = skill.params;
|
return skills.map(skill=>{
|
||||||
const fragment = document.createDocumentFragment();
|
const sk = skill.params;
|
||||||
fragment.appendChild(createSkillIcon('orb-locked'));
|
const fragment = document.createDocumentFragment();
|
||||||
fragment.appendChild(createOrbsList(Bin.unflags(sk[0] || 1)));
|
switch (skill.type) {
|
||||||
return fragment;
|
case 152:{
|
||||||
|
fragment.append(
|
||||||
|
createSkillIcon('orb-locked')
|
||||||
|
);
|
||||||
|
if (sk[1] < 42) fragment.append(`×${sk[1]}`);
|
||||||
|
fragment.append(
|
||||||
|
createOrbsList(Bin.unflags(sk[0] || 1))
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 190:{
|
||||||
|
fragment.append(
|
||||||
|
createSkillIcon('orb-combo-drop')
|
||||||
|
);
|
||||||
|
if (sk[1] < 42) fragment.append(`×${sk[1]}`);
|
||||||
|
fragment.append(
|
||||||
|
createOrbsList(Bin.unflags(sk[0] || 1))
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 262:{
|
||||||
|
fragment.append(
|
||||||
|
createSkillIcon('orb-nail')
|
||||||
|
);
|
||||||
|
if (sk[0] < 42) fragment.append(`×${sk[0]}`);
|
||||||
|
fragment.append(
|
||||||
|
createOrbsList(Attributes.orbs())
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return fragment;
|
||||||
|
}).nodeJoin('');
|
||||||
}
|
}
|
||||||
function dropLock_Addition(card)
|
function dropLock_Addition(card)
|
||||||
{
|
{
|
||||||
|
@ -2454,11 +2488,27 @@ const specialSearchFunctions = (function() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const fragment = document.createDocumentFragment();
|
const fragment = document.createDocumentFragment();
|
||||||
fragment.appendChild(document.createTextNode(`强化`));
|
fragment.appendChild(createSkillIcon('orb-enhanced'));
|
||||||
fragment.appendChild(createOrbsList(attrs));
|
fragment.appendChild(createOrbsList(attrs));
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{name:"Add Combo Drop",otLangName:{chs:"加豆荚",cht:"加豆莢"},
|
||||||
|
function:cards=>cards.filter(card=>{
|
||||||
|
const searchTypeArray = [190];
|
||||||
|
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||||
|
return skill;
|
||||||
|
}),
|
||||||
|
addition:lock_Addition
|
||||||
|
},
|
||||||
|
{name:"Add Nail",otLangName:{chs:"加钉子",cht:"加釘子"},
|
||||||
|
function:cards=>cards.filter(card=>{
|
||||||
|
const searchTypeArray = [262];
|
||||||
|
const skill = getCardActiveSkill(card, searchTypeArray);
|
||||||
|
return skill;
|
||||||
|
}),
|
||||||
|
addition:lock_Addition
|
||||||
|
},
|
||||||
{name:"Bind self matchable",otLangName:{chs:"自封消珠 debuff",cht:"自封消珠 debuff"},
|
{name:"Bind self matchable",otLangName:{chs:"自封消珠 debuff",cht:"自封消珠 debuff"},
|
||||||
function:cards=>cards.filter(card=>{
|
function:cards=>cards.filter(card=>{
|
||||||
const searchTypeArray = [215];
|
const searchTypeArray = [215];
|
||||||
|
|
|
@ -992,7 +992,7 @@ function counterAttack(attr, prob, value) {
|
||||||
return { kind: SkillKinds.CounterAttack, attr: attr, prob: prob, value: value };
|
return { kind: SkillKinds.CounterAttack, attr: attr, prob: prob, value: value };
|
||||||
}
|
}
|
||||||
function setOrbState(orbs, state, arg) {
|
function setOrbState(orbs, state, arg) {
|
||||||
return { kind: SkillKinds.SetOrbState, orbs: orbs, state: state, arg: arg};
|
return { kind: SkillKinds.SetOrbState, orbs, state, arg};
|
||||||
}
|
}
|
||||||
function rateMultiply(value, rate) {
|
function rateMultiply(value, rate) {
|
||||||
return { kind: SkillKinds.RateMultiply, value: value, rate: rate };
|
return { kind: SkillKinds.RateMultiply, value: value, rate: rate };
|
||||||
|
@ -1464,6 +1464,7 @@ const skillObjectParsers = {
|
||||||
autoPath(3),
|
autoPath(3),
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
|
[190](attrs, count) { return setOrbState(Bin.unflags(attrs), 'combo-drop', {count: v.constant(count)}); },
|
||||||
|
|
||||||
[191](turns) {
|
[191](turns) {
|
||||||
return activeTurns(turns, voidEnemyBuff(['damage-void']));
|
return activeTurns(turns, voidEnemyBuff(['damage-void']));
|
||||||
|
@ -1729,6 +1730,7 @@ const skillObjectParsers = {
|
||||||
[259](percent) { return breakingShield(v.xShield(percent)); },
|
[259](percent) { return breakingShield(v.xShield(percent)); },
|
||||||
[260](skillStage, voiceId) { return skillPlayVoice(skillStage, voiceId); },
|
[260](skillStage, voiceId) { return skillPlayVoice(skillStage, voiceId); },
|
||||||
[261](percent) { return gravity(v.xCHP(percent), 'single'); },
|
[261](percent) { return gravity(v.xCHP(percent), 'single'); },
|
||||||
|
[262](count) { return setOrbState(Attributes.orbs(), 'nail', {count: v.constant(count)}); },
|
||||||
[263](turns, cap, attr, type) { //按属性改变伤害上限主动技
|
[263](turns, cap, attr, type) { //按属性改变伤害上限主动技
|
||||||
return activeTurns(turns,
|
return activeTurns(turns,
|
||||||
increaseDamageCapacity(cap * 1e8, void 0, Bin.unflags(attr), Bin.unflags(type))
|
increaseDamageCapacity(cap * 1e8, void 0, Bin.unflags(attr), Bin.unflags(type))
|
||||||
|
@ -1801,7 +1803,7 @@ function renderSkillEntry(skills)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SkillKinds.GenerateOrbs: { //产生珠子
|
case SkillKinds.GenerateOrbs: { //产生珠子
|
||||||
let orbs = skill.orbs, exclude = skill.exclude, count = skill.count;
|
const { orbs, exclude, count } = skill;
|
||||||
boardsBar.boards.forEach(board=>board.generateOrbs(orbs, count, exclude));
|
boardsBar.boards.forEach(board=>board.generateOrbs(orbs, count, exclude));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2462,9 +2464,13 @@ function renderSkill(skill, option = {})
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SkillKinds.SetOrbState: {
|
case SkillKinds.SetOrbState: {
|
||||||
let orbs = skill.orbs, state = skill.state, arg = skill.arg;
|
const {orbs, state, arg} = skill;
|
||||||
let dict = {
|
let dict = {
|
||||||
orbs: renderOrbs(orbs, {className: state, affix: true}),
|
orbs: renderOrbs(orbs, {
|
||||||
|
//有的时候附加效果限制个数,这个附加图标加到文字里面的图标上面的去不好看也不准确,应该只加到面板里。
|
||||||
|
//className: state,
|
||||||
|
affix: true
|
||||||
|
}),
|
||||||
icon: createIcon('orb-' + state),
|
icon: createIcon('orb-' + state),
|
||||||
};
|
};
|
||||||
switch (state)
|
switch (state)
|
||||||
|
@ -2488,6 +2494,18 @@ function renderSkill(skill, option = {})
|
||||||
frg.ap(tsp.skill.set_orb_state_bound(dict));
|
frg.ap(tsp.skill.set_orb_state_bound(dict));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "combo-drop":{
|
||||||
|
if (arg.count.value < 42)
|
||||||
|
dict.value = renderValue(arg.count, {unit: tsp.unit.orbs});
|
||||||
|
frg.ap(tsp.skill.set_orb_state_combo_drop(dict));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "nail":{
|
||||||
|
if (arg.count.value < 42)
|
||||||
|
dict.value = renderValue(arg.count, {unit: tsp.unit.orbs});
|
||||||
|
frg.ap(tsp.skill.set_orb_state_nail(dict));
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -2911,6 +2929,8 @@ function renderAttrs(attrs, option = {}) {
|
||||||
function renderOrbs(attrs, option = {}) {
|
function renderOrbs(attrs, option = {}) {
|
||||||
if (!Array.isArray(attrs))
|
if (!Array.isArray(attrs))
|
||||||
attrs = [attrs ?? 0];
|
attrs = [attrs ?? 0];
|
||||||
|
else
|
||||||
|
attrs = [...attrs];
|
||||||
|
|
||||||
const frg = document.createDocumentFragment();
|
const frg = document.createDocumentFragment();
|
||||||
if (typeof localTranslating == "undefined") return frg;
|
if (typeof localTranslating == "undefined") return frg;
|
||||||
|
@ -2922,7 +2942,7 @@ function renderOrbs(attrs, option = {}) {
|
||||||
let attrBin = new Bin(attrs);
|
let attrBin = new Bin(attrs);
|
||||||
if ((attrBin.int & 0b1111111111) == 0b1111111111) { //十种珠子
|
if ((attrBin.int & 0b1111111111) == 0b1111111111) { //十种珠子
|
||||||
frg.ap(tsp.orbs.all());
|
frg.ap(tsp.orbs.all());
|
||||||
attrs.length = 0;
|
attrs.length = 0; //之前是引用,这里会导致数组被清空的错误
|
||||||
} else if ((attrBin.int & 0b11111) == 0b11111) { //基础5色
|
} else if ((attrBin.int & 0b11111) == 0b11111) { //基础5色
|
||||||
frg.ap(renderOrbs('_5color'));
|
frg.ap(renderOrbs('_5color'));
|
||||||
attrBin = new Bin(attrBin.int & 0b1111100000);
|
attrBin = new Bin(attrBin.int & 0b1111100000);
|
||||||
|
|
|
@ -37339,11 +37339,11 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script-json_data.js",
|
"script-json_data.js",
|
||||||
"542e14ea40fb4e78f90b9042c9cab73e"
|
"dfaedd802c88abd2dc04807133cd292c"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script-skill-parser.js",
|
"script-skill-parser.js",
|
||||||
"611d6dbe1cb34e394b466d5548413bb5"
|
"1747fe828fc25e0394f82245eccca5c7"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"script-universal_function.js",
|
"script-universal_function.js",
|
||||||
|
@ -37363,11 +37363,11 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"style-monsterimages.css",
|
"style-monsterimages.css",
|
||||||
"27fbe6036d87bcbcba695b3855d6d175"
|
"825aea31ea61e82142a634ccc7230d9f"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"style.css",
|
"style.css",
|
||||||
"bf69ae63b86117783d918534b14b3a54"
|
"0548eea7ac972f4bac0ffebf384a51e5"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"temp.js",
|
"temp.js",
|
||||||
|
@ -37411,7 +37411,7 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"languages/zh-hans.js",
|
"languages/zh-hans.js",
|
||||||
"71138b459d0d9851f2554e6336f32a98"
|
"8552840a3934a8eee0d0e001419036d9"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"languages/zh-hant.css",
|
"languages/zh-hant.css",
|
||||||
|
@ -37419,7 +37419,7 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"languages/zh-hant.js",
|
"languages/zh-hant.js",
|
||||||
"677bd55683bbe9f7055523ed462db5b9"
|
"3f4938a03f1d14544bd9da895126ed6c"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"images/attrs.png",
|
"images/attrs.png",
|
||||||
|
@ -37571,7 +37571,7 @@ const cachesMap = new Map([
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"images/icon-skills.png",
|
"images/icon-skills.png",
|
||||||
"fae3e58d36a30373bf184d1c4b9e78d5"
|
"9b5c57a64636cbfddffbb4549f5e6035"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"images/icon-switch-leader.png",
|
"images/icon-switch-leader.png",
|
||||||
|
|
|
@ -2075,7 +2075,7 @@
|
||||||
--icon-y-index: 1;
|
--icon-y-index: 1;
|
||||||
}
|
}
|
||||||
.orb.drop::before
|
.orb.drop::before
|
||||||
{
|
{ /* 珠子加掉率 */
|
||||||
content: "";
|
content: "";
|
||||||
--icon-y-index: 2;
|
--icon-y-index: 2;
|
||||||
}
|
}
|
||||||
|
@ -2083,11 +2083,20 @@
|
||||||
{
|
{
|
||||||
filter:brightness(0.8);
|
filter:brightness(0.8);
|
||||||
}
|
}
|
||||||
.orb.bound::before
|
.orb.enhanced::after
|
||||||
{
|
{
|
||||||
content: "";
|
content: "";
|
||||||
--icon-y-index: 3;
|
--icon-y-index: 0;
|
||||||
animation: hidden-visible-animate 0.8s infinite ease-out alternate;
|
}
|
||||||
|
.orb.combo-drop::before
|
||||||
|
{ /* 有豆荚的珠子 */
|
||||||
|
content: "";
|
||||||
|
--icon-y-index: 5;
|
||||||
|
}
|
||||||
|
.orb.nail::before
|
||||||
|
{ /* 有豆荚的珠子 */
|
||||||
|
content: "";
|
||||||
|
--icon-y-index: 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.orb[data-orb-icon='_5color']
|
.orb[data-orb-icon='_5color']
|
||||||
|
|
|
@ -5037,6 +5037,10 @@ body.external-link-support #external-support{
|
||||||
width: 72px;
|
width: 72px;
|
||||||
background-position-y:calc(-36px * 43);
|
background-position-y:calc(-36px * 43);
|
||||||
}
|
}
|
||||||
|
.icon-skill[data-icon-type="orb-combo-drop"]
|
||||||
|
{
|
||||||
|
background-position-y:calc(-36px * 44);
|
||||||
|
}
|
||||||
|
|
||||||
.card-skill-list .play-voice [data-awoken-icon="63"] {
|
.card-skill-list .play-voice [data-awoken-icon="63"] {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
Loading…
Reference in New Issue