File size: 2,824 Bytes
2f63a42
 
 
 
ef62e40
2f63a42
 
 
ef62e40
 
 
 
0ed027c
 
2f63a42
ef62e40
a2a5d31
ef62e40
 
 
0ed027c
2f63a42
 
 
ef62e40
 
 
 
 
2f63a42
ef62e40
 
 
 
 
2f63a42
025687f
2f63a42
ef62e40
 
2452398
ef62e40
 
2452398
2f63a42
 
ef62e40
 
2f63a42
ef62e40
 
2f63a42
 
 
ef62e40
a2a5d31
2f63a42
ef62e40
a2a5d31
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
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_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: Gain("含风"),
    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()}