本WIKI目前为框架搭建阶段,一切内容以游戏正式上线后为准。本wiki目前不支持自由编辑,如果有兴趣参与wiki内容编辑,请加入WIKI建设群904200987(游戏交流勿加会被踢)
感谢Hyacinth对本wiki提供的数据支持
编辑帮助 • BWIKI反馈
Widget:工具:搭配模拟器
<!DOCTYPE html> <html lang="zh">
<body>
白荆回廊工具
<fieldset>
<legend>更新日志</legend>
2024年2月20日:转换数据来源;
</fieldset>
<fieldset class="mxjsq"> <legend>漫巡计算器</legend> <form autocomplete="off" id="score"><thead> </thead> <tbody> </tbody>
- | 技能 | 属性 | >1000 |
---|---|---|---|
唤 | <input type="number" name="v_s1"> | <input type="number" name="v_p1"> | <input type="number" name="v_t1"> |
唤 | <input type="number" name="v_s2"> | <input type="number" name="v_p2"> | <input type="number" name="v_t2"> |
属 | <input type="number" name="p_s1"> | <input type="number" name="p_p1"> | <input type="number" name="p_t1"> |
属 | <input type="number" name="p_s2"> | <input type="number" name="p_p2"> | <input type="number" name="p_t2"> |
</form>
<button onclick="compute('1')">1-5层</button> <button onclick="compute('6')">6层+</button>
</fieldset>
<fieldset class="mxjs"> <legend>漫巡计数器 <button class="reset" onclick="reset('countResult')">重置</button> </legend>
<button onclick="count(0)">体质</button> |
<button onclick="count(1)">防御</button> |
<button onclick="count(2)">专精</button> |
<button onclick="count(3)">技能点</button> |
</fieldset>
<fieldset class="lhpz"> <legend>通用查询 <button class="reset" onclick="reset('searchList')">重置</button> </legend>
<label>关键字</label> <input v-model="searchKey" placeholder="如:屏障"/>
<button @click="searchSkill">查技能</button> <button @click="searchCard">查烙痕</button> <button @click="searchRole">查角色</button>
</fieldset>
<fieldset class="mxjsq"> <legend>烙痕配置 <button class="reset" onclick="reset()">重置</button> </legend>
<label>队长</label> <select class="form-control" v-model="characterName" placeholder="示例:北洛"> <option v-for="who in leaderSkill " v-value="who.r_name"> 模板:Who.r t-模板:Who.r name- 模板:Who.r lv </option> </select>
<label>烙痕模板:Index+1</label> <input class="form-control" v-model="cards[index]" placeholder="请填写全称,如:代号「百草」"/>
<label>CODE</label> <input class="form-control" v-model="copyCat" placeholder="非空时优先判断!"/>
<button @click="build">生成</button> </fieldset>
<button onclick="showCard()">烙痕表</button> <button onclick="showTdz()">同调者表</button>
<fieldset class="test"> <legend>开发测试。</legend>
<input type="checkbox" v-model="level" />1-5层
<select class="form-control" v-model="v[0]" placeholder="示例:北洛"> <option v-value="'H'">唤醒 </option> <option v-value="'G'">高维 </option> </select>
<input type="number" v-model="v[1]">
<input type="number" v-model="v[2]">
<input type="number" v-model="v[3]">
<button @click="calc">计算</button> </fieldset>
</body>
<head>
<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> #manxun-tools { background-color: rgb(225, 229, 235); text-align: center; }
#manxun-tools fieldset { align-content: center; display: inline-table; width:50% }
#manxun-tools button.reset { width: 40px; height: 28px; min-width: initial; font-size: 12px; margin: 4 8px; background-color: rgb(44, 175, 83); }
#manxun-tools button { width: 15%; height: 30px; min-width: 80px; text-align: center; /*margin-bottom: 10px;*/ /*margin-right: 10px;*/ background-color: rgb(59, 137, 228); color: white; border: none; cursor: pointer; border-radius: 10px; }
#manxun-tools b { font-size: 16px; }
.sub { background-color: rgb(222, 224, 228); text-align: center; }
.black-background { background-color: rgb(70, 78, 91); height: 20px; }
#cardList, #tdzList, #searchList, #groupResult, #leaderResult { text-align: left; font-size: 14px; }
#cardList, #tdzList, #searchList th { background: #26292B; color: #FFF; font-family: 黑体; }
#cardList div, #tdzList div { display: inline-block; }
#manxun-tools .text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; font-size: 20px; text-align: center; }
#manxun-tools p { line-height: 1.25; }
#manxun-tools .image-container img { margin-right: -10px; margin-bottom: -60px;
}
#manxun-tools h4 { text-shadow: 2px 2px 2px #000; color: white }
#manxun-tools input[type="checkbox"] { transform: scale(1.8); margin-top: 0px;
}
#manxun-tools input { width: 100px; font-size: 14px }
#manxun-tools .mxjsq input { width: calc(100% - 10px);
}
#manxun-tools .tips { color: red; font-size: 12px }
#manxun-tools .card {
width: auto; text-align: center; background-color: rgb(70, 78, 91); color: white; margin: 0 auto; padding: 10px;
}
#manxun-tools .categoryR { background-color: rgba(59, 137, 228, 0.6); padding: 8px; font-weight: bold; color: white; border-radius: 2px; line-height: 40px; text-shadow: 1px 1px 1px #000; }
#manxun-tools .categorySR { background-color: rgba(250, 198, 22, 0.6); padding: 8px; font-weight: bold; border-radius: 2px; color: white; text-shadow: 1px 1px 1px #000; }
#manxun-tools .categorySSR { background: linear-gradient(to bottom, rgba(189, 56, 214, 0.6), rgba(86, 85, 255, 0.6)); padding: 8px; font-weight: bold; border-radius: 2px; color: white; text-shadow: 1px 1px 1px #000; }
#manxun-tools .textN { color: white; font-size: 18px; display: inline-block; }
#manxun-tools .textR { color: #9F97D4; font-size: 18px; font-weight: 600; display: inline-block; }
#manxun-tools .textSR { color: #FFD839; font-size: 18px; font-weight: 600; display: inline-block; }
#manxun-tools form label { display: inline-block; }
#manxun-tools .textSSR { background: linear-gradient(to right, #DD5E00, #FFA11B, #F3F853, #8BF784, #74E1C8, #9574CF); -webkit-background-clip: text; -webkit-text-fill-color: transparent; -moz-background-clip: text; -moz-text-fill-color: transparent; -ms-background-clip: text; -ms-text-fill-color: transparent; display: inline-block; font-size: 18px; font-weight: 600; color: #FFF; }
#manxun-tools table, #manxun-tools th, #manxun-tools td { border: 0.1px solid; }
#manxun-tools th { text-align: right; }
#manxun-tools .areaβ { background: #91badeb3;
}
#manxun-tools .areaα { background: #e1b798; }
#manxun-tools .areaT { background: #83d888; text-align: center; } </style>
<script src="https://wiki.biligame.com/bjhl/MediaWiki:ManxunTeam.js?action=raw&ctype=text/javascript"></script> <script src="https://wiki.biligame.com/bjhl/MediaWiki:Vue.js?action=raw&ctype=text/javascript"></script>
<script> ;(window.RLQ = window.RLQ || []).push([ "jquery", () => { $(function () { init(); }) }, ])
function init() { // 创建Vue对象,管理 #manxun-tools,动态设置文本内容 var vm = new Vue({ el: '#manxun-tools', data: { characterName: , //角色姓名 cards: ["", "", "", "", "", ""], copyCat: "", searchKey:"", level:"", v:[0,0,0,0], }, methods: { validate: function () { console.log(this.characterName, this.cards, this.copyCat) if (this.copyCat != ) { return true; } if (this.characterName == ) { alert('请输入同调者姓名'); return false; } return true; }, validate2: function () { if (this.searchKey == ) { alert('请输入查询关键字'); return false } return true; }, // 声明方法 calc,作为按钮的事件处理方法 build: function (event) { if (!this.validate()) { return; } if (this.copyCat.length > 0) { let list = this.copyCat.split(',') this.characterName = list[0] for (let i = 1; i < list.length; i++) { this.cards[i - 1] = list[i] } this.copyCat = } handle({capt: this.characterName}, this.cards) }, searchRole: function (event) { if (!this.validate2()) { return; } search(this.searchKey,'TDZ') }, searchCard: function (event) { if (!this.validate2()) { return; } search(this.searchKey,'CARD') }, searchSkill: function (event) { if (!this.validate2()) { return; } search(this.searchKey,'SKILL') }, calc: function (event) {
} }, });
} </script>
<script>
let countResult = [0, 0, 0, 0]
function findSkill(sk_name) { let rtn = skillList.filter((t) => { return sk_name.indexOf(t.skill) > -1 }) return rtn }
function findWho(name) { for (let i = 0; i < leaderSkill.length; i++) { if (name.indexOf(leaderSkill[i].r_name) > -1) { return leaderSkill[i] } } }
function findCard(name) { for (let i = 0; i < leaderSkill.length; i++) { if (name.indexOf(leaderSkill[i].r_name) > -1) { return leaderSkill[i] } } }
function count(type) { countResult[type]++ if (countResult[type] > 9) { countResult[type] = "-" }
document.getElementById('countResult').innerHTML = "" + countResult[0] + '' + countResult[1] + '' + countResult[2] + '' + countResult[3] + '';
}
function reset(id) { if (id) { countResult = [0, 0, 0, 0] document.getElementById(id).innerHTML = ""; } else { document.getElementById('leaderResult').innerHTML = ; document.getElementById('groupResult').innerHTML = ;
} }
function compute(level) { var mdl = {v1: 0, v2: 0, p1: 0, p2: 0} let form = new FormData(document.getElementById('score')); form.forEach((value, key) => mdl[key] = value) if (level == 1) { mdl.v1 = Math.floor(mdl.v_s1 * 0.5 + mdl.v_p1 * 0.8) mdl.v2 = Math.floor(mdl.v_s2 * 0.5 + mdl.v_p2 * 0.8) mdl.p1 = Math.floor(mdl.p_s1 * 0.5 + mdl.p_p1 * 0.9) mdl.p2 = Math.floor(mdl.p_s2 * 0.5 + mdl.p_p2 * 0.9) } else { mdl.v1 = Math.floor(mdl.v_s1 * 0.5 + mdl.v_p1 * 0.8 + mdl.v_t1 * 1.8) mdl.v2 = Math.floor(mdl.v_s2 * 0.5 + mdl.v_p2 * 0.8 + mdl.v_t2 * 1.8) mdl.p1 = Math.floor(mdl.p_s1 * 0.5 + mdl.p_p1 * 0.8 + mdl.p_t1 * 1.8) mdl.p2 = Math.floor(mdl.p_s2 * 0.5 + mdl.p_p2 * 0.8 + mdl.p_t2 * 1.8) }
document.getElementById('computeResult').innerHTML = "
唤醒:" + mdl.v1 + ";" + mdl.v2 + ";属性:" + mdl.p1 + ";" + mdl.p2 + '
';
};
function handle(mdl, skill) { var capt = "" let who = findWho(mdl.capt)
capt += "
// 处理队长技能 let captSkills = findSkill(who.r_s)capt += '
' +"【CODE】" +who.r_name + "," + skill + "
"
capt += "" + captSkills[0].sk_type + captSkills[0].skill + ":" + captSkills[0].power_up + "
"
capt += "" + captSkills[1].sk_type + captSkills[1].skill + ":" + captSkills[1].power_up + "
"
document.getElementById('leaderResult').innerHTML = capt;
let card_main = '
<thead> </thead>'let card_dtl = "" let card_count = {sj: 0, lx: 0, fk: 0, oth: 0} let j = 1 for (let i = 0; i < cardSkill.length; i++) { if (skill.indexOf(cardSkill[i].sk_name) > -1) { // 卡名card_main += ""; card_dtl += "<td class='category" + cardSkill[i].sk_lv + "' "; // 特质 card_main += "";
// 处理主要技能card_main += sectionSkill(findSkill(cardSkill[i].sk_sj)[0]) + "" if (cardSkill[i].sj_oth.length > 0) { let list = findSkill(cardSkill[i].sj_oth) card_dtl += " rowspan=" + (list.length + 1) + " >" + cardSkill[i].sk_name + ""; for (let i = 0; i < list.length; i++) { card_dtl += "<td" switch (list[i].sk_type) { case "□": card_count.fk++ card_dtl += " class='areaT'>" + list[i].sk_type + "";
break; case "△": card_count.sj++card_dtl += ">";
break; case "◇": card_count.lx++card_dtl += ">";
break; default: card_count.oth++card_dtl += " class='areaT' colspan='3'>" + list[i].sk_type + ""; } card_dtl += sectionSkill( list[i]) + "" } } else { card_main += ">" + cardSkill[i].sk_name + ""; } card_main += "" card_dtl += "" j++ if (j > 6) break } } card_dtl = '
卡名 | 特质 | 核心技 | |||
---|---|---|---|---|---|
" + sectionImg('t', cardSkill[i].c_t) + cardSkill[i].sk_name + " | |||||
" + cardSkill[i].power_up + " | |||||
" + list[i].sk_type + " | " + list[i].sk_type + " |
卡名 | □:' + card_count.fk + ' | △:' + card_count.sj + ' | ◇:' + card_count.lx + ' | 所有:' + card_count.oth + ' |
---|
' + card_dtl + '';
};
let showFlag = { card: false, tdz: false, map: false, };
function sectionSkill(skill) {
return "" + skill.sk_type + skill.skill + '' +skill.power_up +''+ skill.sk_pt+''
};
function sectionTdz(tdz) {
return '
//<img src="https://wiki.biligame.com/bjhl/Special:Redirect/file/角色 '+tdz.r_name+' 头像.png" width="70" height="70"/>'' + sectionImg('attr', tdz.r_attr) + tdz.r_name + '
'
};
function sectionCard(card) {
return '
'
};
function sectionImg(type, name, width = 36, height = 36) { var rtn = '<img src="https://wiki.biligame.com/bjhl/Special:Redirect/file/' switch (type) { case 'r': rtn += "角色 " + name + " 头像.png"; break case 'attr': rtn += "Ui 元素 " + name + ".png"; break case 's': rtn += name ; break case 't'://烙痕类型 rtn += "烙痕 " + name + ".png"; break case 'j'://职业 rtn += "UI 头像缩略图 职业 " + name + ".png"; break } return rtn + '" width="' + width + '" height="' + height + '" >' }
function search(key,type) { let result = "" let list = [] switch (type) { case 'SKILL': list = skillList.filter((t) => { return JSON.stringify(t).indexOf(key) > -1 }) for (let i = 0; i < list.length; i++) {
result += ''+ sectionSkill(list[i])+'' } break; case 'CARD': list = cardSkill.filter((t) => { return JSON.stringify(t).indexOf(key) > -1 }) for (let i = 0; i < list.length; i++) { result += '' result += sectionImg('t', list[i].c_t) + sectionCard(list[i]) + "" + list[i].power_up + "【" + list[i].sk_sj + "】" + list[i].sj_oth result += '' } break case 'TDZ': list = leaderSkill.filter((t) => { return JSON.stringify(t).indexOf(key) > -1 }) for (let i = 0; i < list.length; i++) { result += '' + sectionImg('j', list[i].r_t) + "" result += sectionTdz(list[i]) + "" + list[i].r_s result += '' + list[i].tag result += '' } break; default: } document.getElementById('searchList').innerHTML = '
<tbody>' + result + '</tbody>'
};
function showCard() { if (showFlag.card) { document.getElementById('cardList').innerHTML = "" showFlag.card = false return } let list = "" let cardSkillMap = {} for (let i = 0; i < cardSkill.length; i++) { if (!cardSkillMap[cardSkill[i].c_t]) { cardSkillMap[cardSkill[i].c_t] = [] } cardSkillMap[cardSkill[i].c_t].push(cardSkill[i]) }
for (let cardType in cardSkillMap) {
list += '' + sectionImg('t', cardType) + " · "
for (let i = 0; i < cardSkillMap[cardType].length; i++) { list += sectionCard(cardSkillMap[cardType][i]) + ' · ' }
list += '' } document.getElementById('cardList').innerHTML = '
<tbody>' + list + '</tbody>';
showFlag.card = true };
function showTdz() { if (showFlag.tdz) { document.getElementById('tdzList').innerHTML = "" showFlag.tdz = false return } let list = "" let tdzMap = {} for (let i = 0; i < leaderSkill.length; i++) { if (!tdzMap[leaderSkill[i].r_t]) { tdzMap[leaderSkill[i].r_t] = [] } tdzMap[leaderSkill[i].r_t].push(leaderSkill[i]) }
for (let tdzType in tdzMap) {
list += '' + sectionImg('j', tdzType) + " · "
for (let i = 0; i < tdzMap[tdzType].length; i++) { list += sectionTdz(tdzMap[tdzType][i]) + ' · ' }
list += '' } document.getElementById('tdzList').innerHTML = '
' + list + '';
showFlag.tdz = true };
</script>
</head>