python-genshin-artifact/docs/SkillInfo.md
luoshuijs 5f7033d331
📝 Add Documentation
Co-authored-by: Nahida <CHxCOOH@googlemail.com>
Co-authored-by: kotoriのねこ <minamiktr@outlook.com>
2023-10-24 18:42:49 +08:00

3.2 KiB

SkillInfo 类说明文档

类定义

SkillInfo 是一个主要用于存放所需要分析的技能的类。它具有以下属性:

  • index:技能索引。
  • config:技能配置。

index 技能索引

可以运行 genshin_genshin_artifact/tools/get_character_skill_index.py 寻找角色索引。

K:\PycharmProjects\python_genshin_artifact\venv\Scripts\python.exe K:\PycharmProjects\python_genshin_artifact\tools\get_character_skill_index.py 
Enter character name: HuTao
Character name 胡桃
Skill A 普通攻击·往生秘传枪法
index 0 一段伤害
index 1 二段伤害
index 2 三段伤害
index 3 四段伤害
index 4 五段伤害-1
index 5 五段伤害-2
index 6 六段伤害
index 7 重击伤害
index 8 下坠期间伤害
index 9 低空坠地冲击伤害
index 10 高空坠地冲击伤害
Skill E 蝶引来生
index 11 血梅香伤害
Skill Q 安神秘法
index 12 技能伤害
index 13 低血量时技能伤害

Process finished with exit code 0

从输出可以看出,如果我们需要获得胡桃在低血量时开启大招的技能伤害,索引应该设置为 13。

index = 13

注意:莫娜计算器并不计算相关命座的技能等级加成,这需要前端作出相应的计算 (人话:用户自己解决)

config 技能配置

这个参数设定了一些角色当前的状态,比如说胡桃 E 技能是否开启,如果开启会基于生命值获得额外攻击力,打出更高的伤害。

genshin_artifact/mona_core/src/character/skill_config.rs 文件我们可以看见各个角色的技能参数

#[derive(Serialize, Deserialize, Debug)]
pub enum CharacterSkillConfig {
    Albedo { fatal_count: usize },
    Aloy { coil_count: usize },
    AratakiItto { after_q: bool },
    Diluc { pyro: bool },
    Eula { lightfall_stack: usize },
    Ganyu { talent1_rate: f64 },
    HuTao { after_e: bool },
    KaedeharaKazuha { after_e_or_q: bool },
    KamisatoAyaka { #[serde(default = "default_true")] after_dash: bool, #[serde(default = "default_false")] use_c6: bool },
    KamisatoAyato { e_stack: usize, in_q: bool },
    Keqing { after_e: bool },
    Noelle { after_q: bool },
    RaidenShogun { under_e: bool, resolve_stack: usize },
    SangonomiyaKokomi { after_q: bool },
    Xiao { after_q: bool, talent1_stack: f64, talent2_stack: f64 },
    Xingqiu { c4: bool },
    Xinyan { shield_rate: f64 },
    Yanfei { after_q: bool },
    Yoimiya { after_e: bool },
    Dori { c6: bool },
    Candace { crown: bool },
    Cyno { under_judication: bool },
    Nahida { q_bonus: bool, q_bonus_count: usize },
    Wanderer { e_enabled: bool, e_hydro: bool, sdpoints: f64 },
    Faruzan { talent2_ratio: f64 },
    Alhaitham { under_e: bool },
    Dehya { c2_rate: f64, c6_stack: f64 },
    Kaveh { after_q: bool },
    Freminet { talent2_rate: f64 },
    Lyney { prop_stack: f64, under_pyro: bool, pyro_count: usize, },
    Neuvillette { talent1_stack: usize },
    Wriothesley { under_chilling_penalty: bool },
    NoConfig,
}

以胡桃为例,如果要设置当前 E 技能状态生效,我们传入的参数是

params = {"after_e": True}

如不进行任何设置,保持该参数不会被任何代码修改,或者设置为 NoConfig

config = "NoConfig"