加入队伍根性图标,同时整理一些代码

This commit is contained in:
枫谷剑仙 2023-06-09 18:16:59 +08:00
parent 2f86aa41e0
commit e417c02f48
8 changed files with 140 additions and 211 deletions

View File

@ -101,11 +101,12 @@ var formation = new Formation(teamsCount,5);
</span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
<icon class="icon-skill display-none" data-icon-type="board-size-change"></icon>
<icon class="icon-skill display-none" data-icon-type="no-skyfall"></icon>
<icon class="orb poison-no-effect display-none" data-orb-icon="7"></icon>
<icon class="icon-skill display-none" data-icon-type="resolve"></icon>
<span class="inflicts display-none"><icon class="attr" data-attr-icon="fixed"></icon></span>
<icon class="icon-skill display-none" data-icon-type="add-combo"></icon>
</div>
</div>
<ul class="teams">

View File

@ -1209,37 +1209,7 @@ function henshinBase(cardid, firstId)
}
return card;
}
//计算队伍是否为76
function tIf_Effect_76board(leader1id, leader2id) {
const searchTypeArray = [162, 186];
const ls1 = getCardLeaderSkills(henshinBase(leader1id), searchTypeArray)[0];
const ls2 = getCardLeaderSkills(henshinBase(leader2id), searchTypeArray)[0];
return Boolean(ls1 || ls2);
}
//计算队伍是否为无天降
function tIf_Effect_noSkyfall(leader1id, leader2id) {
const searchTypeArray = [163, 177];
const ls1 = getCardLeaderSkills(Cards[leader1id], searchTypeArray)[0];
const ls2 = getCardLeaderSkills(Cards[leader2id], searchTypeArray)[0];
return Boolean(ls1 || ls2);
}
//计算队伍是否为毒无效
function tIf_Effect_poisonNoEffect(leader1id, leader2id) {
const searchTypeArray = [197];
const ls1 = getCardLeaderSkills(Cards[leader1id], searchTypeArray)[0];
const ls2 = getCardLeaderSkills(Cards[leader2id], searchTypeArray)[0];
return Boolean(ls1 || ls2);
}
//计算队伍的+C
function tIf_Effect_addCombo(leader1id, leader2id) {
return [
getSkillAddCombo(Cards[leader1id]),
getSkillAddCombo(Cards[leader2id])
];
}
//计算卡片队长技+C
function getSkillAddCombo(card) {
const searchTypeArray = [192, 194, 206, 209, 210, 219, 220, 235];
const skill = getCardLeaderSkills(card, searchTypeArray)[0];
@ -1263,13 +1233,7 @@ function getSkillAddCombo(card) {
return 0;
}
}
//计算队伍的追打
function tIf_Effect_inflicts(leader1id, leader2id) {
return [
getSkillFixedDamage(Cards[leader1id]),
getSkillFixedDamage(Cards[leader2id])
];
}
//计算卡片队长技追打
function getSkillFixedDamage(card) {
const searchTypeArray = [199, 200, 201, 223, 235];
const skill = getCardLeaderSkills(card, searchTypeArray)[0];
@ -1288,6 +1252,51 @@ function getSkillFixedDamage(card) {
return 0;
}
}
function tIf_Effect(leader1id, leader2id, leader1id_original,leader2id_original) {
let effect = {
board76: false,
noSkyfall: false,
poisonNoEffect: false,
resolve: false,
addCombo: [0,0],
inflicts: [0,0],
};
const card1 = Cards[leader1id], card2 = Cards[leader2id];
{ //计算队伍是否为76
const searchTypeArray = [162, 186];
const ls1 = getCardLeaderSkills(henshinBase(leader1id_original), searchTypeArray)[0];
const ls2 = getCardLeaderSkills(henshinBase(leader2id_original), searchTypeArray)[0];
effect.board76 = Boolean(ls1 || ls2);
}
{ //计算队伍是否为无天降
const searchTypeArray = [163, 177];
const ls1 = getCardLeaderSkills(card1, searchTypeArray)[0];
const ls2 = getCardLeaderSkills(card2, searchTypeArray)[0];
effect.noSkyfall = Boolean(ls1 || ls2);
}
{ //计算队伍是否为毒无效
const searchTypeArray = [197];
const ls1 = getCardLeaderSkills(card1, searchTypeArray)[0];
const ls2 = getCardLeaderSkills(card2, searchTypeArray)[0];
effect.poisonNoEffect = Boolean(ls1 || ls2);
}
{ //计算队伍是否有根性
const searchTypeArray = [14];
const ls1 = getCardLeaderSkills(card1, searchTypeArray)[0];
const ls2 = getCardLeaderSkills(card2, searchTypeArray)[0];
effect.resolve = Boolean(ls1 || ls2);
}
{ //计算队伍的+C
effect.addCombo[0] = getSkillAddCombo(card1);
effect.addCombo[1] = getSkillAddCombo(card2);
}
{ //计算队伍的追打
effect.inflicts[0] = getSkillFixedDamage(card1);
effect.inflicts[1] = getSkillFixedDamage(card2);
}
return effect;
}
//计算队伍SB
function countTeamSB(team, solo) {
let sbn = 0;

122
script.js
View File

@ -5791,53 +5791,37 @@ function refreshTeamTotalHP(totalDom, team, teamIdx) {
}
if (tEffectDom) {
const _76board = tEffectDom.querySelector("._76board");
//76版队长技能不被欢队长所影响
//76版队长技能不被换队长所影响
const leader1id_original = team[0][0].id;
const leader2id_original = teamsCount===2 ? (teamIdx === 1 ? teams[0][0][0].id : teams[1][0][0].id) : team[0][5].id;
if (tIf_Effect_76board(leader1id_original,leader2id_original))
{
_76board.classList.remove(className_displayNone);
}else
{
_76board.classList.add(className_displayNone);
}
const noSkyfall = tEffectDom.querySelector(".no-skyfall");
if (tIf_Effect_noSkyfall(leader1id,leader2id))
{
noSkyfall.classList.remove(className_displayNone);
}else
{
noSkyfall.classList.add(className_displayNone);
}
const poisonNoEffect = tEffectDom.querySelector(".poison-no-effect");
if (tIf_Effect_poisonNoEffect(leader1id,leader2id))
{
poisonNoEffect.classList.remove(className_displayNone);
}else
{
poisonNoEffect.classList.add(className_displayNone);
}
const addCombo = tEffectDom.querySelector(".add-combo");
const addComboValue = tIf_Effect_addCombo(leader1id,leader2id);
if ((addComboValue[0] | addComboValue[1]) > 0)
{
addCombo.classList.remove(className_displayNone);
addCombo.setAttribute("data-add-combo", addComboValue.filter(v=>v).join("/"));
}else
{
addCombo.classList.add(className_displayNone);
}
const inflicts = tEffectDom.querySelector(".inflicts");
const inflictsValue = tIf_Effect_inflicts(leader1id,leader2id);
if ((inflictsValue[0] | inflictsValue[1]) > 0)
{
inflicts.classList.remove(className_displayNone);
inflicts.setAttribute("data-inflicts", inflictsValue.filter(v=>v).map(v=>v.bigNumberToString()).join("/"));
}else
{
inflicts.classList.add(className_displayNone);
}
let effect = tIf_Effect(leader1id,leader2id, leader1id_original,leader2id_original);
refreshEffectDom(tEffectDom, effect);
}
}
function refreshEffectDom(tEffectDom, effect) {
const _76board = tEffectDom.querySelector(".icon-skill[data-icon-type='board-size-change']");
console.log(_76board)
_76board && _76board.classList.toggle(className_displayNone, !effect.board76);
const noSkyfall = tEffectDom.querySelector(".icon-skill[data-icon-type='no-skyfall']");
noSkyfall && noSkyfall.classList.toggle(className_displayNone, !effect.noSkyfall);
const poisonNoEffect = tEffectDom.querySelector(".poison-no-effect");
poisonNoEffect && poisonNoEffect.classList.toggle(className_displayNone, !effect.poisonNoEffect);
const resolve = tEffectDom.querySelector(".icon-skill[data-icon-type='resolve']");
resolve && resolve.classList.toggle(className_displayNone, !effect.resolve);
const addCombo = tEffectDom.querySelector(".icon-skill[data-icon-type='add-combo']");
if (addCombo) {
addCombo.classList.toggle(className_displayNone, effect.addCombo.every(n=>n<1));
addCombo.setAttribute("data-add-combo", effect.addCombo.filter(Boolean).join("/"));
}
const inflicts = tEffectDom.querySelector(".inflicts");
if (inflicts) {
inflicts.classList.toggle(className_displayNone, effect.inflicts.every(n=>n<1));
inflicts.setAttribute("data-inflicts", effect.inflicts.filter(Boolean).map(v=>v.bigNumberToString()).join("/"));
}
}
//刷新所有队伍能力值合计
@ -5923,53 +5907,11 @@ function refreshFormationTotalHP(totalDom, teams) {
}
if (tEffectDom) {
const _76board = tEffectDom.querySelector("._76board");
//76版队长技能不被欢队长所影响
//76版队长技能不被换队长所影响
const leader1id_original = teams[0][0][0].id;
const leader2id_original = teams[1][0][0].id;
if (tIf_Effect_76board(leader1id_original,leader2id_original))
{
_76board.classList.remove(className_displayNone);
}else
{
_76board.classList.add(className_displayNone);
}
const noSkyfall = tEffectDom.querySelector(".no-skyfall");
if (tIf_Effect_noSkyfall(leader1id,leader2id))
{
noSkyfall.classList.remove(className_displayNone);
}else
{
noSkyfall.classList.add(className_displayNone);
}
const poisonNoEffect = tEffectDom.querySelector(".poison-no-effect");
if (tIf_Effect_poisonNoEffect(leader1id,leader2id))
{
poisonNoEffect.classList.remove(className_displayNone);
}else
{
poisonNoEffect.classList.add(className_displayNone);
}
const addCombo = tEffectDom.querySelector(".add-combo");
const addComboValue = tIf_Effect_addCombo(leader1id,leader2id);
if ((addComboValue[0] | addComboValue[1]) > 0)
{
addCombo.classList.remove(className_displayNone);
addCombo.setAttribute("data-add-combo", addComboValue.filter(v=>v).join("/"));
}else
{
addCombo.classList.add(className_displayNone);
}
const inflicts = tEffectDom.querySelector(".inflicts");
const inflictsValue = tIf_Effect_inflicts(leader1id,leader2id);
if ((inflictsValue[0] | inflictsValue[1]) > 0)
{
inflicts.classList.remove(className_displayNone);
inflicts.setAttribute("data-inflicts", inflictsValue.filter(v=>v).map(v=>v.bigNumberToString()).join("/"));
}else
{
inflicts.classList.add(className_displayNone);
}
let effect = tIf_Effect(leader1id,leader2id, leader1id_original,leader2id_original);
refreshEffectDom(tEffectDom, effect);
}
}
//刷新单人技能CD

View File

@ -13763,7 +13763,7 @@ const cachesMap = new Map([
],
[
"multi.html",
"990e737c5b8edf7f684bec013b44b3aa"
"d330b024cc9489b1b08c1f18dd6f756d"
],
[
"script-custom_elements.js",
@ -13779,23 +13779,23 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"29d9443a533b93bef8421e0dd64c957a"
"27e909ef6bb54cf14dd1589371681280"
],
[
"script.js",
"cb59864778fea2c2fd590174e439ee42"
"a50e58aeda54b8d3e58ba0a488a91c7b"
],
[
"solo.html",
"af78dcfa05c9ec6b94dbaf252a608e55"
"3dd8e61944c91304637f23708dbf05fd"
],
[
"style-monsterimages.css",
"06915149ba0d15c57c000fe2609dffd6"
"99711fa71b83627fdf35663389f0e7fc"
],
[
"style.css",
"9b53ed9d7d63eff884e886bd63050459"
"e2ca610dc0c83b368776deea93f748d0"
],
[
"temp.js",
@ -13803,7 +13803,7 @@ const cachesMap = new Map([
],
[
"triple.html",
"f2bcfc9614377b5fcd10c3ae976fee7b"
"0ad85ecd138767cba4d1190ba1071161"
],
[
"languages/en.css",

View File

@ -141,11 +141,12 @@ var formation = new Formation(teamsCount,6);
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
<icon class="icon-skill display-none" data-icon-type="board-size-change"></icon>
<icon class="icon-skill display-none" data-icon-type="no-skyfall"></icon>
<icon class="orb poison-no-effect display-none" data-orb-icon="7"></icon>
<icon class="icon-skill display-none" data-icon-type="resolve"></icon>
<span class="inflicts display-none"><icon class="attr" data-attr-icon="fixed"></icon></span>
<icon class="icon-skill display-none" data-icon-type="add-combo"></icon>
</div>
</div>
<div class="team-box-name">

View File

@ -1116,7 +1116,7 @@
.latent-icon[data-latent-icon]{
background: linear-gradient(#4499EE 33%, #2277EE 80%);
border-color: #CCEEFF;
box-shadow: black 1px 1px 1px,black 0px 1px 2px inset;
box-shadow: black 1px 1px 1px,black 0px 1px 1px inset;
}
.latent-icon[data-latent-icon]::before{
background-position-x: 0;

View File

@ -53,6 +53,7 @@ body{
font-family: var(--font-family);
margin: 0;
background-color: white;
}
.control-box,
.formation-box
@ -827,15 +828,15 @@ body:not(.show-awoken-count):not(.solo) .formation-box .team-badge
}
.teams .team-bigbox:nth-child(1) {
--team-ft-color: red;
--team-bg-color : pink;
--team-bg-color : rgba(255,0,0,0.2);
}
.teams .team-bigbox:nth-child(2) {
--team-ft-color: blue;
--team-bg-color : lightblue;
--team-bg-color : rgba(0,125,255,0.2);
}
.teams .team-bigbox:nth-child(3) {
--team-ft-color: green;
--team-bg-color : lightgreen;
--team-bg-color : rgba(0,255,0,0.2);
}
.team-members,
.team-latents
@ -922,8 +923,6 @@ body:not(.show-awoken-count):not(.solo) .formation-box .team-badge
.tIf-total-skill-boost .general::before,
.tIf-total-move .general::before,
.tIf-total-move .awoken-bind::before,
.tIf-effect icon::before,
icon.poison-no-effect::after,
.hp-range-table th::before
{
content: " ";
@ -1069,14 +1068,6 @@ icon.poison-no-effect::after,
opacity: 0;
}
}
icon.poison-no-effect::after
{
background-image: url(images/icon-bind.png);
position: absolute;
left: 0;
top: 0;
animation: hidden-visible-animate 0.5s infinite ease-in alternate;
}
/*单人时的协力觉醒和多人时的掉落觉醒显示无效*/
body.solo .awoken-icon[data-awoken-icon="30"]::after,
body:not(.solo) .awoken-icon[data-awoken-icon="64"]::after
@ -1094,45 +1085,27 @@ body:not(.solo) .awoken-icon[data-awoken-icon="64"]::after
{
position: relative;
}
icon._76board::before
{
background-image: url(images/icon-76board.png);
}
icon.no-skyfall::before
{
background-image: url(images/icon-no-skyfall.png);
}
icon.poison-no-effect::before
{
background-image: url(images/icon-poison.png);
}
icon.add-combo
{
margin-right: 7px;
}
icon.add-combo::before
{
background-image: url(images/icon-add-combo.png);
}
icon.add-combo::after
{
color: white;
text-shadow: black 1px 1px 0,black -1px 0px 0,black 0 0 1px;
font-family: var(--game-font-family);
font-size: 12px;
position: absolute;
top: -7px;
left: 10px;
content: attr(data-add-combo);
}
icon.inflicts::before
{
background-image: url(images/icon-inflicts.png);
}
icon.inflicts::after
.tIf-effect .inflicts::after
{
content: attr(data-inflicts);
}
.tIf-effect .icon-skill,
.tIf-effect .poison-no-effect,
.tIf-effect .inflicts icon
{
transform: scale(0.63);
margin: -8px;
}
.tIf-effect .poison-no-effect::after
{
content: " ";
background-image: url(images/icon-bind.png);
background-position: center;
position: absolute;
left: 0;
top: 0;
animation: hidden-visible-animate 0.5s infinite ease-in alternate;
}
/*队伍内属性、type的个数统计*/
.tIf-rarity,
@ -1252,7 +1225,7 @@ icon.inflicts::after
border-radius: 10px;
border-width:4px;
border-style:solid;
box-sizing: initial;
box-sizing: content-box;
margin: 0;
}
.team-leader .monster {

View File

@ -152,11 +152,12 @@ var formation = new Formation(teamsCount,6);
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
<icon class="icon-skill display-none" data-icon-type="board-size-change"></icon>
<icon class="icon-skill display-none" data-icon-type="no-skyfall"></icon>
<icon class="orb poison-no-effect display-none" data-orb-icon="7"></icon>
<icon class="icon-skill display-none" data-icon-type="resolve"></icon>
<span class="inflicts display-none"><icon class="attr" data-attr-icon="fixed"></icon></span>
<icon class="icon-skill display-none" data-icon-type="add-combo"></icon>
</div>
</div>
<div class="team-box-name">
@ -689,11 +690,12 @@ var formation = new Formation(teamsCount,6);
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
<icon class="icon-skill display-none" data-icon-type="board-size-change"></icon>
<icon class="icon-skill display-none" data-icon-type="no-skyfall"></icon>
<icon class="orb poison-no-effect display-none" data-orb-icon="7"></icon>
<icon class="icon-skill display-none" data-icon-type="resolve"></icon>
<span class="inflicts display-none"><icon class="attr" data-attr-icon="fixed"></icon></span>
<icon class="icon-skill display-none" data-icon-type="add-combo"></icon>
</div>
</div>
<div class="team-box-name">
@ -1226,11 +1228,12 @@ var formation = new Formation(teamsCount,6);
<span class="awoken-bind"></span>
</div>
<div class="tIf-effect">
<icon class="_76board display-none"></icon>
<icon class="no-skyfall display-none"></icon>
<icon class="poison-no-effect display-none"></icon>
<icon class="add-combo display-none"></icon>
<icon class="inflicts display-none"></icon>
<icon class="icon-skill display-none" data-icon-type="board-size-change"></icon>
<icon class="icon-skill display-none" data-icon-type="no-skyfall"></icon>
<icon class="orb poison-no-effect display-none" data-orb-icon="7"></icon>
<icon class="icon-skill display-none" data-icon-type="resolve"></icon>
<span class="inflicts display-none"><icon class="attr" data-attr-icon="fixed"></icon></span>
<icon class="icon-skill display-none" data-icon-type="add-combo"></icon>
</div>
</div>
<div class="team-box-name">