File size: 3,149 Bytes
2f63a42
 
 
 
ef62e40
2f63a42
 
 
ef62e40
 
 
 
0ed027c
 
2f63a42
ef62e40
a2a5d31
ef62e40
 
 
0ed027c
2f63a42
 
 
ef62e40
 
 
 
 
2f63a42
ef62e40
 
 
 
 
2f63a42
025687f
581e199
 
 
 
 
 
 
 
 
 
2f63a42
ef62e40
 
2452398
ef62e40
 
2452398
2f63a42
 
ef62e40
 
2f63a42
ef62e40
 
2f63a42
 
 
ef62e40
a2a5d31
2f63a42
ef62e40
a2a5d31
2f63a42
 
 
 
 
 
 
 
581e199
2f63a42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2452398
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
from typing import Dict

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


class ε†₯ιΌ“(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        for skill_id in (16760, 16382, 20991):
            skills[skill_id].skill_damage_addition += 205
            skills[skill_id].skill_shield_gain -= 512
        skills[32823].skill_shield_gain = [-512, 0, 0, -512]
        skills[37458].skill_shield_gain -= 512

    def sub_skills(self, skills: Dict[int, Skill]):
        for skill_id in (16760, 16382, 20991):
            skills[skill_id].skill_damage_addition -= 205
            skills[skill_id].skill_shield_gain += 512
        skills[32823].skill_shield_gain = 0
        skills[37458].skill_shield_gain += 512


class ι˜³ε…³(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        for skill_id in (16803, 16802, 16801, 16800, 17043, 19423, 19424):
            skills[skill_id].skill_damage_addition += 154
            skills[skill_id].skill_shield_gain -= 205
        skills[32859].skill_damage_addition += 154

    def sub_skills(self, skills: Dict[int, Skill]):
        for skill_id in (16803, 16802, 16801, 16800, 17043, 19423, 19424):
            skills[skill_id].skill_damage_addition -= 154
            skills[skill_id].skill_shield_gain += 205
        skills[32859].skill_damage_addition -= 154


class 含风(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[16610].pre_buffs[(-18384, 1)] = 1
        skills[16610].pre_buffs[(-23066, 2)] = 1

    def sub_skills(self, skills: Dict[int, Skill]):
        skills[16610].pre_buffs.pop((-18384, 1))
        skills[16610].pre_buffs.pop((-23066, 2))


class 星火(Gain):
    def add_attribute(self, attribute: Attribute):
        attribute.strength_gain += 102

    def sub_attribute(self, attribute: Attribute):
        attribute.strength_gain -= 102


class 绝河(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[20991].skill_damage_addition += 307

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


class 绝期(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[11447].attack_power_cof_gain *= 1.7

    def sub_skills(self, skills: Dict[int, Skill]):
        skills[11447].attack_power_cof_gain /= 1.7


TALENT_GAINS: Dict[int, Gain] = {
    16691: Gain("龙息"),
    16847: Gain("ε½’ι…£"),
    26904: ε†₯ιΌ“("ε†₯ιΌ”"),
    17042: ι˜³ε…³("ι˜³ε…³"),
    16799: Gain("霜倩"),
    25633: 含风("含风"),
    32857: Gain("见尘"),
    17047: Gain("εˆ†η–†"),
    25258: Gain("ζŽ ε…³"),
    16728: 星火("星火"),
    34677: 绝河("绝河"),
    16737: Gain("ζ₯šζ­Œ"),
    17056: 绝期("绝期"),
    16893: Gain("ι‡ηƒŸ"),
    21858: Gain("降麒式")
}

TALENTS = [
    [16691],
    [16847],
    [26904, 17042],
    [16799],
    [25633],
    [32857],
    [17047],
    [25258, 16728, 34677],
    [16737],
    [17056],
    [16893],
    [21858]
]
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()}