Spaces:
Runtime error
Runtime error
5.5 commit
Browse files- base/buff.py +1 -0
- base/skill.py +17 -10
- general/skills.py +3 -3
- get_assets.py +16 -16
- parse_new_school.py +3 -1
- qt/assets/equipments/belt +0 -0
- qt/assets/equipments/hat +0 -0
- qt/assets/equipments/jacket +0 -0
- qt/assets/equipments/primary_weapon +0 -0
- qt/assets/equipments/ring +1 -1
- qt/assets/equipments/shoes +0 -0
- qt/assets/equipments/wrist +0 -0
- schools/__init__.py +21 -9
- schools/bei_ao_jue/__init__.py +4 -0
- schools/bing_xin_jue/__init__.py +11 -0
- schools/bing_xin_jue/attribute.py +20 -0
- schools/bing_xin_jue/buffs.py +72 -0
- schools/bing_xin_jue/gains.py +17 -0
- schools/bing_xin_jue/recipes.py +29 -0
- schools/bing_xin_jue/skills.py +209 -0
- schools/bing_xin_jue/talents.py +60 -0
- schools/gu_feng_jue/__init__.py +4 -0
- schools/ling_hai_jue/__init__.py +4 -0
- schools/ling_hai_jue/buffs.py +1 -0
- schools/shan_hai_xin_jue/__init__.py +4 -0
- schools/tai_xu_jian_yi/__init__.py +4 -0
- schools/tai_xu_jian_yi/skills.py +35 -16
- schools/tai_xu_jian_yi/talents.py +6 -3
- schools/tian_luo_gui_dao/__init__.py +4 -0
- schools/wu_fang/__init__.py +4 -0
- schools/wu_fang/buffs.py +1 -0
- schools/wu_fang/skills.py +1 -1
- utils/parser.py +20 -19
base/buff.py
CHANGED
@@ -14,6 +14,7 @@ class Buff:
|
|
14 |
buff_level: int = 0
|
15 |
buff_stack: int = 1
|
16 |
|
|
|
17 |
activate: bool = True
|
18 |
|
19 |
stackable: bool = True
|
|
|
14 |
buff_level: int = 0
|
15 |
buff_stack: int = 1
|
16 |
|
17 |
+
frame_shift: int = 0
|
18 |
activate: bool = True
|
19 |
|
20 |
stackable: bool = True
|
base/skill.py
CHANGED
@@ -168,7 +168,7 @@ class Skill:
|
|
168 |
else:
|
169 |
self._skill_shield_gain = [skill_shield_gain]
|
170 |
|
171 |
-
def record(self, skill_level,
|
172 |
pass
|
173 |
|
174 |
def __call__(self, attribute: Attribute):
|
@@ -184,8 +184,8 @@ class BuffConsumeSkill(Skill):
|
|
184 |
|
185 |
|
186 |
class DotSkill(Skill):
|
187 |
-
def record(self, skill_level,
|
188 |
-
super().record(skill_level,
|
189 |
bind_skill = self.bind_skill
|
190 |
if not parser.current_ticks[bind_skill]:
|
191 |
parser.current_stacks[bind_skill] = 0
|
@@ -195,10 +195,12 @@ class DotSkill(Skill):
|
|
195 |
|
196 |
|
197 |
class DotConsumeSkill(Skill):
|
198 |
-
def record(self, skill_level,
|
199 |
-
super().record(skill_level,
|
200 |
bind_skill = self.bind_skill
|
201 |
-
|
|
|
|
|
202 |
skill_id, skill_level, skill_stack = skill_tuple
|
203 |
parser.current_ticks[skill_id] += 1
|
204 |
tick = min(parser.current_ticks[skill_id], self.tick)
|
@@ -321,8 +323,9 @@ class MixingSkill(Skill):
|
|
321 |
|
322 |
|
323 |
class Damage(Skill):
|
324 |
-
def record(self, skill_level,
|
325 |
-
super().record(skill_level,
|
|
|
326 |
skill_tuple = (self.skill_id, skill_level, skill_stack)
|
327 |
status_tuple = parser.available_status(self.skill_id)
|
328 |
parser.current_records[skill_tuple][status_tuple].append(
|
@@ -332,8 +335,8 @@ class Damage(Skill):
|
|
332 |
|
333 |
|
334 |
class DotDamage(Damage):
|
335 |
-
def record(self, skill_level,
|
336 |
-
skill_tuple, status_tuple = super().record(skill_level,
|
337 |
parser.current_last_dot[self.skill_id] = (skill_tuple, status_tuple)
|
338 |
parser.current_ticks[self.skill_id] -= 1
|
339 |
|
@@ -342,6 +345,10 @@ class PetDamage(Damage):
|
|
342 |
pass
|
343 |
|
344 |
|
|
|
|
|
|
|
|
|
345 |
class PhysicalDamage(PhysicalSkill, Damage):
|
346 |
@Damage.attack_power_cof.getter
|
347 |
def attack_power_cof(self):
|
|
|
168 |
else:
|
169 |
self._skill_shield_gain = [skill_shield_gain]
|
170 |
|
171 |
+
def record(self, skill_level, critical, parser):
|
172 |
pass
|
173 |
|
174 |
def __call__(self, attribute: Attribute):
|
|
|
184 |
|
185 |
|
186 |
class DotSkill(Skill):
|
187 |
+
def record(self, skill_level, critical, parser):
|
188 |
+
super().record(skill_level, critical, parser)
|
189 |
bind_skill = self.bind_skill
|
190 |
if not parser.current_ticks[bind_skill]:
|
191 |
parser.current_stacks[bind_skill] = 0
|
|
|
195 |
|
196 |
|
197 |
class DotConsumeSkill(Skill):
|
198 |
+
def record(self, skill_level, critical, parser):
|
199 |
+
super().record(skill_level, critical, parser)
|
200 |
bind_skill = self.bind_skill
|
201 |
+
if not (last_dot := parser.current_last_dot.pop(bind_skill, None)):
|
202 |
+
return
|
203 |
+
skill_tuple, status_tuple = last_dot
|
204 |
skill_id, skill_level, skill_stack = skill_tuple
|
205 |
parser.current_ticks[skill_id] += 1
|
206 |
tick = min(parser.current_ticks[skill_id], self.tick)
|
|
|
323 |
|
324 |
|
325 |
class Damage(Skill):
|
326 |
+
def record(self, skill_level, critical, parser):
|
327 |
+
super().record(skill_level, critical, parser)
|
328 |
+
skill_stack = parser.current_stacks[self.skill_id]
|
329 |
skill_tuple = (self.skill_id, skill_level, skill_stack)
|
330 |
status_tuple = parser.available_status(self.skill_id)
|
331 |
parser.current_records[skill_tuple][status_tuple].append(
|
|
|
335 |
|
336 |
|
337 |
class DotDamage(Damage):
|
338 |
+
def record(self, skill_level, critical, parser):
|
339 |
+
skill_tuple, status_tuple = super().record(skill_level, critical, parser)
|
340 |
parser.current_last_dot[self.skill_id] = (skill_tuple, status_tuple)
|
341 |
parser.current_ticks[self.skill_id] -= 1
|
342 |
|
|
|
345 |
pass
|
346 |
|
347 |
|
348 |
+
class PureDamage(PureSkill, Damage):
|
349 |
+
pass
|
350 |
+
|
351 |
+
|
352 |
class PhysicalDamage(PhysicalSkill, Damage):
|
353 |
@Damage.attack_power_cof.getter
|
354 |
def attack_power_cof(self):
|
general/skills.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
from typing import Dict
|
2 |
|
3 |
-
from base.skill import PhysicalDamage, MagicalDamage, Skill,
|
4 |
|
5 |
GENERAL_SKILLS: Dict[int, Skill | dict] = {
|
6 |
29535: {
|
@@ -48,12 +48,12 @@ GENERAL_SKILLS: Dict[int, Skill | dict] = {
|
|
48 |
"attack_power_cof": [50, 100]
|
49 |
},
|
50 |
37562: {
|
51 |
-
"skill_class":
|
52 |
"skill_name": "昆吾·弦刃",
|
53 |
"damage_base": 145300
|
54 |
},
|
55 |
37561: {
|
56 |
-
"skill_class":
|
57 |
"skill_name": "刃凌",
|
58 |
"damage_base": 96900,
|
59 |
},
|
|
|
1 |
from typing import Dict
|
2 |
|
3 |
+
from base.skill import PhysicalDamage, MagicalDamage, Skill, PureDamage
|
4 |
|
5 |
GENERAL_SKILLS: Dict[int, Skill | dict] = {
|
6 |
29535: {
|
|
|
48 |
"attack_power_cof": [50, 100]
|
49 |
},
|
50 |
37562: {
|
51 |
+
"skill_class": PureDamage,
|
52 |
"skill_name": "昆吾·弦刃",
|
53 |
"damage_base": 145300
|
54 |
},
|
55 |
37561: {
|
56 |
+
"skill_class": PureDamage,
|
57 |
"skill_name": "刃凌",
|
58 |
"damage_base": 96900,
|
59 |
},
|
get_assets.py
CHANGED
@@ -353,19 +353,19 @@ if __name__ == '__main__':
|
|
353 |
if not os.path.exists(ENCHANTS_DIR):
|
354 |
os.makedirs(ENCHANTS_DIR)
|
355 |
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
json.dump(get_stones_list(), open(STONES_DIR, "w", encoding="utf-8"), ensure_ascii=False)
|
|
|
353 |
if not os.path.exists(ENCHANTS_DIR):
|
354 |
os.makedirs(ENCHANTS_DIR)
|
355 |
|
356 |
+
for pos in tqdm(POSITION_MAP):
|
357 |
+
json.dump(
|
358 |
+
get_equips_list(pos),
|
359 |
+
open(os.path.join(EQUIPMENTS_DIR, pos), "w", encoding="utf-8"), ensure_ascii=False
|
360 |
+
)
|
361 |
+
json.dump(
|
362 |
+
get_enchants_list(pos),
|
363 |
+
open(os.path.join(ENCHANTS_DIR, pos), "w", encoding="utf-8"), ensure_ascii=False
|
364 |
+
)
|
365 |
+
json.dump(
|
366 |
+
get_secondary_weapons(), open(os.path.join(EQUIPMENTS_DIR, "secondary_weapon"), "w", encoding="utf-8"),
|
367 |
+
ensure_ascii=False)
|
368 |
+
json.dump(
|
369 |
+
get_weapon_enchants(), open(os.path.join(ENCHANTS_DIR, "secondary_weapon"), "w", encoding="utf-8")
|
370 |
+
)
|
371 |
+
# json.dump(get_stones_list(), open(STONES_DIR, "w", encoding="utf-8"), ensure_ascii=False)
|
parse_new_school.py
CHANGED
@@ -23,6 +23,8 @@ class Parser:
|
|
23 |
detail = row.strip("{}").split(",")
|
24 |
|
25 |
skill_id, skill_level, critical = int(detail[4]), int(detail[5]), detail[6] == "true"
|
|
|
|
|
26 |
if skill_id not in self.skills:
|
27 |
self.skills[skill_id] = []
|
28 |
if skill_level not in self.skills[skill_id]:
|
@@ -57,4 +59,4 @@ class Parser:
|
|
57 |
|
58 |
if __name__ == '__main__':
|
59 |
parser = Parser()
|
60 |
-
parser("new.jcl")
|
|
|
23 |
detail = row.strip("{}").split(",")
|
24 |
|
25 |
skill_id, skill_level, critical = int(detail[4]), int(detail[5]), detail[6] == "true"
|
26 |
+
# if not sum(parse(row)[-1].values()):
|
27 |
+
# return
|
28 |
if skill_id not in self.skills:
|
29 |
self.skills[skill_id] = []
|
30 |
if skill_level not in self.skills[skill_id]:
|
|
|
59 |
|
60 |
if __name__ == '__main__':
|
61 |
parser = Parser()
|
62 |
+
parser(r"new.jcl")
|
qt/assets/equipments/belt
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
qt/assets/equipments/hat
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
qt/assets/equipments/jacket
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
qt/assets/equipments/primary_weapon
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
qt/assets/equipments/ring
CHANGED
@@ -1 +1 @@
|
|
1 |
-
{"客行江湖·纵巧戒 (破防 无双) 15600": {"id": 39921, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·之远戒 (破防 无双) 15600": {"id": 39920, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·磐气戒 (破防 无双) 15600": {"id": 39919, "school": "通用", "kind": "元气", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spunk_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·风翎戒 (破防 无双) 15600": {"id": 39918, "school": "通用", "kind": "根骨", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spirit_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "似窈戒 (破防 破招) 15600": {"id": 39869, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1903, "surplus": 3188, "physical_overcome_base": 2885}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "卓然戒 (会心 无双) 15600": {"id": 39868, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1631, "physical_critical_strike_base": 1974, "strain_base": 4858}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "乃书戒 (破防 破招) 15600": {"id": 39867, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 2284, "surplus": 3188, "magical_overcome_base": 2885}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "广萤戒 (会心 无双) 15600": {"id": 39866, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1957, "all_critical_strike_base": 1974, "strain_base": 4858}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "赤树戒 (破防 无双) 15600": {"id": 39865, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1971, "physical_overcome_base": 3036, "strain_base": 3188}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "东倾戒 (破防 无双) 15600": {"id": 39864, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2365, "magical_overcome_base": 3036, "strain_base": 3188}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "望若戒 (会心 会效 破招) 15600": {"id": 39863, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1971, "surplus": 1670, "physical_critical_strike_base": 2885, "physical_critical_power_base": 1518}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "姑引戒 (破防 会心) 15600": {"id": 39862, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1971, "physical_critical_strike_base": 3112, "physical_overcome_base": 3112}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "勤俭戒 (无双) 15600": {"id": 39861, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2311, "strain_base": 5390}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "庆本戒 (会心 会效 破招) 15600": {"id": 39860, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2365, "surplus": 1670, "all_critical_strike_base": 2885, "all_critical_power_base": 1518}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "耐歌戒 (破防 会心) 15600": {"id": 39859, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2365, "all_critical_strike_base": 3112, "magical_overcome_base": 3112}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "萌音戒 (无双) 15600": {"id": 39858, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2773, "strain_base": 5390}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "救困戒 (会心 无双) 15600": {"id": 39849, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "磊落戒 (会心 无双) 15600": {"id": 39848, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "良安戒 (会心 无双) 15600": {"id": 39847, "school": "通用", "kind": "元气", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spunk_base": 545, "magical_attack_power_base": 1060, "all_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "情义戒 (会心 无双) 15600": {"id": 39846, "school": "通用", "kind": "根骨", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spirit_base": 545, "magical_attack_power_base": 1060, "magical_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "照耀指环 (破防 破招) 15600": {"id": 39831, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "如雪指环 (破防 破招) 15600": {"id": 39830, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "宫阙指环 (破防 破招) 15600": {"id": 39829, "school": "通用", "kind": "元气", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spunk_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "绕城指环 (破防 破招) 15600": {"id": 39828, "school": "通用", "kind": "根骨", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spirit_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·徙 (破防 破招) 13950": {"id": 40869, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·兆 (破防 破招) 13950": {"id": 40868, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·誓 (破防 破招) 13950": {"id": 40867, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·赦 (破防 破招) 13950": {"id": 40866, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "叠武戒 (破防 破招) 13950": {"id": 39795, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "绘山戒 (破防 破招) 13950": {"id": 39794, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "归朔戒 (破防 破招) 13950": {"id": 39793, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "青乡戒 (破防 破招) 13950": {"id": 39792, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·霄月戒 (破防 无双) 13950": {"id": 38857, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·听钟戒 (破防 无双) 13950": {"id": 38856, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·断意戒 (破防 无双) 13950": {"id": 38855, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·意悠戒 (破防 无双) 13950": {"id": 38854, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "时岑戒 (破防 破招) 13950": {"id": 38805, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1702, "surplus": 2851, "physical_overcome_base": 2580}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "游练戒 (会心 无双) 13950": {"id": 38804, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1459, "physical_critical_strike_base": 1765, "strain_base": 4344}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "璨云戒 (破防 破招) 13950": {"id": 38803, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 2042, "surplus": 2851, "magical_overcome_base": 2580}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "丰冉戒 (会心 无双) 13950": {"id": 38802, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1750, "all_critical_strike_base": 1765, "strain_base": 4344}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "问年戒 (破防 无双) 13950": {"id": 38801, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1763, "physical_overcome_base": 2715, "strain_base": 2851}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "峻水戒 (破防 无双) 13950": {"id": 38800, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2115, "magical_overcome_base": 2715, "strain_base": 2851}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "光霆戒 (会心 会效 破招) 13950": {"id": 38799, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1763, "surplus": 1493, "physical_critical_strike_base": 2580, "physical_critical_power_base": 1358}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "兰珑戒 (破防 会心) 13950": {"id": 38798, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1763, "physical_critical_strike_base": 2783, "physical_overcome_base": 2783}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "时越戒 (无双) 13950": {"id": 38797, "school": "精简", "kind": "外���", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2066, "strain_base": 4820}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "希延戒 (会心 会效 破招) 13950": {"id": 38796, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2115, "surplus": 1493, "all_critical_strike_base": 2580, "all_critical_power_base": 1358}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羽容戒 (破防 会心) 13950": {"id": 38795, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2115, "all_critical_strike_base": 2783, "magical_overcome_base": 2783}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "丹莲戒 (无双) 13950": {"id": 38794, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2480, "strain_base": 4820}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "踏雁戒 (会心 无双) 13950": {"id": 38785, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦戒 (会心 无双) 13950": {"id": 38784, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "壑云戒 (会心 无双) 13950": {"id": 38783, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "all_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寒绡戒 (会心 无双) 13950": {"id": 38782, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风掣指环 (破防 破招) 13950": {"id": 38767, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行指环 (破防 破招) 13950": {"id": 38766, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "开颐指环 (破防 破招) 13950": {"id": 38765, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "扬英指环 (破防 破招) 13950": {"id": 38764, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨玉 (会心 无双) 13400": {"id": 39801, "school": "通用", "kind": "身法", "level": 13400, "max_strength": 6, "base": {}, "magic": {"agility_base": 468, "physical_attack_power_base": 759, "physical_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨石 (会心 无双) 13400": {"id": 39800, "school": "通用", "kind": "力道", "level": 13400, "max_strength": 6, "base": {}, "magic": {"strength_base": 468, "physical_attack_power_base": 759, "physical_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨环 (会心 无双) 13400": {"id": 39799, "school": "通用", "kind": "元气", "level": 13400, "max_strength": 6, "base": {}, "magic": {"spunk_base": 468, "magical_attack_power_base": 911, "all_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨戒 (会心 无双) 13400": {"id": 39798, "school": "通用", "kind": "根骨", "level": 13400, "max_strength": 6, "base": {}, "magic": {"spirit_base": 468, "magical_attack_power_base": 911, "magical_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖月戒 (会心 破招) 12450": {"id": 37824, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静戒 (会心 破招) 12450": {"id": 37823, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖烟戒 (会心 破招) 12450": {"id": 37822, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "all_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖寂戒 (会心 破招) 12450": {"id": 37821, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·天配戒 (破防 无双) 12450": {"id": 37782, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·梦花戒 (破防 无双) 12450": {"id": 37781, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·千世戒 (破防 无双) 12450": {"id": 37780, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·渐浓戒 (破防 无双) 12450": {"id": 37779, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "催时戒 (破防 无双) 12450": {"id": 37730, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1519, "physical_overcome_base": 2302, "strain_base": 2545}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "解怜戒 (破防 无双) 12450": {"id": 37729, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1823, "magical_overcome_base": 2302, "strain_base": 2545}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "破朝戒 (会心 无双) 12450": {"id": 37728, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1302, "physical_critical_strike_base": 1575, "strain_base": 3877}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "赫风戒 (破防 破招) 12450": {"id": 37727, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1519, "surplus": 2545, "physical_overcome_base": 2302}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "问岐戒 (无双) 12450": {"id": 37726, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1844, "strain_base": 4059}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "帘絮戒 (会心 无双) 12450": {"id": 37725, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1562, "all_critical_strike_base": 1575, "strain_base": 3877}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "清斗戒 (破防 破招) 12450": {"id": 37724, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1823, "surplus": 2545, "magical_overcome_base": 2302}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "昭月戒 (无双) 12450": {"id": 37723, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 2213, "strain_base": 4059}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "染辞戒 (会心 无双) 12450": {"id": 37714, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃戒 (会心 无双) 12450": {"id": 37713, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "沁渡戒 (会心 无双) 12450": {"id": 37712, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "all_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "朝华戒 (会心 无双) 12450": {"id": 37711, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "商野指环 (破防 破招) 12450": {"id": 37696, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿指环 (破防 破招) 12450": {"id": 37695, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "椴微指环 (破防 破招) 12450": {"id": 37694, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "池泓指环 (破防 破招) 12450": {"id": 37693, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临仙戒 (会心 无双) 12400": {"id": 34202, "school": "通用", "kind": "身法", "level": 12400, "max_strength": 6, "base": {}, "magic": {"agility_base": 433, "physical_attack_power_base": 702, "physical_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临尚戒 (会心 无双) 12400": {"id": 34201, "school": "通用", "kind": "力道", "level": 12400, "max_strength": 6, "base": {}, "magic": {"strength_base": 433, "physical_attack_power_base": 702, "physical_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临曦戒 (会心 无双) 12400": {"id": 34200, "school": "通用", "kind": "元气", "level": 12400, "max_strength": 6, "base": {}, "magic": {"spunk_base": 433, "magical_attack_power_base": 843, "all_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临衣戒 (会心 无双) 12400": {"id": 34199, "school": "通用", "kind": "根骨", "level": 12400, "max_strength": 6, "base": {}, "magic": {"spirit_base": 433, "magical_attack_power_base": 843, "magical_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "梧风御厨戒指·刀功 (会心 无双) 12300": {"id": 39791, "school": "万灵", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "岚峰御厨戒指·刀功 (会心 无双) 12300": {"id": 39790, "school": "刀宗", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "迎新御厨戒指·火候 (会心 无双) 12300": {"id": 39788, "school": "药宗", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "沧波御厨戒指·刀功 (会心 无双) 12300": {"id": 39785, "school": "蓬莱", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "傲寒御厨戒指·刀功 (会心 无双) 12300": {"id": 39784, "school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "蜀月御厨戒指·刀功 (会心 无双) 12300": {"id": 39775, "school": "唐门", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "蜀月御厨戒指·火候 (会心 无双) 12300": {"id": 39774, "school": "唐门", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "灵虚御厨戒指·刀功 (会心 无双) 12300": {"id": 39769, "school": "纯阳", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "灵虚御厨戒指·火候 (会心 无双) 12300": {"id": 39768, "school": "纯阳", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "久念戒 (破防 破招) 12300": {"id": 34274, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "拭江戒 (破防 破招) 12300": {"id": 34273, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "藏峦戒 (破防 破招) 12300": {"id": 34272, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "谨峰戒 (破防 破招) 12300": {"id": 34271, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风岱戒 (会心 破招) 12300": {"id": 34256, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌戒 (会心 破招) 12300": {"id": 34255, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "故芳戒 (会心 破招) 12300": {"id": 34254, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "all_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "剪桐戒 (会心 破招) 12300": {"id": 34253, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "北邱戒 (加速 破招) 12300": {"id": 34238, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦戒 (加速 破招) 12300": {"id": 34237, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "花霭戒 (加速 破招) 12300": {"id": 34236, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "途南戒 (加速 破招) 12300": {"id": 34235, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "渊忱戒 (破招 无双) 12300": {"id": 34220, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双戒 (破招 无双) 12300": {"id": 34219, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "庭澜戒 (破招 无双) 12300": {"id": 34218, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "故云戒 (破招 无双) 12300": {"id": 34217, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆宁戒 (会心 破招) 12300": {"id": 34130, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆敬戒 (会心 破招) 12300": {"id": 34129, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆惜戒 (会心 破招) 12300": {"id": 34128, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "all_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆安戒 (会心 破招) 12300": {"id": 34127, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "盈绝戒 (加速 无双) 12300": {"id": 34112, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "垣翰戒 (加速 无双) 12300": {"id": 34111, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "语阔戒 (加速 无双) 12300": {"id": 34110, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "擒雨戒 (加速 无双) 12300": {"id": 34109, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "潋阳戒 (破防 破招) 12300": {"id": 34094, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "重关戒 (破防 破招) 12300": {"id": 34093, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "烟琐戒 (破防 破招) 12300": {"id": 34092, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "德襄戒 (破防 破招) 12300": {"id": 34091, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}}
|
|
|
1 |
+
{"客行江湖·纵巧戒 (破防 无双) 15600": {"id": 39921, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·之远戒 (破防 无双) 15600": {"id": 39920, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·磐气戒 (破防 无双) 15600": {"id": 39919, "school": "通用", "kind": "元气", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spunk_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·风翎戒 (破防 无双) 15600": {"id": 39918, "school": "通用", "kind": "根骨", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spirit_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "似窈戒 (破防 破招) 15600": {"id": 39869, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1903, "surplus": 3188, "physical_overcome_base": 2885}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "卓然戒 (会心 无双) 15600": {"id": 39868, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1631, "physical_critical_strike_base": 1974, "strain_base": 4858}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "乃书戒 (破防 破招) 15600": {"id": 39867, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 2284, "surplus": 3188, "magical_overcome_base": 2885}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "广萤戒 (会心 无双) 15600": {"id": 39866, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1957, "all_critical_strike_base": 1974, "strain_base": 4858}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "赤树戒 (破防 无双) 15600": {"id": 39865, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1971, "physical_overcome_base": 3036, "strain_base": 3188}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "东倾戒 (破防 无双) 15600": {"id": 39864, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2365, "magical_overcome_base": 3036, "strain_base": 3188}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "望若戒 (会心 会效 破招) 15600": {"id": 39863, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1971, "surplus": 1670, "physical_critical_strike_base": 2885, "physical_critical_power_base": 1518}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "姑引戒 (破防 会心) 15600": {"id": 39862, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1971, "physical_critical_strike_base": 3112, "physical_overcome_base": 3112}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "勤俭戒 (无双) 15600": {"id": 39861, "school": "精简", "kind": "外功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2311, "strain_base": 5390}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "庆本戒 (会心 会效 破招) 15600": {"id": 39860, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2365, "surplus": 1670, "all_critical_strike_base": 2885, "all_critical_power_base": 1518}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "耐歌戒 (破防 会心) 15600": {"id": 39859, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2365, "all_critical_strike_base": 3112, "magical_overcome_base": 3112}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "萌音戒 (无双) 15600": {"id": 39858, "school": "精简", "kind": "内功", "level": 15600, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2773, "strain_base": 5390}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "救困戒 (会心 无双) 15600": {"id": 39849, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "磊落戒 (会心 无双) 15600": {"id": 39848, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "良安戒 (会心 无双) 15600": {"id": 39847, "school": "通用", "kind": "元气", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spunk_base": 545, "magical_attack_power_base": 1060, "all_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "情义戒 (会心 无双) 15600": {"id": 39846, "school": "通用", "kind": "根骨", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spirit_base": 545, "magical_attack_power_base": 1060, "magical_critical_strike_base": 2733, "strain_base": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "照耀指环 (破防 破招) 15600": {"id": 39831, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "如雪指环 (破防 破招) 15600": {"id": 39830, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 545, "physical_attack_power_base": 884, "physical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "宫阙指环 (破防 破招) 15600": {"id": 39829, "school": "通用", "kind": "元气", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spunk_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "绕城指环 (破防 破招) 15600": {"id": 39828, "school": "通用", "kind": "根骨", "level": 15600, "max_strength": 6, "base": {}, "magic": {"spirit_base": 545, "magical_attack_power_base": 1060, "magical_overcome_base": 2733, "surplus": 2429}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·徙 (破防 破招) 13950": {"id": 40869, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·兆 (破防 破招) 13950": {"id": 40868, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·誓 (破防 破招) 13950": {"id": 40867, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "行雾中·赦 (破防 破招) 13950": {"id": 40866, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "叠武戒 (破防 破招) 13950": {"id": 39795, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "绘山戒 (破防 破招) 13950": {"id": 39794, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "归朔戒 (破防 破招) 13950": {"id": 39793, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "青乡戒 (破防 破招) 13950": {"id": 39792, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·霄月戒 (破防 无双) 13950": {"id": 38857, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·听钟戒 (破防 无双) 13950": {"id": 38856, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·断意戒 (破防 无双) 13950": {"id": 38855, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·意悠戒 (破防 无双) 13950": {"id": 38854, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "时岑戒 (破防 破招) 13950": {"id": 38805, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1702, "surplus": 2851, "physical_overcome_base": 2580}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "游练戒 (会心 无双) 13950": {"id": 38804, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1459, "physical_critical_strike_base": 1765, "strain_base": 4344}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "璨云戒 (破防 破招) 13950": {"id": 38803, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 2042, "surplus": 2851, "magical_overcome_base": 2580}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "丰冉戒 (会心 无双) 13950": {"id": 38802, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1750, "all_critical_strike_base": 1765, "strain_base": 4344}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "问年戒 (破防 无双) 13950": {"id": 38801, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1763, "physical_overcome_base": 2715, "strain_base": 2851}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "峻水戒 (破防 无双) 13950": {"id": 38800, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2115, "magical_overcome_base": 2715, "strain_base": 2851}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "光霆戒 (会心 会效 破招) 13950": {"id": 38799, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1763, "surplus": 1493, "physical_critical_strike_base": 2580, "physical_critical_power_base": 1358}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "兰珑戒 (破防 会心) 13950": {"id": 38798, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1763, "physical_critical_strike_base": 2783, "physical_overcome_base": 2783}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "时越戒 (无双) 13950": {"id": 38797, "school": "精简", "kind": "外功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2066, "strain_base": 4820}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "希延戒 (会心 会效 破招) 13950": {"id": 38796, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2115, "surplus": 1493, "all_critical_strike_base": 2580, "all_critical_power_base": 1358}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羽容戒 (破防 会心) 13950": {"id": 38795, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2115, "all_critical_strike_base": 2783, "magical_overcome_base": 2783}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "丹莲戒 (无双) 13950": {"id": 38794, "school": "精简", "kind": "内功", "level": 13950, "max_strength": 3, "base": {}, "magic": {"magical_attack_power_base": 2480, "strain_base": 4820}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "踏雁戒 (会心 无双) 13950": {"id": 38785, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦戒 (会心 无双) 13950": {"id": 38784, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "壑云戒 (会心 无双) 13950": {"id": 38783, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "all_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "寒绡戒 (会心 ��双) 13950": {"id": 38782, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_critical_strike_base": 2444, "strain_base": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风掣指环 (破防 破招) 13950": {"id": 38767, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行指环 (破防 破招) 13950": {"id": 38766, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 487, "physical_attack_power_base": 790, "physical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "开颐指环 (破防 破招) 13950": {"id": 38765, "school": "通用", "kind": "元气", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spunk_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "扬英指环 (破防 破招) 13950": {"id": 38764, "school": "通用", "kind": "根骨", "level": 13950, "max_strength": 6, "base": {}, "magic": {"spirit_base": 487, "magical_attack_power_base": 948, "magical_overcome_base": 2444, "surplus": 2172}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨玉 (会心 无双) 13400": {"id": 39801, "school": "通用", "kind": "身法", "level": 13400, "max_strength": 6, "base": {}, "magic": {"agility_base": 468, "physical_attack_power_base": 759, "physical_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨石 (会心 无双) 13400": {"id": 39800, "school": "通用", "kind": "力道", "level": 13400, "max_strength": 6, "base": {}, "magic": {"strength_base": 468, "physical_attack_power_base": 759, "physical_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨环 (会心 无双) 13400": {"id": 39799, "school": "通用", "kind": "元气", "level": 13400, "max_strength": 6, "base": {}, "magic": {"spunk_base": 468, "magical_attack_power_base": 911, "all_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "暮雨戒 (会心 无双) 13400": {"id": 39798, "school": "通用", "kind": "根骨", "level": 13400, "max_strength": 6, "base": {}, "magic": {"spirit_base": 468, "magical_attack_power_base": 911, "magical_critical_strike_base": 2347, "strain_base": 2087}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖月戒 (会心 破招) 12450": {"id": 37824, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静戒 (会心 破招) 12450": {"id": 37823, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖烟戒 (会心 破招) 12450": {"id": 37822, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "all_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖寂戒 (会心 破招) 12450": {"id": 37821, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_critical_strike_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·天配戒 (破防 无双) 12450": {"id": 37782, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·梦花戒 (破防 无双) 12450": {"id": 37781, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·千世戒 (破防 无双) 12450": {"id": 37780, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "客行江湖·渐浓戒 (破防 无双) 12450": {"id": 37779, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "催时戒 (破防 无双) 12450": {"id": 37730, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1519, "physical_overcome_base": 2302, "strain_base": 2545}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "解怜戒 (破防 无双) 12450": {"id": 37729, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1823, "magical_overcome_base": 2302, "strain_base": 2545}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "破朝戒 (会心 无双) 12450": {"id": 37728, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1302, "physical_critical_strike_base": 1575, "strain_base": 3877}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "赫风戒 (破防 破招) 12450": {"id": 37727, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1519, "surplus": 2545, "physical_overcome_base": 2302}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "问岐戒 (无双) 12450": {"id": 37726, "school": "精简", "kind": "外功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"physical_attack_power_base": 1844, "strain_base": 4059}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "帘絮戒 (会心 无双) 12450": {"id": 37725, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1562, "all_critical_strike_base": 1575, "strain_base": 3877}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "清斗戒 (破防 破招) 12450": {"id": 37724, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 1823, "surplus": 2545, "magical_overcome_base": 2302}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "昭月戒 (无双) 12450": {"id": 37723, "school": "精简", "kind": "内功", "level": 12450, "max_strength": 4, "base": {}, "magic": {"magical_attack_power_base": 2213, "strain_base": 4059}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "染辞戒 (会心 无双) 12450": {"id": 37714, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃戒 (会心 无双) 12450": {"id": 37713, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "沁渡戒 (会心 无双) 12450": {"id": 37712, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "all_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "朝华戒 (会心 无双) 12450": {"id": 37711, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_critical_strike_base": 2181, "strain_base": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "商野指环 (破防 破招) 12450": {"id": 37696, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿指环 (破防 破招) 12450": {"id": 37695, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 435, "physical_attack_power_base": 705, "physical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "椴微指环 (破防 破招) 12450": {"id": 37694, "school": "通用", "kind": "元气", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spunk_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "池泓指环 (破防 破招) 12450": {"id": 37693, "school": "通用", "kind": "根骨", "level": 12450, "max_strength": 6, "base": {}, "magic": {"spirit_base": 435, "magical_attack_power_base": 846, "magical_overcome_base": 2181, "surplus": 1939}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临仙戒 (会心 无双) 12400": {"id": 34202, "school": "通用", "kind": "身法", "level": 12400, "max_strength": 6, "base": {}, "magic": {"agility_base": 433, "physical_attack_power_base": 702, "physical_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临尚戒 (会心 无双) 12400": {"id": 34201, "school": "通用", "kind": "力道", "level": 12400, "max_strength": 6, "base": {}, "magic": {"strength_base": 433, "physical_attack_power_base": 702, "physical_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临曦戒 (会心 无双) 12400": {"id": 34200, "school": "通用", "kind": "元气", "level": 12400, "max_strength": 6, "base": {}, "magic": {"spunk_base": 433, "magical_attack_power_base": 843, "all_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临衣戒 (会心 无双) 12400": {"id": 34199, "school": "通用", "kind": "根骨", "level": 12400, "max_strength": 6, "base": {}, "magic": {"spirit_base": 433, "magical_attack_power_base": 843, "magical_critical_strike_base": 2172, "strain_base": 1931}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "梧风御厨戒指·刀功 (会心 无双) 12300": {"id": 39791, "school": "万灵", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "岚峰御厨戒指·刀功 (会心 无双) 12300": {"id": 39790, "school": "刀宗", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "迎新御厨戒指·火候 (会心 无双) 12300": {"id": 39788, "school": "药宗", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "沧波御厨戒指·刀功 (会心 无双) 12300": {"id": 39785, "school": "蓬莱", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "傲寒御厨戒指·刀功 (会心 无双) 12300": {"id": 39784, "school": "霸刀", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "蜀月御厨戒指·刀功 (会心 无双) 12300": {"id": 39775, "school": "唐门", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "蜀月御厨戒指·火候 (会心 无双) 12300": {"id": 39774, "school": "唐门", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "霓裳御厨戒指·火候 (会心 无双) 12300": {"id": 39770, "school": "七秀", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "灵虚御厨戒指·刀功 (会心 无双) 12300": {"id": 39769, "school": "纯阳", "kind": "外功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "灵虚御厨戒指·火候 (会心 无双) 12300": {"id": 39768, "school": "纯阳", "kind": "内功", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": "125741", "set_attr": {"2": {"all_major_base": 305}}, "set_gain": {}}, "久念戒 (破防 破招) 12300": {"id": 34274, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "拭江戒 (破防 破招) 12300": {"id": 34273, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "藏峦戒 (破防 破招) 12300": {"id": 34272, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "谨峰戒 (破防 破招) 12300": {"id": 34271, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风岱戒 (会心 破招) 12300": {"id": 34256, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌戒 (会心 破招) 12300": {"id": 34255, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "故芳戒 (会心 破招) 12300": {"id": 34254, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "all_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "剪桐戒 (会心 破招) 12300": {"id": 34253, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "北邱戒 (加速 破招) 12300": {"id": 34238, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦戒 (加速 破招) 12300": {"id": 34237, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "花霭戒 (加速 破招) 12300": {"id": 34236, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "途南戒 (加速 破招) 12300": {"id": 34235, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "渊忱戒 (破招 无双) 12300": {"id": 34220, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双戒 (破招 无双) 12300": {"id": 34219, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "庭澜戒 (破招 无双) 12300": {"id": 34218, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "故云戒 (破招 无双) 12300": {"id": 34217, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "surplus": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆宁戒 (会心 破招) 12300": {"id": 34130, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆敬戒 (会心 破招) 12300": {"id": 34129, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆惜戒 (会心 破招) 12300": {"id": 34128, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "all_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆安戒 (会心 破招) 12300": {"id": 34127, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_critical_strike_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "盈绝戒 (加速 无双) 12300": {"id": 34112, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "垣翰戒 (加速 无双) 12300": {"id": 34111, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "语阔戒 (加速 无双) 12300": {"id": 34110, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "擒雨戒 (加速 无双) 12300": {"id": 34109, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "haste_base": 2155, "strain_base": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "潋阳戒 (破防 破招) 12300": {"id": 34094, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "重关戒 (破防 破招) 12300": {"id": 34093, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 429, "physical_attack_power_base": 697, "physical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "烟琐戒 (破防 破招) 12300": {"id": 34092, "school": "通用", "kind": "元气", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spunk_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "德襄戒 (破防 破招) 12300": {"id": 34091, "school": "通用", "kind": "根骨", "level": 12300, "max_strength": 6, "base": {}, "magic": {"spirit_base": 429, "magical_attack_power_base": 836, "magical_overcome_base": 2155, "surplus": 1915}, "embed": {}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}}
|
qt/assets/equipments/shoes
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
qt/assets/equipments/wrist
CHANGED
The diff for this file is too large to render.
See raw diff
|
|
schools/__init__.py
CHANGED
@@ -1,12 +1,15 @@
|
|
1 |
from dataclasses import dataclass
|
2 |
-
from typing import Tuple, List, Dict, Type, Union
|
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 |
|
9 |
-
from schools import bei_ao_jue,
|
|
|
|
|
|
|
10 |
|
11 |
|
12 |
@dataclass
|
@@ -16,6 +19,7 @@ class School:
|
|
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]
|
@@ -90,15 +94,23 @@ MIXING_DISPLAY_ATTRS = {
|
|
90 |
SUPPORT_SCHOOL = {
|
91 |
10015: School(
|
92 |
school="纯阳", major="身法", kind="外功", attribute=tai_xu_jian_yi.TaiXuJianYi, formation="北斗七星阵",
|
93 |
-
skills=tai_xu_jian_yi.SKILLS, buffs=tai_xu_jian_yi.BUFFS,
|
94 |
talent_gains=tai_xu_jian_yi.TALENT_GAINS, talents=tai_xu_jian_yi.TALENTS,
|
95 |
talent_decoder=tai_xu_jian_yi.TALENT_DECODER, talent_encoder=tai_xu_jian_yi.TALENT_ENCODER,
|
96 |
recipe_gains=tai_xu_jian_yi.RECIPE_GAINS, recipes=tai_xu_jian_yi.RECIPES,
|
97 |
gains=tai_xu_jian_yi.GAINS, display_attrs={"agility": "身法", **PHYSICAL_DISPLAY_ATTRS}
|
98 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
10225: School(
|
100 |
school="唐门", major="元气", kind="内功", attribute=tian_luo_gui_dao.TianLuoGuiDao, formation="千机百变阵",
|
101 |
-
skills=tian_luo_gui_dao.SKILLS, buffs=tian_luo_gui_dao.BUFFS,
|
102 |
talent_gains=tian_luo_gui_dao.TALENT_GAINS, talents=tian_luo_gui_dao.TALENTS,
|
103 |
talent_decoder=tian_luo_gui_dao.TALENT_DECODER, talent_encoder=tian_luo_gui_dao.TALENT_ENCODER,
|
104 |
recipe_gains=tian_luo_gui_dao.RECIPE_GAINS, recipes=tian_luo_gui_dao.RECIPES,
|
@@ -106,7 +118,7 @@ SUPPORT_SCHOOL = {
|
|
106 |
),
|
107 |
10464: School(
|
108 |
school="霸刀", major="力道", kind="外功", attribute=bei_ao_jue.BeiAoJue, formation="霜岚洗锋阵",
|
109 |
-
skills=bei_ao_jue.SKILLS, buffs=bei_ao_jue.BUFFS,
|
110 |
talent_gains=bei_ao_jue.TALENT_GAINS, talents=bei_ao_jue.TALENTS,
|
111 |
talent_decoder=bei_ao_jue.TALENT_DECODER, talent_encoder=bei_ao_jue.TALENT_ENCODER,
|
112 |
recipe_gains=bei_ao_jue.RECIPE_GAINS, recipes=bei_ao_jue.RECIPES,
|
@@ -114,7 +126,7 @@ SUPPORT_SCHOOL = {
|
|
114 |
),
|
115 |
10533: School(
|
116 |
school="蓬莱", major="身法", kind="外功", attribute=ling_hai_jue.LingHaiJue, formation="墟海引归阵",
|
117 |
-
skills=ling_hai_jue.SKILLS, buffs=ling_hai_jue.BUFFS,
|
118 |
talent_gains=ling_hai_jue.TALENT_GAINS, talents=ling_hai_jue.TALENTS,
|
119 |
talent_decoder=ling_hai_jue.TALENT_DECODER, talent_encoder=ling_hai_jue.TALENT_ENCODER,
|
120 |
recipe_gains=ling_hai_jue.RECIPE_GAINS, recipes=ling_hai_jue.RECIPES,
|
@@ -122,7 +134,7 @@ SUPPORT_SCHOOL = {
|
|
122 |
),
|
123 |
10627: School(
|
124 |
school="药宗", major="根骨", kind="内功", attribute=wu_fang.WuFang, formation="乱暮浊茵阵",
|
125 |
-
skills=wu_fang.SKILLS, buffs=wu_fang.BUFFS,
|
126 |
talent_gains=wu_fang.TALENT_GAINS, talents=wu_fang.TALENTS,
|
127 |
talent_decoder=wu_fang.TALENT_DECODER, talent_encoder=wu_fang.TALENT_ENCODER,
|
128 |
recipe_gains=wu_fang.RECIPE_GAINS, recipes=wu_fang.RECIPES,
|
@@ -130,7 +142,7 @@ SUPPORT_SCHOOL = {
|
|
130 |
),
|
131 |
10698: School(
|
132 |
school="刀宗", major="力道", kind="外功", attribute=gu_feng_jue.GuFengJue, formation="横云破锋阵",
|
133 |
-
skills=gu_feng_jue.SKILLS, buffs=gu_feng_jue.BUFFS,
|
134 |
talent_gains=gu_feng_jue.TALENT_GAINS, talents=gu_feng_jue.TALENTS,
|
135 |
talent_decoder=gu_feng_jue.TALENT_DECODER, talent_encoder=gu_feng_jue.TALENT_ENCODER,
|
136 |
recipe_gains=gu_feng_jue.RECIPE_GAINS, recipes=gu_feng_jue.RECIPES,
|
@@ -138,7 +150,7 @@ SUPPORT_SCHOOL = {
|
|
138 |
),
|
139 |
10756: School(
|
140 |
school="万灵", major="身法", kind="外功", attribute=shan_hai_xin_jue.ShanHaiXinJue, formation="苍梧引灵阵",
|
141 |
-
skills=shan_hai_xin_jue.SKILLS, buffs=shan_hai_xin_jue.BUFFS,
|
142 |
talent_gains=shan_hai_xin_jue.TALENT_GAINS, talents=shan_hai_xin_jue.TALENTS,
|
143 |
talent_decoder=shan_hai_xin_jue.TALENT_DECODER, talent_encoder=shan_hai_xin_jue.TALENT_ENCODER,
|
144 |
recipe_gains=shan_hai_xin_jue.RECIPE_GAINS, recipes=shan_hai_xin_jue.RECIPES,
|
|
|
1 |
from dataclasses import dataclass
|
2 |
+
from typing import Tuple, List, Dict, Type, Union, Callable
|
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 |
|
9 |
+
from schools import bei_ao_jue, gu_feng_jue
|
10 |
+
from schools import shan_hai_xin_jue, ling_hai_jue, tai_xu_jian_yi
|
11 |
+
from schools import tian_luo_gui_dao
|
12 |
+
from schools import wu_fang, bing_xin_jue
|
13 |
|
14 |
|
15 |
@dataclass
|
|
|
19 |
kind: str
|
20 |
attribute: Type[Attribute]
|
21 |
formation: str
|
22 |
+
prepare: Callable
|
23 |
skills: Dict[int, Skill]
|
24 |
buffs: Dict[int, Buff]
|
25 |
talent_gains: Dict[int, Gain]
|
|
|
94 |
SUPPORT_SCHOOL = {
|
95 |
10015: School(
|
96 |
school="纯阳", major="身法", kind="外功", attribute=tai_xu_jian_yi.TaiXuJianYi, formation="北斗七星阵",
|
97 |
+
skills=tai_xu_jian_yi.SKILLS, buffs=tai_xu_jian_yi.BUFFS, prepare=tai_xu_jian_yi.prepare,
|
98 |
talent_gains=tai_xu_jian_yi.TALENT_GAINS, talents=tai_xu_jian_yi.TALENTS,
|
99 |
talent_decoder=tai_xu_jian_yi.TALENT_DECODER, talent_encoder=tai_xu_jian_yi.TALENT_ENCODER,
|
100 |
recipe_gains=tai_xu_jian_yi.RECIPE_GAINS, recipes=tai_xu_jian_yi.RECIPES,
|
101 |
gains=tai_xu_jian_yi.GAINS, display_attrs={"agility": "身法", **PHYSICAL_DISPLAY_ATTRS}
|
102 |
),
|
103 |
+
10081: School(
|
104 |
+
school="七秀", major="根骨", kind="内功", attribute=bing_xin_jue.WuFang, formation="九音惊弦阵",
|
105 |
+
skills=bing_xin_jue.SKILLS, buffs=bing_xin_jue.BUFFS, prepare=bing_xin_jue.prepare,
|
106 |
+
talent_gains=bing_xin_jue.TALENT_GAINS, talents=bing_xin_jue.TALENTS,
|
107 |
+
talent_decoder=bing_xin_jue.TALENT_DECODER, talent_encoder=bing_xin_jue.TALENT_ENCODER,
|
108 |
+
recipe_gains=bing_xin_jue.RECIPE_GAINS, recipes=bing_xin_jue.RECIPES,
|
109 |
+
gains=bing_xin_jue.GAINS, display_attrs={"spirit": "根骨", **MAGICAL_DISPLAY_ATTRS}
|
110 |
+
),
|
111 |
10225: School(
|
112 |
school="唐门", major="元气", kind="内功", attribute=tian_luo_gui_dao.TianLuoGuiDao, formation="千机百变阵",
|
113 |
+
skills=tian_luo_gui_dao.SKILLS, buffs=tian_luo_gui_dao.BUFFS, prepare=tian_luo_gui_dao.prepare,
|
114 |
talent_gains=tian_luo_gui_dao.TALENT_GAINS, talents=tian_luo_gui_dao.TALENTS,
|
115 |
talent_decoder=tian_luo_gui_dao.TALENT_DECODER, talent_encoder=tian_luo_gui_dao.TALENT_ENCODER,
|
116 |
recipe_gains=tian_luo_gui_dao.RECIPE_GAINS, recipes=tian_luo_gui_dao.RECIPES,
|
|
|
118 |
),
|
119 |
10464: School(
|
120 |
school="霸刀", major="力道", kind="外功", attribute=bei_ao_jue.BeiAoJue, formation="霜岚洗锋阵",
|
121 |
+
skills=bei_ao_jue.SKILLS, buffs=bei_ao_jue.BUFFS, prepare=bei_ao_jue.prepare,
|
122 |
talent_gains=bei_ao_jue.TALENT_GAINS, talents=bei_ao_jue.TALENTS,
|
123 |
talent_decoder=bei_ao_jue.TALENT_DECODER, talent_encoder=bei_ao_jue.TALENT_ENCODER,
|
124 |
recipe_gains=bei_ao_jue.RECIPE_GAINS, recipes=bei_ao_jue.RECIPES,
|
|
|
126 |
),
|
127 |
10533: School(
|
128 |
school="蓬莱", major="身法", kind="外功", attribute=ling_hai_jue.LingHaiJue, formation="墟海引归阵",
|
129 |
+
skills=ling_hai_jue.SKILLS, buffs=ling_hai_jue.BUFFS, prepare=ling_hai_jue.prepare,
|
130 |
talent_gains=ling_hai_jue.TALENT_GAINS, talents=ling_hai_jue.TALENTS,
|
131 |
talent_decoder=ling_hai_jue.TALENT_DECODER, talent_encoder=ling_hai_jue.TALENT_ENCODER,
|
132 |
recipe_gains=ling_hai_jue.RECIPE_GAINS, recipes=ling_hai_jue.RECIPES,
|
|
|
134 |
),
|
135 |
10627: School(
|
136 |
school="药宗", major="根骨", kind="内功", attribute=wu_fang.WuFang, formation="乱暮浊茵阵",
|
137 |
+
skills=wu_fang.SKILLS, buffs=wu_fang.BUFFS, prepare=wu_fang.prepare,
|
138 |
talent_gains=wu_fang.TALENT_GAINS, talents=wu_fang.TALENTS,
|
139 |
talent_decoder=wu_fang.TALENT_DECODER, talent_encoder=wu_fang.TALENT_ENCODER,
|
140 |
recipe_gains=wu_fang.RECIPE_GAINS, recipes=wu_fang.RECIPES,
|
|
|
142 |
),
|
143 |
10698: School(
|
144 |
school="刀宗", major="力道", kind="外功", attribute=gu_feng_jue.GuFengJue, formation="横云破锋阵",
|
145 |
+
skills=gu_feng_jue.SKILLS, buffs=gu_feng_jue.BUFFS, prepare=gu_feng_jue.prepare,
|
146 |
talent_gains=gu_feng_jue.TALENT_GAINS, talents=gu_feng_jue.TALENTS,
|
147 |
talent_decoder=gu_feng_jue.TALENT_DECODER, talent_encoder=gu_feng_jue.TALENT_ENCODER,
|
148 |
recipe_gains=gu_feng_jue.RECIPE_GAINS, recipes=gu_feng_jue.RECIPES,
|
|
|
150 |
),
|
151 |
10756: School(
|
152 |
school="万灵", major="身法", kind="外功", attribute=shan_hai_xin_jue.ShanHaiXinJue, formation="苍梧引灵阵",
|
153 |
+
skills=shan_hai_xin_jue.SKILLS, buffs=shan_hai_xin_jue.BUFFS, prepare=shan_hai_xin_jue.prepare,
|
154 |
talent_gains=shan_hai_xin_jue.TALENT_GAINS, talents=shan_hai_xin_jue.TALENTS,
|
155 |
talent_decoder=shan_hai_xin_jue.TALENT_DECODER, talent_encoder=shan_hai_xin_jue.TALENT_ENCODER,
|
156 |
recipe_gains=shan_hai_xin_jue.RECIPE_GAINS, recipes=shan_hai_xin_jue.RECIPES,
|
schools/bei_ao_jue/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.bei_ao_jue.talents import TALENT_GAINS, TALENTS, TALENT_DECODER, TA
|
|
4 |
from schools.bei_ao_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.bei_ao_jue.gains import GAINS
|
6 |
from schools.bei_ao_jue.attribute import BeiAoJue
|
|
|
|
|
|
|
|
|
|
4 |
from schools.bei_ao_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.bei_ao_jue.gains import GAINS
|
6 |
from schools.bei_ao_jue.attribute import BeiAoJue
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
pass
|
schools/bing_xin_jue/__init__.py
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from schools.bing_xin_jue.skills import SKILLS
|
2 |
+
from schools.bing_xin_jue.buffs import BUFFS
|
3 |
+
from schools.bing_xin_jue.talents import TALENT_GAINS, TALENTS, TALENT_DECODER, TALENT_ENCODER
|
4 |
+
from schools.bing_xin_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
+
from schools.bing_xin_jue.gains import GAINS
|
6 |
+
from schools.bing_xin_jue.attribute import WuFang
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
self.status_buffer[player_id][(409, 1)] = (10, self.current_frame)
|
11 |
+
self.status_buffer[player_id][(17969, 1)] = (1, self.current_frame)
|
schools/bing_xin_jue/attribute.py
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from base.attribute import MagicalAttribute
|
2 |
+
from base.constant import *
|
3 |
+
|
4 |
+
|
5 |
+
class WuFang(MagicalAttribute):
|
6 |
+
SPIRIT_TO_ATTACK_POWER = 1946 / BINARY_SCALE
|
7 |
+
SPIRIT_TO_CRITICAL_STRIKE = 287 / BINARY_SCALE
|
8 |
+
|
9 |
+
def __init__(self):
|
10 |
+
super().__init__()
|
11 |
+
self.magical_attack_power_base += 4222
|
12 |
+
self.pve_addition += 51
|
13 |
+
|
14 |
+
@property
|
15 |
+
def extra_magical_attack_power(self):
|
16 |
+
return int(self.spirit * self.SPIRIT_TO_ATTACK_POWER)
|
17 |
+
|
18 |
+
@property
|
19 |
+
def extra_magical_critical_strike(self):
|
20 |
+
return int(self.spirit * self.SPIRIT_TO_CRITICAL_STRIKE)
|
schools/bing_xin_jue/buffs.py
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from base.buff import Buff
|
2 |
+
from general.buffs import GENERAL_BUFFS
|
3 |
+
|
4 |
+
BUFFS = {
|
5 |
+
1437: {
|
6 |
+
"buff_name": "嗔怒",
|
7 |
+
"activate": False,
|
8 |
+
"gain_attributes": {
|
9 |
+
"magical_critical_strike_gain": 400,
|
10 |
+
"magical_critical_power_gain": 41
|
11 |
+
}
|
12 |
+
},
|
13 |
+
409: {
|
14 |
+
"buff_name": "剑舞",
|
15 |
+
"gain_attributes": {
|
16 |
+
"magical_attack_power_gain": 15
|
17 |
+
}
|
18 |
+
},
|
19 |
+
10240: {
|
20 |
+
"buff_name": "满堂",
|
21 |
+
"gain_attributes": {
|
22 |
+
"magical_critical_strike_gain": 800,
|
23 |
+
"magical_critical_power_gain": 21
|
24 |
+
}
|
25 |
+
},
|
26 |
+
25902: {
|
27 |
+
"buff_name": "流玉",
|
28 |
+
"gain_skills": {
|
29 |
+
skill_id: {
|
30 |
+
"skill_damage_addition": 512,
|
31 |
+
} for skill_id in (6234, 6554)
|
32 |
+
}
|
33 |
+
},
|
34 |
+
538: {
|
35 |
+
"buff_name": "繁音急节",
|
36 |
+
"gain_attributes": {
|
37 |
+
"magical_attack_power_gain": 461
|
38 |
+
}
|
39 |
+
},
|
40 |
+
17010: {
|
41 |
+
"buff_name": "广陵月",
|
42 |
+
"gain_attributes": {
|
43 |
+
"magical_critical_power_gain": 20
|
44 |
+
}
|
45 |
+
},
|
46 |
+
5788: {
|
47 |
+
"buff_name": "枕上",
|
48 |
+
"gain_attributes": {
|
49 |
+
"magical_shield_ignore": 102,
|
50 |
+
}
|
51 |
+
},
|
52 |
+
9927: {
|
53 |
+
"buff_name": "夜天",
|
54 |
+
"gain_attributes": {
|
55 |
+
"all_damage_addition": 102,
|
56 |
+
}
|
57 |
+
},
|
58 |
+
17969: {
|
59 |
+
"buff_name": "化冰",
|
60 |
+
"gain_attributes": {
|
61 |
+
"pve_addition": 71,
|
62 |
+
}
|
63 |
+
},
|
64 |
+
}
|
65 |
+
|
66 |
+
for buff_id, detail in BUFFS.items():
|
67 |
+
BUFFS[buff_id] = Buff(buff_id, detail.pop("buff_name"))
|
68 |
+
for attr, value in detail.items():
|
69 |
+
setattr(BUFFS[buff_id], attr, value)
|
70 |
+
|
71 |
+
for buff_id, buff in GENERAL_BUFFS.items():
|
72 |
+
BUFFS[buff_id] = buff
|
schools/bing_xin_jue/gains.py
ADDED
@@ -0,0 +1,17 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from base.recipe import damage_addition_recipe, critical_strike_recipe
|
2 |
+
from general.gains.equipment import EQUIPMENT_GAINS, CriticalSet
|
3 |
+
from base.gain import Gain
|
4 |
+
|
5 |
+
GAINS = {
|
6 |
+
1916: CriticalSet(1437),
|
7 |
+
1547: damage_addition_recipe([6234, 6554], 102),
|
8 |
+
1524: damage_addition_recipe([6234, 6554], 51),
|
9 |
+
1525: damage_addition_recipe([6559], 51),
|
10 |
+
1137: critical_strike_recipe([30524], 500),
|
11 |
+
1977: critical_strike_recipe([], 500), # 剑破
|
12 |
+
2416: Gain(),
|
13 |
+
1930: Gain(),
|
14 |
+
17380: Gain(),
|
15 |
+
17381: Gain(),
|
16 |
+
**EQUIPMENT_GAINS,
|
17 |
+
}
|
schools/bing_xin_jue/recipes.py
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Dict, List
|
2 |
+
|
3 |
+
from base.gain import Gain
|
4 |
+
from base.recipe import damage_addition_recipe, critical_strike_recipe
|
5 |
+
|
6 |
+
RECIPE_GAINS: Dict[str, Dict[str, Gain]] = {
|
7 |
+
"玳弦急曲": {
|
8 |
+
"5%伤害": damage_addition_recipe([6234, 6554], 51),
|
9 |
+
"4%伤害": damage_addition_recipe([6234, 6554], 41),
|
10 |
+
"3%伤害": damage_addition_recipe([6234, 6554], 31),
|
11 |
+
},
|
12 |
+
"剑气长江": {
|
13 |
+
"6%伤害": damage_addition_recipe([30524], 61),
|
14 |
+
"4%伤害": damage_addition_recipe([30524], 41),
|
15 |
+
"3%会心": critical_strike_recipe([30524], 300),
|
16 |
+
"2%会心": critical_strike_recipe([30524], 200),
|
17 |
+
},
|
18 |
+
"江海凝光": {
|
19 |
+
"15%伤害": damage_addition_recipe([6559], 154),
|
20 |
+
"3%会心": critical_strike_recipe([6559], 300),
|
21 |
+
"2%会心": critical_strike_recipe([6559], 200),
|
22 |
+
},
|
23 |
+
}
|
24 |
+
|
25 |
+
RECIPES: Dict[str, List[str]] = {
|
26 |
+
"玳弦急曲": ["5%伤害", "4%伤害", "3%伤害"],
|
27 |
+
"剑气长江": ["6%伤害", "4%伤害", "3%会心", "2%会心"],
|
28 |
+
"江海凝光": ["15%伤害", "15%伤害", "3%会心", "2%会心"],
|
29 |
+
}
|
schools/bing_xin_jue/skills.py
ADDED
@@ -0,0 +1,209 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Dict
|
2 |
+
|
3 |
+
from base.skill import Skill, DotSkill, DotConsumeSkill, PhysicalDamage, MagicalDamage, MagicalDotDamage
|
4 |
+
from general.skills import GENERAL_SKILLS
|
5 |
+
|
6 |
+
SKILLS: Dict[int, Skill | dict] = {
|
7 |
+
32889: {
|
8 |
+
"skill_class": MagicalDamage,
|
9 |
+
"skill_name": "破",
|
10 |
+
"surplus_cof": 1048576 * (1.2 * 0.33 * 0.33 - 1)
|
11 |
+
},
|
12 |
+
15: {
|
13 |
+
"skill_class": PhysicalDamage,
|
14 |
+
"skill_name": "连环双刀",
|
15 |
+
"attack_power_cof": 16,
|
16 |
+
"weapon_damage_cof": 1024,
|
17 |
+
"skill_damage_addition": 205
|
18 |
+
},
|
19 |
+
2920: {
|
20 |
+
"skill_class": MagicalDotDamage,
|
21 |
+
"skill_name": "急曲(DOT)",
|
22 |
+
"damage_base": 100,
|
23 |
+
"attack_power_cof": 114 * 1.1*0.9 * 1.1,
|
24 |
+
"interval": 48
|
25 |
+
},
|
26 |
+
18716: {
|
27 |
+
"skill_class": DotSkill,
|
28 |
+
"skill_name": "急曲",
|
29 |
+
"bind_skill": 2920,
|
30 |
+
"max_stack": 3,
|
31 |
+
"tick": 6
|
32 |
+
},
|
33 |
+
6559: {
|
34 |
+
"skill_class": type("Mixing", (MagicalDamage, DotConsumeSkill), {}),
|
35 |
+
"skill_name": "江海凝光",
|
36 |
+
"damage_base": [65, 68, 71, 75, 78, 81, 83, 86] +
|
37 |
+
[e * 0.95 for e in
|
38 |
+
[95, 101, 106, 111, 116, 121, 127, 132, 137, 142, 147, 153, 158, 163, 168, 173, 179, 184, 189,
|
39 |
+
194, 199, 205, 210, 215]],
|
40 |
+
"damage_rand": [e * 0.1 for e in
|
41 |
+
[54, 59, 64, 69, 75, 80, 85, 90, 95, 101, 106, 111, 116, 121, 127, 132, 137, 142, 147, 153, 158,
|
42 |
+
163, 168, 173, 179, 184, 189, 194, 199, 205, 210, 215]],
|
43 |
+
"damage_gain": 1 / 2.5,
|
44 |
+
"attack_power_cof": [36 * 1.3 * 1.1] * 9 +
|
45 |
+
[(36 + (i - 9) * 1) * 1.3 * 1.1 for i in range(10, 32)] +
|
46 |
+
[164 * 1.3 * 1.1],
|
47 |
+
"bind_skill": 2920,
|
48 |
+
"tick": 99
|
49 |
+
},
|
50 |
+
30524: {
|
51 |
+
"skill_class": MagicalDamage,
|
52 |
+
"skill_name": "剑气长江",
|
53 |
+
"damage_base": [e * 0.2 for e in [21, 76, 80, 81, 84]] +
|
54 |
+
[e * 2 * 0.98 * 0.2 for e in
|
55 |
+
[255, 264, 272, 281, 289, 298, 306, 325, 323, 332, 340, 349, 357, 366, 374, 383, 391, 400, 408,
|
56 |
+
417, 425, 434, 442]],
|
57 |
+
"damage_rand": [e * 2 * 0.04 * 0.5 for e in
|
58 |
+
[33, 41, 50, 58, 67, 75, 84, 92, 101, 109, 118, 126, 135, 143, 152, 160, 169, 177, 186, 194,
|
59 |
+
203, 211, 220, 228, 237, 245, 254, 262]],
|
60 |
+
"attack_power_cof": [64 * 1.1 * 1.2 * 1.1 * 1.1 * 1.1 * 1.1 * 1.1] * 9 +
|
61 |
+
[(64 + (i - 9) * 4) * 1.1 * 1.2 * 1.1 * 1.1 * 1.1 * 1.1 * 1.1 for i in range(10, 28)] +
|
62 |
+
[152 * 1.1 * 1.2 * 1.1 * 1.1 * 1.1 * 1.1 * 1.1],
|
63 |
+
},
|
64 |
+
6234: {
|
65 |
+
"skill_class": MagicalDamage,
|
66 |
+
"skill_name": "玳弦急曲",
|
67 |
+
"damage_base": [20, 79, 90, 96, 103, 109, 116, 122, 129, 135, 142, 148, 155, 161, 168, 174, 181, 187, 194, 200,
|
68 |
+
207, 213, 220, 226, 233, 239, 246, 252],
|
69 |
+
"damage_rand": [e * 0.1 for e in
|
70 |
+
[27, 33, 40, 46, 53, 59, 66, 72, 79, 85, 92, 98, 105, 111, 118, 124, 131, 137, 144, 150, 157,
|
71 |
+
163, 170, 176, 183, 189, 196, 202]],
|
72 |
+
"attack_power_cof": [36 * 0.9 * 0.9 * 1.25 * 1.05] * 9 +
|
73 |
+
[(36 + (i - 9) * 3) * 0.9 * 0.9 * 1.25 * 1.05 for i in range(10, 28)] +
|
74 |
+
[85 * 0.9 * 1.25 * 1.05],
|
75 |
+
},
|
76 |
+
6554: {
|
77 |
+
"skill_class": MagicalDamage,
|
78 |
+
"skill_name": "玳弦急曲",
|
79 |
+
"damage_base": [20, 79, 90, 96, 103, 109, 116, 122, 129, 135, 142, 148, 155, 161, 168, 174, 181, 187, 194, 200,
|
80 |
+
207, 213, 220, 226, 233, 239, 246, 252],
|
81 |
+
"damage_rand": [e * 0.1 for e in
|
82 |
+
[27, 33, 40, 46, 53, 59, 66, 72, 79, 85, 92, 98, 105, 111, 118, 124, 131, 137, 144, 150, 157,
|
83 |
+
163, 170, 176, 183, 189, 196, 202]],
|
84 |
+
"damage_gain": 0.15,
|
85 |
+
"attack_power_cof": 85 * 0.45 * 0.9 * 1.25 * 1.05,
|
86 |
+
},
|
87 |
+
23936: {
|
88 |
+
"skill_class": MagicalDamage,
|
89 |
+
"skill_name": "广陵月",
|
90 |
+
"damage_base": 20,
|
91 |
+
"damage_rand": 17,
|
92 |
+
"attack_power_cof": 16 * 1.1,
|
93 |
+
},
|
94 |
+
34642: {
|
95 |
+
"skill_class": MagicalDamage,
|
96 |
+
"skill_name": "流玉",
|
97 |
+
"damage_base": 384 * 0.95,
|
98 |
+
"damage_rand": 384 * 0.1,
|
99 |
+
"attack_power_cof": 250 * 1.1,
|
100 |
+
"skill_shield_gain": -819,
|
101 |
+
},
|
102 |
+
34704: {
|
103 |
+
"skill_class": MagicalDamage,
|
104 |
+
"skill_name": "破·流玉",
|
105 |
+
"surplus_cof": 1048576 * (1.2 * 1.1 * 1.25 - 1)
|
106 |
+
},
|
107 |
+
37317: {
|
108 |
+
"skill_class": MagicalDamage,
|
109 |
+
"skill_name": "留芳仙姿·剑破",
|
110 |
+
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
|
111 |
+
"damage_rand": 5,
|
112 |
+
"attack_power_cof": 175,
|
113 |
+
},
|
114 |
+
37318: {
|
115 |
+
"skill_class": MagicalDamage,
|
116 |
+
"skill_name": "留芳仙姿·玳弦",
|
117 |
+
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
|
118 |
+
"damage_rand": 5,
|
119 |
+
"attack_power_cof": 30,
|
120 |
+
},
|
121 |
+
37319: {
|
122 |
+
"skill_class": MagicalDamage,
|
123 |
+
"skill_name": "留芳仙姿·剑气",
|
124 |
+
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
|
125 |
+
"damage_rand": 5,
|
126 |
+
"attack_power_cof": 70,
|
127 |
+
},
|
128 |
+
37320: {
|
129 |
+
"skill_class": MagicalDamage,
|
130 |
+
"skill_name": "留芳仙姿·剑影",
|
131 |
+
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
|
132 |
+
"damage_rand": 5,
|
133 |
+
"attack_power_cof": 260,
|
134 |
+
},
|
135 |
+
33140: {
|
136 |
+
"skill_class": MagicalDamage,
|
137 |
+
"skill_name": "盈袖",
|
138 |
+
"damage_base": [70, 75, 80, 85, 90, 95],
|
139 |
+
"damage_rand": 5,
|
140 |
+
"attack_power_cof": [(400 * (i + 1) + 250) * 0.25 * 0.5 for i in range(6)]
|
141 |
+
},
|
142 |
+
30532: {
|
143 |
+
"skill_class": MagicalDamage,
|
144 |
+
"skill_name": "钗燕",
|
145 |
+
"damage_base": [133, 644, 1156, 1667],
|
146 |
+
"damage_rand": 5,
|
147 |
+
"attack_power_cof": 100 * 1.3,
|
148 |
+
},
|
149 |
+
34611: {
|
150 |
+
"skill_class": MagicalDamage,
|
151 |
+
"skill_name": "钗燕·明",
|
152 |
+
"damage_base": [70, 75, 80, 85, 90, 95],
|
153 |
+
"damage_rand": 5,
|
154 |
+
"attack_power_cof": 300 * 1.6 * 1.8 * 0.7 * 0.95,
|
155 |
+
},
|
156 |
+
24999: {
|
157 |
+
"skill_class": MagicalDamage,
|
158 |
+
"skill_name": "化冰",
|
159 |
+
"damage_base": [20, 79, 90, 96, 103, 109, 116, 122, 129, 135, 142, 148, 155, 161, 168, 174, 181, 187, 194, 200,
|
160 |
+
207, 213, 220, 226, 233, 239, 246, 252],
|
161 |
+
"damage_rand": [e * 0.1 for e in
|
162 |
+
[27, 33, 40, 46, 53, 59, 66, 72, 79, 85, 92, 98, 105, 111, 118, 124, 131, 137, 144, 150, 157,
|
163 |
+
163, 170, 176, 183, 189, 196, 202]],
|
164 |
+
"attack_power_cof": 300 * 1.05 * 1.2,
|
165 |
+
},
|
166 |
+
34612: {
|
167 |
+
"skill_class": MagicalDamage,
|
168 |
+
"skill_name": "凝华",
|
169 |
+
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
|
170 |
+
"damage_rand": 5,
|
171 |
+
"attack_power_cof": [30 * (i + 1) * 0.7 for i in range(10)],
|
172 |
+
},
|
173 |
+
35058: {
|
174 |
+
"skill_class": MagicalDamage,
|
175 |
+
"skill_name": "凝华·明",
|
176 |
+
"damage_base": [70, 75, 80, 85, 90, 95, 100, 105, 110, 115],
|
177 |
+
"damage_rand": 5,
|
178 |
+
"attack_power_cof": [370 * (i + 1) * 0.5 * 1.7 * 0.7 * 1.2 / 3 for i in range(10)],
|
179 |
+
},
|
180 |
+
25769: {
|
181 |
+
"skill_class": MagicalDamage,
|
182 |
+
"skill_name": "剑破虚空·神兵",
|
183 |
+
"damage_base": 20,
|
184 |
+
"damage_rand": 2,
|
185 |
+
"attack_power_cof": 65
|
186 |
+
},
|
187 |
+
18512: {
|
188 |
+
"skill_class": MagicalDotDamage,
|
189 |
+
"skill_name": "气吞长江(DOT)",
|
190 |
+
"damage_base": 25,
|
191 |
+
"attack_power_cof": 400*1.4,
|
192 |
+
"interval": 48
|
193 |
+
},
|
194 |
+
25757: {
|
195 |
+
"skill_class": DotSkill,
|
196 |
+
"skill_name": "气吞长江",
|
197 |
+
"bind_skill": 18512,
|
198 |
+
"max_stack": 3,
|
199 |
+
"tick": 10
|
200 |
+
}
|
201 |
+
}
|
202 |
+
|
203 |
+
for skill_id, detail in SKILLS.items():
|
204 |
+
SKILLS[skill_id] = detail.pop('skill_class')(skill_id)
|
205 |
+
for attr, value in detail.items():
|
206 |
+
setattr(SKILLS[skill_id], attr, value)
|
207 |
+
|
208 |
+
for skill_id, skill in GENERAL_SKILLS.items():
|
209 |
+
SKILLS[skill_id] = skill
|
schools/bing_xin_jue/talents.py
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from typing import Dict
|
2 |
+
|
3 |
+
from base.gain import Gain
|
4 |
+
from base.skill import Skill
|
5 |
+
|
6 |
+
|
7 |
+
class 青梅嗅(Gain):
|
8 |
+
def add_skills(self, skills: Dict[int, Skill]):
|
9 |
+
for skill_id in (6234, 6554):
|
10 |
+
skills[skill_id].skill_critical_strike += 1000
|
11 |
+
skills[skill_id].skill_critical_power += 102
|
12 |
+
|
13 |
+
def sub_skills(self, skills: Dict[int, Skill]):
|
14 |
+
for skill_id in (6234, 6554):
|
15 |
+
skills[skill_id].skill_critical_strike -= 1000
|
16 |
+
skills[skill_id].skill_critical_power -= 102
|
17 |
+
|
18 |
+
|
19 |
+
class 惊寒(Gain):
|
20 |
+
def add_skills(self, skills: Dict[int, Skill]):
|
21 |
+
skills[30524].skill_damage_addition += 154
|
22 |
+
skills[6559].skill_damage_addition += 154
|
23 |
+
|
24 |
+
def sub_skills(self, skills: Dict[int, Skill]):
|
25 |
+
skills[30524].skill_damage_addition -= 154
|
26 |
+
skills[6559].skill_damage_addition -= 154
|
27 |
+
|
28 |
+
|
29 |
+
TALENT_GAINS: Dict[int, Gain] = {
|
30 |
+
6569: Gain("明妃"),
|
31 |
+
5849: 青梅嗅("青梅嗅"),
|
32 |
+
5869: 惊寒("惊寒"),
|
33 |
+
5852: Gain("新妆"),
|
34 |
+
37316: Gain("芳姿畅音"),
|
35 |
+
5864: Gain("枕上"),
|
36 |
+
23935: Gain("广陵月"),
|
37 |
+
34604: Gain("流玉"),
|
38 |
+
22732: Gain("钗燕"),
|
39 |
+
24995: Gain("盈袖"),
|
40 |
+
24996: Gain("化冰"),
|
41 |
+
14934: Gain("夜天"),
|
42 |
+
34603: Gain("凝华")
|
43 |
+
}
|
44 |
+
|
45 |
+
TALENTS = [
|
46 |
+
[6569, 5849],
|
47 |
+
[5869],
|
48 |
+
[5852],
|
49 |
+
[37316],
|
50 |
+
[5864],
|
51 |
+
[23935],
|
52 |
+
[34604],
|
53 |
+
[22732],
|
54 |
+
[24995],
|
55 |
+
[24996],
|
56 |
+
[14934],
|
57 |
+
[34603]
|
58 |
+
]
|
59 |
+
TALENT_DECODER = {talent_id: talent.gain_name for talent_id, talent in TALENT_GAINS.items()}
|
60 |
+
TALENT_ENCODER = {v: k for k, v in TALENT_DECODER.items()}
|
schools/gu_feng_jue/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.gu_feng_jue.talents import TALENT_GAINS, TALENTS, TALENT_DECODER, T
|
|
4 |
from schools.gu_feng_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.gu_feng_jue.gains import GAINS
|
6 |
from schools.gu_feng_jue.attribute import GuFengJue
|
|
|
|
|
|
|
|
|
|
4 |
from schools.gu_feng_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.gu_feng_jue.gains import GAINS
|
6 |
from schools.gu_feng_jue.attribute import GuFengJue
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
pass
|
schools/ling_hai_jue/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.ling_hai_jue.talents import TALENT_GAINS, TALENTS, TALENT_DECODER,
|
|
4 |
from schools.ling_hai_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.ling_hai_jue.gains import GAINS
|
6 |
from schools.ling_hai_jue.attribute import LingHaiJue
|
|
|
|
|
|
|
|
|
|
4 |
from schools.ling_hai_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.ling_hai_jue.gains import GAINS
|
6 |
from schools.ling_hai_jue.attribute import LingHaiJue
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
pass
|
schools/ling_hai_jue/buffs.py
CHANGED
@@ -37,6 +37,7 @@ BUFFS = {
|
|
37 |
},
|
38 |
14321: {
|
39 |
"buff_name": "驰行",
|
|
|
40 |
"gain_skills": {
|
41 |
skill_id: {
|
42 |
"skill_damage_addition": 307,
|
|
|
37 |
},
|
38 |
14321: {
|
39 |
"buff_name": "驰行",
|
40 |
+
"frame_shift": -2,
|
41 |
"gain_skills": {
|
42 |
skill_id: {
|
43 |
"skill_damage_addition": 307,
|
schools/shan_hai_xin_jue/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.shan_hai_xin_jue.talents import TALENT_GAINS, TALENTS, TALENT_DECOD
|
|
4 |
from schools.shan_hai_xin_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.shan_hai_xin_jue.gains import GAINS
|
6 |
from schools.shan_hai_xin_jue.attribute import ShanHaiXinJue
|
|
|
|
|
|
|
|
|
|
4 |
from schools.shan_hai_xin_jue.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.shan_hai_xin_jue.gains import GAINS
|
6 |
from schools.shan_hai_xin_jue.attribute import ShanHaiXinJue
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
pass
|
schools/tai_xu_jian_yi/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.tai_xu_jian_yi.talents import TALENT_GAINS, TALENTS, TALENT_DECODER
|
|
4 |
from schools.tai_xu_jian_yi.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.tai_xu_jian_yi.gains import GAINS
|
6 |
from schools.tai_xu_jian_yi.attribute import TaiXuJianYi
|
|
|
|
|
|
|
|
|
|
4 |
from schools.tai_xu_jian_yi.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.tai_xu_jian_yi.gains import GAINS
|
6 |
from schools.tai_xu_jian_yi.attribute import TaiXuJianYi
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
self.status_buffer[player_id][(9949, 1)] = (3, self.current_frame)
|
schools/tai_xu_jian_yi/skills.py
CHANGED
@@ -39,17 +39,14 @@ SKILLS: Dict[int, Skill | dict] = {
|
|
39 |
"skill_class": PhysicalDamage,
|
40 |
"skill_name": "无我无剑",
|
41 |
"damage_base": [80, 254, 328, 402, 476, 550, 624, 698, 772, 846, 920, 994, 1068, 1142, 1216, 1290, 1364,
|
42 |
-
1438,
|
43 |
-
|
44 |
-
2622,
|
45 |
-
2696],
|
46 |
"damage_rand": [7, 15, 24, 32, 40, 48, 56, 65, 73, 81, 89, 97, 106, 114, 122, 130, 138, 147, 155, 163, 171,
|
47 |
-
179,
|
48 |
-
188, 196, 204, 212, 220, 229, 237, 245, 253, 261, 270, 278, 286],
|
49 |
"damage_gain": (i + 2) / 10 / 12,
|
50 |
"attack_power_cof": [4 * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15] * 9 +
|
51 |
-
[(0.5 * (
|
52 |
-
for
|
53 |
[19 * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15],
|
54 |
"attack_power_cof_gain": i + 2,
|
55 |
"weapon_damage_cof": 2048
|
@@ -116,6 +113,13 @@ SKILLS: Dict[int, Skill | dict] = {
|
|
116 |
"damage_rand": 17,
|
117 |
"attack_power_cof": 70 * 1.1 * 1.1,
|
118 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
34693: {
|
120 |
"skill_class": PhysicalDamage,
|
121 |
"skill_name": "剑入",
|
@@ -124,19 +128,34 @@ SKILLS: Dict[int, Skill | dict] = {
|
|
124 |
"attack_power_cof": 84 * 1.2 * 1.1 * 2,
|
125 |
"skill_pve_addition": 1075
|
126 |
},
|
127 |
-
|
128 |
"skill_class": PhysicalDamage,
|
129 |
-
"skill_name": "
|
130 |
-
"damage_base":
|
131 |
-
"damage_rand":
|
132 |
-
"attack_power_cof":
|
|
|
133 |
},
|
134 |
-
|
135 |
"skill_class": PhysicalDamage,
|
136 |
-
"skill_name": "
|
137 |
"damage_base": 20,
|
138 |
"damage_rand": 2,
|
139 |
-
"attack_power_cof":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
}
|
141 |
}
|
142 |
|
|
|
39 |
"skill_class": PhysicalDamage,
|
40 |
"skill_name": "无我无剑",
|
41 |
"damage_base": [80, 254, 328, 402, 476, 550, 624, 698, 772, 846, 920, 994, 1068, 1142, 1216, 1290, 1364,
|
42 |
+
1438, 1512, 1586, 1660, 1734, 1808, 1882, 1956, 2030, 2104, 2178, 2252, 2326, 2400, 2474,
|
43 |
+
2548, 2622, 2696],
|
|
|
|
|
44 |
"damage_rand": [7, 15, 24, 32, 40, 48, 56, 65, 73, 81, 89, 97, 106, 114, 122, 130, 138, 147, 155, 163, 171,
|
45 |
+
179, 188, 196, 204, 212, 220, 229, 237, 245, 253, 261, 270, 278, 286],
|
|
|
46 |
"damage_gain": (i + 2) / 10 / 12,
|
47 |
"attack_power_cof": [4 * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15] * 9 +
|
48 |
+
[(0.5 * (j - 9) + 4) * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15
|
49 |
+
for j in range(10, 35)] +
|
50 |
[19 * 1.1 * 1.1 * 1.1 * 1.1 * 1.05 * 1.1 * 1.1 * 1.15],
|
51 |
"attack_power_cof_gain": i + 2,
|
52 |
"weapon_damage_cof": 2048
|
|
|
113 |
"damage_rand": 17,
|
114 |
"attack_power_cof": 70 * 1.1 * 1.1,
|
115 |
},
|
116 |
+
21726: {
|
117 |
+
"skill_class": PhysicalDamage,
|
118 |
+
"skill_name": "持盈",
|
119 |
+
"damage_base": 40,
|
120 |
+
"damage_rand": 17,
|
121 |
+
"attack_power_cof": 127
|
122 |
+
},
|
123 |
34693: {
|
124 |
"skill_class": PhysicalDamage,
|
125 |
"skill_name": "剑入",
|
|
|
128 |
"attack_power_cof": 84 * 1.2 * 1.1 * 2,
|
129 |
"skill_pve_addition": 1075
|
130 |
},
|
131 |
+
34694: {
|
132 |
"skill_class": PhysicalDamage,
|
133 |
+
"skill_name": "剑入",
|
134 |
+
"damage_base": 77,
|
135 |
+
"damage_rand": 25,
|
136 |
+
"attack_power_cof": 616,
|
137 |
+
"skill_pve_addition": 1075
|
138 |
},
|
139 |
+
25771: {
|
140 |
"skill_class": PhysicalDamage,
|
141 |
+
"skill_name": "八荒归元·神兵",
|
142 |
"damage_base": 20,
|
143 |
"damage_rand": 2,
|
144 |
+
"attack_power_cof": 65
|
145 |
+
},
|
146 |
+
23170: {
|
147 |
+
"skill_class": PhysicalDotDamage,
|
148 |
+
"skill_name": "万象归元(DOT)",
|
149 |
+
"damage_base": 10,
|
150 |
+
"attack_power_cof": 450,
|
151 |
+
"interval": 48
|
152 |
+
},
|
153 |
+
30944: {
|
154 |
+
"skill_class": DotSkill,
|
155 |
+
"skill_name": "万象归元",
|
156 |
+
"bind_skill": 23170,
|
157 |
+
"max_stack": 3,
|
158 |
+
"tick": 10
|
159 |
}
|
160 |
}
|
161 |
|
schools/tai_xu_jian_yi/talents.py
CHANGED
@@ -47,10 +47,13 @@ TALENT_GAINS: Dict[int, Gain] = {
|
|
47 |
5807: 心固("心固"),
|
48 |
32407: Gain("环月"),
|
49 |
5800: Gain("白虹"),
|
|
|
50 |
5818: 无意("无意"),
|
|
|
51 |
17742: Gain("风逝"),
|
52 |
5821: Gain("叠刃"),
|
53 |
6481: Gain("雾外江山"),
|
|
|
54 |
24962: 裂云("裂云"),
|
55 |
18799: Gain("故长"),
|
56 |
34656: Gain("剑入"),
|
@@ -61,11 +64,11 @@ TALENT_GAINS: Dict[int, Gain] = {
|
|
61 |
TALENTS = [
|
62 |
[5807],
|
63 |
[32407],
|
64 |
-
[5800],
|
65 |
-
[5818],
|
66 |
[17742],
|
67 |
[5821],
|
68 |
-
[6481],
|
69 |
[24962],
|
70 |
[18799],
|
71 |
[34656],
|
|
|
47 |
5807: 心固("心固"),
|
48 |
32407: Gain("环月"),
|
49 |
5800: Gain("白虹"),
|
50 |
+
357: Gain("化三清"),
|
51 |
5818: 无意("无意"),
|
52 |
+
21812: Gain("云中剑"),
|
53 |
17742: Gain("风逝"),
|
54 |
5821: Gain("叠刃"),
|
55 |
6481: Gain("雾外江山"),
|
56 |
+
21725: Gain("长生"),
|
57 |
24962: 裂云("裂云"),
|
58 |
18799: Gain("故长"),
|
59 |
34656: Gain("剑入"),
|
|
|
64 |
TALENTS = [
|
65 |
[5807],
|
66 |
[32407],
|
67 |
+
[5800, 357],
|
68 |
+
[5818, 21812],
|
69 |
[17742],
|
70 |
[5821],
|
71 |
+
[6481, 21725],
|
72 |
[24962],
|
73 |
[18799],
|
74 |
[34656],
|
schools/tian_luo_gui_dao/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.tian_luo_gui_dao.talents import TALENT_GAINS, TALENTS, TALENT_DECOD
|
|
4 |
from schools.tian_luo_gui_dao.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.tian_luo_gui_dao.gains import GAINS
|
6 |
from schools.tian_luo_gui_dao.attribute import TianLuoGuiDao
|
|
|
|
|
|
|
|
|
|
4 |
from schools.tian_luo_gui_dao.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.tian_luo_gui_dao.gains import GAINS
|
6 |
from schools.tian_luo_gui_dao.attribute import TianLuoGuiDao
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
pass
|
schools/wu_fang/__init__.py
CHANGED
@@ -4,3 +4,7 @@ from schools.wu_fang.talents import TALENT_GAINS, TALENTS, TALENT_DECODER, TALEN
|
|
4 |
from schools.wu_fang.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.wu_fang.gains import GAINS
|
6 |
from schools.wu_fang.attribute import WuFang
|
|
|
|
|
|
|
|
|
|
4 |
from schools.wu_fang.recipes import RECIPE_GAINS, RECIPES
|
5 |
from schools.wu_fang.gains import GAINS
|
6 |
from schools.wu_fang.attribute import WuFang
|
7 |
+
|
8 |
+
|
9 |
+
def prepare(self, player_id):
|
10 |
+
pass
|
schools/wu_fang/buffs.py
CHANGED
@@ -35,6 +35,7 @@ BUFFS = {
|
|
35 |
},
|
36 |
24659: {
|
37 |
"buff_name": "应理以药",
|
|
|
38 |
"gain_skills": {
|
39 |
28081: {
|
40 |
"skill_damage_addition": 3277,
|
|
|
35 |
},
|
36 |
24659: {
|
37 |
"buff_name": "应理以药",
|
38 |
+
"frame_shift": -2,
|
39 |
"gain_skills": {
|
40 |
28081: {
|
41 |
"skill_damage_addition": 3277,
|
schools/wu_fang/skills.py
CHANGED
@@ -30,7 +30,7 @@ SKILLS: Dict[int, Skill | dict] = {
|
|
30 |
"damage_rand": 10,
|
31 |
"attack_power_cof": [20 * 0.9 * 0.92 * 1.1 * 1.1] * 3 +
|
32 |
[(20 * (i - 4) + 20) * 0.9 * 0.92 * 1.1 * 1.1 for i in range(4, 9)] +
|
33 |
-
[160 * 0.9 * 0.92 * 1.1 * 1.1]
|
34 |
},
|
35 |
20052: {
|
36 |
"skill_class": MagicalDotDamage,
|
|
|
30 |
"damage_rand": 10,
|
31 |
"attack_power_cof": [20 * 0.9 * 0.92 * 1.1 * 1.1] * 3 +
|
32 |
[(20 * (i - 4) + 20) * 0.9 * 0.92 * 1.1 * 1.1 for i in range(4, 9)] +
|
33 |
+
[160 * 0.9 * 0.92 * 1.1 * 1.1],
|
34 |
},
|
35 |
20052: {
|
36 |
"skill_class": MagicalDotDamage,
|
utils/parser.py
CHANGED
@@ -6,7 +6,7 @@ from utils.lua import parse
|
|
6 |
|
7 |
FRAME_TYPE, PLAYER_ID_TYPE, PLAYER_NAME_TYPE, PET_ID_TYPE = int, int, int, int
|
8 |
SKILL_ID_TYPE, SKILL_LEVEL_TYPE, SKILL_STACK_TYPE, SKILL_CRITICAL_TYPE = int, int, int, bool
|
9 |
-
SKILL_BUFFER_TYPE = Tuple[SKILL_ID_TYPE, SKILL_LEVEL_TYPE,
|
10 |
SKILL_TYPE = Tuple[SKILL_ID_TYPE, SKILL_LEVEL_TYPE, SKILL_STACK_TYPE]
|
11 |
BUFF_ID_TYPE, BUFF_LEVEL_TYPE, BUFF_STACK_TYPE = int, int, int
|
12 |
STATUS_BUFFER_TYPE = Tuple[BUFF_ID_TYPE, BUFF_LEVEL_TYPE]
|
@@ -34,7 +34,7 @@ LABEL_MAPPING = {
|
|
34 |
}
|
35 |
EMBED_MAPPING: Dict[tuple, int] = {(5, 24449 - i): 8 - i for i in range(8)}
|
36 |
|
37 |
-
BUFFER_DELAY =
|
38 |
|
39 |
|
40 |
class Parser:
|
@@ -172,25 +172,30 @@ class Parser:
|
|
172 |
if buff_id not in self.school[player_id].buffs:
|
173 |
return
|
174 |
|
|
|
|
|
175 |
if (buff_id, buff_level) in self.status_buffer[player_id]:
|
176 |
buffer_stack, start_frame = self.status_buffer[player_id][(buff_id, buff_level)]
|
177 |
if buff_stack == buffer_stack:
|
178 |
return
|
179 |
-
|
180 |
-
|
181 |
self.status_buffer[player_id].pop((buff_id, buff_level))
|
182 |
|
183 |
# self.status_buffer[player_id][(buff_id, buff_level, buffer_stack)] = self.status_buffer[player_id].get(
|
184 |
# (buff_id, buff_level, buffer_stack), []) + [(start_frame, self.current_frame)]
|
185 |
if buff_stack:
|
186 |
-
self.status_buffer[player_id][(buff_id, buff_level)] = (buff_stack, self.current_frame)
|
|
|
|
|
|
|
|
|
187 |
|
188 |
def clear_status_buffer(self):
|
189 |
self.end_frame = self.current_frame
|
190 |
for player_id, status in self.status_buffer.items():
|
191 |
for (buff_id, buff_level), (buff_stack, start_frame) in status.items():
|
192 |
-
|
193 |
-
self.status[frame][player_id].append((buff_id, buff_level, buff_stack))
|
194 |
|
195 |
def parse_skill(self, row):
|
196 |
detail = row.strip("{}").split(",")
|
@@ -205,9 +210,8 @@ class Parser:
|
|
205 |
react, skill_id, skill_level, critical = int(detail[2]), int(detail[4]), int(detail[5]), detail[6] == "true"
|
206 |
if react or skill_id not in self.school[player_id].skills:
|
207 |
return
|
208 |
-
skill_stack = self.stacks[player_id][skill_id]
|
209 |
|
210 |
-
self.skills[self.current_frame][player_id].append((skill_id, skill_level,
|
211 |
|
212 |
if not self.start_frame:
|
213 |
self.start_frame = self.current_frame
|
@@ -231,10 +235,6 @@ class Parser:
|
|
231 |
|
232 |
return tuple(current_status), tuple(snapshot_status)
|
233 |
|
234 |
-
def record(self, skill_id, skill_level, skill_stack, critical):
|
235 |
-
skill = self.school[self.current_player].skills[skill_id]
|
236 |
-
skill.record(skill_level, skill_stack, critical, self)
|
237 |
-
|
238 |
def __call__(self, file_name):
|
239 |
self.reset()
|
240 |
lines = open(file_name).readlines()
|
@@ -242,6 +242,11 @@ class Parser:
|
|
242 |
row = line.split("\t")
|
243 |
if row[4] == "4":
|
244 |
self.parse_info(row[-1])
|
|
|
|
|
|
|
|
|
|
|
245 |
|
246 |
for line in lines:
|
247 |
row = line.split("\t")
|
@@ -257,17 +262,13 @@ class Parser:
|
|
257 |
|
258 |
self.clear_status_buffer()
|
259 |
|
260 |
-
for player_id, school in self.school.items():
|
261 |
-
for talent_id in self.select_talents[player_id]:
|
262 |
-
school.talent_gains[talent_id].add_skills(school.skills)
|
263 |
-
|
264 |
for frame, players in self.skills.items():
|
265 |
self.current_frame = frame
|
266 |
for player_id, skills in players.items():
|
267 |
self.current_player = player_id
|
268 |
-
for skill_id, skill_level,
|
269 |
skill = self.school[player_id].skills[skill_id]
|
270 |
-
skill.record(skill_level,
|
271 |
|
272 |
for player_id, school in self.school.items():
|
273 |
for talent_id in self.select_talents[player_id]:
|
|
|
6 |
|
7 |
FRAME_TYPE, PLAYER_ID_TYPE, PLAYER_NAME_TYPE, PET_ID_TYPE = int, int, int, int
|
8 |
SKILL_ID_TYPE, SKILL_LEVEL_TYPE, SKILL_STACK_TYPE, SKILL_CRITICAL_TYPE = int, int, int, bool
|
9 |
+
SKILL_BUFFER_TYPE = Tuple[SKILL_ID_TYPE, SKILL_LEVEL_TYPE, SKILL_CRITICAL_TYPE]
|
10 |
SKILL_TYPE = Tuple[SKILL_ID_TYPE, SKILL_LEVEL_TYPE, SKILL_STACK_TYPE]
|
11 |
BUFF_ID_TYPE, BUFF_LEVEL_TYPE, BUFF_STACK_TYPE = int, int, int
|
12 |
STATUS_BUFFER_TYPE = Tuple[BUFF_ID_TYPE, BUFF_LEVEL_TYPE]
|
|
|
34 |
}
|
35 |
EMBED_MAPPING: Dict[tuple, int] = {(5, 24449 - i): 8 - i for i in range(8)}
|
36 |
|
37 |
+
BUFFER_DELAY = 0
|
38 |
|
39 |
|
40 |
class Parser:
|
|
|
172 |
if buff_id not in self.school[player_id].buffs:
|
173 |
return
|
174 |
|
175 |
+
buff = self.school[player_id].buffs[buff_id]
|
176 |
+
frame_shift = buff.frame_shift
|
177 |
if (buff_id, buff_level) in self.status_buffer[player_id]:
|
178 |
buffer_stack, start_frame = self.status_buffer[player_id][(buff_id, buff_level)]
|
179 |
if buff_stack == buffer_stack:
|
180 |
return
|
181 |
+
end_frame = self.current_frame + frame_shift
|
182 |
+
self.refresh_status(start_frame, end_frame, player_id, buff_id, buff_level, buffer_stack)
|
183 |
self.status_buffer[player_id].pop((buff_id, buff_level))
|
184 |
|
185 |
# self.status_buffer[player_id][(buff_id, buff_level, buffer_stack)] = self.status_buffer[player_id].get(
|
186 |
# (buff_id, buff_level, buffer_stack), []) + [(start_frame, self.current_frame)]
|
187 |
if buff_stack:
|
188 |
+
self.status_buffer[player_id][(buff_id, buff_level)] = (buff_stack, self.current_frame + frame_shift)
|
189 |
+
|
190 |
+
def refresh_status(self, start_frame, end_frame, player_id, buff_id, buff_level, buff_stack):
|
191 |
+
for frame in range(start_frame, end_frame + 1):
|
192 |
+
self.status[frame][player_id].append((buff_id, buff_level, buff_stack))
|
193 |
|
194 |
def clear_status_buffer(self):
|
195 |
self.end_frame = self.current_frame
|
196 |
for player_id, status in self.status_buffer.items():
|
197 |
for (buff_id, buff_level), (buff_stack, start_frame) in status.items():
|
198 |
+
self.refresh_status(start_frame, self.end_frame, player_id, buff_id, buff_level, buff_stack)
|
|
|
199 |
|
200 |
def parse_skill(self, row):
|
201 |
detail = row.strip("{}").split(",")
|
|
|
210 |
react, skill_id, skill_level, critical = int(detail[2]), int(detail[4]), int(detail[5]), detail[6] == "true"
|
211 |
if react or skill_id not in self.school[player_id].skills:
|
212 |
return
|
|
|
213 |
|
214 |
+
self.skills[self.current_frame][player_id].append((skill_id, skill_level, critical))
|
215 |
|
216 |
if not self.start_frame:
|
217 |
self.start_frame = self.current_frame
|
|
|
235 |
|
236 |
return tuple(current_status), tuple(snapshot_status)
|
237 |
|
|
|
|
|
|
|
|
|
238 |
def __call__(self, file_name):
|
239 |
self.reset()
|
240 |
lines = open(file_name).readlines()
|
|
|
242 |
row = line.split("\t")
|
243 |
if row[4] == "4":
|
244 |
self.parse_info(row[-1])
|
245 |
+
self.current_frame = int(lines[0].split("\t")[1])
|
246 |
+
for player_id, school in self.school.items():
|
247 |
+
school.prepare(self, player_id)
|
248 |
+
for talent_id in self.select_talents[player_id]:
|
249 |
+
school.talent_gains[talent_id].add_skills(school.skills)
|
250 |
|
251 |
for line in lines:
|
252 |
row = line.split("\t")
|
|
|
262 |
|
263 |
self.clear_status_buffer()
|
264 |
|
|
|
|
|
|
|
|
|
265 |
for frame, players in self.skills.items():
|
266 |
self.current_frame = frame
|
267 |
for player_id, skills in players.items():
|
268 |
self.current_player = player_id
|
269 |
+
for skill_id, skill_level, critical in skills:
|
270 |
skill = self.school[player_id].skills[skill_id]
|
271 |
+
skill.record(skill_level, critical, self)
|
272 |
|
273 |
for player_id, school in self.school.items():
|
274 |
for talent_id in self.select_talents[player_id]:
|