File size: 2,262 Bytes
60d173b
 
 
55f0dce
60d173b
 
 
 
 
 
ff5593c
60d173b
 
 
ff5593c
60d173b
 
 
 
 
 
 
 
 
 
 
a05a2de
 
 
 
 
 
 
 
55f0dce
 
 
 
 
 
 
 
60d173b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a05a2de
60d173b
 
 
 
 
 
 
55f0dce
60d173b
 
 
 
 
 
 
 
 
 
 
 
 
 
55f0dce
60d173b
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from typing import Dict

from base.attribute import Attribute
from base.buff import Buff
from base.gain import Gain
from base.skill import Skill


class 江汉(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[19819].skill_critical_strike += 1000
        skills[19819].skill_critical_power += 102

    def sub_skills(self, skills: Dict[int, Skill]):
        skills[19819].skill_critical_strike -= 1000
        skills[19819].skill_critical_power -= 102


class 扶桑(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[20016].skill_damage_addition += 102

    def sub_skills(self, skills: Dict[int, Skill]):
        skills[20016].skill_damage_addition -= 102


class 羽彰(Gain):
    def add_buffs(self, buffs: Dict[int, Buff]):
        buffs[13560].activate = True

    def sub_buffs(self, buffs: Dict[int, Buff]):
        buffs[13560].activate = False


class 神降(Gain):
    def add_buffs(self, buffs: Dict[int, Buff]):
        buffs[14029].activate = True

    def sub_buffs(self, buffs: Dict[int, Buff]):
        buffs[14029].activate = False


class 梦悠(Gain):
    def add_attribute(self, attribute: Attribute):
        attribute.all_shield_ignore += 307

    def sub_attribute(self, attribute: Attribute):
        attribute.all_shield_ignore -= 307


class 濯流(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[31250].skill_pve_addition += 1536

    def sub_skills(self, skills: Dict[int, Skill]):
        skills[31250].skill_pve_addition -= 1536


TALENT_GAINS: Dict[int, Gain] = {
    20333: 江汉("江汉"),
    20335: 扶桑("扶桑"),
    20746: 羽彰("羽彰"),
    20348: Gain("清源"),
    30912: Gain("游仙"),
    25272: Gain("青冥"),
    20751: Gain("鸿轨"),
    25270: Gain("烟涛"),
    21293: Gain("溯徊"),
    20374: Gain("驰行"),
    20758: 神降("神降"),
    20747: 梦悠("梦悠"),
    20701: 濯流("濯流")
}

TALENTS = [
    [20333],
    [20335],
    [20746],
    [20348],
    [30912],
    [25272],
    [20751],
    [25270],
    [21293],
    [20374, 20758],
    [20747],
    [20701]
]
TALENT_DECODER = {talent_id: talent.gain_name for talent_id, talent in TALENT_GAINS.items()}
TALENT_ENCODER = {v: k for k, v in TALENT_DECODER.items()}