Spaces:
Runtime error
Runtime error
04.14 commit
Browse files- base/buff.py +84 -29
- base/skill.py +16 -7
- general/buffs.py +15 -0
- general/gains/equipment.py +0 -2
- general/skills.py +25 -0
- get_assets.py +2 -11
- qt/assets/equipments/belt +1 -1
- qt/assets/equipments/shoes +1 -1
- qt/assets/equipments/wrist +1 -1
- qt/constant.py +1 -70
- qt/scripts/equipments.py +1 -1
- qt/scripts/top.py +3 -106
- schools/bei_ao_jue/buffs.py +5 -0
- schools/bei_ao_jue/skills.py +18 -2
- utils/analyzer.py +44 -23
- utils/parser.py +208 -0
base/buff.py
CHANGED
@@ -9,14 +9,15 @@ ATTR_DICT = Dict[str, Union[List[int], int]]
|
|
9 |
|
10 |
@dataclass
|
11 |
class Buff:
|
12 |
-
buff_id: int
|
13 |
-
buff_name: str
|
14 |
buff_level: int = 0
|
15 |
buff_stack: int = 1
|
16 |
-
|
17 |
gain_skills: Dict[int, ATTR_DICT] = None
|
18 |
gain_attributes: ATTR_DICT = None
|
19 |
|
|
|
|
|
20 |
def __post_init__(self):
|
21 |
if self.gain_skills is None:
|
22 |
self.gain_skills = {}
|
@@ -27,31 +28,85 @@ class Buff:
|
|
27 |
def display_name(self):
|
28 |
return f"{self.buff_name}/{self.buff_id}-{self.buff_level}-{self.buff_stack}"
|
29 |
|
30 |
-
def
|
31 |
-
if
|
32 |
-
|
33 |
-
|
|
|
34 |
else:
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
else:
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
@dataclass
|
11 |
class Buff:
|
12 |
+
buff_id: int
|
13 |
+
buff_name: str
|
14 |
buff_level: int = 0
|
15 |
buff_stack: int = 1
|
|
|
16 |
gain_skills: Dict[int, ATTR_DICT] = None
|
17 |
gain_attributes: ATTR_DICT = None
|
18 |
|
19 |
+
SNAPSHOT_ATTRS = ["attack_power", "critical_strike", "critical_power", "strain", "damage_addition"]
|
20 |
+
|
21 |
def __post_init__(self):
|
22 |
if self.gain_skills is None:
|
23 |
self.gain_skills = {}
|
|
|
28 |
def display_name(self):
|
29 |
return f"{self.buff_name}/{self.buff_id}-{self.buff_level}-{self.buff_stack}"
|
30 |
|
31 |
+
def add(self, attribute: Attribute, skill: Skill, snapshot=None):
|
32 |
+
if snapshot is None:
|
33 |
+
self.add_all(attribute, skill)
|
34 |
+
elif snapshot:
|
35 |
+
self.add_snapshot(attribute, skill)
|
36 |
else:
|
37 |
+
self.add_current(attribute, skill)
|
38 |
+
|
39 |
+
def add_all(self, attribute: Attribute, skill: Skill):
|
40 |
+
for attr, value in self.gain_attributes.items():
|
41 |
+
setattr(attribute, attr, getattr(attribute, attr) + value * self.buff_stack)
|
42 |
+
for attr, value in self.gain_skills.get(skill.skill_id, {}).items():
|
43 |
+
setattr(skill, attr, getattr(skill, attr) + value * self.buff_stack)
|
44 |
+
|
45 |
+
def add_snapshot(self, attribute: Attribute, skill: Skill):
|
46 |
+
for attr, value in self.gain_attributes.items():
|
47 |
+
if all(snapshot_attr not in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
48 |
+
continue
|
49 |
+
setattr(attribute, attr, getattr(attribute, attr) + value * self.buff_stack)
|
50 |
+
for attr, value in self.gain_skills.get(skill.skill_id, {}).items():
|
51 |
+
if all(snapshot_attr not in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
52 |
+
continue
|
53 |
+
if isinstance(value, list):
|
54 |
+
setattr(skill, attr, value)
|
55 |
+
else:
|
56 |
+
setattr(skill, attr, getattr(skill, attr) + value * self.buff_stack)
|
57 |
+
|
58 |
+
def add_current(self, attribute: Attribute, skill: Skill):
|
59 |
+
for attr, value in self.gain_attributes.items():
|
60 |
+
if any(snapshot_attr in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
61 |
+
continue
|
62 |
+
setattr(attribute, attr, getattr(attribute, attr) + value * self.buff_stack)
|
63 |
+
for attr, value in self.gain_skills.get(skill.skill_id, {}).items():
|
64 |
+
if any(snapshot_attr in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
65 |
+
continue
|
66 |
+
if isinstance(value, list):
|
67 |
+
setattr(skill, attr, value)
|
68 |
+
else:
|
69 |
+
setattr(skill, attr, getattr(skill, attr) + value * self.buff_stack)
|
70 |
+
|
71 |
+
def sub(self, attribute: Attribute, skill: Skill, snapshot=None):
|
72 |
+
if snapshot is None:
|
73 |
+
self.sub_all(attribute, skill)
|
74 |
+
elif snapshot:
|
75 |
+
self.sub_snapshot(attribute, skill)
|
76 |
else:
|
77 |
+
self.sub_current(attribute, skill)
|
78 |
+
|
79 |
+
def sub_all(self, attribute: Attribute, skill: Skill):
|
80 |
+
for attr, value in self.gain_attributes.items():
|
81 |
+
setattr(attribute, attr, getattr(attribute, attr) - value * self.buff_stack)
|
82 |
+
for attr, value in self.gain_skills.get(skill.skill_id, {}).items():
|
83 |
+
if isinstance(value, list):
|
84 |
+
setattr(skill, attr, value)
|
85 |
+
else:
|
86 |
+
setattr(skill, attr, getattr(skill, attr) - value * self.buff_stack)
|
87 |
+
|
88 |
+
def sub_snapshot(self, attribute: Attribute, skill: Skill):
|
89 |
+
for attr, value in self.gain_attributes.items():
|
90 |
+
if all(snapshot_attr not in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
91 |
+
continue
|
92 |
+
setattr(attribute, attr, getattr(attribute, attr) - value * self.buff_stack)
|
93 |
+
for attr, value in self.gain_skills.get(skill.skill_id, {}).items():
|
94 |
+
if all(snapshot_attr not in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
95 |
+
continue
|
96 |
+
if isinstance(value, list):
|
97 |
+
setattr(skill, attr, value)
|
98 |
+
else:
|
99 |
+
setattr(skill, attr, getattr(skill, attr) - value * self.buff_stack)
|
100 |
+
|
101 |
+
def sub_current(self, attribute: Attribute, skill: Skill):
|
102 |
+
for attr, value in self.gain_attributes.items():
|
103 |
+
if any(snapshot_attr in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
104 |
+
continue
|
105 |
+
setattr(attribute, attr, getattr(attribute, attr) - value * self.buff_stack)
|
106 |
+
for attr, value in self.gain_skills.get(skill.skill_id, {}).items():
|
107 |
+
if any(snapshot_attr in attr for snapshot_attr in self.SNAPSHOT_ATTRS):
|
108 |
+
continue
|
109 |
+
if isinstance(value, list):
|
110 |
+
setattr(skill, attr, value)
|
111 |
+
else:
|
112 |
+
setattr(skill, attr, getattr(skill, attr) - value * self.buff_stack)
|
base/skill.py
CHANGED
@@ -11,7 +11,12 @@ class Skill:
|
|
11 |
skill_id: int
|
12 |
skill_name: str
|
13 |
skill_level: int = 0
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
15 |
_damage_base: Union[List[int], int] = 0
|
16 |
_damage_rand: Union[List[int], int] = 0
|
17 |
|
@@ -33,7 +38,7 @@ class Skill:
|
|
33 |
|
34 |
@property
|
35 |
def display_name(self):
|
36 |
-
return f"{self.skill_name}/{self.skill_id}-{self.skill_level}"
|
37 |
|
38 |
@property
|
39 |
def damage_base(self):
|
@@ -119,7 +124,7 @@ class Skill:
|
|
119 |
self.attack_power_cof, self.attack_power_cof_gain, attribute.attack_power,
|
120 |
self.weapon_damage_cof, self.weapon_damage_cof_gain, attribute.weapon_damage,
|
121 |
self.surplus_cof, self.surplus_cof_gain, attribute.surplus
|
122 |
-
)
|
123 |
|
124 |
damage = damage_addition_result(damage, attribute.damage_addition + self.skill_damage_addition)
|
125 |
damage = overcome_result(damage, attribute.overcome,
|
@@ -143,8 +148,8 @@ class Skill:
|
|
143 |
expected_damage = critical_strike * critical_damage + (1 - critical_strike) * damage
|
144 |
|
145 |
return damage, critical_strike, critical_damage, expected_damage
|
146 |
-
|
147 |
-
|
148 |
class PhysicalDamage(Skill):
|
149 |
@property
|
150 |
def attack_power_cof(self):
|
@@ -161,7 +166,11 @@ class MagicalDamage(Skill):
|
|
161 |
return MAGICAL_ATTACK_POWER_COF(super().attack_power_cof + self.interval)
|
162 |
|
163 |
|
164 |
-
class
|
|
|
|
|
|
|
|
|
165 |
@property
|
166 |
def attack_power_cof(self):
|
167 |
return PHYSICAL_DOT_ATTACK_POWER_COF(super().attack_power_cof, self.interval)
|
@@ -171,7 +180,7 @@ class PhysicalDotDamage(Skill):
|
|
171 |
self._attack_power_cof = attack_power_cof
|
172 |
|
173 |
|
174 |
-
class MagicalDotDamage(
|
175 |
@property
|
176 |
def attack_power_cof(self):
|
177 |
return MAGICAL_DOT_ATTACK_POWER_COF(super().attack_power_cof, self.interval)
|
|
|
11 |
skill_id: int
|
12 |
skill_name: str
|
13 |
skill_level: int = 0
|
14 |
+
skill_stack: int = 1
|
15 |
+
|
16 |
+
bind_skill: int = None
|
17 |
+
max_stack: int = 1
|
18 |
+
tick: int = 1
|
19 |
+
|
20 |
_damage_base: Union[List[int], int] = 0
|
21 |
_damage_rand: Union[List[int], int] = 0
|
22 |
|
|
|
38 |
|
39 |
@property
|
40 |
def display_name(self):
|
41 |
+
return f"{self.skill_name}/{self.skill_id}-{self.skill_level}-{self.skill_stack}"
|
42 |
|
43 |
@property
|
44 |
def damage_base(self):
|
|
|
124 |
self.attack_power_cof, self.attack_power_cof_gain, attribute.attack_power,
|
125 |
self.weapon_damage_cof, self.weapon_damage_cof_gain, attribute.weapon_damage,
|
126 |
self.surplus_cof, self.surplus_cof_gain, attribute.surplus
|
127 |
+
) * self.skill_stack
|
128 |
|
129 |
damage = damage_addition_result(damage, attribute.damage_addition + self.skill_damage_addition)
|
130 |
damage = overcome_result(damage, attribute.overcome,
|
|
|
148 |
expected_damage = critical_strike * critical_damage + (1 - critical_strike) * damage
|
149 |
|
150 |
return damage, critical_strike, critical_damage, expected_damage
|
151 |
+
|
152 |
+
|
153 |
class PhysicalDamage(Skill):
|
154 |
@property
|
155 |
def attack_power_cof(self):
|
|
|
166 |
return MAGICAL_ATTACK_POWER_COF(super().attack_power_cof + self.interval)
|
167 |
|
168 |
|
169 |
+
class DotDamage(Skill):
|
170 |
+
interval: int = 0
|
171 |
+
|
172 |
+
|
173 |
+
class PhysicalDotDamage(DotDamage):
|
174 |
@property
|
175 |
def attack_power_cof(self):
|
176 |
return PHYSICAL_DOT_ATTACK_POWER_COF(super().attack_power_cof, self.interval)
|
|
|
180 |
self._attack_power_cof = attack_power_cof
|
181 |
|
182 |
|
183 |
+
class MagicalDotDamage(DotDamage):
|
184 |
@property
|
185 |
def attack_power_cof(self):
|
186 |
return MAGICAL_DOT_ATTACK_POWER_COF(super().attack_power_cof, self.interval)
|
general/buffs.py
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from base.buff import Buff
|
2 |
+
|
3 |
+
GENERAL_BUFFS = {
|
4 |
+
15455: {
|
5 |
+
"buff_name": "输出伤害波动",
|
6 |
+
"gain_attributes": {
|
7 |
+
"all_damage_addition": [10, 51]
|
8 |
+
}
|
9 |
+
},
|
10 |
+
}
|
11 |
+
|
12 |
+
for buff_id, detail in GENERAL_BUFFS.items():
|
13 |
+
GENERAL_BUFFS[buff_id] = Buff(buff_id, detail.pop("buff_name"))
|
14 |
+
for attr, value in detail.items():
|
15 |
+
setattr(GENERAL_BUFFS[buff_id], attr, value)
|
general/gains/equipment.py
CHANGED
@@ -173,7 +173,5 @@ EQUIPMENT_GAINS: Dict[Union[Tuple[int, int], int], Gain] = {
|
|
173 |
for i in range(12)
|
174 |
},
|
175 |
22169: BeltSpecialEnchant(),
|
176 |
-
22166: Gain(),
|
177 |
-
33247: Gain(),
|
178 |
|
179 |
}
|
|
|
173 |
for i in range(12)
|
174 |
},
|
175 |
22169: BeltSpecialEnchant(),
|
|
|
|
|
176 |
|
177 |
}
|
general/skills.py
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Dict
|
2 |
+
|
3 |
+
from base.skill import PhysicalDamage, Skill
|
4 |
+
|
5 |
+
GENERAL_SKILLS: Dict[int, Skill | dict] = {
|
6 |
+
22160: {
|
7 |
+
"skill_class": PhysicalDamage,
|
8 |
+
"skill_name": "昆吾·弦刃",
|
9 |
+
"damage_base": 40,
|
10 |
+
"damage_rand": 17,
|
11 |
+
"attack_power_cof": 75
|
12 |
+
},
|
13 |
+
33257: {
|
14 |
+
"skill_class": PhysicalDamage,
|
15 |
+
"skill_name": "刃凌",
|
16 |
+
"damage_base": 40,
|
17 |
+
"damage_rand": 17,
|
18 |
+
"attack_power_cof": [60, 100, 60, 100, 100]
|
19 |
+
},
|
20 |
+
}
|
21 |
+
|
22 |
+
for skill_id, detail in GENERAL_SKILLS.items():
|
23 |
+
GENERAL_SKILLS[skill_id] = detail.pop('skill_class')(skill_id, detail.pop('skill_name'))
|
24 |
+
for attr, value in detail.items():
|
25 |
+
setattr(GENERAL_SKILLS[skill_id], attr, value)
|
get_assets.py
CHANGED
@@ -9,7 +9,7 @@ from qt.constant import MAX_BASE_ATTR, MAX_MAGIC_ATTR, MAX_EMBED_ATTR, MAX_ENCHA
|
|
9 |
from qt.constant import ATTR_TYPE_MAP, ATTR_TYPE_TRANSLATE
|
10 |
from qt.constant import MAX_STONE_ATTR, STONE_ATTR, MAX_STONE_LEVEL
|
11 |
from qt.constant import EQUIPMENTS_DIR, ENCHANTS_DIR, STONES_DIR
|
12 |
-
from
|
13 |
|
14 |
KINDS = set(sum([[school.kind, school.major] for school in SUPPORT_SCHOOL.values()], []))
|
15 |
SCHOOLS = set(["精简", "通用"] + [school.school for school in SUPPORT_SCHOOL.values()])
|
@@ -60,16 +60,7 @@ SPECIAL_ENCHANT_MAP = {
|
|
60 |
12800: [22151, 11],
|
61 |
11500: [22151, 10],
|
62 |
10600: [22151, 9]
|
63 |
-
}
|
64 |
-
6: {
|
65 |
-
0: 22169
|
66 |
-
},
|
67 |
-
10: {
|
68 |
-
0: 22166
|
69 |
-
},
|
70 |
-
9: {
|
71 |
-
0: 33247
|
72 |
-
},
|
73 |
}
|
74 |
|
75 |
equip_min_level = 11000
|
|
|
9 |
from qt.constant import ATTR_TYPE_MAP, ATTR_TYPE_TRANSLATE
|
10 |
from qt.constant import MAX_STONE_ATTR, STONE_ATTR, MAX_STONE_LEVEL
|
11 |
from qt.constant import EQUIPMENTS_DIR, ENCHANTS_DIR, STONES_DIR
|
12 |
+
from utils.parser import SUPPORT_SCHOOL
|
13 |
|
14 |
KINDS = set(sum([[school.kind, school.major] for school in SUPPORT_SCHOOL.values()], []))
|
15 |
SCHOOLS = set(["精简", "通用"] + [school.school for school in SUPPORT_SCHOOL.values()])
|
|
|
60 |
12800: [22151, 11],
|
61 |
11500: [22151, 10],
|
62 |
10600: [22151, 9]
|
63 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
equip_min_level = 11000
|
qt/assets/equipments/belt
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"风烈腰带 (会心 破招) 14150": {"school": "通用", "kind": "力道", "level": 14150, "max_strength": 6, "base": {}, "magic": {"strength_base": 692, "physical_attack_power_base": 1122, "physical_critical_strike_base": 3470, "surplus": 3085}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": "191981", "set_attr": {"2": {"all_critical_strike_base": 1363}, "4": {"strain_base": 1363}}, "set_gain": {}}, "泉潺腰带 (会心 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "surplus": 3041}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "余弦束腰 (破招 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2000, "surplus": 4277, "strain_base": 4277}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "暮舞束腰 (破防 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2382, "physical_overcome_base": 3611, "strain_base": 3991}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "叙尧腰带 (无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2893, "strain_base": 6748}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "疏绫腰带 (会心 破招 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "surplus": 2091, "physical_critical_strike_base": 3611, "strain_base": 2091}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "忆檀腰带 (破防 破招) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "surplus": 3801, "physical_overcome_base": 3991}, "embed": {"physical_critical_strike_base": 161, "surplus": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "岳圭腰带 (会心) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2893, "physical_critical_strike_base": 6748}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦带 (加速 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "haste_base": 3421, "surplus": 3041}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行腰带 (破防 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_overcome_base": 3421, "strain_base": 3041}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "灵源·折霜腰带 (会心 无双) 13750": {"school": "霸刀", "kind": "外功", "level": 13750, "max_strength": 6, "base": {}, "magic": {"strength_base": 672, "physical_attack_power_base": 1090, "physical_critical_strike_base": 3372, "strain_base": 2998}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": "191841", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "静山腰带 (破防 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_overcome_base": 3090, "surplus": 2747}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "雪舞腰带 (会心 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_critical_strike_base": 3090, "surplus": 2747}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": "190855", "set_attr": {"2": {"all_critical_strike_base": 1215}, "4": {"strain_base": 1215}}, "set_gain": {}}, "西风北啸·砾漠腰带 (破防 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "surplus": 2714}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静腰带 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "泽及腰带 (破防 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "physical_overcome_base": 3223, "strain_base": 3562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "沧鳞腰带 (会心 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1823, "physical_critical_strike_base": 2205, "strain_base": 5428}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "聚远腰带 (破防 破招) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "surplus": 3562, "physical_overcome_base": 3223}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "束缊腰带 (无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2582, "strain_base": 5683}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃带 (加速 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "haste_base": 3053, "surplus": 2714}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿腰带 (破防 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "strain_base": 2714}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "傲寒御厨腰带·刀功 (会心 破招) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "surplus": 2681}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "寻踪觅宝·惊风腰带 (加速 破招) 12300": {"school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "haste_base": 3017, "surplus": 2681}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": "191815", "set_attr": {}, "set_gain": {"4": [1194]}}, "濯心·冲霄腰带 (会心 无双) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "strain_base": 2681}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": "190671", "set_attr": {}, "set_gain": {"2": [4290, 4291], "4": [1925]}}, "静山腰带 (破防 破招) 11900": {"school": "通用", "kind": "力道", "level": 11900, "max_strength": 6, "base": {}, "magic": {"strength_base": 582, "physical_attack_power_base": 944, "physical_overcome_base": 2919, "surplus": 2594}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "静山腰带 (破防 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_overcome_base": 2771, "surplus": 2463}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "暮祁腰带 (会心 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_critical_strike_base": 2771, "surplus": 2463}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": "190552", "set_attr": {"2": {"all_critical_strike_base": 1090}, "4": {"strain_base": 1090}}, "set_gain": {}}, "静山腰带 (破防 破招) 11200": {"school": "通用", "kind": "力道", "level": 11200, "max_strength": 6, "base": {}, "magic": {"strength_base": 547, "physical_attack_power_base": 888, "physical_overcome_base": 2747, "surplus": 2442}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "感素腰带 (破防 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_overcome_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "澜涛腰带 (会心 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_critical_strike_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "嘉鱼腰带 (破防 破招) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1904, "surplus": 2886, "physical_overcome_base": 2886}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "平陵腰带 (无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2312, "strain_base": 4786}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "烟梦腰带 (加速 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "haste_base": 2735, "surplus": 2431}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "旋山带 (破防 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2735, "strain_base": 2431}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "湘灿腰带 (会心 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "surplus": 2431}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "临岳腰带 (破防 无双) 11100": {"school": "通用", "kind": "力道", "level": 11100, "max_strength": 6, "base": {}, "magic": {"strength_base": 543, "physical_attack_power_base": 880, "physical_overcome_base": 2722, "strain_base": 2420}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "风销残烟·承平腰带 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·盼归腰带 (加速 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "surplus": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": "190645", "set_attr": {}, "set_gain": {"4": [1194]}}, "揽江·烬然腰带 (会心 无双) 11000": {"school": "霸刀", "kind": "外功", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": "190537", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "拭江腰带 (加速 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "surplus": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦腰带 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双腰带 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22169, "set_id": null, "set_attr": {}, "set_gain": {}}}
|
|
|
1 |
+
{"风烈腰带 (会心 破招) 14150": {"school": "通用", "kind": "力道", "level": 14150, "max_strength": 6, "base": {}, "magic": {"strength_base": 692, "physical_attack_power_base": 1122, "physical_critical_strike_base": 3470, "surplus": 3085}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "191981", "set_attr": {"2": {"all_critical_strike_base": 1363}, "4": {"strain_base": 1363}}, "set_gain": {}}, "泉潺腰带 (会心 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "surplus": 3041}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "余弦束腰 (破招 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2000, "surplus": 4277, "strain_base": 4277}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮舞束腰 (破防 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2382, "physical_overcome_base": 3611, "strain_base": 3991}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "叙尧腰带 (无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2893, "strain_base": 6748}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "疏绫腰带 (会心 破招 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "surplus": 2091, "physical_critical_strike_base": 3611, "strain_base": 2091}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆檀腰带 (破防 破招) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "surplus": 3801, "physical_overcome_base": 3991}, "embed": {"physical_critical_strike_base": 161, "surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "岳圭腰带 (会心) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2893, "physical_critical_strike_base": 6748}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦带 (加速 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "haste_base": 3421, "surplus": 3041}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行腰带 (破防 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_overcome_base": 3421, "strain_base": 3041}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "灵源·折霜腰带 (会心 无双) 13750": {"school": "霸刀", "kind": "外功", "level": 13750, "max_strength": 6, "base": {}, "magic": {"strength_base": 672, "physical_attack_power_base": 1090, "physical_critical_strike_base": 3372, "strain_base": 2998}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "191841", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "静山腰带 (破防 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_overcome_base": 3090, "surplus": 2747}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "雪舞腰带 (会心 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_critical_strike_base": 3090, "surplus": 2747}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "190855", "set_attr": {"2": {"all_critical_strike_base": 1215}, "4": {"strain_base": 1215}}, "set_gain": {}}, "西风北啸·砾漠腰带 (破防 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "surplus": 2714}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静腰带 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "泽及腰带 (破防 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "physical_overcome_base": 3223, "strain_base": 3562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "沧鳞腰带 (会心 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1823, "physical_critical_strike_base": 2205, "strain_base": 5428}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "聚远腰带 (破防 破招) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "surplus": 3562, "physical_overcome_base": 3223}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "束缊腰带 (无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2582, "strain_base": 5683}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃带 (加速 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "haste_base": 3053, "surplus": 2714}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿腰带 (破防 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "strain_base": 2714}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "傲寒御厨腰带·刀功 (会心 破招) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "surplus": 2681}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "寻踪觅宝·惊风腰带 (加速 破招) 12300": {"school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "haste_base": 3017, "surplus": 2681}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "191815", "set_attr": {}, "set_gain": {"4": [1194]}}, "濯心·冲霄腰带 (会心 无双) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "strain_base": 2681}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "190671", "set_attr": {}, "set_gain": {"2": [4290, 4291], "4": [1925]}}, "静山腰带 (破防 破招) 11900": {"school": "通用", "kind": "力道", "level": 11900, "max_strength": 6, "base": {}, "magic": {"strength_base": 582, "physical_attack_power_base": 944, "physical_overcome_base": 2919, "surplus": 2594}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "静山腰带 (破防 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_overcome_base": 2771, "surplus": 2463}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮祁腰带 (会心 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_critical_strike_base": 2771, "surplus": 2463}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "190552", "set_attr": {"2": {"all_critical_strike_base": 1090}, "4": {"strain_base": 1090}}, "set_gain": {}}, "静山腰带 (破防 破招) 11200": {"school": "通用", "kind": "力道", "level": 11200, "max_strength": 6, "base": {}, "magic": {"strength_base": 547, "physical_attack_power_base": 888, "physical_overcome_base": 2747, "surplus": 2442}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "感素腰带 (破防 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_overcome_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "澜涛腰带 (会心 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_critical_strike_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "嘉鱼腰带 (破防 破招) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1904, "surplus": 2886, "physical_overcome_base": 2886}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "平陵腰带 (无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2312, "strain_base": 4786}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "烟梦腰带 (加速 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "haste_base": 2735, "surplus": 2431}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "旋山带 (破防 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2735, "strain_base": 2431}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湘灿腰带 (会心 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "surplus": 2431}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临岳腰带 (破防 无双) 11100": {"school": "通用", "kind": "力道", "level": 11100, "max_strength": 6, "base": {}, "magic": {"strength_base": 543, "physical_attack_power_base": 880, "physical_overcome_base": 2722, "strain_base": 2420}, "embed": {"strain_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风销残烟·承平腰带 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·盼归腰带 (加速 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "surplus": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "190645", "set_attr": {}, "set_gain": {"4": [1194]}}, "揽江·烬然腰带 (会心 无双) 11000": {"school": "霸刀", "kind": "外功", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "190537", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "拭江腰带 (加速 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "surplus": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦腰带 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双腰带 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}}
|
qt/assets/equipments/shoes
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"风烈靴 (破防 破招) 14150": {"school": "通用", "kind": "力道", "level": 14150, "max_strength": 6, "base": {}, "magic": {"strength_base": 692, "physical_attack_power_base": 1122, "physical_overcome_base": 3470, "surplus": 3085}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "191981", "set_attr": {"2": {"all_critical_strike_base": 1363}, "4": {"strain_base": 1363}}, "set_gain": {}}, "泉潺靴 (会心 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "surplus": 3041}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦靴 (会心 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "strain_base": 3041}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行靴 (加速 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "haste_base": 3421, "surplus": 3041}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "灵源·折霜靴 (破防 无双) 13750": {"school": "霸刀", "kind": "外功", "level": 13750, "max_strength": 6, "base": {}, "magic": {"strength_base": 672, "physical_attack_power_base": 1090, "physical_overcome_base": 3372, "strain_base": 2998}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "191841", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "外功无封鞋 (会心 会效 无双) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "physical_critical_strike_base": 3508, "physical_critical_power_base": 1846, "strain_base": 2031}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破招 无双) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "surplus": 3785, "strain_base": 3785}, "embed": {"physical_critical_strike_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2810, "physical_overcome_base": 6554}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (会心 破招 无双) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "surplus": 1918, "physical_critical_strike_base": 3314, "strain_base": 1918}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防 无双) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "physical_overcome_base": 3488, "strain_base": 3662}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (无双) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2655, "strain_base": 6191}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "雪舞靴 (破防 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_overcome_base": 3090, "surplus": 2747}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "190855", "set_attr": {"2": {"all_critical_strike_base": 1215}, "4": {"strain_base": 1215}}, "set_gain": {}}, "西风北啸·砾漠靴 (会心 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "strain_base": 2714}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静靴 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃靴 (会心 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "strain_base": 2714}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿靴 (加速 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "haste_base": 3053, "surplus": 2714}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·惊风靴 (会心 无双) 12300": {"school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "strain_base": 2681}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "191815", "set_attr": {}, "set_gain": {"4": [1194]}}, "濯心·冲霄靴 (破防 无双) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_overcome_base": 3017, "strain_base": 2681}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "190671", "set_attr": {}, "set_gain": {"2": [4290, 4291], "4": [1925]}}, "外功无封鞋 (破防 破招 无双) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "surplus": 2308, "physical_overcome_base": 2803, "strain_base": 1649}, "embed": {"physical_critical_strike_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防 会心) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "physical_critical_strike_base": 3380, "physical_overcome_base": 3380}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (会心) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2509, "physical_critical_strike_base": 5853}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "虚音靴 (破防 无双) 11800": {"school": "通用", "kind": "力道", "level": 11800, "max_strength": 6, "base": {}, "magic": {"strength_base": 577, "physical_attack_power_base": 936, "physical_overcome_base": 2894, "strain_base": 2572}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (会心 会效 无双) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "physical_critical_strike_base": 2977, "physical_critical_power_base": 1567, "strain_base": 1724}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破招 无双) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "surplus": 3212, "strain_base": 3212}, "embed": {"physical_critical_strike_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2385, "physical_overcome_base": 5562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "暮祁靴 (破防 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_overcome_base": 2771, "surplus": 2463}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "190552", "set_attr": {"2": {"all_critical_strike_base": 1090}, "4": {"strain_base": 1090}}, "set_gain": {}}, "烟梦靴 (会心 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "strain_base": 2431}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "旋山靴 (加速 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "haste_base": 2735, "surplus": 2431}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "湘灿靴 (会心 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "surplus": 2431}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "临晨鞋 (会心 破招) 11100": {"school": "通用", "kind": "力道", "level": 11100, "max_strength": 6, "base": {}, "magic": {"strength_base": 543, "physical_attack_power_base": 880, "physical_critical_strike_base": 2722, "surplus": 2420}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "风销残烟·承平靴 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·盼归靴 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "190645", "set_attr": {}, "set_gain": {"4": [1194]}}, "揽江·烬然靴 (破防 无双) 11000": {"school": "霸刀", "kind": "外功", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "strain_base": 2398}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 33247, "set_id": "190537", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "拭江靴 (加速 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "strain_base": 2398}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌靴 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦靴 (加速 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "surplus": 2398}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}, "忆敬履 (会心 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "surplus": 2398}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 33247, "set_id": null, "set_attr": {}, "set_gain": {}}}
|
|
|
1 |
+
{"风烈靴 (破防 破招) 14150": {"school": "通用", "kind": "力道", "level": 14150, "max_strength": 6, "base": {}, "magic": {"strength_base": 692, "physical_attack_power_base": 1122, "physical_overcome_base": 3470, "surplus": 3085}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "191981", "set_attr": {"2": {"all_critical_strike_base": 1363}, "4": {"strain_base": 1363}}, "set_gain": {}}, "泉潺靴 (会心 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "surplus": 3041}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦靴 (会心 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "strain_base": 3041}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行靴 (加速 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "haste_base": 3421, "surplus": 3041}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "灵源·折霜靴 (破防 无双) 13750": {"school": "霸刀", "kind": "外功", "level": 13750, "max_strength": 6, "base": {}, "magic": {"strength_base": 672, "physical_attack_power_base": 1090, "physical_overcome_base": 3372, "strain_base": 2998}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "191841", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "外功无封鞋 (会心 会效 无双) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "physical_critical_strike_base": 3508, "physical_critical_power_base": 1846, "strain_base": 2031}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破招 无双) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "surplus": 3785, "strain_base": 3785}, "embed": {"physical_critical_strike_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2810, "physical_overcome_base": 6554}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (会心 破招 无双) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "surplus": 1918, "physical_critical_strike_base": 3314, "strain_base": 1918}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防 无双) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "physical_overcome_base": 3488, "strain_base": 3662}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (无双) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2655, "strain_base": 6191}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "雪舞靴 (破防 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_overcome_base": 3090, "surplus": 2747}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "190855", "set_attr": {"2": {"all_critical_strike_base": 1215}, "4": {"strain_base": 1215}}, "set_gain": {}}, "西风北啸·砾漠靴 (会心 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "strain_base": 2714}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静靴 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃靴 (会心 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "strain_base": 2714}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿靴 (加速 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "haste_base": 3053, "surplus": 2714}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·惊风靴 (会心 无双) 12300": {"school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "strain_base": 2681}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": "191815", "set_attr": {}, "set_gain": {"4": [1194]}}, "濯心·冲霄靴 (破防 无双) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_overcome_base": 3017, "strain_base": 2681}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "190671", "set_attr": {}, "set_gain": {"2": [4290, 4291], "4": [1925]}}, "外功无封鞋 (破防 破招 无双) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "surplus": 2308, "physical_overcome_base": 2803, "strain_base": 1649}, "embed": {"physical_critical_strike_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防 会心) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "physical_critical_strike_base": 3380, "physical_overcome_base": 3380}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (会心) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2509, "physical_critical_strike_base": 5853}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "虚音靴 (破防 无双) 11800": {"school": "通用", "kind": "力道", "level": 11800, "max_strength": 6, "base": {}, "magic": {"strength_base": 577, "physical_attack_power_base": 936, "physical_overcome_base": 2894, "strain_base": 2572}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (会心 会效 无双) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "physical_critical_strike_base": 2977, "physical_critical_power_base": 1567, "strain_base": 1724}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破招 无双) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "surplus": 3212, "strain_base": 3212}, "embed": {"physical_critical_strike_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封鞋 (破防) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2385, "physical_overcome_base": 5562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮祁靴 (破防 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_overcome_base": 2771, "surplus": 2463}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": "190552", "set_attr": {"2": {"all_critical_strike_base": 1090}, "4": {"strain_base": 1090}}, "set_gain": {}}, "烟梦靴 (会心 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "strain_base": 2431}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "旋山靴 (加速 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "haste_base": 2735, "surplus": 2431}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湘灿靴 (会心 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "surplus": 2431}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临晨鞋 (会心 破招) 11100": {"school": "通用", "kind": "力道", "level": 11100, "max_strength": 6, "base": {}, "magic": {"strength_base": 543, "physical_attack_power_base": 880, "physical_critical_strike_base": 2722, "surplus": 2420}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风销残烟·承平靴 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·盼归靴 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"strength_base": 36, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": "190645", "set_attr": {}, "set_gain": {"4": [1194]}}, "揽江·烬然靴 (破防 无双) 11000": {"school": "霸刀", "kind": "外功", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "strain_base": 2398}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "190537", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "拭江靴 (加速 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "strain_base": 2398}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌靴 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦靴 (加速 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "surplus": 2398}, "embed": {"physical_attack_power_base": 72, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆敬履 (会心 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "surplus": 2398}, "embed": {"surplus": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}}
|
qt/assets/equipments/wrist
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"风烈袖 (破防 破招) 14150": {"school": "通用", "kind": "力道", "level": 14150, "max_strength": 6, "base": {}, "magic": {"strength_base": 692, "physical_attack_power_base": 1122, "physical_overcome_base": 3470, "surplus": 3085}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": "191981", "set_attr": {"2": {"all_critical_strike_base": 1363}, "4": {"strain_base": 1363}}, "set_gain": {}}, "泉潺护手 (会心 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "surplus": 3041}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·听钟护手 (破防 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_overcome_base": 3421, "surplus": 3041}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "流晖护臂 (破防 破招) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2382, "surplus": 3991, "physical_overcome_base": 3611}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "星风护臂 (无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2893, "strain_base": 6367}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "灭影护腕 (破防 会心 破招) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2723, "surplus": 2281, "physical_overcome_base": 2471, "physical_critical_strike_base": 2471}, "embed": {"physical_critical_power_base": 161, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "逸遥护腕 (破防 会心 会效) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "physical_overcome_base": 2756, "physical_critical_strike_base": 2946, "physical_critical_power_base": 1901}, "embed": {"surplus": 161, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "道尘护腕 (破防 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "physical_overcome_base": 3801, "strain_base": 3991}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "暮峰护腕 (会心) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2893, "physical_critical_strike_base": 6748}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦护手 (破防 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_overcome_base": 3421, "strain_base": 3041}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行护手 (会心 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "strain_base": 3041}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "灵源·折霜护手 (会心 破招) 13750": {"school": "霸刀", "kind": "外功", "level": 13750, "max_strength": 6, "base": {}, "magic": {"strength_base": 672, "physical_attack_power_base": 1090, "physical_critical_strike_base": 3372, "surplus": 2998}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": "191841", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "外功无封护臂 (会心 会效 破招) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "surplus": 2031, "physical_critical_strike_base": 3508, "physical_critical_power_base": 1846}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心 会效) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "physical_critical_strike_base": 4616, "physical_critical_power_base": 2769}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2810, "physical_overcome_base": 6554}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防 会心 会效) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "physical_overcome_base": 2529, "physical_critical_strike_base": 2703, "physical_critical_power_base": 1744}, "embed": {"surplus": 161, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防 会心) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "physical_critical_strike_base": 3575, "physical_overcome_base": 3575}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2655, "physical_critical_strike_base": 6191}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "雪舞袖 (破防 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_overcome_base": 3090, "surplus": 2747}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": "190855", "set_attr": {"2": {"all_critical_strike_base": 1215}, "4": {"strain_base": 1215}}, "set_gain": {}}, "西风北啸·砾漠护手 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静护手 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·梦花护手 (破防 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "surplus": 2714}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "夙辰护腕 (破招) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2582, "surplus": 5683}, "embed": {"physical_critical_strike_base": 161, "surplus": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "零雨护腕 (会心 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1823, "physical_critical_strike_base": 2205, "strain_base": 5428}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "制野护腕 (破防 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "physical_overcome_base": 3223, "strain_base": 3562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "雨膏护腕 (破防 破招) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "surplus": 3562, "physical_overcome_base": 3223}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃护手 (破防 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "strain_base": 2714}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿护手 (会心 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "strain_base": 2714}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·惊风袖 (破防 破招) 12300": {"school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_overcome_base": 3017, "surplus": 2681}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": "191815", "set_attr": {}, "set_gain": {"4": [1194]}}, "濯心·冲霄护手 (会心 破招) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "surplus": 2681}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": "190671", "set_attr": {}, "set_gain": {"2": [4290, 4291], "4": [1925]}}, "外功无封护臂 (会心 会效 无双) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "physical_critical_strike_base": 3132, "physical_critical_power_base": 1649, "strain_base": 1814}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防 破招) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "surplus": 3297, "physical_overcome_base": 3462}, "embed": {"physical_critical_strike_base": 161, "surplus": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (无双) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2509, "strain_base": 5853}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "虚音袖 (会心 无双) 11800": {"school": "通用", "kind": "力道", "level": 11800, "max_strength": 6, "base": {}, "magic": {"strength_base": 577, "physical_attack_power_base": 936, "physical_critical_strike_base": 2894, "strain_base": 2572}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心 会效 破招) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "surplus": 1724, "physical_critical_strike_base": 2977, "physical_critical_power_base": 1567}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心 会效) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "physical_critical_strike_base": 3917, "physical_critical_power_base": 2350}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2385, "physical_overcome_base": 5562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "暮祁袖 (破防 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_overcome_base": 2771, "surplus": 2463}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": "190552", "set_attr": {"2": {"all_critical_strike_base": 1090}, "4": {"strain_base": 1090}}, "set_gain": {}}, "客行江湖·凶炽护手 (破防 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2735, "surplus": 2431}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "摇撼护腕 (破招 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "surplus": 1595, "strain_base": 4861}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "克尽护腕 (会心 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_critical_strike_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "山扉护腕 (破防 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_overcome_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "云章护腕 (破防 破招) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1904, "surplus": 2886, "physical_overcome_base": 2886}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "烟梦护手 (破防 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2735, "strain_base": 2431}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "旋山护手 (会心 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "strain_base": 2431}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "湘灿护手 (会心 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "surplus": 2431}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "临英护手 (会心 破招) 11100": {"school": "通用", "kind": "力道", "level": 11100, "max_strength": 6, "base": {}, "magic": {"strength_base": 543, "physical_attack_power_base": 880, "physical_critical_strike_base": 2722, "surplus": 2420}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "风销残烟·承平护手 (会心 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "surplus": 2398}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·盼归袖 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": "190645", "set_attr": {}, "set_gain": {"4": [1194]}}, "揽江·烬然护手 (会心 破招) 11000": {"school": "霸刀", "kind": "外功", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "surplus": 2398}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": "190537", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "拭江袖 (破防 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "strain_base": 2398}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌袖 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦护手 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双护手 (加速 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "strain_base": 2398}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": 22166, "set_id": null, "set_attr": {}, "set_gain": {}}}
|
|
|
1 |
+
{"风烈袖 (破防 破招) 14150": {"school": "通用", "kind": "力道", "level": 14150, "max_strength": 6, "base": {}, "magic": {"strength_base": 692, "physical_attack_power_base": 1122, "physical_overcome_base": 3470, "surplus": 3085}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "191981", "set_attr": {"2": {"all_critical_strike_base": 1363}, "4": {"strain_base": 1363}}, "set_gain": {}}, "泉潺护手 (会心 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "surplus": 3041}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·听钟护手 (破防 破招) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_overcome_base": 3421, "surplus": 3041}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "流晖护臂 (破防 破招) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2382, "surplus": 3991, "physical_overcome_base": 3611}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "星风护臂 (无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2893, "strain_base": 6367}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "灭影护腕 (破防 会心 破招) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2723, "surplus": 2281, "physical_overcome_base": 2471, "physical_critical_strike_base": 2471}, "embed": {"physical_critical_power_base": 161, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "逸遥护腕 (破防 会心 会效) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "physical_overcome_base": 2756, "physical_critical_strike_base": 2946, "physical_critical_power_base": 1901}, "embed": {"surplus": 161, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "道尘护腕 (破防 无双) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2468, "physical_overcome_base": 3801, "strain_base": 3991}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮峰护腕 (会心) 13950": {"school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2893, "physical_critical_strike_base": 6748}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦护手 (破防 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_overcome_base": 3421, "strain_base": 3041}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行护手 (会心 无双) 13950": {"school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 682, "physical_attack_power_base": 1106, "physical_critical_strike_base": 3421, "strain_base": 3041}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "灵源·折霜护手 (会心 破招) 13750": {"school": "霸刀", "kind": "外功", "level": 13750, "max_strength": 6, "base": {}, "magic": {"strength_base": 672, "physical_attack_power_base": 1090, "physical_critical_strike_base": 3372, "surplus": 2998}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "191841", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "外功无封护臂 (会心 会效 破招) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "surplus": 2031, "physical_critical_strike_base": 3508, "physical_critical_power_base": 1846}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心 会效) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2397, "physical_critical_strike_base": 4616, "physical_critical_power_base": 2769}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防) 13550": {"school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2810, "physical_overcome_base": 6554}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防 会心 会效) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "physical_overcome_base": 2529, "physical_critical_strike_base": 2703, "physical_critical_power_base": 1744}, "embed": {"surplus": 161, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防 会心) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2264, "physical_critical_strike_base": 3575, "physical_overcome_base": 3575}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心) 12800": {"school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2655, "physical_critical_strike_base": 6191}, "embed": {"physical_critical_power_base": 161, "physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "雪舞袖 (破防 破招) 12600": {"school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 616, "physical_attack_power_base": 999, "physical_overcome_base": 3090, "surplus": 2747}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "190855", "set_attr": {"2": {"all_critical_strike_base": 1215}, "4": {"strain_base": 1215}}, "set_gain": {}}, "西风北啸·砾漠护手 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静护手 (会心 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "surplus": 2714}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·梦花护手 (破防 破招) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "surplus": 2714}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "夙辰护腕 (破招) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2582, "surplus": 5683}, "embed": {"physical_critical_strike_base": 161, "surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "零雨护腕 (会心 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1823, "physical_critical_strike_base": 2205, "strain_base": 5428}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "制野护腕 (破防 无双) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "physical_overcome_base": 3223, "strain_base": 3562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "雨膏护腕 (破防 破招) 12450": {"school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 2126, "surplus": 3562, "physical_overcome_base": 3223}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃护手 (破防 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_overcome_base": 3053, "strain_base": 2714}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿护手 (会心 无双) 12450": {"school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 609, "physical_attack_power_base": 987, "physical_critical_strike_base": 3053, "strain_base": 2714}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·惊风袖 (破防 破招) 12300": {"school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_overcome_base": 3017, "surplus": 2681}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "191815", "set_attr": {}, "set_gain": {"4": [1194]}}, "濯心·冲霄护手 (会心 破招) 12300": {"school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 601, "physical_attack_power_base": 975, "physical_critical_strike_base": 3017, "surplus": 2681}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "190671", "set_attr": {}, "set_gain": {"2": [4290, 4291], "4": [1925]}}, "外功无封护臂 (会心 会效 无双) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "physical_critical_strike_base": 3132, "physical_critical_power_base": 1649, "strain_base": 1814}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防 破招) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2140, "surplus": 3297, "physical_overcome_base": 3462}, "embed": {"physical_critical_strike_base": 161, "surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (无双) 12100": {"school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2509, "strain_base": 5853}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "虚音袖 (会心 无双) 11800": {"school": "通用", "kind": "力道", "level": 11800, "max_strength": 6, "base": {}, "magic": {"strength_base": 577, "physical_attack_power_base": 936, "physical_critical_strike_base": 2894, "strain_base": 2572}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心 会效 破招) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "surplus": 1724, "physical_critical_strike_base": 2977, "physical_critical_power_base": 1567}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (会心 会效) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2034, "physical_critical_strike_base": 3917, "physical_critical_power_base": 2350}, "embed": {"physical_overcome_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封护臂 (破防) 11500": {"school": "精简", "kind": "外功", "level": 11500, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2385, "physical_overcome_base": 5562}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮祁袖 (破防 破招) 11300": {"school": "通用", "kind": "力道", "level": 11300, "max_strength": 6, "base": {}, "magic": {"strength_base": 552, "physical_attack_power_base": 896, "physical_overcome_base": 2771, "surplus": 2463}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "190552", "set_attr": {"2": {"all_critical_strike_base": 1090}, "4": {"strain_base": 1090}}, "set_gain": {}}, "客行江湖·凶炽护手 (破防 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2735, "surplus": 2431}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "摇撼护腕 (破招 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "surplus": 1595, "strain_base": 4861}, "embed": {"physical_overcome_base": 161, "strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "克尽护腕 (会心 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_critical_strike_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "山扉护腕 (破防 无双) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1632, "physical_overcome_base": 1671, "strain_base": 4861}, "embed": {"surplus": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "云章护腕 (破防 破招) 11150": {"school": "精简", "kind": "外功", "level": 11150, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1904, "surplus": 2886, "physical_overcome_base": 2886}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "烟梦护手 (破防 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2735, "strain_base": 2431}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "旋山护手 (会心 无双) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "strain_base": 2431}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湘灿护手 (会心 破招) 11150": {"school": "通用", "kind": "力道", "level": 11150, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2735, "surplus": 2431}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临英护手 (会心 破招) 11100": {"school": "通用", "kind": "力道", "level": 11100, "max_strength": 6, "base": {}, "magic": {"strength_base": 543, "physical_attack_power_base": 880, "physical_critical_strike_base": 2722, "surplus": 2420}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风销残烟·承平护手 (会心 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "surplus": 2398}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寻踪觅宝·盼归袖 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": "190645", "set_attr": {}, "set_gain": {"4": [1194]}}, "揽江·烬然护手 (会心 破招) 11000": {"school": "霸刀", "kind": "外功", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "surplus": 2398}, "embed": {"strength_base": 36, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": "190537", "set_attr": {}, "set_gain": {"2": [1925], "4": [4290, 4291]}}, "拭江袖 (破防 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "strain_base": 2398}, "embed": {"strain_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌袖 (会心 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_critical_strike_base": 2698, "strain_base": 2398}, "embed": {"physical_critical_strike_base": 161, "physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦护手 (破防 破招) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "physical_overcome_base": 2698, "surplus": 2398}, "embed": {"physical_attack_power_base": 72, "physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双护手 (加速 无双) 11000": {"school": "通用", "kind": "力道", "level": 11000, "max_strength": 6, "base": {}, "magic": {"strength_base": 538, "physical_attack_power_base": 872, "haste_base": 2698, "strain_base": 2398}, "embed": {"physical_overcome_base": 161, "strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}}
|
qt/constant.py
CHANGED
@@ -1,6 +1,5 @@
|
|
1 |
import os
|
2 |
|
3 |
-
|
4 |
from dataclasses import dataclass
|
5 |
from typing import Type, List, Dict, Union, Tuple
|
6 |
|
@@ -51,7 +50,7 @@ EMBED_POSITIONS = {
|
|
51 |
"primary_weapon": 3,
|
52 |
"secondary_weapon": 3
|
53 |
}
|
54 |
-
SPECIAL_ENCHANT_POSITIONS = ["hat", "jacket"
|
55 |
""" Attrs """
|
56 |
ATTR_TYPE_MAP = {
|
57 |
"atMeleeWeaponDamageBase": "weapon_damage_base",
|
@@ -120,74 +119,6 @@ STONE_ATTR = [
|
|
120 |
"atMagicCriticalDamagePowerBase", "atMagicOvercome"
|
121 |
]
|
122 |
|
123 |
-
""" Top """
|
124 |
-
|
125 |
-
|
126 |
-
@dataclass
|
127 |
-
class School:
|
128 |
-
school: str
|
129 |
-
major: str
|
130 |
-
kind: str
|
131 |
-
attribute: Type[Attribute]
|
132 |
-
formation: str
|
133 |
-
skills: Dict[int, Skill]
|
134 |
-
buffs: Dict[int, Buff]
|
135 |
-
talent_gains: Dict[int, Gain]
|
136 |
-
talents: List[List[int]]
|
137 |
-
talent_decoder: Dict[int, str]
|
138 |
-
talent_encoder: Dict[str, int]
|
139 |
-
recipe_gains: Dict[str, Dict[str, Gain]]
|
140 |
-
recipes: Dict[str, List[str]]
|
141 |
-
gains: Dict[Union[Tuple[int, int], int], Gain]
|
142 |
-
display_attrs: Dict[str, str]
|
143 |
-
|
144 |
-
def attr_content(self, attribute):
|
145 |
-
content = []
|
146 |
-
for attr, name in self.display_attrs.items():
|
147 |
-
value = getattr(attribute, attr)
|
148 |
-
if isinstance(value, int):
|
149 |
-
content.append([name, f"{value}"])
|
150 |
-
else:
|
151 |
-
content.append([name, f"{round(value * 100, 2)}%"])
|
152 |
-
return content
|
153 |
-
|
154 |
-
|
155 |
-
SUPPORT_SCHOOL = {
|
156 |
-
10464: School(
|
157 |
-
school="霸刀",
|
158 |
-
major="力道",
|
159 |
-
kind="外功",
|
160 |
-
attribute=bei_ao_jue.BeiAoJue,
|
161 |
-
formation="霜岚洗锋阵",
|
162 |
-
skills=bei_ao_jue.SKILLS,
|
163 |
-
buffs=bei_ao_jue.BUFFS,
|
164 |
-
talent_gains=bei_ao_jue.TALENT_GAINS,
|
165 |
-
talents=bei_ao_jue.TALENTS,
|
166 |
-
talent_decoder=bei_ao_jue.TALENT_DECODER,
|
167 |
-
talent_encoder=bei_ao_jue.TALENT_ENCODER,
|
168 |
-
recipe_gains=bei_ao_jue.RECIPE_GAINS,
|
169 |
-
recipes=bei_ao_jue.RECIPES,
|
170 |
-
gains=bei_ao_jue.GAINS,
|
171 |
-
display_attrs={
|
172 |
-
"strength": "力道",
|
173 |
-
"base_physical_attack_power": "基础攻击",
|
174 |
-
"physical_attack_power": "攻击",
|
175 |
-
"base_physical_critical_strike": "会心等级",
|
176 |
-
"physical_critical_strike": "会心",
|
177 |
-
"physical_critical_power_base": "会效等级",
|
178 |
-
"physical_critical_power": "会效",
|
179 |
-
"base_physical_overcome": "基础破防",
|
180 |
-
"final_physical_overcome": "最终破防",
|
181 |
-
"physical_overcome": "破防",
|
182 |
-
"weapon_damage_base": "基础武器伤害",
|
183 |
-
"weapon_damage_rand": "浮动武器伤害",
|
184 |
-
"strain_base": "无双等级",
|
185 |
-
"strain": "无双",
|
186 |
-
"surplus": "破招",
|
187 |
-
}
|
188 |
-
)
|
189 |
-
}
|
190 |
-
|
191 |
""" Equip """
|
192 |
|
193 |
MAX_EMBED_ATTR = 3
|
|
|
1 |
import os
|
2 |
|
|
|
3 |
from dataclasses import dataclass
|
4 |
from typing import Type, List, Dict, Union, Tuple
|
5 |
|
|
|
50 |
"primary_weapon": 3,
|
51 |
"secondary_weapon": 3
|
52 |
}
|
53 |
+
SPECIAL_ENCHANT_POSITIONS = ["hat", "jacket"]
|
54 |
""" Attrs """
|
55 |
ATTR_TYPE_MAP = {
|
56 |
"atMeleeWeaponDamageBase": "weapon_damage_base",
|
|
|
119 |
"atMagicCriticalDamagePowerBase", "atMagicOvercome"
|
120 |
]
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
""" Equip """
|
123 |
|
124 |
MAX_EMBED_ATTR = 3
|
qt/scripts/equipments.py
CHANGED
@@ -174,7 +174,7 @@ class Equipments:
|
|
174 |
break
|
175 |
final_gains += gains
|
176 |
|
177 |
-
return [tuple(gain) if isinstance(gain, list) else
|
178 |
|
179 |
|
180 |
def equipments_script(equipments_widget: EquipmentsWidget):
|
|
|
174 |
break
|
175 |
final_gains += gains
|
176 |
|
177 |
+
return [tuple(gain) if isinstance(gain, list) else gain for gain in final_gains]
|
178 |
|
179 |
|
180 |
def equipments_script(equipments_widget: EquipmentsWidget):
|
qt/scripts/top.py
CHANGED
@@ -1,120 +1,17 @@
|
|
1 |
-
from
|
2 |
|
3 |
-
from PySide6.QtWidgets import QTabWidget, QFileDialog, QWidget
|
4 |
-
|
5 |
-
from base.buff import Buff
|
6 |
-
from base.skill import Skill
|
7 |
from general.consumables import FOODS, POTIONS, WEAPON_ENCHANTS, SNACKS, WINES, SPREADS
|
8 |
from qt.components.consumables import ConsumablesWidget
|
9 |
from qt.components.dashboard import DashboardWidget
|
10 |
from qt.components.equipments import EquipmentsWidget
|
11 |
from qt.components.recipes import RecipesWidget
|
12 |
from qt.components.talents import TalentsWidget
|
13 |
-
from utils.lua import parse
|
14 |
-
# from qt.components.equipments import EquipmentsWidget
|
15 |
-
# from qt.components.talents import TalentsWidget
|
16 |
-
# from qt.components.recipes import RecipesWidget
|
17 |
-
# from qt.components.consumables import ConsumablesWidget
|
18 |
-
# from qt.components.bonuses import BonusesWidget
|
19 |
-
# from qt.components.combat import CombatWidget
|
20 |
from qt.components.top import TopWidget
|
21 |
|
22 |
# from general.consumables import FOODS, POTIONS, WEAPON_ENCHANTS, SPREADS, SNACKS, WINES
|
23 |
# from general.gains.formation import FORMATIONS
|
24 |
-
from qt.constant import
|
25 |
-
|
26 |
-
|
27 |
-
class Parser:
|
28 |
-
records: list
|
29 |
-
status: dict
|
30 |
-
|
31 |
-
start_time: list
|
32 |
-
end_time: list
|
33 |
-
record_index: Dict[str, int]
|
34 |
-
|
35 |
-
fight_flag: bool
|
36 |
-
|
37 |
-
select_talents: List[int]
|
38 |
-
|
39 |
-
school: School | None
|
40 |
-
|
41 |
-
def duration(self, i):
|
42 |
-
return round((self.end_time[i] - self.start_time[i]) / 1000, 3)
|
43 |
-
|
44 |
-
def reset(self):
|
45 |
-
self.fight_flag = False
|
46 |
-
|
47 |
-
self.records = []
|
48 |
-
self.status = {}
|
49 |
-
|
50 |
-
self.start_time = []
|
51 |
-
self.end_time = []
|
52 |
-
|
53 |
-
self.record_index = {}
|
54 |
-
|
55 |
-
self.school = None
|
56 |
-
|
57 |
-
def parse_info(self, detail):
|
58 |
-
if isinstance(detail, list):
|
59 |
-
self.school = SUPPORT_SCHOOL.get(detail[3])
|
60 |
-
if not self.school:
|
61 |
-
raise AttributeError(f"Cannot support {detail[3]} now")
|
62 |
-
self.select_talents = [row[1] for row in detail[6]]
|
63 |
-
return self.school
|
64 |
-
|
65 |
-
def parse_time(self, detail, timestamp):
|
66 |
-
if detail[1]:
|
67 |
-
self.start_time.append(int(timestamp))
|
68 |
-
self.records.append({})
|
69 |
-
self.fight_flag = True
|
70 |
-
else:
|
71 |
-
self.end_time.append(int(timestamp))
|
72 |
-
self.fight_flag = False
|
73 |
-
|
74 |
-
def parse_buff(self, detail):
|
75 |
-
buff_id, buff_stack, buff_level = detail[4], detail[5], detail[8]
|
76 |
-
if buff_id not in self.school.buffs:
|
77 |
-
return
|
78 |
-
if not buff_stack:
|
79 |
-
self.status.pop((buff_id, buff_level))
|
80 |
-
else:
|
81 |
-
self.status[(buff_id, buff_level)] = buff_stack
|
82 |
-
|
83 |
-
def parse_skill(self, detail, timestamp):
|
84 |
-
skill = detail[4], detail[5]
|
85 |
-
if skill[0] not in self.school.skills:
|
86 |
-
return
|
87 |
-
|
88 |
-
current_record = self.records[len(self.start_time) - 1]
|
89 |
-
if skill not in current_record:
|
90 |
-
current_record[skill] = {}
|
91 |
-
status = tuple(
|
92 |
-
(buff_id, buff_level, buff_stack) for (buff_id, buff_level), buff_stack in self.status.items()
|
93 |
-
)
|
94 |
-
if status not in current_record[skill]:
|
95 |
-
current_record[skill][status] = []
|
96 |
-
current_record[skill][status].append(int(timestamp) - self.start_time[-1])
|
97 |
-
|
98 |
-
def __call__(self, file_name):
|
99 |
-
self.reset()
|
100 |
-
lines = open(file_name).readlines()
|
101 |
-
for line in lines:
|
102 |
-
row = line.split("\t")
|
103 |
-
if row[4] == "4" and self.parse_info(parse(row[-1])):
|
104 |
-
break
|
105 |
-
|
106 |
-
for line in lines:
|
107 |
-
row = line.split("\t")
|
108 |
-
if row[4] == "5":
|
109 |
-
self.parse_time(parse(row[-1]), row[3])
|
110 |
-
elif row[4] == "13":
|
111 |
-
self.parse_buff(parse(row[-1]))
|
112 |
-
elif row[4] == "21" and self.fight_flag:
|
113 |
-
self.parse_skill(parse(row[-1]), row[3])
|
114 |
-
|
115 |
-
self.record_index = {
|
116 |
-
f"{i + 1}:{round((end_time - self.start_time[i]) / 1000, 3)}": i for i, end_time in enumerate(self.end_time)
|
117 |
-
}
|
118 |
|
119 |
|
120 |
def top_script(top_widget: TopWidget, config_widget: QWidget, dashboard_widget: DashboardWidget,
|
|
|
1 |
+
from PySide6.QtWidgets import QFileDialog, QWidget
|
2 |
|
|
|
|
|
|
|
|
|
3 |
from general.consumables import FOODS, POTIONS, WEAPON_ENCHANTS, SNACKS, WINES, SPREADS
|
4 |
from qt.components.consumables import ConsumablesWidget
|
5 |
from qt.components.dashboard import DashboardWidget
|
6 |
from qt.components.equipments import EquipmentsWidget
|
7 |
from qt.components.recipes import RecipesWidget
|
8 |
from qt.components.talents import TalentsWidget
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
from qt.components.top import TopWidget
|
10 |
|
11 |
# from general.consumables import FOODS, POTIONS, WEAPON_ENCHANTS, SPREADS, SNACKS, WINES
|
12 |
# from general.gains.formation import FORMATIONS
|
13 |
+
from qt.constant import MAX_RECIPES, MAX_STONE_LEVEL
|
14 |
+
from utils.parser import Parser
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
|
17 |
def top_script(top_widget: TopWidget, config_widget: QWidget, dashboard_widget: DashboardWidget,
|
schools/bei_ao_jue/buffs.py
CHANGED
@@ -1,4 +1,6 @@
|
|
1 |
from base.buff import Buff
|
|
|
|
|
2 |
|
3 |
BUFFS = {
|
4 |
18384: {
|
@@ -31,3 +33,6 @@ for buff_id, detail in BUFFS.items():
|
|
31 |
BUFFS[buff_id] = Buff(buff_id, detail.pop("buff_name"))
|
32 |
for attr, value in detail.items():
|
33 |
setattr(BUFFS[buff_id], attr, value)
|
|
|
|
|
|
|
|
1 |
from base.buff import Buff
|
2 |
+
from general.buffs import GENERAL_BUFFS
|
3 |
+
|
4 |
|
5 |
BUFFS = {
|
6 |
18384: {
|
|
|
33 |
BUFFS[buff_id] = Buff(buff_id, detail.pop("buff_name"))
|
34 |
for attr, value in detail.items():
|
35 |
setattr(BUFFS[buff_id], attr, value)
|
36 |
+
|
37 |
+
for buff_id, buff in GENERAL_BUFFS.items():
|
38 |
+
BUFFS[buff_id] = buff
|
schools/bei_ao_jue/skills.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
from typing import Dict
|
2 |
|
3 |
from base.skill import PhysicalDamage, PhysicalDotDamage, Skill
|
|
|
4 |
|
5 |
SKILLS: Dict[int, Skill | dict] = {
|
6 |
32823: {
|
@@ -283,6 +284,21 @@ SKILLS: Dict[int, Skill | dict] = {
|
|
283 |
"damage_base": [80, 88, 96, 106, 112, 118, 124, 132, 138, 142, 150, 158, 166, 172, 180],
|
284 |
"damage_rand": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 48, 50],
|
285 |
"attack_power_cof": 230 * 1.3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
}
|
287 |
}
|
288 |
|
@@ -291,5 +307,5 @@ for skill_id, detail in SKILLS.items():
|
|
291 |
for attr, value in detail.items():
|
292 |
setattr(SKILLS[skill_id], attr, value)
|
293 |
|
294 |
-
|
295 |
-
|
|
|
1 |
from typing import Dict
|
2 |
|
3 |
from base.skill import PhysicalDamage, PhysicalDotDamage, Skill
|
4 |
+
from general.skills import GENERAL_SKILLS
|
5 |
|
6 |
SKILLS: Dict[int, Skill | dict] = {
|
7 |
32823: {
|
|
|
284 |
"damage_base": [80, 88, 96, 106, 112, 118, 124, 132, 138, 142, 150, 158, 166, 172, 180],
|
285 |
"damage_rand": [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 48, 50],
|
286 |
"attack_power_cof": 230 * 1.3
|
287 |
+
},
|
288 |
+
25782: {
|
289 |
+
"skill_class": PhysicalDamage,
|
290 |
+
"skill_name": "上将军印·神兵",
|
291 |
+
"damage_base": 20,
|
292 |
+
"damage_rand": 2,
|
293 |
+
"attack_power_cof": 25
|
294 |
+
},
|
295 |
+
19555: {
|
296 |
+
"skill_class": PhysicalDotDamage,
|
297 |
+
"skill_name": "背水沉舟(DOT)",
|
298 |
+
"damage_base": 25,
|
299 |
+
"attack_power_cof": 380,
|
300 |
+
"interval": 48
|
301 |
+
|
302 |
}
|
303 |
}
|
304 |
|
|
|
307 |
for attr, value in detail.items():
|
308 |
setattr(SKILLS[skill_id], attr, value)
|
309 |
|
310 |
+
for skill_id, skill in GENERAL_SKILLS.items():
|
311 |
+
SKILLS[skill_id] = skill
|
utils/analyzer.py
CHANGED
@@ -1,23 +1,39 @@
|
|
1 |
from base.attribute import Attribute
|
2 |
-
from
|
|
|
3 |
|
4 |
|
5 |
-
def
|
6 |
-
|
7 |
-
|
8 |
-
buff_id, buff_level, buff_stack = buff
|
9 |
buff = school.buffs[buff_id]
|
10 |
buff.buff_level, buff.buff_stack = buff_level, buff_stack
|
11 |
-
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
buff
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
21 |
|
22 |
|
23 |
def analyze_details(record, duration: int, attribute: Attribute, school: School):
|
@@ -28,28 +44,35 @@ def analyze_details(record, duration: int, attribute: Attribute, school: School)
|
|
28 |
|
29 |
existed_buffs = []
|
30 |
for skill, status in record.items():
|
31 |
-
skill_id, skill_level = skill
|
32 |
-
skill = school.skills[skill_id]
|
33 |
-
skill.skill_level = skill_level
|
34 |
|
35 |
skill_detail = {}
|
36 |
details[skill.display_name] = skill_detail
|
37 |
-
for
|
38 |
timeline = [t for t in timeline if t < duration]
|
39 |
if not timeline:
|
40 |
continue
|
41 |
-
|
|
|
|
|
|
|
42 |
|
43 |
damage, critical_strike, critical_damage, expected_damage = skill(attribute)
|
44 |
gradients = analyze_gradients(skill, attribute)
|
45 |
|
|
|
|
|
46 |
total_damage += expected_damage * len(timeline)
|
47 |
for attr, residual_damage in gradients.items():
|
48 |
total_gradients[attr] += residual_damage * len(timeline)
|
49 |
|
50 |
-
buffs = "
|
|
|
|
|
51 |
if not buffs:
|
52 |
-
buffs = "
|
53 |
skill_detail[buffs] = dict(
|
54 |
damage=damage,
|
55 |
critical_strike=critical_strike,
|
@@ -60,8 +83,6 @@ def analyze_details(record, duration: int, attribute: Attribute, school: School)
|
|
60 |
gradients=gradients
|
61 |
)
|
62 |
|
63 |
-
refresh_status(existed_buffs, [], attribute, school)
|
64 |
-
|
65 |
for attr, residual_damage in total_gradients.items():
|
66 |
total_gradients[attr] = round(residual_damage / total_damage * 100, 4)
|
67 |
|
|
|
1 |
from base.attribute import Attribute
|
2 |
+
from base.skill import Skill
|
3 |
+
from utils.parser import School
|
4 |
|
5 |
|
6 |
+
def filter_status(status, school: School, skill_id):
|
7 |
+
buffs = []
|
8 |
+
for buff_id, buff_level, buff_stack in status:
|
|
|
9 |
buff = school.buffs[buff_id]
|
10 |
buff.buff_level, buff.buff_stack = buff_level, buff_stack
|
11 |
+
if buff.gain_attributes or skill_id in buff.gain_skills:
|
12 |
+
buffs.append(buff)
|
13 |
+
|
14 |
+
return buffs
|
15 |
+
|
16 |
+
|
17 |
+
def add_buffs(current_buffs, snapshot_buffs, attribute: Attribute, skill: Skill):
|
18 |
+
if not snapshot_buffs:
|
19 |
+
for buff in current_buffs:
|
20 |
+
buff.add_all(attribute, skill)
|
21 |
+
else:
|
22 |
+
for buff in snapshot_buffs:
|
23 |
+
buff.add_snapshot(attribute, skill)
|
24 |
+
for buff in current_buffs:
|
25 |
+
buff.add_current(attribute, skill)
|
26 |
|
27 |
+
|
28 |
+
def sub_buffs(current_buffs, snapshot_buffs, attribute: Attribute, skill: Skill):
|
29 |
+
if not snapshot_buffs:
|
30 |
+
for buff in current_buffs:
|
31 |
+
buff.sub_all(attribute, skill)
|
32 |
+
else:
|
33 |
+
for buff in snapshot_buffs:
|
34 |
+
buff.sub_snapshot(attribute, skill)
|
35 |
+
for buff in current_buffs:
|
36 |
+
buff.sub_current(attribute, skill)
|
37 |
|
38 |
|
39 |
def analyze_details(record, duration: int, attribute: Attribute, school: School):
|
|
|
44 |
|
45 |
existed_buffs = []
|
46 |
for skill, status in record.items():
|
47 |
+
skill_id, skill_level, skill_stack = skill
|
48 |
+
skill: Skill = school.skills[skill_id]
|
49 |
+
skill.skill_level, skill.skill_stack = skill_level, skill_stack
|
50 |
|
51 |
skill_detail = {}
|
52 |
details[skill.display_name] = skill_detail
|
53 |
+
for (current_status, snapshot_status), timeline in status.items():
|
54 |
timeline = [t for t in timeline if t < duration]
|
55 |
if not timeline:
|
56 |
continue
|
57 |
+
|
58 |
+
current_buffs = filter_status(current_status, school, skill_id)
|
59 |
+
snapshot_buffs = filter_status(snapshot_status, school, skill_id)
|
60 |
+
add_buffs(current_buffs, snapshot_buffs, attribute, skill)
|
61 |
|
62 |
damage, critical_strike, critical_damage, expected_damage = skill(attribute)
|
63 |
gradients = analyze_gradients(skill, attribute)
|
64 |
|
65 |
+
sub_buffs(current_buffs, snapshot_buffs, attribute, skill)
|
66 |
+
|
67 |
total_damage += expected_damage * len(timeline)
|
68 |
for attr, residual_damage in gradients.items():
|
69 |
total_gradients[attr] += residual_damage * len(timeline)
|
70 |
|
71 |
+
buffs = (",".join(buff.display_name for buff in current_buffs) +
|
72 |
+
";" +
|
73 |
+
",".join(buff.display_name for buff in snapshot_buffs))
|
74 |
if not buffs:
|
75 |
+
buffs = "~~~~~"
|
76 |
skill_detail[buffs] = dict(
|
77 |
damage=damage,
|
78 |
critical_strike=critical_strike,
|
|
|
83 |
gradients=gradients
|
84 |
)
|
85 |
|
|
|
|
|
86 |
for attr, residual_damage in total_gradients.items():
|
87 |
total_gradients[attr] = round(residual_damage / total_damage * 100, 4)
|
88 |
|
utils/parser.py
ADDED
@@ -0,0 +1,208 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from dataclasses import dataclass
|
2 |
+
from typing import Dict, List, Type, Union, Tuple
|
3 |
+
|
4 |
+
from base.attribute import Attribute
|
5 |
+
from base.buff import Buff
|
6 |
+
from base.gain import Gain
|
7 |
+
from base.skill import Skill
|
8 |
+
from schools import bei_ao_jue
|
9 |
+
from utils.lua import parse
|
10 |
+
|
11 |
+
|
12 |
+
@dataclass
|
13 |
+
class School:
|
14 |
+
school: str
|
15 |
+
major: str
|
16 |
+
kind: str
|
17 |
+
attribute: Type[Attribute]
|
18 |
+
formation: str
|
19 |
+
skills: Dict[int, Skill]
|
20 |
+
buffs: Dict[int, Buff]
|
21 |
+
talent_gains: Dict[int, Gain]
|
22 |
+
talents: List[List[int]]
|
23 |
+
talent_decoder: Dict[int, str]
|
24 |
+
talent_encoder: Dict[str, int]
|
25 |
+
recipe_gains: Dict[str, Dict[str, Gain]]
|
26 |
+
recipes: Dict[str, List[str]]
|
27 |
+
gains: Dict[Union[Tuple[int, int], int], Gain]
|
28 |
+
display_attrs: Dict[str, str]
|
29 |
+
|
30 |
+
def attr_content(self, attribute):
|
31 |
+
content = []
|
32 |
+
for attr, name in self.display_attrs.items():
|
33 |
+
value = getattr(attribute, attr)
|
34 |
+
if isinstance(value, int):
|
35 |
+
content.append([name, f"{value}"])
|
36 |
+
else:
|
37 |
+
content.append([name, f"{round(value * 100, 2)}%"])
|
38 |
+
return content
|
39 |
+
|
40 |
+
|
41 |
+
SUPPORT_SCHOOL = {
|
42 |
+
10464: School(
|
43 |
+
school="霸刀",
|
44 |
+
major="力道",
|
45 |
+
kind="外功",
|
46 |
+
attribute=bei_ao_jue.BeiAoJue,
|
47 |
+
formation="霜岚洗锋阵",
|
48 |
+
skills=bei_ao_jue.SKILLS,
|
49 |
+
buffs=bei_ao_jue.BUFFS,
|
50 |
+
talent_gains=bei_ao_jue.TALENT_GAINS,
|
51 |
+
talents=bei_ao_jue.TALENTS,
|
52 |
+
talent_decoder=bei_ao_jue.TALENT_DECODER,
|
53 |
+
talent_encoder=bei_ao_jue.TALENT_ENCODER,
|
54 |
+
recipe_gains=bei_ao_jue.RECIPE_GAINS,
|
55 |
+
recipes=bei_ao_jue.RECIPES,
|
56 |
+
gains=bei_ao_jue.GAINS,
|
57 |
+
display_attrs={
|
58 |
+
"strength": "力道",
|
59 |
+
"base_physical_attack_power": "基础攻击",
|
60 |
+
"physical_attack_power": "攻击",
|
61 |
+
"base_physical_critical_strike": "会心等级",
|
62 |
+
"physical_critical_strike": "会心",
|
63 |
+
"physical_critical_power_base": "会效等级",
|
64 |
+
"physical_critical_power": "会效",
|
65 |
+
"base_physical_overcome": "基础破防",
|
66 |
+
"final_physical_overcome": "最终破防",
|
67 |
+
"physical_overcome": "破防",
|
68 |
+
"weapon_damage_base": "基础武器伤害",
|
69 |
+
"weapon_damage_rand": "浮动武器伤害",
|
70 |
+
"strain_base": "无双等级",
|
71 |
+
"strain": "无双",
|
72 |
+
"surplus": "破招",
|
73 |
+
}
|
74 |
+
)
|
75 |
+
}
|
76 |
+
|
77 |
+
|
78 |
+
class Parser:
|
79 |
+
records: list
|
80 |
+
status: dict
|
81 |
+
snapshot: dict
|
82 |
+
stacks: dict
|
83 |
+
ticks: dict
|
84 |
+
|
85 |
+
start_time: list
|
86 |
+
end_time: list
|
87 |
+
record_index: Dict[str, int]
|
88 |
+
|
89 |
+
fight_flag: bool
|
90 |
+
|
91 |
+
select_talents: List[int]
|
92 |
+
|
93 |
+
school: School | None
|
94 |
+
|
95 |
+
def duration(self, i):
|
96 |
+
return round((self.end_time[i] - self.start_time[i]) / 1000, 3)
|
97 |
+
|
98 |
+
@property
|
99 |
+
def current_record(self):
|
100 |
+
return self.records[len(self.start_time) - 1]
|
101 |
+
|
102 |
+
def available_status(self, skill_id):
|
103 |
+
current_status = []
|
104 |
+
for (buff_id, buff_level), buff_stack in self.status.items():
|
105 |
+
buff = self.school.buffs[buff_id]
|
106 |
+
if buff.gain_attributes:
|
107 |
+
current_status.append((buff_id, buff_level, buff_stack))
|
108 |
+
elif buff.gain_skills and skill_id in buff.gain_skills:
|
109 |
+
current_status.append((buff_id, buff_level, buff_stack))
|
110 |
+
|
111 |
+
snapshot_status = []
|
112 |
+
for (buff_id, buff_level), buff_stack in self.snapshot.get(skill_id, {}).items():
|
113 |
+
buff = self.school.buffs[buff_id]
|
114 |
+
if buff.gain_attributes:
|
115 |
+
snapshot_status.append((buff_id, buff_level, buff_stack))
|
116 |
+
elif buff.gain_skills and skill_id in buff.gain_skills:
|
117 |
+
snapshot_status.append((buff_id, buff_level, buff_stack))
|
118 |
+
|
119 |
+
return tuple(current_status), tuple(snapshot_status)
|
120 |
+
|
121 |
+
def reset(self):
|
122 |
+
self.fight_flag = False
|
123 |
+
|
124 |
+
self.records = []
|
125 |
+
self.status = {}
|
126 |
+
self.snapshot = {}
|
127 |
+
self.stacks = {}
|
128 |
+
self.ticks = {}
|
129 |
+
|
130 |
+
self.start_time = []
|
131 |
+
self.end_time = []
|
132 |
+
|
133 |
+
self.record_index = {}
|
134 |
+
|
135 |
+
self.school = None
|
136 |
+
|
137 |
+
def parse_info(self, detail):
|
138 |
+
if isinstance(detail, list):
|
139 |
+
self.school = SUPPORT_SCHOOL.get(detail[3])
|
140 |
+
if not self.school:
|
141 |
+
raise AttributeError(f"Cannot support {detail[3]} now")
|
142 |
+
self.select_talents = [row[1] for row in detail[6]]
|
143 |
+
return self.school
|
144 |
+
|
145 |
+
def parse_time(self, detail, timestamp):
|
146 |
+
if detail[1]:
|
147 |
+
self.start_time.append(int(timestamp))
|
148 |
+
self.records.append({})
|
149 |
+
self.fight_flag = True
|
150 |
+
else:
|
151 |
+
self.end_time.append(int(timestamp))
|
152 |
+
self.fight_flag = False
|
153 |
+
|
154 |
+
def parse_buff(self, detail):
|
155 |
+
buff_id, buff_stack, buff_level = detail[4], detail[5], detail[8]
|
156 |
+
if buff_id not in self.school.buffs:
|
157 |
+
return
|
158 |
+
if not buff_stack:
|
159 |
+
self.status.pop((buff_id, buff_level))
|
160 |
+
else:
|
161 |
+
self.status[(buff_id, buff_level)] = buff_stack
|
162 |
+
|
163 |
+
def parse_skill(self, detail, timestamp):
|
164 |
+
skill_id, skill_level = detail[4], detail[5]
|
165 |
+
if skill_id not in self.school.skills:
|
166 |
+
return
|
167 |
+
|
168 |
+
skill_stack = max(1, self.stacks.get(skill_id, 0))
|
169 |
+
|
170 |
+
if self.ticks.get(skill_id):
|
171 |
+
self.ticks[skill_id] -= 1
|
172 |
+
if not self.ticks[skill_id]:
|
173 |
+
self.stacks[skill_id] = 0
|
174 |
+
|
175 |
+
skill_tuple = (skill_id, skill_level, skill_stack)
|
176 |
+
skill = self.school.skills[skill_id]
|
177 |
+
if bind_skill := skill.bind_skill:
|
178 |
+
self.stacks[bind_skill] = min(self.stacks[bind_skill] + 1, skill.max_stack)
|
179 |
+
self.ticks[bind_skill] = skill.tick - 1 if self.ticks[bind_skill] else skill.tick
|
180 |
+
self.snapshot[bind_skill] = self.status.copy()
|
181 |
+
else:
|
182 |
+
if skill_tuple not in self.current_record:
|
183 |
+
self.current_record[skill_tuple] = {}
|
184 |
+
status = self.available_status(skill_id)
|
185 |
+
if status not in self.current_record[skill_tuple]:
|
186 |
+
self.current_record[skill_tuple][status] = []
|
187 |
+
self.current_record[skill_tuple][status].append(int(timestamp) - self.start_time[-1])
|
188 |
+
|
189 |
+
def __call__(self, file_name):
|
190 |
+
self.reset()
|
191 |
+
lines = open(file_name).readlines()
|
192 |
+
for line in lines:
|
193 |
+
row = line.split("\t")
|
194 |
+
if row[4] == "4" and self.parse_info(parse(row[-1])):
|
195 |
+
break
|
196 |
+
|
197 |
+
for line in lines:
|
198 |
+
row = line.split("\t")
|
199 |
+
if row[4] == "5":
|
200 |
+
self.parse_time(parse(row[-1]), row[3])
|
201 |
+
elif row[4] == "13":
|
202 |
+
self.parse_buff(parse(row[-1]))
|
203 |
+
elif row[4] == "21" and self.fight_flag:
|
204 |
+
self.parse_skill(parse(row[-1]), row[3])
|
205 |
+
|
206 |
+
self.record_index = {
|
207 |
+
f"{i + 1}:{round((end_time - self.start_time[i]) / 1000, 3)}": i for i, end_time in enumerate(self.end_time)
|
208 |
+
}
|