//~silent
//基于多个版本整合修改,为此掉头发的人:白三三、大🐔、呆发天天、黑白郎君、冷手硬打、清和,以及几位不知名或忘记名字的大佬。
@js messageClear();
($localVer) = 2023062501
($changeLog) = 🆕 可查看本次推演中已放弃的词条记录。🌟 1.获取词条等级。2.推演潜能获取和计算。3.可平均或优先推演指定序号的词条。4.设定词条指定等级。5.推演时可开启自动重连。6.停止推演、词条属性功能按钮。7.语音提醒、远程通知。
($flowName) = 自创推演
($flowCode) = zcty
($flowPath) = 根文件夹
($flowFinder) = 根文件夹
//($repourl) = https://cdn.jsdelivr.net/gh/mapleobserver/wsmud-script
($repourl) = http://wsmud-cdn.if404.com
@js ($version) = $.ajax({type: "GET", url: "(repourl)/version.txt", async: false, cache: false}).responseText;
[if] (version) != null
@js ($remoteVer) = var v = (version);v.(flowCode)
[if] (localVer) < (remoteVer) && (remoteVer) != null
[if] (UPnum) == null
($UPnum) = 0
[if] (UPnum) < 2
[if] (UPnum) == 1
@print 未获取到最新版本,使用备用地址再次尝试...
($repourl) = http://wsmud-cdn.if404.com
($UPnum) = (UPnum) + 1
[if] (flowPath) != 根文件夹 && (flowPath) != null
($flowSource) = (repourl)/(flowPath)/(flowName).flow.txt
[else]
($flowSource) = (repourl)/(flowName).flow.txt
[if] (flowFinder) == null
($flowFinder) = 根文件夹
@js WG.SendCmd("tm 当前(flowName)版本【(localVer)】,将开始自动更新至最新【(remoteVer)】。")
($f_ss)={"name":"(flowName)","source":"(flowSource)","finder":"(flowFinder)"}
@js var time = Date.parse( new Date());var f=(f_ss);var n=f["name"];var s=f["source"];var fd=f["finder"];WorkflowConfig.removeWorkflow({"name":n,"type":"flow","finder":fd});$.get(s,{stamp:time},function(data,status){WorkflowConfig.createWorkflow(n,data,fd);});
@wait 1500
($log) = ✅(flowName)已更新至最新版【(remoteVer)】,即将自动运行。
[else]
($log) = ⭕(flowName)暂时无法正常更新至【(remoteVer)】,直接运行当前版本【(localVer)】。
($UPnum) = null
@js WG.SendCmd("tm (log)")
@print (log)
[if] (UPnum) != null
@js var f=(f_ss);ManagedPerformerCenter.start(f["name"], FlowStore.get(f["name"]));
[exit]
[else]
($UPnum) = null
[if] (remoteVer) == null
($log) = ⚠️获取远程版本失败,维持当前版本不变。
[else]
($log) = 🚀开始运行(flowName),当前版本【(remoteVer)】。更新内容:(changeLog)
@js WG.SendCmd("tm (log)")
@print (log)
// 流程
@cmdDelay 0
[if] (ZCFood) == null
($ZCFood)=是
[if] (ZCFy) == null
($ZCFy)=是
[if] (ZCSkill) == null
($ZCSkill)=内功
[if] (ZCMaxqn) == null
($ZCMaxqn)=100000
[if] (ZCProp) == null
($ZCProp)=忽视对方防御|最终伤害|暴击|绝招冷却时间%
[if] (ZCSpc) == null
($ZCSpc)=短时间无视伤害
[if] (ZCXlu) == null
($ZCXlu)=无
[if] (ZCxl) == null
($ZCxl)=是
[if] (TYPriorNum) == null || (TYPriorNum) == 10
($TYPriorNum)=平均
[if] (ZCEntryLv) == null
($ZCEntryLv)=0
[if] (ZCAlertType) == null
($ZCAlertType)=关闭
[if] (ZCAlertWay) == null
($ZCAlertWay)=提示音
[if] (ZCAlertPush) == null
($ZCAlertPush)=关闭
[if] (AlertTel) == 开启
($ZCAlertPush)=开启
#select ($zcEntrySet)=⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️
 * 手动覆盖词条导致后续推演出问题的,建议重推。
 * ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ⚠️
 * 当前词条设置:
 * 如果要重新设定词条,先选择推演部位,然后直接点运行进入词条设置界面👇),正常推演|重设词条|清空重推,正常推演
#select ($ZCSkill)=要推演的技能部位,内功|鞭法|棍法|剑法|刀法|杖法|招架|拳脚|暗器|轻功,(ZCSkill)
#select ($TYPriorNum)=推演方式提供两种选择:
 * 1️⃣ 平均提升所有词条等级;
 * 2️⃣ 指定优先推演指定词条(从上到下6个词条选1个)
 * 请选择推演方式,平均|1|2|3|4|5|6,(TYPriorNum)
#input ($ZCEntryLv)=词条限定等级(所有或指定词条推到该等级后停止,填0为不限制),(ZCEntryLv)
#input ($ZCProp)=上次普通词条设置为:(ZCProp)
 * 普通词条(完全匹配,用|隔开,限百分比后加%,限非百分比加d),(ZCProp)
#input ($ZCSpc)=特殊词条(模糊匹配),(ZCSpc)
#select ($ZCxl)=出特殊词条后闭关,是|否,(ZCxl)
#input ($ZCMaxqn)=总消耗潜能(万),(ZCMaxqn)
#select ($ZCFood)=冰心,是|否,(ZCFood)
#select ($ZCFy)=飞翼,是|否,(ZCFy)
#select ($ZCXlu)=香炉,无|沉香木鼎|麝香铜鼎|龙涎香熏|龙脑古鼎,(ZCXlu)
#select ($relogin)=开启自动重连防止掉线,开启|关闭,开启
#select ($ZCAlertType)=推出词条和结束时发出通知,全部通知|结束时通知|关闭,(ZCAlertType)
#select ($ZCAlertWay)=通知方式,语音播报|提示音,(ZCAlertWay)
#select ($ZCAlertPush)=远程通知功能,需先在系统设置(右键菜单-设置)中开启并填写参数,需要plugins版本至少0.0.32.192,raid版本至少2.4.45,更新插件后先刷新网页。,不懂的话请勿使用,自行搜索了解。
 * 是否开启远程通知,开启|关闭,(ZCAlertPush)
#config
// 配置词条
[if] (zcEntrySet)==重设词条
[if] (ZCSkill)==内功
($propAry)=不推演|臂力d|命中d|攻击%|命中%|最终伤害%|忽视对方防御%|绝招冷却时间%|暴击%|练习效率%|攻击速度%|内力消耗%|伤害减免%|防御%|招架%|躲闪%|气血%|暴击伤害%|暴击抵抗%|忙乱%|忽视忙乱%|绝招释放时间%|学习效率%|打坐效率%|攻击d|绝招冷却时间d|攻击速度d|绝招释放时间d|忙乱d|根骨d|身法d|悟性d|防御d|招架d|躲闪d|震慑(长生)|震慑(慈航)|震慑(战神)
($spcAry)=不推演|吸血(太玄)|不灭(混沌)|战神|反震|守护|剑心|化毒
[else if] (ZCSkill)==鞭法 || (ZCSkill)==棍法 || (ZCSkill)==剑法 || (ZCSkill)==刀法 || (ZCSkill)==杖法 || (ZCSkill)==拳脚 || (ZCSkill)==暗器
($propAry)=不推演|攻击d|命中d|臂力d|攻击%|命中%|最终伤害%|忽视对方防御%|暴击%|内力消耗%|伤害减免%|防御%|招架%|躲闪%|气血%|暴击伤害%|暴击抵抗%|忙乱%|忽视忙乱%|根骨d|身法d|悟性d|防御d|招架d|躲闪d
($spcAry)=不推演|弱化|溅射|吸血|穿透|无情|嗜血|内伤(入魔)
[else if] (ZCSkill)==招架
($propAry)=不推演|攻击d|命中d|臂力d|命中%|根骨d|身法d|悟性d|防御d|招架d|躲闪d|暴击伤害%|内力消耗%|练习效率%|学习效率%|打坐效率%|防御%|招架%|躲闪%|气血%
($spcAry)=不推演|反击(移花)|乾坤|纵横|星移|专注(招架)
[else if] (ZCSkill)==轻功
($propAry)=不推演|攻击d|臂力d|命中d|命中%|防御d|招架d|躲闪d|根骨d|身法d|悟性d|防御%|招架%|躲闪%|气血%|暴击伤害%|内力消耗%|练习效率%|学习效率%|打坐效率%
($spcAry)=不推演|反击|灵动|专注(轻功)
#select ($entry1)=当前选择部位:👉(ZCSkill)👈
 * 普通词条1,(propAry),(entry1)
#select ($entry2)=普通词条2,(propAry),(entry2)
#select ($entry3)=普通词条3,(propAry),(entry3)
#select ($entry4)=普通词条4,(propAry),(entry4)
#select ($entry5)=普通词条5(有特殊词条可选不推演),(propAry),(entry5)
#select ($entryspc)=特殊词条(不需要则选不推演),(spcAry),(entryspc)
#config
// 处理词条设置
[(entry1)==null]($entry1)=不推演
[(entry2)==null]($entry2)=不推演
[(entry3)==null]($entry3)=不推演
[(entry4)==null]($entry4)=不推演
[(entryspc)==null]($entryspc)=不推演
($ZCProp) = (entry1)|(entry2)|(entry3)|(entry4)
[if] (entry5) != 不推演 && (entry5) != null && (entryspc) == 不推演
($ZCProp) = (ZCProp)|(entry5)
[if] (entryspc)==不推演
($ZCSpc) = 不推演
[else]
[if] (entryspc)==吸血(太玄)
($ZCSpc)=攻击力的内功伤害
[else if] (entryspc)==不灭(混沌)
($ZCSpc)=短时间无视伤害
[else if] (entryspc)==战神
($ZCSpc)=空手时附加的内力
[else if] (entryspc)==反震
($ZCSpc)=最大内力的反震伤害
[else if] (entryspc)==守护
($ZCSpc)=气血每降低
[else if] (entryspc)==剑心
($ZCSpc)=额外攻击敌人
[else if] (entryspc)==弱化
($ZCSpc)=战斗属性
[else if] (entryspc)==溅射
($ZCSpc)=对附近一名敌人
[else if] (entryspc)==吸血
($ZCSpc)=转化为自身气血
[else if] (entryspc)==穿透
($ZCSpc)=伤害增加
[else if] (entryspc)==无情
($ZCSpc)=敌人的气血每降低
[else if] (entryspc)==嗜血
($ZCSpc)=你的气血每降低
[else if] (entryspc)==内伤(入魔)
($ZCSpc)=附加你最大内力
[else if] (entryspc)==反击(移花)
($ZCSpc)=招架成功后顺势反击敌人
[else if] (entryspc)==乾坤
($ZCSpc)=伤害减免
[else if] (entryspc)==纵横
($ZCSpc)=招架成功后增加
[else if] (entryspc)==反击
($ZCSpc)=躲闪成功后顺势反击敌人
[else if] (entryspc)==灵动
($ZCSpc)=躲闪成功后增加
[else if] (entryspc)==专注(轻功)
($ZCSpc)=战斗中提升躲闪
[else if] (entryspc)==专注(招架)
($ZCSpc)=战斗中提升招架
[else if] (entryspc)==化毒
($ZCSpc)=吸取对方内力
[else if] (entryspc)==星移
($ZCSpc)=招架成功后将所受伤害
@await 500
@print 设定完毕,准备重启流程...
@js ManagedPerformerCenter.start("自创推演", FlowStore.get("自创推演"));
@print 重启流程。
[exit]
// 开启自动重连防止掉线
[if] (relogin) == 开启
@js WG.zmlfire({"name":"自动重连","zmlRun":"GM_setValue(roleid+'_auto_relogin','开')","zmlShow":0,"zmlType":"2"})
stopstate
// 平均方式推演预处理
[if] (TYPriorNum)==平均 || (TYPriorNum)==null
($priorNum) = 10
($tyType)=推演所有词条到 (ZCEntryLv) 级
[else]
($priorNum) = (TYPriorNum)
($tyType)=推演第 (priorNum) 个词条到 (ZCEntryLv) 级
// 卸掉已装备自创部位
[if] (:kf_nei) == (:id)
enable force none
[if] (:kf_quan) == (:id)
enable unarmed none
[if] (:kf_qing) == (:id)
enable dodge none
[if] (:kf_zhao) == (:id)
enable parry none
[if] (:kf_jian) == (:id)
enable sword none
[if] (:kf_dao) == (:id)
enable blade none
[if] (:kf_zhang) == (:id)
enable staff none
[if] (:kf_gun) == (:id)
enable club none
[if] (:kf_bian) == (:id)
enable whip none
[if] (:kf_an) == (:id)
enable throwing none
// 设定技能位置
($skill)=force
[if] (ZCSkill) == 鞭法
($skill)=whip
[else if] (ZCSkill) == 杖法
($skill)=staff
[else if] (ZCSkill) == 招架
($skill)=parry
[else if] (ZCSkill) == 拳脚
($skill)=unarmed
[else if] (ZCSkill) == 暗器
($skill)=throwing
[else if] (ZCSkill) == 轻功
($skill)=dodge
[else if] (ZCSkill) == 棍法
($skill)=club
[else if] (ZCSkill) == 剑法
($skill)=sword
[else if] (ZCSkill) == 刀法
($skill)=blade
// 获取自创秘籍id
[while] (bookID)== null
zc typedel (skill)
@tip 移除($tag1)>($book)<($tag2)类型|不要急,慢慢来
($bookID)={b(book)秘籍}?
@await 500
// 是否清空已有词条重新推演
[if] (zcEntrySet) == 清空重推
@await 2000
@print 根据设置,重置【(ZCSkill)】部位词条。
zc typedel (skill)
zc typedel (skill) ok
zc typedel (skill) ok2
zc typeadd (skill)
zc typeadd (skill) ok
@await 2000
// 潜能最大值
($max)=(ZCMaxqn)*10000
// 分解词条数组
[if](ZCProp)!=null&&(ZCProp)!=none
@js ($zcp)=("\""+"(ZCProp)"+"\"").replace(/\|/g,"\"|\"").split("|")
//显示设定
($logStart) = 即将开始推演【(ZCSkill)】,设定词条为【(ZCProp)|(ZCSpc)】,(tyType),设定总消耗潜能为 (ZCMaxqn) 万。
@js WG.Send("tm (logStart)")
@print (logStart)
// 放香炉
stopstate
[if] (ZCXlu)!=无
($xluNow) = (ZCXlu)
use {b(xluNow)}?
@await 500
// 当前一轮结束后是否停止(false停止),生成停止推演按钮
($TYEnable)=true
@js $(`.ty_button`).remove();$(`.sm_button`).before(`停止推演`)
@js $('.ty_button').on('click', function(){ToRaid.perform(`//~silent\n($TYEnable)=false\n@print ⚠️ 下一次升级后停止推演。\ntm ⚠️ 下一次升级后停止推演。`);})
@print 👇 点击【停止推演】将在词条下一次升级后停止推演。
// 生成查看词条属性按钮
@js $(`.ct_button`).remove();$(`.sm_button`).before(`词条属性`)
@print 👇 点击【词条属性】查看当前推演部位的最新词条信息。
// 开启潜能监控
@js WG.remove_hook(WG.zcinfo_hook);WG.zcinfo_hook=WG.add_hook('text', data=>data.msg.indexOf('增加其它可装备类型')>=0?WG.zcinfo=data.msg:0)
@js WG.remove_hook(WG.qn_hook);WG.qn_hook=WG.add_hook('dialog', data=>data.dialog=='score'?WG.qn=data.pot:-1)
// 开始
($sum)=0
[while] true
// 判断香炉情况,自动递增香炉等级。
[if] (:status xlu,(:id))==false
[if] (ZCXlu)!=无
get {r(xluNow)}?
[while] true
use {b(xluNow)}?
@tip 点燃($one)<($tag1)>($xluNow)($tag2)>放到地上|已经没法($xluEnd)了|你身上($xluNo)这个东西
[if] (xluNo) != null || (xluEnd) != null
($xlus) = '沉香木鼎','麝香铜鼎','龙涎香熏','龙脑古鼎'
($xluNo) = null
($xluEnd) = null
@js ($xluN) = var x=[(xlus)];x.indexOf("(xluNow)")
[if] (xluN)<3
($xluN) = (xluN)+1
@js ($xluNow) = var x=[(xlus)];x[(xluN)]
@print 更换香炉类型为【(xluNow)】。
[else]
@print 香炉已全部用尽。
[break]
[else]
[break]
// 检查冰心飞翼
[if] (ZCFood) == 是 && (:status food)==false && {b冰心丹}? != null
use {b冰心丹}?
[if] (ZCFy) == 是 && (:status fy)==false
use (:eq0)
// 计算已消耗潜能、已消耗但尚未应用到词条上的剩余潜能、升到下一级所需潜能
zc typedel (skill)
@tip 武道书,($real_cost)潜能,
[if] (real_cost)>=(max)
($logEnd) = 当前(ZCSkill)推演消耗潜能,已超过设置的总消耗潜能(ZCMaxqn)万。
@print (logEnd)
tm (logEnd)
($finish) = 1
[break]
packitem zc2 (bookID)
@await 1000
@js ($entrys)=WG.zcinfo.match(/可装备为(ZCSkill)(.+?)可装备为|可装备为(ZCSkill)(.+?)增加其它可装备类型/)[0].match(/\((\d+)\)/g).map(x=>parseInt(x.slice(1, -1)))
@js ($cost)=eval([(entrys)].map(x=>x*(x-1)*50000).join("+"))
($cost) = (cost) + 100000
[if] (skill) == force && (real_cost) == 0
($cost) = (cost) + 100000
@js ($rest_qn)='(real_cost)'-'(cost)'
//tm 词条理论消耗总潜能【(cost)】,推演实际消耗总潜能【(real_cost)】,未使用潜能【(rest_qn)】
@js ($entry_num)=let l=[(entrys)].length;l<(priorNum)?l:(priorNum)
// 获得最新词条属性信息
@js ($entrysInfo)=var ct0=WG.zcinfo.replace(/
/g,"\',\'");var ct1=ct0.replace(/<.*?>/g,"");var ct2=ct1.replace(/\(/g,"(");ct2.replace(/\)/g,")");
@js ($entrysInfo) = "(entrysInfo)".replace(/.*可装备为(ZCSkill)移除提升品阶融合绝招\',/g,"")
@js ($entrysInfo) = "(entrysInfo)".replace(/,\'绝招:.*/g,"")
@js ($entrysInfo) = "(entrysInfo)".replace(/(,\'\')?,\'增加其它可装备类型.*/g,"")
@js ($entrysInfo) = "(entrysInfo)".replace(/(,\'\')?,\'可装备为.*/g,"")
//@print (entrysInfo)'
@js ($entrysInfoLen) = [(entrysInfo)].length
($num) = 0
($entrysData) = 【自创(ZCSkill)当前属性】
[while] (num) < (entrysInfoLen)
@js ($entrysP) = [(entrysInfo)][(num)]
($entrysData) = (entrysData)
(entrysP)
($num) = (num) + 1
[if] (real_cost_p)==null
($real_cost_p) = (real_cost)
[if] (real_cost_p)>=100000000
@js ($real_cost_p) = (real_cost_p)/100000000 + '亿'
[else if] (real_cost_p)>=10000
@js ($real_cost_p) = (real_cost_p)/10000 + '万'
[if] (max)>=100000000
@js ($max_p) = (max)/100000000 + '亿'
[else if] (max) >=10000
@js ($max_p) = (max)/10000 + '万'
@js $(`.ct_button`).off('click');$(`.ct_button`).on('click', function(){ToRaid.perform(`//~silent\n@print ========
🍋 已放弃词条:(zcBan)
========
当前(ZCSkill)推演设定:
🍬 推演词条:(ZCProp)|(ZCSpc)
🍼 词条优先推演方式:(TYPriorNum)|🍤 推演词条等级:(ZCEntryLv)
🍔 预设总消耗潜能:(max_p)|🍟 已消耗潜能:(real_cost_p)
========
🍎 (entrysData)`);})
// 判断是否存在被覆盖潜能
// ⚠️ 当前判断方式,当覆盖后的词条等级较高时,判断会逐渐出错导致不准确。所以能不覆盖就别覆盖。
@js ($entry_last)=var last=[(entrys)].length-1;[(entrys)][last]*100000
[if] (rest_qn) > (entry_last)
@js ($next_qn)=[(entrys)]['(entry_num)'-1]*100000
//tm ⚠️ 存在覆盖词条潜能,下一级需要【(next_qn)】
[else]
@js ($next_qn)=[(entrys)]['(entry_num)'-1]*100000-'(rest_qn)'
//tm 不存在覆盖潜能,下一级需要【(next_qn)】
// 指定词条等级
@js ($entrys_len) = [(entrys)].length
[if] (priorNum)==10
[if] (ZCSkill)==内功
[if] (entrys_len)==7
@js ($entrys_last)=[(entrys)][6]
[else]
[if] (entrys_len)==6
@js ($entrys_last)=[(entrys)][5]
[else]
@js ($entrys_last)=[(entrys)]['(priorNum)'-1]
[if] (entrys_last) != null && (entrys_last) >= (ZCEntryLv) && (ZCEntryLv) != 0 && (ZCEntryLv) != null
($logEnd) = 已达到预设词条等级【(ZCEntryLv)】,停止推演。
@print (logEnd)
tm (logEnd)
($finish)=3
[break]
// 开始推演
[if] (finish) == null
zc typelv (skill)
($prop)=null
($gdbug) = null
@tip 盘膝坐下|属性:($gd)($prop)<|属性:($gdbug)放弃
[if](prop)!=null
[if](sum)==1
($sum)=2
($add)=-1
// 判断是否添加新词条
[if](ZCProp)!=null&&(ZCProp)!=none
@js ($num)=[(zcp)].length
[while] (num)>0
($num)=(num)-1
@js ($op)=[(zcp)][(num)]
@js ($propZhen)="(prop)".indexOf("附近敌人")
[if] (propZhen)!=-1
@js ($zhenshe)="(op)".indexOf("震慑")
[if] (zhenshe)!=-1
[if] (op)==震慑(长生)
($op)=伤害
[else if] (op)==震慑(慈航)
($op)=躲闪和招架
[else if] (op)==震慑(战神)
($op)=防御和免伤
@js ($add)="(prop)".indexOf("(op)")
[else]
@js ($pe)="(op)".search(/.*%/)
[if] (pe)!=-1
@js ($op)="(op)".replace("%","")
@js ($add)="(prop)".search(/(op):.*%/)
[else]
@js ($pe)="(op)".search(/.*d/)
[if] (pe)!=-1
@js ($op)="(op)".replace("d","")
@js ($ps)="(prop)".search(/(op):.*%/)
[if] (ps)==-1
@js ($add)="(prop)".indexOf("(op)"+":")
[else]
@js ($add)="(prop)".indexOf("(op)"+":")
[if] (add) !=-1
[break]
[if] (add)==-1 && (ZCSpc) !=null
@js ($add)="(prop)".indexOf("(ZCSpc)")
[if] (add) !=-1 && (ZCxl) == 是
($xl)=1
// 添加或放弃词条
[if] (add) !=-1
zc prop (skill) add
@tip 增加属性|不能再添加($finish)
[if] (finish) == null
($logProp) = 添加词条【(prop)】
[else]
($logProp) = 词条已满,无法添加【(prop)】
@js WG.Send("tm 💡 (logProp) (:hour):(:minute):(:second)")
@print 💡 (logProp)((real_cost_p)) (:hour):(:minute):(:second)
[if] (ZCAlertType)==全部通知
[if] (ZCAlertWay)==语音播报
$tts (:name),(logProp)
[else if] (ZCAlertWay)==提示音
@beep
// 远程通知
[if] (ZCAlertPush) == 开启
($logPush) = 【推演】(:name):(logProp)((real_cost_p))
@push (logPush)
[else]
zc prop (skill) ban
@js WG.Send("tm 放弃词条【(prop)】 (:hour):(:minute):(:second)")
[if] (zcBan) == null
($zcBan) = (prop)
[else]
($zcBan) = (zcBan)|(prop)
($gdbug) = null
[if] (gdbug) != null
zc prop (skill) ban
@print 放弃因bug导致的未知词条 (:hour):(:minute):(:second)
@js WG.Send("tm 放弃因bug导致的未知词条 (:hour):(:minute):(:second)")
[if] (zcBan) == null
($zcBan) = (gdbug)
[else]
($zcBan) = (zcBan)|(gdbug)
// 潜能消耗值
[if](sum)==2
zc typedel (skill)
@tip 武道书,($qn)潜能,
[if] (qn)>=(max) || (xl) == 1
($finish)=1
($sum)=0
// 已推出特殊词条后的动作
[if] (xl) == 1
($logEnd) = 已推出特殊词条,停止推演。
tm (logEnd)
@print (logEnd)
[break]
// 循环推演
($num) =1
($real_cost_p) = (real_cost)
[if] (real_cost_p)>=100000000
@js ($real_cost_p) = (real_cost_p)/100000000 + '亿'
[else if] (real_cost_p)>=10000
@js ($real_cost_p) = (real_cost_p)/10000 + '万'
($rest_qn_p) = (rest_qn)
[if] (rest_qn_p)>=10000
@js ($rest_qn_p) = (rest_qn_p)/10000 + '万'
($next_qn_p) = (next_qn)
[if] (next_qn_p)>=10000
@js ($next_qn_p) = (next_qn_p)/10000 + '万'
tm 自创(ZCSkill)潜能【(real_cost_p)】,未使用潜能【(rest_qn_p)】,词条等级【(entrys)】 (:hour):(:minute):(:second);
tm 推演(ZCSkill)第【(entry_num)】条属性,升级需要【(next_qn_p)】潜能 (:hour):(:minute):(:second);
($start_qn)=null
($trytime)=500
[while] (start_qn)==null
score
@await (trytime)
@js ($start_qn)=WG.qn
[if] (start_qn)==null
($trytime) = (trytime) + 500
// 判断剩余潜能是否够词条推演到下一级
[if] (start_qn) < (next_qn) && (start_qn) != null && (next_qn) != null
($logEnd) = 当前剩余潜能【(start_qn)】,无法升级词条到下一级,停止推演。
@print (logEnd)
tm (logEnd)
($finish)=2
stopstate
[break]
[while] (:state)==推演
@tip 有了更深入的理解|潜能不够($finish)
($now_qn)=null
($trytime)=500
[while] (now_qn)==null
score
@await (trytime)
@js ($now_qn)=WG.qn
[if] (now_qn)==null
($trytime) = (trytime) + 500
[if] (trytime) >= 2000
($trytime) = 500
($done_qn)=(start_qn)-(now_qn)
($done_qn_p)=(done_qn)
[if] (done_qn_p)>=10000
@js ($done_qn_p) = (done_qn_p)/10000 + '万'
say 已推演【(done_qn_p)】潜能,升级需要【(next_qn_p)】潜能 (:hour):(:minute):(:second)
[if] (done_qn) >= (next_qn) || (finish) != null
($num) = 0
[if](sum)==0
($sum)=1
stopstate
[break]
// 根据TYEnable判断是否继续推演
[if] (TYEnable)==false || (finish)!=null
($logEnd) = 词条已升级,停止推演。
@print (logEnd)
tm (logEnd)
[break]
// 收起香炉
[if] (ZCXlu)!=无
get {r(xluNow)}?
xiulian
@print 【本次推演记录】
🍋 已放弃词条:(zcBan)
========
当前(ZCSkill)推演设定:
🍬 推演词条:(ZCProp)|(ZCSpc)
🍼 词条优先推演方式:(TYPriorNum)|🍤 推演词条等级:(ZCEntryLv)
🍔 预设总消耗潜能:(max_p)|🍟 已消耗潜能:(real_cost_p)
========
🍎 (entrysData)
[if] (ZCAlertType) != 关闭
[if] (ZCAlertWay)==语音播报
$tts (:name),推演已结束
[else if] (ZCAlertWay)==提示音
@beep
// 远程通知
[if] (ZCAlertPush) == 开启
($logPush) = 【推演】(:name):(logEnd)
@push (logPush)
@js WG.remove_hook(WG.zcinfo_hook);WG.remove_hook(WG.qn_hook);$(`.ty_button`).remove();$(`.ct_button`).remove();