Browse Source

加入了合作倍卡的计算

tags/v26.1
枫谷剑仙 3 years ago
parent
commit
47600bdc4f
20 changed files with 73 additions and 26 deletions
  1. +4
    -0
      languages/en.css
  2. +4
    -0
      languages/ja.css
  3. +4
    -0
      languages/ko.css
  4. +4
    -0
      languages/zh-TW.css
  5. +1
    -0
      languages/zh-TW.js
  6. +4
    -0
      languages/zh.css
  7. +1
    -0
      languages/zh.js
  8. +1
    -1
      monsters-info/ckey.json
  9. +1
    -1
      monsters-info/custom/chs.json
  10. +1
    -1
      monsters-info/custom/cht.json
  11. +1
    -1
      monsters-info/mon_en.json
  12. +1
    -1
      monsters-info/mon_ja.json
  13. +1
    -1
      monsters-info/mon_ko.json
  14. +3
    -0
      multi.html
  15. +1
    -0
      script-json_data.js
  16. +4
    -1
      script-universal_function.js
  17. +13
    -1
      script.js
  18. +18
    -18
      service-worker.js
  19. +3
    -0
      solo.html
  20. +3
    -0
      triple.html

+ 4
- 0
languages/en.css View File

@@ -638,6 +638,10 @@ label[for="qr-data-type-pdchu"]::before {
{
content: "Effective Types:";
}
.dialog-dungeon-enchance .collab-list::before
{
content: "Effective Collab ID:";
}
.dialog-dungeon-enchance .stats-list::before
{
content: "Enhancement Rate:";


+ 4
- 0
languages/ja.css View File

@@ -602,6 +602,10 @@ label[for="qr-data-type-pdchu"]::before {
{
content: "有効なタイプ:";
}
.dialog-dungeon-enchance .collab-list::before
{
content: "有効コラボID:";
}
.dialog-dungeon-enchance .stats-list::before
{
content: "強化倍率:";


+ 4
- 0
languages/ko.css View File

@@ -588,6 +588,10 @@ label[for="qr-data-type-pdchu"]::before {
{
content: "유효한 형식:";
}
.dialog-dungeon-enchance .collab-list::before
{
content: "유효한 콜라보 ID:";
}
.dialog-dungeon-enchance .stats-list::before
{
content: "배율을 강화합니다:";


+ 4
- 0
languages/zh-TW.css View File

@@ -591,6 +591,10 @@ label[for="qr-data-type-pdchu"]::before {
{
content: "生效類型:";
}
.dialog-dungeon-enchance .collab-list::before
{
content: "生效合作ID:";
}
.dialog-dungeon-enchance .stats-list::before
{
content: "強化倍率:";


+ 1
- 0
languages/zh-TW.js View File

@@ -172,6 +172,7 @@
sub_members: tp`隊員`,
leader_self: tp`左邊隊長`,
leader_helper: tp`右邊隊長`,
collab_id: tp`合作ID為${'id'}的角色`,
enemy: tp`敵人`,
enemy_all: tp`敵方全體`,
enemy_one: tp`敵方1體`,


+ 4
- 0
languages/zh.css View File

@@ -589,6 +589,10 @@ label[for="qr-data-type-pdchu"]::before {
{
content: "生效類型:";
}
.dialog-dungeon-enchance .collab-list::before
{
content: "生效合作ID:";
}
.dialog-dungeon-enchance .stats-list::before
{
content: "強化倍率:";


+ 1
- 0
languages/zh.js View File

@@ -173,6 +173,7 @@
sub_members: tp`队员`,
leader_self: tp`左边队长`,
leader_helper: tp`右边队长`,
collab_id: tp`合作ID为${'id'}的角色`,
enemy: tp`敌人`,
enemy_all: tp`敌方全体`,
enemy_one: tp`敌方1体`,


+ 1
- 1
monsters-info/ckey.json View File

@@ -1 +1 @@
[{"code":"ja","ckey":{"card":"ff0a36101c8f1b46daf93510aa329c4c","skill":"1ab8b8ca80d964ccc847245cb71ee0bd"},"updateTime":1664535252009},{"code":"en","ckey":{"card":"c8b5c6d18cd02d012f7348949ee836f9","skill":"48352b450863170f7d7307ec3ae8e4d1"},"updateTime":1664535252009},{"code":"ko","ckey":{"card":"898d9e14e52e9277e193639438004a21","skill":"3799cceda96215d023e287cab1ae13d4"},"updateTime":1664535252009}]
[{"code":"ja","ckey":{"card":"b4defb93f006875b7575c8b5e04ff926","skill":"1ab8b8ca80d964ccc847245cb71ee0bd"},"updateTime":1664731550374},{"code":"en","ckey":{"card":"393e03dbc77205ab214a3dbfd05b829e","skill":"48352b450863170f7d7307ec3ae8e4d1"},"updateTime":1664731550374},{"code":"ko","ckey":{"card":"924aeb0e2ebd4bf1ca49c506e9406aa6","skill":"3799cceda96215d023e287cab1ae13d4"},"updateTime":1664731550374}]

+ 1
- 1
monsters-info/custom/chs.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/custom/cht.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_en.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_ja.json
File diff suppressed because it is too large
View File


+ 1
- 1
monsters-info/mon_ko.json
File diff suppressed because it is too large
View File


+ 3
- 0
multi.html View File

@@ -1310,6 +1310,9 @@ var formation = new Formation(teamsCount,5);
<li><input type="checkbox" class="type-check" name="dungeon-types" value="14" id="dungeon-type-14" /><label class="type-icon" data-type-icon="14" for="dungeon-type-14"><!--強化合成用--></label></li>
<li><input type="checkbox" class="type-check" name="dungeon-types" value="15" id="dungeon-type-15" /><label class="type-icon" data-type-icon="15" for="dungeon-type-15"><!--販賣用--></label></li>
</ul>
<ul class="collab-list">
<li><label for="dungeon-collab-id"></label><input id="dungeon-collab-id" type="text" /></li>
</ul>
<ul class="stats-list">
<li><label for="dungeon-hp"></label><input id="dungeon-hp" type="number" min=0 step=1 value=1 /></li>
<li><label for="dungeon-atk"></label><input id="dungeon-atk" type="number" min=0 step=1 value=1 /></li>


+ 1
- 0
script-json_data.js View File

@@ -189,6 +189,7 @@ let localTranslating = {
sub_members: tp`sub-members`,
leader_self: tp`left leader`,
leader_helper: tp`right leader`,
collab_id: tp`card with collab ID of ${'id'} `,
enemy: tp`Enemy`,
enemy_all: tp`all enemys`,
enemy_one: tp`1 enemy`,


+ 4
- 1
script-universal_function.js View File

@@ -519,7 +519,10 @@ function calculateAbility(member, assist = null, solo = true, teamsCount = 1) {
const dge = formation.dungeonEnchance;
const dgeRate = [dge.rate.hp, dge.rate.atk, dge.rate.rcv];
const isDge = dge.rarities.includes(memberCard.rarity) || memberCard.attrs.some(attr=>dge.attrs.includes(attr)) || memberCard.types.some(type=>dge.types.includes(type));
const isDge = dge.rarities.includes(memberCard.rarity) || //符合星级
memberCard.attrs.some(attr=>dge.attrs.includes(attr)) || //符合属性
memberCard.types.some(type=>dge.types.includes(type)) || //符合类型
dge.collabs.includes(memberCard.collabId); //符合合作
//储存点亮的觉醒
let awokenList = memberCard.awakenings.slice(0, member.awoken);


+ 13
- 1
script.js View File

@@ -282,6 +282,7 @@ var Formation = function(teamCount, memberCount) {
attrs: [],
types: [],
rarities: [],
collabs: [],
rate: {
hp: 1,
atk: 1,
@@ -320,7 +321,7 @@ Formation.prototype.outObj = function() {
});
let dge = this.dungeonEnchance;
if (Object.values(dge.rate).some(rate => rate != 1)) obj.r = [
[reflags(dge.types),reflags(dge.attrs),reflags(dge.rarities)].deleteLatter(0), //类型,属性,星级
[reflags(dge.types),reflags(dge.attrs),reflags(dge.rarities),dge.collabs.length ? dge.collabs : 0].deleteLatter(0), //类型,属性,星级
[dge.rate.hp,dge.rate.atk,dge.rate.rcv].deleteLatter(1)
];
obj.v = dataStructure;
@@ -409,6 +410,7 @@ Formation.prototype.loadObj = function(f) {
dge.types = flags(effective[0] ?? 0);
dge.attrs = flags(effective[1] ?? 0);
dge.rarities = flags(effective[2] ?? 0);
dge.collabs = effective[3]?.length ? effective[3] : [];
dge.rate.hp = rates[0] ?? 1;
dge.rate.atk = rates[1] ?? 1;
dge.rate.rcv = rates[2] ?? 1;
@@ -2508,6 +2510,7 @@ function initialize(event) {
const rareDoms = Array.from(dialogContent.querySelectorAll(".rare-list .rare-check"));
const attrDoms = Array.from(dialogContent.querySelectorAll(".attr-list .attr-check"));
const typeDoms = Array.from(dialogContent.querySelectorAll(".type-list .type-check"));
const collabIdIpt = dialogContent.querySelector("#dungeon-collab-id");

const dge = formation.dungeonEnchance;
function runCheck(checkBox){
@@ -2516,6 +2519,7 @@ function initialize(event) {
rareDoms.forEach(runCheck,dge.rarities);
attrDoms.forEach(runCheck,dge.attrs);
typeDoms.forEach(runCheck,dge.types);
collabIdIpt.value = dge.collabs.join();

const {hp, atk, rcv} = dge.rate;
dialogContent.querySelector("#dungeon-hp").value = hp;
@@ -2536,6 +2540,7 @@ function initialize(event) {
const rarities = returnCheckBoxsValues(rareDoms).map(Str2Int);
const attrs = returnCheckBoxsValues(attrDoms).map(Str2Int);
const types = returnCheckBoxsValues(typeDoms).map(Str2Int);
const collabIdIpt = dialogContent.querySelector("#dungeon-collab-id");
const dge = formation.dungeonEnchance;
dge.rarities = rarities;
@@ -2544,6 +2549,7 @@ function initialize(event) {
dge.rate.hp = Number(dialogContent.querySelector("#dungeon-hp").value);
dge.rate.atk = Number(dialogContent.querySelector("#dungeon-atk").value);
dge.rate.rcv = Number(dialogContent.querySelector("#dungeon-rcv").value);
dge.collabs = collabIdIpt.value.split(',').map(str=>Number(str)).filter(Boolean);
dungeonEnchanceDialog.close();
creatNewUrl();
refreshAll(formation);
@@ -2554,12 +2560,14 @@ function initialize(event) {
const rareDoms = Array.from(dialogContent.querySelectorAll(".rare-list .rare-check"));
const attrDoms = Array.from(dialogContent.querySelectorAll(".attr-list .attr-check"));
const typeDoms = Array.from(dialogContent.querySelectorAll(".type-list .type-check"));
const collabIdIpt = dialogContent.querySelector("#dungeon-collab-id");
function unchecked(checkBox) {
checkBox.checked = false;
}
rareDoms.forEach(unchecked);
attrDoms.forEach(unchecked);
typeDoms.forEach(unchecked);
collabIdIpt.value = '';
dialogContent.querySelector("#dungeon-hp").value = 1;
dialogContent.querySelector("#dungeon-atk").value = 1;
dialogContent.querySelector("#dungeon-rcv").value = 1;
@@ -4546,6 +4554,10 @@ function refreshAll(formationData) {
icon.setAttribute("data-rare-icon", rarity);
})
}
if (dge.collabs.length) { //添加合作的ID名称
dungeonEnchanceDom.appendChild(localTranslating?.skill_parse?.target?.collab_id({id:dge.collabs.join()}));
}
let skill = powerUp(dge.attrs, dge.types, p.mul({hp: dge.rate.hp * 100, atk: dge.rate.atk * 100, rcv: dge.rate.rcv * 100}));
dungeonEnchanceDom.appendChild(renderSkill(skill));
dungeonEnchanceDom.classList.remove(className_displayNone);


+ 18
- 18
service-worker.js View File

@@ -6399,7 +6399,7 @@ const cachesMap = new Map([
],
[
"multi.html",
"e18e48eb9c1ae0f38736582ab0e02d4e"
"c76d3fda4d477a02d99de4ce87a18bb0"
],
[
"script-custom_elements.js",
@@ -6407,7 +6407,7 @@ const cachesMap = new Map([
],
[
"script-json_data.js",
"dc7ce7f365392bca88a9def634ee4612"
"751bb68922130e91189c1d094ed9009b"
],
[
"script-skill-parser.js",
@@ -6415,15 +6415,15 @@ const cachesMap = new Map([
],
[
"script-universal_function.js",
"4c030bf76932b3bf47b18d3a5f67b3c1"
"4cb9b257c297c652b00ce78d70d47e82"
],
[
"script.js",
"dc10d964f5356ee5d6cdddcdd411ce7f"
"72234822ac67b450717118fedd64565d"
],
[
"solo.html",
"e9948cac374dcc4fff6a507cff4e03cf"
"28002c336a8cd1e3055160136221ec72"
],
[
"style-monsterimages.css",
@@ -6439,11 +6439,11 @@ const cachesMap = new Map([
],
[
"triple.html",
"85818d0e5c2f518efbda39f02a2968e1"
"6bdbef90c9be623c8418d6e85e1bdfd4"
],
[
"languages/en.css",
"a0e99cbe80895139c745a8eb824434f7"
"916da57389442ee2ff1382a027a1c454"
],
[
"languages/en.js",
@@ -6459,7 +6459,7 @@ const cachesMap = new Map([
],
[
"languages/ja.css",
"1c90c494624d353499a6c893d256e71c"
"ef87697939803aa7086140a20590597b"
],
[
"languages/ja.js",
@@ -6467,7 +6467,7 @@ const cachesMap = new Map([
],
[
"languages/ko.css",
"b498ee4e2f8f53eb180de6e83ef97231"
"a03e01bfe3263aeb93d695cfab690771"
],
[
"languages/ko.js",
@@ -6487,19 +6487,19 @@ const cachesMap = new Map([
],
[
"languages/zh-TW.css",
"8f971d16aab6419ed25677fd259b5d44"
"1b75fe15131d9e68fb8d55a28f96d16f"
],
[
"languages/zh-TW.js",
"5b122fb16c9cdb0f6d6f45f5c535f95a"
"ec242d205f1137d8e2f83047ff5a8873"
],
[
"languages/zh.css",
"6da45a781e0a56c0b80d5cf281e5f1b7"
"a6909be95641149c5b99086fbf63ec6f"
],
[
"languages/zh.js",
"d2299f4339141df44463313378504335"
"cec01b272a515dbe5f164a983ebdf00c"
],
[
"images/attrs.png",
@@ -6663,19 +6663,19 @@ const cachesMap = new Map([
],
[
"monsters-info/ckey.json",
"b1b5b29c060b03bd78d9e6a1ee0664e7"
"962261c9140e8597f41a25f4215aef20"
],
[
"monsters-info/mon_en.json",
"c8b5c6d18cd02d012f7348949ee836f9"
"393e03dbc77205ab214a3dbfd05b829e"
],
[
"monsters-info/mon_ja.json",
"ff0a36101c8f1b46daf93510aa329c4c"
"b4defb93f006875b7575c8b5e04ff926"
],
[
"monsters-info/mon_ko.json",
"898d9e14e52e9277e193639438004a21"
"924aeb0e2ebd4bf1ca49c506e9406aa6"
],
[
"monsters-info/skill_en.json",
@@ -6695,7 +6695,7 @@ const cachesMap = new Map([
],
[
"doc/index.html",
"f09aa5740a7b4bf0794b38b251963a00"
"59ef0b56f90307a2c6820a08ea26640e"
],
[
"doc/images/player-bind-box.webp",


+ 3
- 0
solo.html View File

@@ -1178,6 +1178,9 @@ var formation = new Formation(teamsCount,6);
<li><input type="checkbox" class="type-check" name="dungeon-types" value="14" id="dungeon-type-14" /><label class="type-icon" data-type-icon="14" for="dungeon-type-14"><!--強化合成用--></label></li>
<li><input type="checkbox" class="type-check" name="dungeon-types" value="15" id="dungeon-type-15" /><label class="type-icon" data-type-icon="15" for="dungeon-type-15"><!--販賣用--></label></li>
</ul>
<ul class="collab-list">
<li><label for="dungeon-collab-id"></label><input id="dungeon-collab-id" type="text" /></li>
</ul>
<ul class="stats-list">
<li><label for="dungeon-hp"></label><input id="dungeon-hp" type="number" min=0 step=1 value=1 /></li>
<li><label for="dungeon-atk"></label><input id="dungeon-atk" type="number" min=0 step=1 value=1 /></li>


+ 3
- 0
triple.html View File

@@ -2151,6 +2151,9 @@ var formation = new Formation(teamsCount,6);
<li><input type="checkbox" class="type-check" name="dungeon-types" value="14" id="dungeon-type-14" /><label class="type-icon" data-type-icon="14" for="dungeon-type-14"><!--強化合成用--></label></li>
<li><input type="checkbox" class="type-check" name="dungeon-types" value="15" id="dungeon-type-15" /><label class="type-icon" data-type-icon="15" for="dungeon-type-15"><!--販賣用--></label></li>
</ul>
<ul class="collab-list">
<li><label for="dungeon-collab-id"></label><input id="dungeon-collab-id" type="text" /></li>
</ul>
<ul class="stats-list">
<li><label for="dungeon-hp"></label><input id="dungeon-hp" type="number" min=0 step=1 value=1 /></li>
<li><label for="dungeon-atk"></label><input id="dungeon-atk" type="number" min=0 step=1 value=1 /></li>


Loading…
Cancel
Save