添加进化技能支持
This commit is contained in:
parent
088e548e6b
commit
a6873409b9
Binary file not shown.
Before Width: | Height: | Size: 572 KiB After Width: | Height: | Size: 682 KiB |
Binary file not shown.
Before Width: | Height: | Size: 331 KiB After Width: | Height: | Size: 573 KiB |
Binary file not shown.
After Width: | Height: | Size: 1002 B |
|
@ -119,7 +119,6 @@
|
|||
{
|
||||
content: "RCV:";
|
||||
}
|
||||
|
||||
.edit-box .setting-box .row-mon-level::before{
|
||||
content: "▼Monster Level";
|
||||
}
|
||||
|
@ -150,6 +149,11 @@
|
|||
{
|
||||
content: "Skill";
|
||||
}
|
||||
.row-mon-skill .evolved-skill .type-title::before,
|
||||
.row-mon-skill .evolved-skill .type-title::after
|
||||
{
|
||||
content: "Evoveld Skill";
|
||||
}
|
||||
.row-mon-leader-skill .type-title::before,
|
||||
.row-mon-leader-skill .type-title::after
|
||||
{
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
unknown: tp`Unkonwn skill type: ${'type'}`,
|
||||
active_turns: tp`${'actionSkill'}, for ${'turns'} turns`,
|
||||
random_skills: tp`Random Activates these skills:${'skills'}`,
|
||||
evolved_skills: tp`Skills evolve to the next stage when used:${'skills'}`,
|
||||
evolved_skills_loop: tp`${`icon`}Returns to the first stage after use`,
|
||||
damage_enemy: tp`Inflicts ${'times'}${'damage'} ${'attr'} attack on ${'target'}${'totalDamage'}`,
|
||||
damage_enemy_times: tp`${'times'} `,
|
||||
damage_enemy_count: tp` (${'damage'} in total)`,
|
||||
|
|
|
@ -148,6 +148,11 @@
|
|||
{
|
||||
content: "スキル";
|
||||
}
|
||||
.row-mon-skill .evolved-skill .type-title::before,
|
||||
.row-mon-skill .evolved-skill .type-title::after
|
||||
{
|
||||
content: "進化スキル";
|
||||
}
|
||||
.row-mon-leader-skill .type-title::before,
|
||||
.row-mon-leader-skill .type-title::after
|
||||
{
|
||||
|
|
|
@ -145,6 +145,11 @@
|
|||
{
|
||||
content: "스킬";
|
||||
}
|
||||
.row-mon-skill .evolved-skill .type-title::before,
|
||||
.row-mon-skill .evolved-skill .type-title::after
|
||||
{
|
||||
content: "진화 기술";
|
||||
}
|
||||
.row-mon-leader-skill .type-title::before,
|
||||
.row-mon-leader-skill .type-title::after
|
||||
{
|
||||
|
|
|
@ -148,6 +148,11 @@
|
|||
{
|
||||
content: "主動技能";
|
||||
}
|
||||
.row-mon-skill .evolved-skill .type-title::before,
|
||||
.row-mon-skill .evolved-skill .type-title::after
|
||||
{
|
||||
content: "進化技能";
|
||||
}
|
||||
.row-mon-leader-skill .type-title::before,
|
||||
.row-mon-leader-skill .type-title::after
|
||||
{
|
||||
|
@ -606,4 +611,12 @@ label[for="qr-data-type-pdchu"]::before {
|
|||
.player-card .stama::before
|
||||
{
|
||||
content: "體力";
|
||||
}
|
||||
|
||||
|
||||
.edit-box .monsterinfo-box .monster-name,
|
||||
.evo-panel-right .monster-name
|
||||
{
|
||||
font-family: var(--font-family);
|
||||
font-weight: bold;
|
||||
}
|
|
@ -147,6 +147,11 @@
|
|||
{
|
||||
content: "主動技能";
|
||||
}
|
||||
.row-mon-skill .evolved-skill .type-title::before,
|
||||
.row-mon-skill .evolved-skill .type-title::after
|
||||
{
|
||||
content: "進化技能";
|
||||
}
|
||||
.row-mon-leader-skill .type-title::before,
|
||||
.row-mon-leader-skill .type-title::after
|
||||
{
|
||||
|
|
|
@ -1 +1 @@
|
|||
[{"code":"ja","ckey":{"card":"e272bb34f9cdedc698fa5fbbe0e7e710","skill":"105fa55b18e33690b7559721c2d11224"},"updateTime":1634798910326},{"code":"en","ckey":{"card":"47fa848b4ea328d43a98148ccc94610d","skill":"576311cbfc2dec5d780fd7df63620225"},"updateTime":1634798910326},{"code":"ko","ckey":{"card":"94ec59fd10335cb3e2ac5589bf8c8190","skill":"b54973dbaad4d3ec0ad385d1ac3d8ded"},"updateTime":1634798910326}]
|
||||
[{"code":"ja","ckey":{"card":"536dd7cca3dbc012d12ec74c79334901","skill":"8028fcf43e381ececcacef75cd766258"},"updateTime":1634904936172},{"code":"en","ckey":{"card":"47fa848b4ea328d43a98148ccc94610d","skill":"576311cbfc2dec5d780fd7df63620225"},"updateTime":1634798910326},{"code":"ko","ckey":{"card":"94ec59fd10335cb3e2ac5589bf8c8190","skill":"b54973dbaad4d3ec0ad385d1ac3d8ded"},"updateTime":1634798910326}]
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -42,6 +42,8 @@ let localTranslating = {
|
|||
unknown: tp`未知的技能类型:${'type'}`, //type
|
||||
active_turns: tp`${'turns'} 回合内,${'actionSkill'}`, //turns, actionSkill
|
||||
random_skills: tp`随机发动以下技能:${'skills'}`, //skills
|
||||
evolved_skills: tp`技能使用后会进化为下一阶段:${'skills'}`, //skills
|
||||
evolved_skills_loop: tp`${`icon`}使用后返回第一阶段`,
|
||||
damage_enemy: tp`对${'target'}造成${'damage'}的${'attr'}伤害${'times'}${'totalDamage'}`, //target, damage, attr
|
||||
damage_enemy_times: tp`×${'times'}`,
|
||||
damage_enemy_count: tp`(共${'damage'})`,
|
||||
|
@ -581,7 +583,7 @@ const specialSearchFunctions = (function() {
|
|||
if (skillTypes.includes(skill.type))
|
||||
{
|
||||
return skill;
|
||||
}else if (skill.type == 116 || (searchRandom && skill.type == 118) || skill.type == 138)
|
||||
}else if (skill.type == 116 || (searchRandom && skill.type == 118) || skill.type == 138 || skill.type == 232 || skill.type == 233)
|
||||
{
|
||||
const subSkills = skill.params.map(id=>Skills[id]);
|
||||
for(let i = 0;i < subSkills.length; i++)
|
||||
|
@ -1606,8 +1608,17 @@ const specialSearchFunctions = (function() {
|
|||
return `时停${value}s`;
|
||||
}
|
||||
},
|
||||
{name:"Random effect active",otLangName:{chs:"随机效果技能"},
|
||||
function:cards=>cards.filter(card=>Skills[card.activeSkillId].type == 118)},
|
||||
{
|
||||
name:"Random effect active",otLangName:{chs:"随机效果技能"},
|
||||
function:cards=>cards.filter(card=>Skills[card.activeSkillId].type == 118)
|
||||
},
|
||||
{
|
||||
name:"Evolved active",otLangName:{chs:"进化类技能"},
|
||||
function:cards=>cards.filter(card=>{
|
||||
let skType = Skills[card.activeSkillId].type;
|
||||
return skType == 232 || skType == 233;
|
||||
})
|
||||
},
|
||||
{name:"Enable require HP range",otLangName:{chs:"技能使用血线要求"},
|
||||
function:cards=>cards.filter(card=>{
|
||||
const searchTypeArray = [225];
|
||||
|
|
|
@ -347,6 +347,7 @@ const SkillKinds = {
|
|||
Unbind: "unbind",
|
||||
BindSkill: "bind-skill",
|
||||
RandomSkills: "random-skills",
|
||||
EvolvedSkills: "evolved-skills",
|
||||
SkillProviso: "skill-proviso",
|
||||
ChangeAttribute: "change-attr",
|
||||
SkillBoost: "skill-boost",
|
||||
|
@ -871,6 +872,9 @@ function boardChange(attrs) {
|
|||
function randomSkills(skills) {
|
||||
return { kind: SkillKinds.RandomSkills, skills: skills };
|
||||
}
|
||||
function evolvedSkills(loop, skills) {
|
||||
return { kind: SkillKinds.EvolvedSkills, loop: loop, skills: skills };
|
||||
}
|
||||
function changeAttr(target, attr) {
|
||||
return { kind: SkillKinds.ChangeAttribute, target: target, attr: attr ?? 0 };
|
||||
}
|
||||
|
@ -1401,6 +1405,8 @@ const parsers = {
|
|||
})(target);
|
||||
return activeTurns(turns, powerUp({target: targetType}, null, p.mul({ atk: mul })));
|
||||
},
|
||||
[232](...ids) { return evolvedSkills(false, ids.map(id => this.parser(id))); },
|
||||
[233](...ids) { return evolvedSkills(true, ids.map(id => this.parser(id))); },
|
||||
[1000](type, pos, ...ids) {
|
||||
const posType = (type=>{
|
||||
switch (type) {
|
||||
|
@ -1451,6 +1457,27 @@ function showParsedSkill(event) {
|
|||
}
|
||||
}
|
||||
|
||||
function renderSkillTitle(skillId) {
|
||||
const skill = Skills[skillId];
|
||||
const div = document.createElement("div");
|
||||
div.className = "evolved-skill-title";
|
||||
const name = div.appendChild(document.createElement("span"));
|
||||
name.className = "skill-name";
|
||||
name.textContent = skill.name;
|
||||
name.setAttribute("data-skillid", skillId);
|
||||
name.onclick = fastShowSkill;
|
||||
const cd = div.appendChild(document.createElement("span"));
|
||||
cd.className = "skill-cd";
|
||||
cd.textContent = skill.initialCooldown - skill.maxLevel + 1;
|
||||
if (skill.maxLevel > 1) {
|
||||
const level = div.appendChild(document.createElement("span"));
|
||||
level.className = "skill-level-label";
|
||||
level.textContent = skill.maxLevel;
|
||||
}
|
||||
|
||||
return div;
|
||||
}
|
||||
|
||||
function renderSkillEntry(skills)
|
||||
{
|
||||
const ul = document.createElement("ul");
|
||||
|
@ -1553,9 +1580,9 @@ function renderSkill(skill, option = {})
|
|||
let skills = skill.skills;
|
||||
const ul = document.createElement("ul");
|
||||
ul.className = "random-active-skill";
|
||||
skills.forEach(subSkills=>{
|
||||
skills.forEach(subSkill=>{
|
||||
const li = ul.appendChild(document.createElement("li"));
|
||||
li.appendChild(renderSkillEntry(subSkills));
|
||||
li.appendChild(renderSkillEntry(subSkill));
|
||||
});
|
||||
let dict = {
|
||||
skills: ul,
|
||||
|
@ -1563,6 +1590,27 @@ function renderSkill(skill, option = {})
|
|||
frg.ap(tsp.skill.random_skills(dict));
|
||||
break;
|
||||
}
|
||||
case SkillKinds.EvolvedSkills: { //技能进化
|
||||
let skills = skill.skills, loop = skill.loop;
|
||||
const ul = document.createElement("ul");
|
||||
ul.className = "evolved-active-skill";
|
||||
skills.forEach((subSkill, idx)=>{
|
||||
const li = ul.appendChild(document.createElement("li"));
|
||||
li.appendChild(renderSkillTitle(skill.params[idx]));
|
||||
li.appendChild(renderSkillEntry(subSkill));
|
||||
});
|
||||
let dict = {
|
||||
skills: ul,
|
||||
};
|
||||
frg.ap(tsp.skill.evolved_skills(dict));
|
||||
if (loop) {
|
||||
let dict2 = {
|
||||
icon: createIcon("evolved-skill-loop"),
|
||||
}
|
||||
frg.ap(tsp.skill.evolved_skills_loop(dict2));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SkillKinds.Delay: { //威吓
|
||||
let dict = {
|
||||
icon: createIcon(skill.kind),
|
||||
|
|
|
@ -3335,8 +3335,12 @@ function initialize(event) {
|
|||
const card = Cards[this.mid] || Cards[0];
|
||||
if (!card) return;
|
||||
|
||||
const activeSkill = skillParser(card.activeSkillId);
|
||||
toggleDomClassName(
|
||||
!activeSkill.some(skill=>skill.type == SkillKinds.EvolvedSkills),
|
||||
"evolved-skill", skillBox);
|
||||
skillDetailParsed.innerHTML = "";
|
||||
skillDetailParsed.appendChild(renderSkillEntry(skillParser(card.activeSkillId)));
|
||||
skillDetailParsed.appendChild(renderSkillEntry(activeSkill));
|
||||
lskillDetailParsed.innerHTML = "";
|
||||
lskillDetailParsed.appendChild(renderSkillEntry(skillParser(card.leaderSkillId)));
|
||||
};
|
||||
|
|
45
style.css
45
style.css
|
@ -2329,7 +2329,8 @@ icon.inflicts::after
|
|||
{
|
||||
content: attr(value);
|
||||
}
|
||||
.skill-box{
|
||||
.skill-box
|
||||
{
|
||||
font-family: var(--game-font-family);
|
||||
font-size: 16px;
|
||||
border: #9C743E solid 2px;
|
||||
|
@ -2399,6 +2400,11 @@ icon.inflicts::after
|
|||
background-image: linear-gradient(white 25%, #3377AA 80%);
|
||||
}
|
||||
|
||||
.row-mon-skill .evolved-skill .type-title::after
|
||||
{
|
||||
background-image: linear-gradient(#228899 25%, #44DDDD 80%);
|
||||
}
|
||||
|
||||
/*.row-mon-leader-skill .type-title::before,
|
||||
.row-mon-leader-skill .type-title::after
|
||||
{
|
||||
|
@ -2410,7 +2416,23 @@ icon.inflicts::after
|
|||
}
|
||||
|
||||
|
||||
.row-mon-skill .skill-title .skill-name{
|
||||
.evolved-skill-title
|
||||
{
|
||||
background-color: #00000044;
|
||||
font-family: var(--game-font-family);
|
||||
font-weight: normal;
|
||||
color: white;
|
||||
padding: 0 10px 0 2px;
|
||||
text-shadow:black 2px 2px 0;
|
||||
}
|
||||
.evolved-skill-title .skill-level-label,
|
||||
.evolved-skill-title .skill-cd
|
||||
{
|
||||
float: right;
|
||||
}
|
||||
.row-mon-skill .skill-title .skill-name,
|
||||
.evolved-skill-title .skill-name
|
||||
{
|
||||
color: #84BAFC;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
@ -2453,11 +2475,21 @@ icon.inflicts::after
|
|||
.skill-datail-parsed .detail-search::before{
|
||||
content: "🔍";
|
||||
}
|
||||
.random-active-skill{
|
||||
.random-active-skill,
|
||||
.evolved-active-skill
|
||||
{
|
||||
padding-left: 1em;
|
||||
}
|
||||
.random-active-skill>li{
|
||||
.random-active-skill>li,
|
||||
.evolved-active-skill>li
|
||||
{
|
||||
list-style: decimal;
|
||||
border-bottom: 1px solid white;
|
||||
}
|
||||
.random-active-skill>li:last-of-type,
|
||||
.evolved-active-skill>li:last-of-type
|
||||
{
|
||||
border-bottom: unset;
|
||||
}
|
||||
|
||||
.edit-box .button-box{
|
||||
|
@ -3772,4 +3804,9 @@ table .orb-icon
|
|||
.icon-skill[data-icon-type="orb-nail"]
|
||||
{
|
||||
background-position-y:calc(-36px * 35);
|
||||
}
|
||||
.icon-skill[data-icon-type="evolved-skill-loop"]
|
||||
{
|
||||
background-image: url(images/icon-evolved-skill-loop.png);
|
||||
background-size: contain;
|
||||
}
|
Loading…
Reference in New Issue