增加生命值和回复值的总计

This commit is contained in:
枫谷剑仙 2019-10-16 19:14:20 +08:00
parent ed08bc6a3e
commit 25bca3c949
11 changed files with 93 additions and 13 deletions

View File

@ -147,6 +147,12 @@
.not-show-mon-id .control-box .btn-show-mon-id::before{
content: "Show monster ID";
}
.team-info .tIf-total-hp::before{
content: "Total HP: ";
}
.team-info .tIf-total-rcv::before{
content: "Total RCV: ";
}
/*Some icons, style different from the Japanese version*/
.awoken-40,

View File

@ -139,4 +139,10 @@
}
.not-show-mon-id .control-box .btn-show-mon-id::before{
content: "モンスターIDを表示";
}
.team-info .tIf-total-hp::before{
content: "合計HP";
}
.team-info .tIf-total-rcv::before{
content: "合計回復:";
}

View File

@ -140,6 +140,12 @@
.not-show-mon-id .control-box .btn-show-mon-id::before{
content: "괴물 ID 표시";
}
.team-info .tIf-total-hp::before{
content: "총 HP";
}
.team-info .tIf-total-rcv::before{
content: "총 회복:";
}
/*Some icons, style different from the Japanese version*/
.awoken-40,

View File

@ -143,6 +143,12 @@
.not-show-mon-id .control-box .btn-show-mon-id::before{
content: "顯示怪物ID";
}
.team-info .tIf-total-hp::before{
content: "總HP";
}
.team-info .tIf-total-rcv::before{
content: "總回復:";
}
/*Some icons, style different from the Japanese version*/
.awoken-46,

View File

@ -143,6 +143,12 @@
.not-show-mon-id .control-box .btn-show-mon-id::before{
content: "显示怪物ID";
}
.team-info .tIf-total-hp::before{
content: "总HP";
}
.team-info .tIf-total-rcv::before{
content: "总回复:";
}
/*Some icons, style different from the Japanese version*/
.awoken-46,

View File

@ -44,14 +44,11 @@ function g(id)
type.push(tn[m[6]]);
if (m[superAwokenIdx+3]!=-1) //第三个type要倒着来
type.push(tn[m[superAwokenIdx+3]]);
console.log("%oNo.%d %s [%s/%s]Lv%d%s究极退化为%d类型%s%d星COST%d%s个觉醒三维%s110级增长%d%%%s当二技1级吃经验%d1级卖¥%d%dMP成长类型%d升2级经验%d技能编号%d队长%d",
m, //对象
console.log("No.%d %s [%s/%s]Lv%d类型%s%d星COST%d%s个觉醒三维%s110级增长%d%%%s当二技1级吃经验%d1级卖¥%d%dMP成长类型%d升2级经验%d技能编号%d队长%d进化链根%d%s究极退化为%d进化素材ID[%d,%d,%d,%d,%d]\n%o",
m[0], //ID
m[1], //名字
p[0],p[1], //属性
m[10], //最大等级
m[4]?"可":"不可", //可退化?
m[40], //可退化?
type.join("|"), //类型
m[7], //星级
m[8], //cost
@ -65,8 +62,27 @@ function g(id)
m[23], //成长类型
Math.round(m[23] * Math.pow((2 - 1) / 98,m[24])), //1级升2级经验
m[25], //技能编号
m[26] //队长技能编号
m[26], //队长技能编号
m[superAwokenIdx+1], //进化根编号
m[4]?"可":"不可", //可退化?
m[40], //可退化?
m[41],m[42],m[43],m[44],m[45], //进化素材ID 1-5
m //原始对象
);
//if (m[57]>0) console.log("[57]="+m[57]);
/*
m[superAwokenIdx+1], //进化根编号
m[superAwokenIdx+2], //
m[superAwokenIdx+3], //第三个type
m[superAwokenIdx+4], //卖MP
m[superAwokenIdx+5], //
m[superAwokenIdx+6], //
m[superAwokenIdx+7], //是否能当二技
m[superAwokenIdx+8], //怀疑是区分怪物所属合作的文字
m[superAwokenIdx+9], //110级增长
m[superAwokenIdx+10], //
m[superAwokenIdx+11], //
*/
}
GM_xmlhttpRequest({
method: "GET",

View File

@ -51,7 +51,10 @@ function g(id)
function skillDetail(si)
{
var sk = skill[si];
skillDataDetail(skill[si]);
}
function skillDataDetail(sk)
{
var str = null;
//珠子名数组
var pna = ["火","水","木","光","暗","回复","废","毒","剧毒","炸弹"];
@ -65,6 +68,14 @@ function skillDetail(si)
function tn(i){return tna[i] || ("未知类型" + i);}
//返回觉醒名
function an(i){return ana[i-1] || ("未知觉醒" + i);}
//从二进制的数字中获得布尔值数组
function getBooleanFromBinary(num,reverse=true)
{ /*num是输入的数字2的N次方在2进制下表示1后面跟着N个0。
如果num和2的N次方同时存在某位1则返回这个数逻辑上转换为true。*/
let arr = num.toString(2).split("").map(c=>{return parseInt(c);});
if (reverse) arr.reverse();
return arr;
}
//从二进制的数字中获得有哪些内容
function getNamesFromBinary(num,dataArr)
{ /*num是输入的数字2的N次方在2进制下表示1后面跟着N个0。
@ -313,7 +324,7 @@ function skillDetail(si)
case 176:
//●◉○◍◯
var table = [sk[6],sk[7],sk[8],sk[9],sk[10]];
str = "以如下形状生成" + pn(sk[11]) + "宝珠\n";
str = "以如下形状生成" + pn(sk[11]||0) + "宝珠\n";
str += table.map(r=>{
var rArr = [];
for(var c=0;c<=5;c++)

View File

@ -49,6 +49,7 @@ MemberAssist.prototype.constructor = MemberAssist
//正式队伍
var MemberTeam = function(){
this.latent = [];
this.ability = [0,0,0];
MemberAssist.call(this);
//sawoken作为可选项目默认不在内
}
@ -65,8 +66,8 @@ var Formation = function(teamCount,memberCount){
var team = [[],[]];
for (var mi=0;mi<memberCount;mi++)
{
team[0].push(new Member());
team[1].push(new Member());
team[0].push(new MemberTeam());
team[1].push(new MemberAssist());
}
this.team.push(team);
}
@ -1020,6 +1021,10 @@ function refreshAbility(dom,team,idx){
var assistAbility = (assistMD.id > 0 && ms[mainMD.id].ppt[0]==ms[assistMD.id].ppt[0])
?calculateAbility(assistMD.id,assistMD.level,assistMD.plus,null,null)
:[0,0,0];
for (let ai=0;ai<3;ai++)
{
mainMD.ability[ai] = mainAbility[ai] + Math.round(assistAbility[ai]*bonusScale[ai]);
}
var hpDom = ali.querySelector(".hp");
var atkDom = ali.querySelector(".atk");
var rcvDom = ali.querySelector(".rcv");
@ -1027,11 +1032,21 @@ function refreshAbility(dom,team,idx){
if (mainAbility)
{
div.classList.remove("display-none");
div.innerHTML = mainAbility[ai] + Math.round(assistAbility[ai]*bonusScale[ai]);
div.innerHTML = mainMD.ability[ai];
}else
{
div.classList.add("display-none");
div.innerHTML = 0;
}
})
});
//计算总的生命值
var tHpDom = document.querySelector(".formation-box .team-info .tIf-total-hp");
var tRcvDom = document.querySelector(".formation-box .team-info .tIf-total-rcv");
tHpDom.innerHTML = team[0].reduce(function(value,mon){
return value += mon.ability[0];
},0);
tRcvDom.innerHTML = team[0].reduce(function(value,mon){
return value += mon.ability[2];
},0);
}

View File

@ -44,6 +44,7 @@ var formation = new Formation(1,6);
<li class="badge-bg display-none"><div class="badge badge-11"></div></li>
<li class="badge-bg display-none"><div class="badge badge-12"></div></li>
<li class="badge-bg display-none"><div class="badge badge-13"></div></li>
<div class="team-info"><div class="tIf-total-hp"></div><div class="tIf-total-rcv"></div></div>
</ul>
<ul class="formation-assist">
<li class="member member-1 null">

View File

@ -294,6 +294,13 @@ ul{
/*content: "▲辅助";*/
}
.formation-box .team-info{
font-size: 15px;
}
.team-info .tIf-total-hp,.team-info .tIf-total-rcv{
display:inline-block;
}
/*队伍的潜觉*/
.formation-latents .latents{
width: 108px;

View File

@ -95,8 +95,8 @@ function awokenCountInTeam(formationTeam,ak,solo)
var enableAwoken = mdAwoken.slice(0,m.awoken);
//相同的觉醒数
var hasAwoken = enableAwoken.filter(function(a){return a == ak;}).length;
//如果有超觉醒且超觉醒id和计数的id相同
if (mdSAwoken && (mdSAwoken[m.sawoken] == ak))
//如果是单人,有超觉醒且超觉醒id和计数的id相同
if (solo && mdSAwoken && (mdSAwoken[m.sawoken] == ak))
{
hasAwoken++;
}