最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【教程】莫娜占卜鋪 - 從零開始的DSL代碼編寫(圣遺物自定義配裝)

2023-03-07 20:12 作者:風(fēng)平浪靜之海  | 我要投稿

由于B站不支持Markdown和富文本,想得到最佳瀏覽體驗(yàn)請(qǐng)聯(lián)系本人取得原文檔

問題:Mona的計(jì)算器使用其內(nèi)置算法,如“期望傷害”,“最高傷害”的單技能計(jì)算。無法計(jì)算某些流派和手法的傷害(比如烈綻放煙緋,自定義蒸發(fā)和綻放的比例)

解決:自己動(dòng)手寫DSL代碼

參考:綜合了以下3篇帖子 + Mona的github文檔

  1. 分享用于莫娜占卜鋪的六命/低命/蒸發(fā)夜蘭DSL代碼

  2. 如何為了深淵配置自己的圣遺物?以莫娜占卜鋪為例

  3. 圣遺物配裝工具莫娜占卜鋪從入門到精

  4. https://github.com/wormtql/genshin_artifact


使用方式

DSL代碼有兩種使用方式:

  1. 在Mona的【計(jì)算-計(jì)算器】中進(jìn)行配裝

    1. 查具體角色的數(shù)據(jù)

    2. 在【MONA-DSL】中列出所有要考慮的dmg

    3. result = 所有dmg的加權(quán)和

    4. 代碼框底下的藍(lán)條[與最大計(jì)算傷害的百分比]/[該組圣遺物計(jì)算傷害]

  1. 在Mona的【附加功能-Playground】中計(jì)算傷害

    1. 查具體角色的數(shù)據(jù)

    2. 列出所有要考慮的dmg

    3. print()打印出來

普通&增幅傷害

普通元素/物理傷害、融化/蒸發(fā)傷害等

注意:普通傷害有2級(jí)屬性,都要寫

dmg [傷害名] = [角色名].[技能名]([對(duì)應(yīng)狀態(tài)])

1級(jí)屬性:

  1. [傷害名].normal ?普通

  2. [傷害名].melt ?融化

  3. [傷害名].vaporize ?蒸發(fā)

  4. [傷害名].aggravate ?雷激化

  5. [傷害名].spread ?蔓激化

  6. .bloom ?綻放

  7. hyperbloom ?超綻放

  8. burgeon ?烈綻放

2級(jí)屬性:

  1. e期望傷害

  2. c暴擊傷害

  3. n非暴擊傷害

例:神里,普攻第1段,發(fā)生在沖刺之后,融化,期望傷害

dmg a = KamisatoAyaka.Normal1({ after_dash: true })

print(a.melt.e)

劇變反應(yīng)

聚變反應(yīng):擴(kuò)散、感電、超載、超導(dǎo)、碎冰

路徑:mona_core/src/damage/transformative_damage.rs

dmg = [角色名].transformative

屬性:

  • swirl_cryo 冰擴(kuò)散

  • swirl_pyro 火擴(kuò)散

  • swirl_electro 雷擴(kuò)散

  • swirl_hydro 水?dāng)U散

  • overload 超載

  • electro_charged 感電

  • super_conduct 超導(dǎo)

  • shatter 碎冰

  • crystallize ?結(jié)晶盾

屬性聲明

直接取得角色的實(shí)時(shí)面板屬性,例如充能、元素精通等(角色面板在內(nèi)部采用DAG+懶更新的方式)

prop [變量名] = [角色名].[屬性名]

屬性:

  • recharge 充能

  • atk 攻擊

  • hp 生命

  • def 防御

  • em 精通

  • crit0 暴擊率(不含特定技能和特定元素傷害的加成)

  • cd0 暴擊傷害(不含特定技能和特定元素傷害的加成)

  • heal 治療加成

注意:

buff的覆蓋沒法調(diào)整,都是按全覆蓋來算

獲取屬性我能想到的一種用法是用來轉(zhuǎn)化成目標(biāo)函數(shù)的一部分,比如說鐘離我希望如果生命夠高,那傷害低一些就低一些,我可以接受用2傷害換1血量的話,那就可以把生命值x2加到目標(biāo)函數(shù)里,第二種用法就是覆蓋率,比如說我知道某幾次攻擊是在某個(gè)攻擊力buff消失后,那么我可以給那幾次攻擊乘上“減去buff的面板攻擊力/面板攻擊力”這個(gè)系數(shù),暴擊爆傷都有類似的轉(zhuǎn)換方法,但是增傷不行,因?yàn)樵鰝赿sl里沒法獲取

內(nèi)置函數(shù)

  1. print()

  2. type()

  3. max() ?min()

查詢具體角色

具體角色的數(shù)據(jù):mona_core/src/character/characters

元素:anemo風(fēng)、cryo冰、Pyro火、Hydro水、Electro雷、Dendro

搜索CharacterName —— CharacterName::RaidenShogun

搜索skillmap —— 技能名,和網(wǎng)站上的技能名是對(duì)應(yīng)的(通用技能的中文名不會(huì)寫出來)

搜索ItemConfig —— 特殊的狀態(tài),比如煙緋的灼灼、雷神的環(huán)

例:雷神大招,在其e技能下,愿力層數(shù)57

dmg q = RaidenShogun.Q1({under_e:true,resolve_stack:57})

例子

夜蘭

// 列出所有傷害?

dmg Q1=Yelan.Q1?//Q開啟傷害?

dmg Q2=Yelan.Q2 //Q協(xié)同傷害(每跳)?

dmg E=Yelan.E1 //E傷害?

dmg C6=Yelan.Charged3C6 //C6破局矢?jìng)?

dmg Z=Yelan.Charged3 //破局矢?jìng)?

?// result=所有傷害的加權(quán)和?

result=Q1.normal.e + Q1.normal.e * 0.9014 * 7 + //利用Q開啟傷害的90.14%倍模擬C2的14%生命倍率水箭,需將Q設(shè)置為13級(jí)才是此比例,10級(jí)比例為1.0646?

Q2.normal.e * 3 * 16?

+ E.normal.e * 2 + C6.normal.e * 5 + Z.normal.e *2 //兩次手動(dòng)重?fù)舻钠凭质?,依?jù)自己的手法不同可以去掉,大約占總倍率的4%

神里

// 1 設(shè)置Q最大?

dmg Q = KamisatoAyaka.Q1({after_dash:true}) //沖刺天賦觸發(fā)后?

result = Q.normal.e

// 2 大招期望輸出融化和普通各占一半,且傷害發(fā)生在沖刺之后(天賦18%冰傷加成)?

dmg q = KamisatoAyaka.Q1({ after_dash: true })?

normal = q.normal.e?

melt = q.melt.e?

result = normal + melt

甘雨

名字:Ganyu

技能:

pub enum GanyuDamageEnum { ? ?Normal1, ? ?Normal2, ? ?Normal3, ? ?Normal4, ? ?Normal5, ? ?Normal6, ? ?Charged1, ? ?// 瞄準(zhǔn) ? ?Charged2, ? ?// 一段蓄力 ? ?Charged3, ? ?// 霜華失 - 命中 ? ?Charged4, ? ?// 霜華失 - 綻放 ? ?Plunging1, ? ?Plunging2, ? ?Plunging3, ? ?E1, ? ?Q1 }

特殊狀態(tài):

  1. talent1_rate ?唯此一心

  2. talent2_rate ?天地交泰

純重?fù)?/p>

dmg b = Ganyu.Charged3 result = b.normal.e

煙緋

名字:Yanfei

技能:

pub enum YanfeiDamageEnum { ? ?Normal1, ? ? ? // 一段傷害 ? ?Normal2, ? ? ? // 二段傷害 ? ?Normal3, ? ? ? // 三段傷害 ? ?Charged1, ? ? ?// 重?fù)?無印 ? ?Charged2, ? ? ?// 重?fù)?1層 ? ?Charged3, ? ? ?// 重?fù)?2層 ? ?Charged4, ? ? ?// 重?fù)?3層 ? ?Charged5, ? ? ?// 重?fù)?4層 ? ?DmgTalent2, ? ?// 天賦2-額外 ? ?Plunging1, ? ? // 下墜期間 ? ?Plunging2, ? ? // 低空墜地 ? ?Plunging3, ? ? // 高空墜地 ? ?E1, ? ? ? ? ? ?// E技能 - 丹書立約 ? ?Q1, ? ? ? ? ? ?// Q技能 - 憑此結(jié)契 }

特殊狀態(tài):

  1. after_q ?灼灼


【教程】莫娜占卜鋪 - 從零開始的DSL代碼編寫(圣遺物自定義配裝)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
怀远县| 安顺市| 福泉市| 曲靖市| 葫芦岛市| 钦州市| 伽师县| 宁安市| 卫辉市| 江油市| 盐津县| 渑池县| 淄博市| 清流县| 博乐市| 贵南县| 淳安县| 南和县| 延津县| 巴楚县| 上虞市| 兴化市| 兴和县| 顺义区| 治多县| 华蓥市| 马山县| 古田县| 乌兰察布市| 增城市| 靖安县| 富阳市| 宁德市| 长治县| 南郑县| 古蔺县| 鱼台县| 洪湖市| 兴安盟| 山阳县| 临朐县|