File size: 2,421 Bytes
a2a5d31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
effe13f
a2a5d31
 
effe13f
a2a5d31
 
 
 
581e199
a2a5d31
 
581e199
a2a5d31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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]):
        for skill_id in (32149, 32150, 32151):
            skills[skill_id].skill_critical_strike += 1000
            skills[skill_id].skill_critical_power += 102

    def sub_skills(self, skills: Dict[int, Skill]):
        for skill_id in (32149, 32150, 32151):
            skills[skill_id].skill_critical_strike -= 1000
            skills[skill_id].skill_critical_power -= 102


class 放皓(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[32602].skill_critical_strike += 1000
        skills[32602].skill_critical_power += 102

        skills[32603].skill_critical_strike += 2000
        skills[32603].skill_critical_power += 205

        skills[32604].skill_critical_strike += 3000
        skills[32604].skill_critical_power += 307

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

        skills[32603].skill_critical_strike -= 2000
        skills[32603].skill_critical_power -= 205

        skills[32604].skill_critical_strike -= 3000
        skills[32604].skill_critical_power -= 307


class 涣衍(Gain):
    def add_skills(self, skills: Dict[int, Skill]):
        skills[24443].tick += 3

    def sub_skills(self, skills: Dict[int, Skill]):
        skills[24443].tick -= 3


class 涤瑕(Gain):
    def add_buffs(self, buffs: Dict[int, Buff]):
        buffs[-24222].activate = True

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


TALENT_GAINS: Dict[int, Gain] = {
    32450: 渊冲("渊冲"),
    32580: Gain("戗风"),
    32464: Gain("溃延"),
    32490: 放皓("放皓"),
    32492: Gain("电逝"),
    32500: Gain("承磊"),
    32457: Gain("镇机"),
    32508: Gain("长溯"),
    32511: 涣衍("涣衍"),
    32513: 涤瑕("涤瑕"),
    32493: Gain("流岚"),
    36035: Gain("潋风")
}

TALENTS = [
    [32450],
    [32580],
    [32464],
    [32490],
    [32492],
    [32500],
    [32457],
    [32508],
    [32511],
    [32513],
    [32493],
    [36035]
]
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()}