ango commited on
Commit
36e359a
·
1 Parent(s): 4079f21

04.24 commit

Browse files
.github/workflows/pyinstaller-app.yml CHANGED
@@ -69,17 +69,17 @@ jobs:
69
  pip install pyside6
70
  - name: Build
71
  run: |
72
- mv qt/assets/icon.ico ./
73
- pyinstaller -F -w -i icon.ico app.py
74
- mv dist formulator
75
- mv qt/assets formulator/assets
76
  mkdir ${{ env.PACKAGENAME }}
77
- mv formulator ${{ env.PACKAGENAME }}
78
- 7z a -t7z -r "$($Env:PACKAGENAME + '.7z')" "formulator"
79
  - name: Upload
80
  uses: actions/upload-artifact@v4
81
  with:
82
- name: formulator
83
  path: ${{ env.PACKAGENAME }}
84
  - name: upload-win
85
  uses: actions/upload-release-asset@v1
 
69
  pip install pyside6
70
  - name: Build
71
  run: |
72
+ pyinstaller -F -w -i qt/assets/icon.ico qt/app.py
73
+ mv dist Formulator
74
+ mkdir Formulator/qt
75
+ mv qt/assets Formulator/qt/assets
76
  mkdir ${{ env.PACKAGENAME }}
77
+ mv Formulator ${{ env.PACKAGENAME }}
78
+ 7z a -t7z -r "$($Env:PACKAGENAME + '.7z')" "Formulator"
79
  - name: Upload
80
  uses: actions/upload-artifact@v4
81
  with:
82
+ name: Formulator
83
  path: ${{ env.PACKAGENAME }}
84
  - name: upload-win
85
  uses: actions/upload-release-asset@v1
base/constant.py CHANGED
@@ -41,11 +41,11 @@ SPUNK_TO_ATTACK_POWER = 0.18
41
  SPUNK_TO_OVERCOME = 0.3
42
 
43
  DELTA_SCALE = 1
44
- MAJOR_DELTA = 198
45
- PHYSICAL_DELTA = 398
46
- MAGICAL_DELTA = 475
47
- MINOR_DELTA = 883
48
- WEAPON_DELTA = 597
49
 
50
 
51
  def PHYSICAL_ATTACK_POWER_COF(cof):
 
41
  SPUNK_TO_OVERCOME = 0.3
42
 
43
  DELTA_SCALE = 1
44
+ MAJOR_DELTA = 218
45
+ PHYSICAL_DELTA = 439
46
+ MAGICAL_DELTA = 524
47
+ MINOR_DELTA = 974
48
+ WEAPON_DELTA = 658
49
 
50
 
51
  def PHYSICAL_ATTACK_POWER_COF(cof):
general/consumables.py CHANGED
@@ -1,511 +1,307 @@
1
- """ Weapon Enchant """
2
 
3
 
4
- def physical_attack_power_enchant(value):
5
- return {"physical_attack_power_base": value}
6
-
7
-
8
- def magical_attack_power_enchant(value):
9
- return {"magical_attack_power_base": value}
10
-
11
-
12
- """ Spread """
13
-
14
-
15
- def agility_spread(value):
16
  return {"agility_base": value}
17
 
18
 
19
- def strength_spread(value):
20
  return {"strength_base": value}
21
 
22
 
23
- def spirit_spread(value):
24
  return {"spirit_base": value}
25
 
26
 
27
- def spunk_spread(value):
28
  return {"spunk_base": value}
29
 
30
 
31
- def physical_spread(value1, value2):
32
- return {"physical_attack_power_base": value1,
33
- "all_critical_strike_base": value2,
34
- "surplus": value2}
35
-
36
-
37
- def magical_spread(value1, value2):
38
- return {"magical_attack_power_base": value1,
39
- "all_critical_strike_base": value2,
40
- "surplus": value2}
41
-
42
-
43
- def guild_spread(value):
44
- return {"surplus": value, "strain_base": value}
45
-
46
-
47
- def boiled_fish_spread(value):
48
- return {"surplus": value, "strain_base": value}
49
-
50
-
51
- def guild_food(value):
52
- return {"strain_base": value}
53
-
54
-
55
- """ Major Food """
56
-
57
-
58
- def agility_food(value):
59
- return {"agility_base": value}
60
-
61
-
62
- def strength_food(value):
63
- return {"strength_base": value}
64
-
65
-
66
- def spirit_food(value):
67
- return {"spirit_base": value}
68
-
69
-
70
- def spunk_food(value):
71
- return {"spunk_base": value}
72
-
73
-
74
- """ Minor Food """
75
-
76
-
77
- def physical_attack_power_food(value):
78
  return {"physical_attack_power_base": value}
79
 
80
 
81
- def magical_attack_power_food(value):
82
  return {"magical_attack_power_base": value}
83
 
84
 
85
- def surplus_food(value):
86
  return {"surplus": value}
87
 
88
 
89
- def haste_food(value):
90
- return {"haste_base": value}
91
-
92
-
93
- def all_overcome_food(value):
94
- return {"physical_overcome_base": value, "magical_overcome_base": value}
95
-
96
-
97
- def all_critical_strike_food(value):
98
- return {"all_critical_strike_base": value}
99
-
100
-
101
- """ Major Potion """
102
-
103
-
104
- def agility_potion(value):
105
- return {"agility_base": value}
106
-
107
-
108
- def strength_potion(value):
109
- return {"strength_base": value}
110
-
111
-
112
- def spirit_potion(value):
113
- return {"spirit_base": value}
114
-
115
-
116
- def spunk_potion(value):
117
- return {"spunk_base": value}
118
-
119
-
120
- """ Minor Potion """
121
-
122
-
123
- def physical_attack_power_potion(value):
124
- return {"physical_attack_power_base": value}
125
-
126
-
127
- def magical_attack_power_potion(value):
128
- return {"magical_attack_power_base": value}
129
-
130
-
131
- def surplus_potion(value):
132
- return {"surplus": value}
133
 
134
 
135
- def haste_potion(value):
136
  return {"haste_base": value}
137
 
138
 
139
- def all_overcome_potion(value):
140
  return {"physical_overcome_base": value, "magical_overcome_base": value}
141
 
142
 
143
- def all_critical_strike_potion(value):
144
  return {"all_critical_strike_base": value}
145
 
146
 
147
- """ Wine """
148
-
149
-
150
- def agility_wine(value):
151
- return {"agility_base": value}
152
-
153
-
154
- def strength_wine(value):
155
- return {"strength_base": value}
156
-
157
-
158
- def spirit_wine(value):
159
- return {"spirit_base": value}
160
-
161
-
162
- def spunk_wine(value):
163
- return {"spunk_base": value}
164
-
165
-
166
- def haste_wine(value):
167
- return {"haste_base": value}
168
-
169
-
170
- """ Snack """
171
-
172
-
173
- def physical_attack_power_snack(value):
174
- return {"physical_attack_power_base": value}
175
 
176
 
177
- def magical_attack_power_snack(value):
178
- return {"magical_attack_power_base": value}
 
 
179
 
180
 
181
- def strain_snack(value):
182
- return {"strain_base": value}
183
-
184
-
185
- def critical_snack(value):
186
- return {"all_critical_strike_base": value}
187
 
188
 
189
- def overcome_snack(value):
190
- return {"physical_overcome_base": value, "magical_overcome_base": value}
191
 
192
 
193
  class CONSUMABLES_NUMBER:
194
- major_food_max: int = 347
195
- major_food_min: int = 173
196
 
197
- physical_food_max: int = 696
198
- physical_food_min: int = 348
199
- magical_food_max: int = 831
200
- magical_food_min: int = 415
201
 
202
- minor_food_max: int = 1545
203
- minor_food_min: int = 773
204
 
205
- major_potion_max: int = 446
206
- major_potion_min: int = 223
207
 
208
- physical_potion_max: int = 895
209
- physical_potion_min: int = 448
210
- magical_potion_max: int = 1068
211
- magical_potion_min: int = 534
212
 
213
- minor_potion_max: int = 1987
214
- minor_potion_min: int = 993
215
 
216
- physical_enchant_max: int = 597
217
- physical_enchant_min: int = 298
218
- magical_enchant_max: int = 712
219
- magical_enchant_min: int = 356
220
 
221
  minor_snack_max: int = 1934
222
- minor_snack_min: int = 858
223
- physical_snack: int = 866
224
- magical_snack: int = 1038
 
 
225
 
226
  major_wine: int = 256
227
  haste_wine: int = 1144
228
 
229
- guild_spread: int = 234
230
  guild_food: int = 517
231
- major_spread: int = 396
232
- physical_spread: int = 398
233
- magical_spread: int = 475
234
- minor_spread: int = 883
 
235
  boiled_fish_max: int = 400
236
  boiled_fish_min: int = 100
237
 
238
 
239
- CONSUMABLES = {
240
- f"杂锦鱼球粥({CONSUMABLES_NUMBER.major_food_max}身法)": agility_food(CONSUMABLES_NUMBER.major_food_max),
241
- f"杂碎汤({CONSUMABLES_NUMBER.major_food_min}身法)": agility_food(CONSUMABLES_NUMBER.major_food_min),
242
-
243
- f"三鲜粥({CONSUMABLES_NUMBER.major_food_max}力道)": strength_food(CONSUMABLES_NUMBER.major_food_max),
244
- f"三鲜汤({CONSUMABLES_NUMBER.major_food_min}力道)": strength_food(CONSUMABLES_NUMBER.major_food_min),
245
-
246
- f"咸骨粥({CONSUMABLES_NUMBER.major_food_max}根骨)": spirit_food(CONSUMABLES_NUMBER.major_food_max),
247
- f"老火骨汤({CONSUMABLES_NUMBER.major_food_min}根骨)": spirit_food(CONSUMABLES_NUMBER.major_food_min),
248
-
249
- f"鱼片砂锅粥({CONSUMABLES_NUMBER.major_food_max}元气)": spunk_food(CONSUMABLES_NUMBER.major_food_max),
250
- f"鱼头豆腐汤({CONSUMABLES_NUMBER.major_food_min}元气)": spunk_food(CONSUMABLES_NUMBER.major_food_min),
251
-
252
- f"太后饼({CONSUMABLES_NUMBER.physical_food_max}外攻)":
253
- physical_attack_power_food(CONSUMABLES_NUMBER.physical_food_max),
254
- f"煎饼果子({CONSUMABLES_NUMBER.physical_food_min}外攻)":
255
- physical_attack_power_food(CONSUMABLES_NUMBER.physical_food_min),
256
-
257
- f"灌汤包({CONSUMABLES_NUMBER.magical_food_max}内攻)":
258
- magical_attack_power_food(CONSUMABLES_NUMBER.magical_food_max),
259
- f"鲜肉包子({CONSUMABLES_NUMBER.magical_food_min}内攻)":
260
- magical_attack_power_food(CONSUMABLES_NUMBER.magical_food_min),
261
-
262
- f"白肉血肠({CONSUMABLES_NUMBER.minor_food_max}破招)":
263
- surplus_food(CONSUMABLES_NUMBER.minor_food_max),
264
- f"红烧扣肉({CONSUMABLES_NUMBER.minor_food_max}加速)":
265
- haste_food(CONSUMABLES_NUMBER.minor_food_max),
266
- f"红烧排骨({CONSUMABLES_NUMBER.minor_food_max}破防)":
267
- all_overcome_food(CONSUMABLES_NUMBER.minor_food_max),
268
- f"酸菜鱼({CONSUMABLES_NUMBER.minor_food_max}会心)":
269
- all_critical_strike_food(CONSUMABLES_NUMBER.minor_food_max),
270
- f"毛血旺({CONSUMABLES_NUMBER.minor_food_min}破招)":
271
- surplus_food(CONSUMABLES_NUMBER.minor_food_min),
272
- f"栗子烧肉({CONSUMABLES_NUMBER.minor_food_min}加速)":
273
- haste_food(CONSUMABLES_NUMBER.minor_food_min),
274
- f"水煮肉片({CONSUMABLES_NUMBER.minor_food_min}破防)":
275
- all_overcome_food(CONSUMABLES_NUMBER.minor_food_min),
276
- f"鱼香肉丝({CONSUMABLES_NUMBER.minor_food_min}会心)":
277
- all_critical_strike_food(CONSUMABLES_NUMBER.minor_food_min),
278
-
279
- f"上品轻身丹({CONSUMABLES_NUMBER.major_potion_max}身法)":
280
- agility_potion(CONSUMABLES_NUMBER.major_potion_max),
281
- f"中品轻身丹({CONSUMABLES_NUMBER.major_potion_min}身法)":
282
- agility_potion(CONSUMABLES_NUMBER.major_potion_min),
283
-
284
- f"上品大力丸({CONSUMABLES_NUMBER.major_potion_max}力道)":
285
- strength_potion(CONSUMABLES_NUMBER.major_potion_max),
286
- f"中品大力丸({CONSUMABLES_NUMBER.major_potion_min}力道)":
287
- strength_potion(CONSUMABLES_NUMBER.major_potion_min),
288
-
289
- f"上品静心丸({CONSUMABLES_NUMBER.major_potion_max}根骨)":
290
- spirit_potion(CONSUMABLES_NUMBER.major_potion_max),
291
- f"中品静心丸({CONSUMABLES_NUMBER.major_potion_min}根骨)":
292
- spirit_potion(CONSUMABLES_NUMBER.major_potion_min),
293
-
294
- f"上品聚魂丹({CONSUMABLES_NUMBER.major_potion_max}元气)":
295
- spunk_potion(CONSUMABLES_NUMBER.major_potion_max),
296
- f"中品聚魂丹({CONSUMABLES_NUMBER.major_potion_min}元气)":
297
- spunk_potion(CONSUMABLES_NUMBER.major_potion_min),
298
-
299
- f"上品亢龙散({CONSUMABLES_NUMBER.physical_potion_max}外攻)":
300
- physical_attack_power_potion(CONSUMABLES_NUMBER.physical_potion_max),
301
- f"中品亢龙散({CONSUMABLES_NUMBER.physical_potion_min}外攻)":
302
- physical_attack_power_potion(CONSUMABLES_NUMBER.physical_potion_min),
303
-
304
- f"上品展凤散({CONSUMABLES_NUMBER.magical_potion_max}内攻)":
305
- magical_attack_power_potion(CONSUMABLES_NUMBER.magical_potion_max),
306
- f"中品展凤散({CONSUMABLES_NUMBER.magical_potion_min}内攻)":
307
- magical_attack_power_potion(CONSUMABLES_NUMBER.magical_potion_min),
308
-
309
- f"上品凝神散({CONSUMABLES_NUMBER.minor_potion_max}破招)":
310
- surplus_potion(CONSUMABLES_NUMBER.minor_potion_max),
311
- f"上品活气散({CONSUMABLES_NUMBER.minor_potion_max}加速)":
312
- haste_potion(CONSUMABLES_NUMBER.minor_potion_max),
313
- f"上品破秽散({CONSUMABLES_NUMBER.minor_potion_max}破防)":
314
- all_overcome_potion(CONSUMABLES_NUMBER.minor_potion_max),
315
- f"上品玉璃散({CONSUMABLES_NUMBER.minor_potion_max}会心)":
316
- all_critical_strike_potion(CONSUMABLES_NUMBER.minor_potion_max),
317
- f"中品凝神散({CONSUMABLES_NUMBER.minor_potion_min}破招)":
318
- surplus_potion(CONSUMABLES_NUMBER.minor_potion_min),
319
- f"中品活气散({CONSUMABLES_NUMBER.minor_potion_min}加速)":
320
- haste_potion(CONSUMABLES_NUMBER.minor_potion_min),
321
- f"中品破秽散({CONSUMABLES_NUMBER.minor_potion_min}破防)":
322
- all_overcome_potion(CONSUMABLES_NUMBER.minor_potion_min),
323
- f"中品玉璃散({CONSUMABLES_NUMBER.minor_potion_min}会心)":
324
- all_critical_strike_potion(CONSUMABLES_NUMBER.minor_potion_min),
325
-
326
- f"瀑沙熔锭({CONSUMABLES_NUMBER.physical_enchant_max}外攻)":
327
- physical_attack_power_enchant(CONSUMABLES_NUMBER.physical_enchant_max),
328
- f"瀑沙磨石({CONSUMABLES_NUMBER.physical_enchant_min}外攻)":
329
- physical_attack_power_enchant(CONSUMABLES_NUMBER.physical_enchant_min),
330
- f"坠宵熔锭({CONSUMABLES_NUMBER.magical_enchant_max}内攻)":
331
- magical_attack_power_enchant(CONSUMABLES_NUMBER.magical_enchant_max),
332
- f"坠宵磨石({CONSUMABLES_NUMBER.magical_enchant_min}内攻)":
333
- magical_attack_power_enchant(CONSUMABLES_NUMBER.magical_enchant_min),
334
-
335
- f"创意料理({CONSUMABLES_NUMBER.physical_snack})外攻":
336
- physical_attack_power_snack(CONSUMABLES_NUMBER.physical_snack),
337
- f"创意料理({CONSUMABLES_NUMBER.magical_snack})内攻":
338
- magical_attack_power_snack(CONSUMABLES_NUMBER.magical_snack),
339
- f"创意料理({CONSUMABLES_NUMBER.minor_snack_max})无双":
340
- strain_snack(CONSUMABLES_NUMBER.minor_snack_max),
341
- f"创意料理({CONSUMABLES_NUMBER.minor_snack_max})会心":
342
- critical_snack(CONSUMABLES_NUMBER.minor_snack_max),
343
- f"创意料理({CONSUMABLES_NUMBER.minor_snack_max})破防":
344
- overcome_snack(CONSUMABLES_NUMBER.minor_snack_max),
345
-
346
- f"关外白酒·旬又三({CONSUMABLES_NUMBER.major_wine}身法)":
347
- agility_wine(CONSUMABLES_NUMBER.major_wine),
348
- f"汾酒·旬又三({CONSUMABLES_NUMBER.major_wine}力道)":
349
- strength_wine(CONSUMABLES_NUMBER.major_wine),
350
- f"高粱酒·旬又三({CONSUMABLES_NUMBER.major_wine}根骨)":
351
- spirit_wine(CONSUMABLES_NUMBER.major_wine),
352
- f"状元红·旬又三({CONSUMABLES_NUMBER.major_wine}元气)":
353
- spunk_wine(CONSUMABLES_NUMBER.major_wine),
354
-
355
- f"女儿红·旬又三({CONSUMABLES_NUMBER.haste_wine}加速)":
356
- haste_wine(CONSUMABLES_NUMBER.haste_wine),
357
-
358
- "guild_spread":
359
- guild_spread(CONSUMABLES_NUMBER.guild_spread),
360
- "guild_food":
361
- guild_food(CONSUMABLES_NUMBER.guild_food),
362
-
363
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}身法)":
364
- agility_spread(CONSUMABLES_NUMBER.major_spread),
365
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}力道)":
366
- strength_spread(CONSUMABLES_NUMBER.major_spread),
367
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}根骨)":
368
- spirit_spread(CONSUMABLES_NUMBER.major_spread),
369
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}元气)":
370
- spunk_spread(CONSUMABLES_NUMBER.major_spread),
371
-
372
- f"玉笛谁家听落梅({CONSUMABLES_NUMBER.physical_spread}外攻{CONSUMABLES_NUMBER.minor_spread}会心/破招)":
373
- physical_spread(CONSUMABLES_NUMBER.physical_spread, CONSUMABLES_NUMBER.minor_spread),
374
- f"二十四桥明月夜({CONSUMABLES_NUMBER.magical_spread}内攻{CONSUMABLES_NUMBER.minor_spread}会心/破招)":
375
- magical_spread(CONSUMABLES_NUMBER.magical_spread, CONSUMABLES_NUMBER.minor_spread),
376
-
377
- f"炼狱水煮鱼({CONSUMABLES_NUMBER.boiled_fish_min}破招/无双)":
378
- boiled_fish_spread(CONSUMABLES_NUMBER.boiled_fish_min),
379
- f"百炼水煮鱼({CONSUMABLES_NUMBER.boiled_fish_max}破招/无双)":
380
- boiled_fish_spread(CONSUMABLES_NUMBER.boiled_fish_max)
381
  }
382
-
383
- BOILED_FISH = [
384
- f"炼狱水煮鱼({CONSUMABLES_NUMBER.boiled_fish_min}破招/无双)",
385
- f"百炼水煮鱼({CONSUMABLES_NUMBER.boiled_fish_max}破招/无双)"
386
- ]
387
- FOODS = {
388
- "身法": [
389
- f"杂锦鱼球粥({CONSUMABLES_NUMBER.major_food_max}身法)",
390
- f"杂碎汤({CONSUMABLES_NUMBER.major_food_min}身法)",
391
- ],
392
- "力道": [
393
- f"三鲜粥({CONSUMABLES_NUMBER.major_food_max}力道)",
394
- f"三鲜汤({CONSUMABLES_NUMBER.major_food_min}力道)"
395
- ],
396
- "根骨": [
397
- f"咸骨粥({CONSUMABLES_NUMBER.major_food_max}根骨)",
398
- f"老火骨汤({CONSUMABLES_NUMBER.major_food_min}根骨)"
399
- ],
400
- "元气": [
401
- f"鱼片砂锅粥({CONSUMABLES_NUMBER.major_food_max}元气)",
402
- f"鱼头豆腐汤({CONSUMABLES_NUMBER.major_food_min}元气)"
403
- ],
404
- "": [
405
- f"白肉血肠({CONSUMABLES_NUMBER.minor_food_max}破招)",
406
- f"红烧扣肉({CONSUMABLES_NUMBER.minor_food_max}加速)",
407
- f"红烧排骨({CONSUMABLES_NUMBER.minor_food_max}破防)",
408
- f"酸菜鱼({CONSUMABLES_NUMBER.minor_food_max}会心)",
409
- f"毛血旺({CONSUMABLES_NUMBER.minor_food_min}破招)",
410
- f"栗子烧肉({CONSUMABLES_NUMBER.minor_food_min}加速)",
411
- f"水煮肉片({CONSUMABLES_NUMBER.minor_food_min}破防)",
412
- f"鱼香肉丝({CONSUMABLES_NUMBER.minor_food_min}会心)"
413
- ],
414
- "外功": [
415
- f"太后饼({CONSUMABLES_NUMBER.physical_food_max}外攻)",
416
- f"煎饼果子({CONSUMABLES_NUMBER.physical_food_min}外攻)"
417
- ],
418
- "内功": [
419
- f"灌汤包({CONSUMABLES_NUMBER.magical_food_max}内攻)",
420
- f"鲜肉包子({CONSUMABLES_NUMBER.magical_food_min}内攻)"
421
- ]
422
  }
423
- POTIONS = {
424
- "身法": [
425
- f"上品轻身丹({CONSUMABLES_NUMBER.major_potion_max}身法)",
426
- f"中品轻身丹({CONSUMABLES_NUMBER.major_potion_min}身法)",
427
- ],
428
- "力道": [
429
- f"上品大力丸({CONSUMABLES_NUMBER.major_potion_max}力道)",
430
- f"中品大力丸({CONSUMABLES_NUMBER.major_potion_min}力道)"
431
- ],
432
- "根骨": [
433
- f"上品静心丸({CONSUMABLES_NUMBER.major_potion_max}根骨)",
434
- f"中品静心丸({CONSUMABLES_NUMBER.major_potion_min}根骨)"
435
- ],
436
- "元气": [
437
- f"上品聚魂丹({CONSUMABLES_NUMBER.major_potion_max}元气)",
438
- f"中品聚魂丹({CONSUMABLES_NUMBER.major_potion_min}元气)"
439
- ],
440
- "": [
441
- f"上品凝神散({CONSUMABLES_NUMBER.minor_potion_max}破招)",
442
- f"上品活气散({CONSUMABLES_NUMBER.minor_potion_max}加速)",
443
- f"上品破秽散({CONSUMABLES_NUMBER.minor_potion_max}破防)",
444
- f"上品玉璃散({CONSUMABLES_NUMBER.minor_potion_max}会心)",
445
- f"中品凝神散({CONSUMABLES_NUMBER.minor_potion_min}破招)",
446
- f"中品活气散({CONSUMABLES_NUMBER.minor_potion_min}加速)",
447
- f"中品破秽散({CONSUMABLES_NUMBER.minor_potion_min}破防)",
448
- f"中品玉璃散({CONSUMABLES_NUMBER.minor_potion_min}会心)"
449
- ],
450
- "外功": [
451
- f"上品亢龙散({CONSUMABLES_NUMBER.physical_potion_max}外攻)",
452
- f"中品亢龙散({CONSUMABLES_NUMBER.physical_potion_min}外攻)"
453
- ],
454
- "内功": [
455
- f"上品展凤散({CONSUMABLES_NUMBER.magical_potion_max}内攻)",
456
- f"中品展凤散({CONSUMABLES_NUMBER.magical_potion_min}内攻)"
457
- ]
 
 
 
 
 
 
458
  }
459
- WEAPON_ENCHANTS = {
460
- "外功": [
461
- f"瀑沙熔锭({CONSUMABLES_NUMBER.physical_enchant_max}外攻)",
462
- f"瀑沙磨石({CONSUMABLES_NUMBER.physical_enchant_min}外攻)"
463
- ],
464
- "内功": [
465
- f"坠宵熔锭({CONSUMABLES_NUMBER.magical_enchant_max}内攻)",
466
- f"坠宵磨石({CONSUMABLES_NUMBER.magical_enchant_min}内攻)"
467
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
  }
469
- SNACKS = {
470
- "": [
471
- f"创意料理({CONSUMABLES_NUMBER.minor_snack_max})无双",
472
- f"创意料理({CONSUMABLES_NUMBER.minor_snack_max})会心",
473
- f"创意料理({CONSUMABLES_NUMBER.minor_snack_max})破防",
474
- ],
475
- "外功": [
476
- f"创意料理({CONSUMABLES_NUMBER.physical_snack})外攻"
477
- ],
478
- "内功": [
479
- f"创意料理({CONSUMABLES_NUMBER.magical_snack})内攻"
480
- ]
481
  }
482
- WINES = {
483
- "": [f"女儿红·旬又三({CONSUMABLES_NUMBER.haste_wine}加速)"],
484
- "身法": [f"关外白酒·旬又三({CONSUMABLES_NUMBER.major_wine}身法)"],
485
- "力道": [f"汾酒·旬又三({CONSUMABLES_NUMBER.major_wine}力道)"],
486
- "根骨": [f"高粱酒·旬又三({CONSUMABLES_NUMBER.major_wine}根骨)"],
487
- "元气": [f"状元红·旬又三({CONSUMABLES_NUMBER.major_wine}元气)"]
488
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
489
  }
 
490
  GUILD_FOOD = f"{CONSUMABLES_NUMBER.guild_food}无双"
491
  GUILD_SPREAD = f"{CONSUMABLES_NUMBER.guild_spread}破招/无双"
492
- SPREADS = {
493
- "身法": [
494
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}身法)"
495
- ],
496
- "力道": [
497
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}力道)"
498
- ],
499
- "根骨": [
500
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}根骨)"
501
- ],
502
- "元气": [
503
- f"水晶芙蓉宴({CONSUMABLES_NUMBER.major_spread}元气)"
504
- ],
505
- "外功": [
506
- f"玉笛谁家听落梅({CONSUMABLES_NUMBER.physical_spread}外攻{CONSUMABLES_NUMBER.minor_spread}会心/破招)"
507
- ],
508
- "内功": [
509
- f"二十四桥明月夜({CONSUMABLES_NUMBER.magical_spread}内攻{CONSUMABLES_NUMBER.minor_spread}会心/破招)"
510
- ]
511
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import Tuple, List, Dict
2
 
3
 
4
+ def agility(value):
 
 
 
 
 
 
 
 
 
 
 
5
  return {"agility_base": value}
6
 
7
 
8
+ def strength(value):
9
  return {"strength_base": value}
10
 
11
 
12
+ def spirit(value):
13
  return {"spirit_base": value}
14
 
15
 
16
+ def spunk(value):
17
  return {"spunk_base": value}
18
 
19
 
20
+ def physical_attack_power(value):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  return {"physical_attack_power_base": value}
22
 
23
 
24
+ def magical_attack_power(value):
25
  return {"magical_attack_power_base": value}
26
 
27
 
28
+ def surplus(value):
29
  return {"surplus": value}
30
 
31
 
32
+ def strain(value):
33
+ return {"strain_base": value}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
 
36
+ def haste(value):
37
  return {"haste_base": value}
38
 
39
 
40
+ def overcome(value):
41
  return {"physical_overcome_base": value, "magical_overcome_base": value}
42
 
43
 
44
+ def critical_strike(value):
45
  return {"all_critical_strike_base": value}
46
 
47
 
48
+ def physical_spread(values):
49
+ return {"physical_attack_power_base": values[0],
50
+ "all_critical_strike_base": values[1],
51
+ "surplus": values[1]}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
 
53
 
54
+ def magical_spread(values):
55
+ return {"magical_attack_power_base": values[0],
56
+ "all_critical_strike_base": values[1],
57
+ "surplus": values[1]}
58
 
59
 
60
+ def guild_spread(value):
61
+ return {"surplus": value, "strain_base": value}
 
 
 
 
62
 
63
 
64
+ def boiled_fish(value):
65
+ return {"surplus": value, "strain_base": value}
66
 
67
 
68
  class CONSUMABLES_NUMBER:
69
+ major_food_max: int = 382
70
+ major_food_min: int = 191
71
 
72
+ physical_food_max: int = 768
73
+ physical_food_min: int = 384
74
+ magical_food_max: int = 917
75
+ magical_food_min: int = 458
76
 
77
+ minor_food_max: int = 1705
78
+ minor_food_min: int = 853
79
 
80
+ major_potion_max: int = 492
81
+ major_potion_min: int = 246
82
 
83
+ physical_potion_max: int = 988
84
+ physical_potion_min: int = 494
85
+ magical_potion_max: int = 1179
86
+ magical_potion_min: int = 589
87
 
88
+ minor_potion_max: int = 2192
89
+ minor_potion_min: int = 1096
90
 
91
+ physical_enchant_max: int = 658
92
+ physical_enchant_min: int = 439
93
+ magical_enchant_max: int = 786
94
+ magical_enchant_min: int = 524
95
 
96
  minor_snack_max: int = 1934
97
+ minor_snack_min: int = 1074
98
+ physical_snack_max: int = 866
99
+ physical_snack_min: int = 480
100
+ magical_snack_max: int = 1038
101
+ magical_snack_min: int = 576
102
 
103
  major_wine: int = 256
104
  haste_wine: int = 1144
105
 
106
+ guild_spread: int = 258
107
  guild_food: int = 517
108
+
109
+ major_spread: int = 437
110
+ physical_spread: Tuple[int, int] = (439, 975)
111
+ magical_spread: Tuple[int, int] = (524, 975)
112
+
113
  boiled_fish_max: int = 400
114
  boiled_fish_min: int = 100
115
 
116
 
117
+ FUNCTION_MAP = {
118
+ "身法": agility,
119
+ "力道": strength,
120
+ "根骨": spirit,
121
+ "元气": spunk,
122
+ "外攻": physical_attack_power,
123
+ "内攻": magical_attack_power,
124
+ "破招": surplus,
125
+ "无双": strain,
126
+ "加速": haste,
127
+ "破防": overcome,
128
+ "会心": critical_strike,
129
+ ("外攻", "会心/破招"): physical_spread,
130
+ ("内攻", "会心/破招"): magical_spread,
131
+ "破招/无双": boiled_fish
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
  }
133
+ NAME_MAP = {
134
+ "身法": "身法",
135
+ "力道": "力道",
136
+ "根骨": "根骨",
137
+ "元气": "元气",
138
+ "外攻": "外功",
139
+ "内攻": "内功",
140
+ "破招": "",
141
+ "无双": "",
142
+ "加速": "",
143
+ "破防": "",
144
+ "会心": "",
145
+ ("外攻", "会心/破招"): "外功",
146
+ ("内攻", "会心/破招"): "内功",
147
+ "破招/无双": ""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
148
  }
149
+ FOODS: Dict[str, dict | list] = {
150
+ "身法": {
151
+ CONSUMABLES_NUMBER.major_food_max: "杂锦鱼球粥",
152
+ CONSUMABLES_NUMBER.major_food_min: "杂碎汤"
153
+ },
154
+ "力道": {
155
+ CONSUMABLES_NUMBER.major_food_max: "三鲜粥",
156
+ CONSUMABLES_NUMBER.major_food_min: "三鲜汤"
157
+ },
158
+ "根骨": {
159
+ CONSUMABLES_NUMBER.major_food_max: "咸骨粥",
160
+ CONSUMABLES_NUMBER.major_food_min: "老火骨汤"
161
+ },
162
+ "元气": {
163
+ CONSUMABLES_NUMBER.major_food_max: "鱼片砂锅粥",
164
+ CONSUMABLES_NUMBER.major_food_min: "鱼头豆腐汤"
165
+ },
166
+ "外攻": {
167
+ CONSUMABLES_NUMBER.physical_food_max: "太后饼",
168
+ CONSUMABLES_NUMBER.physical_food_min: "煎饼果子"
169
+ },
170
+ "内攻": {
171
+ CONSUMABLES_NUMBER.magical_food_max: "灌汤包",
172
+ CONSUMABLES_NUMBER.magical_food_min: "鲜肉包子"
173
+ },
174
+ "破招": {
175
+ CONSUMABLES_NUMBER.minor_food_max: "白肉血肠",
176
+ CONSUMABLES_NUMBER.minor_food_min: "毛血旺"
177
+ },
178
+ "加速": {
179
+ CONSUMABLES_NUMBER.minor_food_max: "红烧扣肉",
180
+ CONSUMABLES_NUMBER.minor_food_min: "栗子烧肉"
181
+ },
182
+ "破防": {
183
+ CONSUMABLES_NUMBER.minor_food_max: "红烧排骨",
184
+ CONSUMABLES_NUMBER.minor_food_min: "水煮肉片"
185
+ },
186
+ "会心": {
187
+ CONSUMABLES_NUMBER.minor_food_max: "酸菜鱼",
188
+ CONSUMABLES_NUMBER.minor_food_min: "鱼香肉丝"
189
+ }
190
  }
191
+ POTIONS: Dict[str, dict | list] = {
192
+ "身法": {
193
+ CONSUMABLES_NUMBER.major_potion_max: "上品轻身丹",
194
+ CONSUMABLES_NUMBER.major_potion_min: "中品轻身丹"
195
+ },
196
+ "力道": {
197
+ CONSUMABLES_NUMBER.major_potion_max: "上品大力丸",
198
+ CONSUMABLES_NUMBER.major_potion_min: "中品大力丸"
199
+ },
200
+ "根骨": {
201
+ CONSUMABLES_NUMBER.major_potion_max: "上品静心丸",
202
+ CONSUMABLES_NUMBER.major_potion_min: "中品静心丸"
203
+ },
204
+ "元气": {
205
+ CONSUMABLES_NUMBER.major_potion_max: "上品聚魂丹",
206
+ CONSUMABLES_NUMBER.major_potion_min: "中品聚魂丹"
207
+ },
208
+ "外攻": {
209
+ CONSUMABLES_NUMBER.physical_potion_max: "上品亢龙散",
210
+ CONSUMABLES_NUMBER.physical_potion_min: "中品亢龙散"
211
+ },
212
+ "内攻": {
213
+ CONSUMABLES_NUMBER.magical_potion_max: "上品展凤散",
214
+ CONSUMABLES_NUMBER.magical_potion_min: "中品展凤散"
215
+ },
216
+ "破招": {
217
+ CONSUMABLES_NUMBER.minor_potion_max: "上品凝神散",
218
+ CONSUMABLES_NUMBER.minor_potion_min: "中品凝神散"
219
+ },
220
+ "加速": {
221
+ CONSUMABLES_NUMBER.minor_potion_max: "上品活气散",
222
+ CONSUMABLES_NUMBER.minor_potion_min: "中品活气散"
223
+ },
224
+ "破防": {
225
+ CONSUMABLES_NUMBER.minor_potion_max: "上品破秽散",
226
+ CONSUMABLES_NUMBER.minor_potion_min: "中品破秽散"
227
+ },
228
+ "会心": {
229
+ CONSUMABLES_NUMBER.minor_potion_max: "上品玉璃散",
230
+ CONSUMABLES_NUMBER.minor_potion_min: "中品玉璃散"
231
+ }
232
  }
233
+ WEAPON_ENCHANTS: Dict[str, dict | list] = {
234
+ "外攻": {
235
+ CONSUMABLES_NUMBER.physical_enchant_max: "瀑沙熔锭",
236
+ CONSUMABLES_NUMBER.physical_enchant_min: "瀑沙磨石"
237
+ },
238
+ "内攻": {
239
+ CONSUMABLES_NUMBER.magical_enchant_max: "坠宵熔锭",
240
+ CONSUMABLES_NUMBER.magical_enchant_min: "坠宵磨石"
241
+ }
 
 
 
242
  }
243
+ SNACKS: Dict[str, dict | list] = {
244
+ "外攻": {
245
+ CONSUMABLES_NUMBER.physical_snack_max: "创意料理",
246
+ CONSUMABLES_NUMBER.physical_snack_min: "葫芦叫花鸡"
247
+ },
248
+ "内攻": {
249
+ CONSUMABLES_NUMBER.magical_snack_max: "创意料理",
250
+ CONSUMABLES_NUMBER.magical_snack_min: "小炒青菜"
251
+ },
252
+ "无双": {
253
+ CONSUMABLES_NUMBER.minor_snack_max: "创意料理",
254
+ CONSUMABLES_NUMBER.minor_snack_min: "炖豆腐"
255
+ },
256
+ "破招": {CONSUMABLES_NUMBER.minor_snack_min: "煎豆腐"},
257
+ "破防": {
258
+ CONSUMABLES_NUMBER.minor_snack_max: "创意料理",
259
+ CONSUMABLES_NUMBER.minor_snack_min: "炸鱼干"
260
+ },
261
+ "会心": {
262
+ CONSUMABLES_NUMBER.minor_snack_max: "创意料理",
263
+ CONSUMABLES_NUMBER.minor_snack_min: "清蒸鲈鱼"
264
+ }
265
+ }
266
+ WINES: Dict[str, dict | list] = {
267
+ "身法": {CONSUMABLES_NUMBER.major_wine: "关外白酒·旬又三"},
268
+ "力道": {CONSUMABLES_NUMBER.major_wine: "汾酒·旬又三"},
269
+ "根骨": {CONSUMABLES_NUMBER.major_wine: "高粱酒·旬又三"},
270
+ "元气": {CONSUMABLES_NUMBER.major_wine: "状元红·旬又三"},
271
+ "加速": {CONSUMABLES_NUMBER.haste_wine: "女儿红·旬又三"}
272
+ }
273
+ SPREADS: Dict[str, dict | list] = {
274
+ "身法": {CONSUMABLES_NUMBER.major_spread: "水晶芙蓉宴"},
275
+ "力道": {CONSUMABLES_NUMBER.major_spread: "水晶芙蓉宴"},
276
+ "根骨": {CONSUMABLES_NUMBER.major_spread: "水晶芙蓉宴"},
277
+ "元气": {CONSUMABLES_NUMBER.major_spread: "水晶芙蓉宴"},
278
+ ("外攻", "会心/破招"): {CONSUMABLES_NUMBER.physical_spread: "玉笛谁家听落梅"},
279
+ ("内攻", "会心/破招"): {CONSUMABLES_NUMBER.magical_spread: "二十四桥明月夜"},
280
  }
281
+
282
  GUILD_FOOD = f"{CONSUMABLES_NUMBER.guild_food}无双"
283
  GUILD_SPREAD = f"{CONSUMABLES_NUMBER.guild_spread}破招/无双"
284
+
285
+ BOILED_FISH: Dict[str, dict | list] = {
286
+ "破招/无双": {
287
+ CONSUMABLES_NUMBER.boiled_fish_max: "百炼水煮鱼",
288
+ CONSUMABLES_NUMBER.boiled_fish_min: "炼狱水煮鱼"
289
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  }
291
+
292
+ CONSUMABLES = {}
293
+ for consumables in [FOODS, POTIONS, WEAPON_ENCHANTS, SNACKS, WINES, SPREADS, BOILED_FISH]:
294
+ for attr, params in consumables.copy().items():
295
+ consumables.pop(attr)
296
+ if NAME_MAP[attr] not in consumables:
297
+ consumables[NAME_MAP[attr]] = []
298
+ for param, name in params.items():
299
+ if isinstance(attr, tuple) and isinstance(param, tuple):
300
+ name = f"{name}({''.join(f'{p}{a}' for p, a in zip(param, attr))})"
301
+ else:
302
+ name = f"{name}({param}{attr})"
303
+ consumables[NAME_MAP[attr]].append(name)
304
+ CONSUMABLES[name] = FUNCTION_MAP[attr](param)
305
+
306
+ CONSUMABLES["guild_food"] = strain(CONSUMABLES_NUMBER.guild_food)
307
+ CONSUMABLES["guild_spread"] = guild_spread(CONSUMABLES_NUMBER.guild_spread)
general/gains/formation.py CHANGED
@@ -256,25 +256,6 @@ FORMATIONS = {
256
  # }
257
 
258
  FORMATION_GAINS = {
259
- "九音惊弦阵": 九音惊弦阵,
260
- "七绝逍遥阵": 七绝逍遥阵,
261
- "卫公折冲阵": 卫公折冲阵,
262
- "天鼓雷音阵": 天鼓雷音阵,
263
- "北斗七星阵": 北斗七星阵,
264
- "九宫八卦阵": 九宫八卦阵,
265
- "依山观澜阵": 依山观澜阵,
266
- "万蛊噬心阵": 万蛊噬心阵,
267
- "流星赶月阵": 流星赶月阵,
268
- "千机百变阵": 千机百变阵,
269
- "炎威破魔阵": 炎威破魔阵,
270
- "降龙伏虎阵": 降龙伏虎阵,
271
- "锋凌横绝阵": 锋凌横绝阵,
272
- "万籁金弦阵": 万籁金弦阵,
273
- "霜岚洗锋阵": 霜岚洗锋阵,
274
- "墟海引归阵": 墟海引归阵,
275
- "龙皇雪风阵": 龙皇雪风阵,
276
- "九星游年阵": 九星游年阵,
277
- "乱暮浊茵阵": 乱暮浊茵阵,
278
- "横云破锋阵": 横云破锋阵,
279
- "苍梧引灵阵": 苍梧引灵阵,
280
  }
 
256
  # }
257
 
258
  FORMATION_GAINS = {
259
+ formation: globals()[formation]
260
+ for formations in FORMATIONS.values() for formation in formations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
261
  }
qt/assets/equipments/tertiary_weapon CHANGED
@@ -1 +1,1505 @@
1
- {"月落囊 (会心 破招) 15600": {"id": 37307, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 654, "physical_attack_power_base": 1060, "physical_critical_strike_base": 3279, "surplus": 2915}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "月稠囊 (会心 破招) 15600": {"id": 37306, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 654, "physical_attack_power_base": 1060, "physical_critical_strike_base": 3279, "surplus": 2915}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "救困囊 (会心 无双) 15600": {"id": 37188, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 654, "physical_attack_power_base": 1060, "physical_critical_strike_base": 3279, "strain_base": 2915}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "磊落囊 (会心 无双) 15600": {"id": 37187, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 654, "physical_attack_power_base": 1060, "physical_critical_strike_base": 3279, "strain_base": 2915}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "照耀囊 (加速 破招) 15600": {"id": 37182, "school": "通用", "kind": "身法", "level": 15600, "max_strength": 6, "base": {}, "magic": {"agility_base": 654, "physical_attack_power_base": 1060, "haste_base": 3279, "surplus": 2915}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "如雪囊 (加速 破招) 15600": {"id": 37181, "school": "通用", "kind": "力道", "level": 15600, "max_strength": 6, "base": {}, "magic": {"strength_base": 654, "physical_attack_power_base": 1060, "haste_base": 3279, "surplus": 2915}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心 会效 破招) 15200": {"id": 37303, "school": "精简", "kind": "外功", "level": 15200, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2305, "surplus": 1953, "physical_critical_strike_base": 3373, "physical_critical_power_base": 1775}, "embed": {"physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心 会效) 15200": {"id": 37302, "school": "精简", "kind": "外功", "level": 15200, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2305, "physical_critical_strike_base": 4438, "physical_critical_power_base": 2663}, "embed": {"physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (破防) 15200": {"id": 37301, "school": "精简", "kind": "外功", "level": 15200, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2702, "physical_overcome_base": 6302}, "embed": {"surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (破防 会心 会效) 14350": {"id": 37297, "school": "精简", "kind": "外功", "level": 14350, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2176, "physical_overcome_base": 2430, "physical_critical_strike_base": 2598, "physical_critical_power_base": 1676}, "embed": {"surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心 破招) 14350": {"id": 37296, "school": "精简", "kind": "外功", "level": 14350, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2176, "surplus": 3519, "physical_critical_strike_base": 3352}, "embed": {"physical_critical_power_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (无双) 14350": {"id": 37295, "school": "精简", "kind": "外功", "level": 14350, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2551, "strain_base": 5949}, "embed": {"physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "东方日出·天宇囊 (会心 无双) 13950": {"id": 37408, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "strain_base": 2607}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "东方日出·海光囊 (会心 无双) 13950": {"id": 37407, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "strain_base": 2607}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "危光囊 (会心 破招) 13950": {"id": 37145, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "surplus": 2607}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "危雨囊 (会心 破招) 13950": {"id": 37144, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "surplus": 2607}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "泉幽囊 (会心 破招) 13950": {"id": 35838, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "surplus": 2607}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "泉潺囊 (会心 破招) 13950": {"id": 35837, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "surplus": 2607}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "卓盈囊 (破防 破招) 13950": {"id": 35785, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 584, "physical_attack_power_base": 948, "physical_overcome_base": 2933, "surplus": 2607}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "越既囊 (破防 破招) 13950": {"id": 35784, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 584, "physical_attack_power_base": 948, "physical_overcome_base": 2933, "surplus": 2607}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "踏雁囊 (会心 无双) 13950": {"id": 35717, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "strain_base": 2607}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "素鸦囊 (会心 无双) 13950": {"id": 35716, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 584, "physical_attack_power_base": 948, "physical_critical_strike_base": 2933, "strain_base": 2607}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风掣囊 (加速 破招) 13950": {"id": 35711, "school": "通用", "kind": "身法", "level": 13950, "max_strength": 6, "base": {}, "magic": {"agility_base": 584, "physical_attack_power_base": 948, "haste_base": 2933, "surplus": 2607}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "凛行囊 (加速 破招) 13950": {"id": 35710, "school": "通用", "kind": "力道", "level": 13950, "max_strength": 6, "base": {}, "magic": {"strength_base": 584, "physical_attack_power_base": 948, "haste_base": 2933, "surplus": 2607}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (破防 会心 破招) 13550": {"id": 35834, "school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2267, "surplus": 1899, "physical_overcome_base": 2057, "physical_critical_strike_base": 2057}, "embed": {"physical_critical_power_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (破防 破招) 13550": {"id": 35833, "school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2054, "surplus": 3165, "physical_overcome_base": 3323}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心) 13550": {"id": 35832, "school": "精简", "kind": "外功", "level": 13550, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2409, "physical_critical_strike_base": 5618}, "embed": {"physical_critical_power_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "西风漫·望 (破防 无双) 13400": {"id": 37108, "school": "通用", "kind": "身法", "level": 13400, "max_strength": 6, "base": {}, "magic": {"agility_base": 561, "physical_attack_power_base": 911, "physical_overcome_base": 2817, "strain_base": 2504}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "西风漫·聆 (破防 无双) 13400": {"id": 37107, "school": "通用", "kind": "力道", "level": 13400, "max_strength": 6, "base": {}, "magic": {"strength_base": 561, "physical_attack_power_base": 911, "physical_overcome_base": 2817, "strain_base": 2504}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心 会效 破招) 12800": {"id": 35826, "school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1941, "surplus": 1644, "physical_critical_strike_base": 2840, "physical_critical_power_base": 1495}, "embed": {"physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心 会效) 12800": {"id": 35825, "school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1941, "physical_critical_strike_base": 3737, "physical_critical_power_base": 2242}, "embed": {"physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (破防) 12800": {"id": 35824, "school": "精简", "kind": "外功", "level": 12800, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2275, "physical_overcome_base": 5307}, "embed": {"surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "翠林囊 (破防 无双) 12600": {"id": 36536, "school": "通用", "kind": "身法", "level": 12600, "max_strength": 6, "base": {}, "magic": {"agility_base": 528, "physical_attack_power_base": 856, "physical_overcome_base": 2649, "strain_base": 2354}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "静山囊 (破防 无双) 12600": {"id": 36535, "school": "通用", "kind": "力道", "level": 12600, "max_strength": 6, "base": {}, "magic": {"strength_base": 528, "physical_attack_power_base": 856, "physical_overcome_base": 2649, "strain_base": 2354}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "西风北啸·角寒囊 (会心 无双) 12450": {"id": 35939, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 522, "physical_attack_power_base": 846, "physical_critical_strike_base": 2617, "strain_base": 2326}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "西风北啸·砾漠囊 (会心 无双) 12450": {"id": 35938, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 522, "physical_attack_power_base": 846, "physical_critical_strike_base": 2617, "strain_base": 2326}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖月囊 (会心 破招) 12450": {"id": 34819, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 522, "physical_attack_power_base": 846, "physical_critical_strike_base": 2617, "surplus": 2326}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "湖静囊 (会心 破招) 12450": {"id": 34818, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 522, "physical_attack_power_base": 846, "physical_critical_strike_base": 2617, "surplus": 2326}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "度槐囊 (破防 破招) 12450": {"id": 34769, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 522, "physical_attack_power_base": 846, "physical_overcome_base": 2617, "surplus": 2326}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "微花囊 (破防 破招) 12450": {"id": 34768, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 522, "physical_attack_power_base": 846, "physical_overcome_base": 2617, "surplus": 2326}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "染辞囊 (会心 无双) 12450": {"id": 34703, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 522, "physical_attack_power_base": 846, "physical_critical_strike_base": 2617, "strain_base": 2326}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "温刃囊 (会心 无双) 12450": {"id": 34702, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 522, "physical_attack_power_base": 846, "physical_critical_strike_base": 2617, "strain_base": 2326}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "商野囊 (加速 破招) 12450": {"id": 34697, "school": "通用", "kind": "身法", "level": 12450, "max_strength": 6, "base": {}, "magic": {"agility_base": 522, "physical_attack_power_base": 846, "haste_base": 2617, "surplus": 2326}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "安衿囊 (加速 破招) 12450": {"id": 34696, "school": "通用", "kind": "力道", "level": 12450, "max_strength": 6, "base": {}, "magic": {"strength_base": 522, "physical_attack_power_base": 846, "haste_base": 2617, "surplus": 2326}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临晚囊 (会心 无双) 12400": {"id": 32547, "school": "通用", "kind": "身法", "level": 12400, "max_strength": 6, "base": {}, "magic": {"agility_base": 520, "physical_attack_power_base": 843, "physical_critical_strike_base": 2607, "strain_base": 2317}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "临掣囊 (会心 无双) 12400": {"id": 32546, "school": "通用", "kind": "力道", "level": 12400, "max_strength": 6, "base": {}, "magic": {"strength_base": 520, "physical_attack_power_base": 843, "physical_critical_strike_base": 2607, "strain_base": 2317}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "牵叶 (会心 无双) 12300": {"id": 32697, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "physical_critical_strike_base": 2586, "strain_base": 2298}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "宸风 (会心 无双) 12300": {"id": 32696, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "physical_critical_strike_base": 2586, "strain_base": 2298}, "embed": {"physical_critical_strike_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "久念囊 (破防 无双) 12300": {"id": 32661, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "strain_base": 2298}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "拭江囊 (破防 无双) 12300": {"id": 32660, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "strain_base": 2298}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "风岱囊 (加速 无双) 12300": {"id": 32625, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "haste_base": 2586, "strain_base": 2298}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "项昌囊 (加速 无双) 12300": {"id": 32624, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "haste_base": 2586, "strain_base": 2298}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "北邱囊 (破防 破招) 12300": {"id": 32589, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "surplus": 2298}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "曲郦囊 (破防 破招) 12300": {"id": 32588, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "surplus": 2298}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "渊忱囊 (破招 无双) 12300": {"id": 32553, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "surplus": 2586, "strain_base": 2298}, "embed": {"strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "羡双囊 (破招 无双) 12300": {"id": 32552, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "surplus": 2586, "strain_base": 2298}, "embed": {"strain_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆宁囊 (会心 破招) 12300": {"id": 32493, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "physical_critical_strike_base": 2586, "surplus": 2298}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "忆敬囊 (会心 破招) 12300": {"id": 32492, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "physical_critical_strike_base": 2586, "surplus": 2298}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "盈绝囊 (破防 无双) 12300": {"id": 32457, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "strain_base": 2298}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "垣翰囊 (破防 无双) 12300": {"id": 32456, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "strain_base": 2298}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "潋阳囊 (破防 破招) 12300": {"id": 32421, "school": "通用", "kind": "身法", "level": 12300, "max_strength": 6, "base": {}, "magic": {"agility_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "surplus": 2298}, "embed": {"agility_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "重关囊 (破防 破招) 12300": {"id": 32420, "school": "通用", "kind": "力道", "level": 12300, "max_strength": 6, "base": {}, "magic": {"strength_base": 515, "physical_attack_power_base": 836, "physical_overcome_base": 2586, "surplus": 2298}, "embed": {"strength_base": 36}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (破防 会心 会效) 12100": {"id": 34815, "school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1835, "physical_overcome_base": 2049, "physical_critical_strike_base": 2190, "physical_critical_power_base": 1413}, "embed": {"surplus": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (会心 破招) 12100": {"id": 34814, "school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 1835, "surplus": 2968, "physical_critical_strike_base": 2826}, "embed": {"physical_critical_power_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "外功无封囊 (无双) 12100": {"id": 34813, "school": "精简", "kind": "外功", "level": 12100, "max_strength": 3, "base": {}, "magic": {"physical_attack_power_base": 2151, "strain_base": 5017}, "embed": {"physical_overcome_base": 161}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "龙目·嘲风 (破防 无双) 12000": {"id": 35637, "school": "通用", "kind": "身法", "level": 12000, "max_strength": 6, "base": {}, "magic": {"agility_base": 503, "physical_attack_power_base": 816, "physical_overcome_base": 2523, "strain_base": 2242}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}, "龙目·螭吻 (破防 无双) 12000": {"id": 35636, "school": "通用", "kind": "力道", "level": 12000, "max_strength": 6, "base": {}, "magic": {"strength_base": 503, "physical_attack_power_base": 816, "physical_overcome_base": 2523, "strain_base": 2242}, "embed": {"physical_attack_power_base": 72}, "gains": [], "special_enchant": [], "set_id": null, "set_attr": {}, "set_gain": {}}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "月落囊 (会心 破招) 15600": {
3
+ "id": 37307,
4
+ "school": "通用",
5
+ "kind": "身法",
6
+ "level": 15600,
7
+ "max_strength": 6,
8
+ "base": {},
9
+ "magic": {
10
+ "agility_base": 654,
11
+ "physical_attack_power_base": 1060,
12
+ "physical_critical_strike_base": 3279,
13
+ "surplus": 2915
14
+ },
15
+ "embed": {
16
+ "agility_base": 36
17
+ },
18
+ "gains": [],
19
+ "special_enchant": [],
20
+ "set_id": null,
21
+ "set_attr": {},
22
+ "set_gain": {}
23
+ },
24
+ "月稠囊 (会心 破招) 15600": {
25
+ "id": 37306,
26
+ "school": "通用",
27
+ "kind": "力道",
28
+ "level": 15600,
29
+ "max_strength": 6,
30
+ "base": {},
31
+ "magic": {
32
+ "strength_base": 654,
33
+ "physical_attack_power_base": 1060,
34
+ "physical_critical_strike_base": 3279,
35
+ "surplus": 2915
36
+ },
37
+ "embed": {
38
+ "strength_base": 36
39
+ },
40
+ "gains": [],
41
+ "special_enchant": [],
42
+ "set_id": null,
43
+ "set_attr": {},
44
+ "set_gain": {}
45
+ },
46
+ "赋云囊 (破防 破招) 15600": {
47
+ "id": 37256,
48
+ "school": "通用",
49
+ "kind": "身法",
50
+ "level": 15600,
51
+ "max_strength": 6,
52
+ "base": {},
53
+ "magic": {
54
+ "agility_base": 654,
55
+ "physical_attack_power_base": 1060,
56
+ "physical_overcome_base": 3279,
57
+ "surplus": 2915
58
+ },
59
+ "embed": {
60
+ "agility_base": 36
61
+ },
62
+ "gains": [],
63
+ "special_enchant": [],
64
+ "set_id": null,
65
+ "set_attr": {},
66
+ "set_gain": {}
67
+ },
68
+ "同后囊 (破防 破招) 15600": {
69
+ "id": 37255,
70
+ "school": "通用",
71
+ "kind": "力道",
72
+ "level": 15600,
73
+ "max_strength": 6,
74
+ "base": {},
75
+ "magic": {
76
+ "strength_base": 654,
77
+ "physical_attack_power_base": 1060,
78
+ "physical_overcome_base": 3279,
79
+ "surplus": 2915
80
+ },
81
+ "embed": {
82
+ "strength_base": 36
83
+ },
84
+ "gains": [],
85
+ "special_enchant": [],
86
+ "set_id": null,
87
+ "set_attr": {},
88
+ "set_gain": {}
89
+ },
90
+ "救困囊 (会心 无双) 15600": {
91
+ "id": 37188,
92
+ "school": "通用",
93
+ "kind": "身法",
94
+ "level": 15600,
95
+ "max_strength": 6,
96
+ "base": {},
97
+ "magic": {
98
+ "agility_base": 654,
99
+ "physical_attack_power_base": 1060,
100
+ "physical_critical_strike_base": 3279,
101
+ "strain_base": 2915
102
+ },
103
+ "embed": {
104
+ "physical_critical_strike_base": 161
105
+ },
106
+ "gains": [],
107
+ "special_enchant": [],
108
+ "set_id": null,
109
+ "set_attr": {},
110
+ "set_gain": {}
111
+ },
112
+ "磊落囊 (会心 无双) 15600": {
113
+ "id": 37187,
114
+ "school": "通用",
115
+ "kind": "力道",
116
+ "level": 15600,
117
+ "max_strength": 6,
118
+ "base": {},
119
+ "magic": {
120
+ "strength_base": 654,
121
+ "physical_attack_power_base": 1060,
122
+ "physical_critical_strike_base": 3279,
123
+ "strain_base": 2915
124
+ },
125
+ "embed": {
126
+ "physical_critical_strike_base": 161
127
+ },
128
+ "gains": [],
129
+ "special_enchant": [],
130
+ "set_id": null,
131
+ "set_attr": {},
132
+ "set_gain": {}
133
+ },
134
+ "照耀囊 (加速 破招) 15600": {
135
+ "id": 37182,
136
+ "school": "通用",
137
+ "kind": "身法",
138
+ "level": 15600,
139
+ "max_strength": 6,
140
+ "base": {},
141
+ "magic": {
142
+ "agility_base": 654,
143
+ "physical_attack_power_base": 1060,
144
+ "haste_base": 3279,
145
+ "surplus": 2915
146
+ },
147
+ "embed": {
148
+ "agility_base": 36
149
+ },
150
+ "gains": [],
151
+ "special_enchant": [],
152
+ "set_id": null,
153
+ "set_attr": {},
154
+ "set_gain": {}
155
+ },
156
+ "如雪囊 (加速 破招) 15600": {
157
+ "id": 37181,
158
+ "school": "通用",
159
+ "kind": "力道",
160
+ "level": 15600,
161
+ "max_strength": 6,
162
+ "base": {},
163
+ "magic": {
164
+ "strength_base": 654,
165
+ "physical_attack_power_base": 1060,
166
+ "haste_base": 3279,
167
+ "surplus": 2915
168
+ },
169
+ "embed": {
170
+ "strength_base": 36
171
+ },
172
+ "gains": [],
173
+ "special_enchant": [],
174
+ "set_id": null,
175
+ "set_attr": {},
176
+ "set_gain": {}
177
+ },
178
+ "外功无封囊 (会心 会效 破招) 15200": {
179
+ "id": 37303,
180
+ "school": "精简",
181
+ "kind": "外功",
182
+ "level": 15200,
183
+ "max_strength": 3,
184
+ "base": {},
185
+ "magic": {
186
+ "physical_attack_power_base": 2305,
187
+ "surplus": 1953,
188
+ "physical_critical_strike_base": 3373,
189
+ "physical_critical_power_base": 1775
190
+ },
191
+ "embed": {
192
+ "physical_overcome_base": 161
193
+ },
194
+ "gains": [],
195
+ "special_enchant": [],
196
+ "set_id": null,
197
+ "set_attr": {},
198
+ "set_gain": {}
199
+ },
200
+ "外功无封囊 (会心 会效) 15200": {
201
+ "id": 37302,
202
+ "school": "精简",
203
+ "kind": "外功",
204
+ "level": 15200,
205
+ "max_strength": 3,
206
+ "base": {},
207
+ "magic": {
208
+ "physical_attack_power_base": 2305,
209
+ "physical_critical_strike_base": 4438,
210
+ "physical_critical_power_base": 2663
211
+ },
212
+ "embed": {
213
+ "physical_overcome_base": 161
214
+ },
215
+ "gains": [],
216
+ "special_enchant": [],
217
+ "set_id": null,
218
+ "set_attr": {},
219
+ "set_gain": {}
220
+ },
221
+ "外功无封囊 (破防) 15200": {
222
+ "id": 37301,
223
+ "school": "精简",
224
+ "kind": "外功",
225
+ "level": 15200,
226
+ "max_strength": 3,
227
+ "base": {},
228
+ "magic": {
229
+ "physical_attack_power_base": 2702,
230
+ "physical_overcome_base": 6302
231
+ },
232
+ "embed": {
233
+ "surplus": 161
234
+ },
235
+ "gains": [],
236
+ "special_enchant": [],
237
+ "set_id": null,
238
+ "set_attr": {},
239
+ "set_gain": {}
240
+ },
241
+ "外功无封囊 (破防 会心 会效) 14350": {
242
+ "id": 37297,
243
+ "school": "精简",
244
+ "kind": "外功",
245
+ "level": 14350,
246
+ "max_strength": 3,
247
+ "base": {},
248
+ "magic": {
249
+ "physical_attack_power_base": 2176,
250
+ "physical_overcome_base": 2430,
251
+ "physical_critical_strike_base": 2598,
252
+ "physical_critical_power_base": 1676
253
+ },
254
+ "embed": {
255
+ "surplus": 161
256
+ },
257
+ "gains": [],
258
+ "special_enchant": [],
259
+ "set_id": null,
260
+ "set_attr": {},
261
+ "set_gain": {}
262
+ },
263
+ "外功无封囊 (会心 破招) 14350": {
264
+ "id": 37296,
265
+ "school": "精简",
266
+ "kind": "外功",
267
+ "level": 14350,
268
+ "max_strength": 3,
269
+ "base": {},
270
+ "magic": {
271
+ "physical_attack_power_base": 2176,
272
+ "surplus": 3519,
273
+ "physical_critical_strike_base": 3352
274
+ },
275
+ "embed": {
276
+ "physical_critical_power_base": 161
277
+ },
278
+ "gains": [],
279
+ "special_enchant": [],
280
+ "set_id": null,
281
+ "set_attr": {},
282
+ "set_gain": {}
283
+ },
284
+ "外功无封囊 (无双) 14350": {
285
+ "id": 37295,
286
+ "school": "精简",
287
+ "kind": "外功",
288
+ "level": 14350,
289
+ "max_strength": 3,
290
+ "base": {},
291
+ "magic": {
292
+ "physical_attack_power_base": 2551,
293
+ "strain_base": 5949
294
+ },
295
+ "embed": {
296
+ "physical_overcome_base": 161
297
+ },
298
+ "gains": [],
299
+ "special_enchant": [],
300
+ "set_id": null,
301
+ "set_attr": {},
302
+ "set_gain": {}
303
+ },
304
+ "东方日出·天宇囊 (会心 无双) 13950": {
305
+ "id": 37408,
306
+ "school": "通用",
307
+ "kind": "身法",
308
+ "level": 13950,
309
+ "max_strength": 6,
310
+ "base": {},
311
+ "magic": {
312
+ "agility_base": 584,
313
+ "physical_attack_power_base": 948,
314
+ "physical_critical_strike_base": 2933,
315
+ "strain_base": 2607
316
+ },
317
+ "embed": {
318
+ "physical_critical_strike_base": 161
319
+ },
320
+ "gains": [],
321
+ "special_enchant": [],
322
+ "set_id": null,
323
+ "set_attr": {},
324
+ "set_gain": {}
325
+ },
326
+ "东方日出·海光囊 (会心 无双) 13950": {
327
+ "id": 37407,
328
+ "school": "通用",
329
+ "kind": "力道",
330
+ "level": 13950,
331
+ "max_strength": 6,
332
+ "base": {},
333
+ "magic": {
334
+ "strength_base": 584,
335
+ "physical_attack_power_base": 948,
336
+ "physical_critical_strike_base": 2933,
337
+ "strain_base": 2607
338
+ },
339
+ "embed": {
340
+ "physical_critical_strike_base": 161
341
+ },
342
+ "gains": [],
343
+ "special_enchant": [],
344
+ "set_id": null,
345
+ "set_attr": {},
346
+ "set_gain": {}
347
+ },
348
+ "危光囊 (会心 破招) 13950": {
349
+ "id": 37145,
350
+ "school": "通用",
351
+ "kind": "身法",
352
+ "level": 13950,
353
+ "max_strength": 6,
354
+ "base": {},
355
+ "magic": {
356
+ "agility_base": 584,
357
+ "physical_attack_power_base": 948,
358
+ "physical_critical_strike_base": 2933,
359
+ "surplus": 2607
360
+ },
361
+ "embed": {
362
+ "agility_base": 36
363
+ },
364
+ "gains": [],
365
+ "special_enchant": [],
366
+ "set_id": null,
367
+ "set_attr": {},
368
+ "set_gain": {}
369
+ },
370
+ "危雨囊 (会心 破招) 13950": {
371
+ "id": 37144,
372
+ "school": "通用",
373
+ "kind": "力道",
374
+ "level": 13950,
375
+ "max_strength": 6,
376
+ "base": {},
377
+ "magic": {
378
+ "strength_base": 584,
379
+ "physical_attack_power_base": 948,
380
+ "physical_critical_strike_base": 2933,
381
+ "surplus": 2607
382
+ },
383
+ "embed": {
384
+ "strength_base": 36
385
+ },
386
+ "gains": [],
387
+ "special_enchant": [],
388
+ "set_id": null,
389
+ "set_attr": {},
390
+ "set_gain": {}
391
+ },
392
+ "泉幽囊 (会心 破招) 13950": {
393
+ "id": 35838,
394
+ "school": "通用",
395
+ "kind": "身法",
396
+ "level": 13950,
397
+ "max_strength": 6,
398
+ "base": {},
399
+ "magic": {
400
+ "agility_base": 584,
401
+ "physical_attack_power_base": 948,
402
+ "physical_critical_strike_base": 2933,
403
+ "surplus": 2607
404
+ },
405
+ "embed": {
406
+ "agility_base": 36
407
+ },
408
+ "gains": [],
409
+ "special_enchant": [],
410
+ "set_id": null,
411
+ "set_attr": {},
412
+ "set_gain": {}
413
+ },
414
+ "泉潺囊 (会心 破招) 13950": {
415
+ "id": 35837,
416
+ "school": "通用",
417
+ "kind": "力道",
418
+ "level": 13950,
419
+ "max_strength": 6,
420
+ "base": {},
421
+ "magic": {
422
+ "strength_base": 584,
423
+ "physical_attack_power_base": 948,
424
+ "physical_critical_strike_base": 2933,
425
+ "surplus": 2607
426
+ },
427
+ "embed": {
428
+ "strength_base": 36
429
+ },
430
+ "gains": [],
431
+ "special_enchant": [],
432
+ "set_id": null,
433
+ "set_attr": {},
434
+ "set_gain": {}
435
+ },
436
+ "卓盈囊 (破防 破招) 13950": {
437
+ "id": 35785,
438
+ "school": "通用",
439
+ "kind": "身法",
440
+ "level": 13950,
441
+ "max_strength": 6,
442
+ "base": {},
443
+ "magic": {
444
+ "agility_base": 584,
445
+ "physical_attack_power_base": 948,
446
+ "physical_overcome_base": 2933,
447
+ "surplus": 2607
448
+ },
449
+ "embed": {
450
+ "agility_base": 36
451
+ },
452
+ "gains": [],
453
+ "special_enchant": [],
454
+ "set_id": null,
455
+ "set_attr": {},
456
+ "set_gain": {}
457
+ },
458
+ "越既囊 (破防 破招) 13950": {
459
+ "id": 35784,
460
+ "school": "通用",
461
+ "kind": "力道",
462
+ "level": 13950,
463
+ "max_strength": 6,
464
+ "base": {},
465
+ "magic": {
466
+ "strength_base": 584,
467
+ "physical_attack_power_base": 948,
468
+ "physical_overcome_base": 2933,
469
+ "surplus": 2607
470
+ },
471
+ "embed": {
472
+ "strength_base": 36
473
+ },
474
+ "gains": [],
475
+ "special_enchant": [],
476
+ "set_id": null,
477
+ "set_attr": {},
478
+ "set_gain": {}
479
+ },
480
+ "踏雁囊 (会心 无双) 13950": {
481
+ "id": 35717,
482
+ "school": "通用",
483
+ "kind": "身法",
484
+ "level": 13950,
485
+ "max_strength": 6,
486
+ "base": {},
487
+ "magic": {
488
+ "agility_base": 584,
489
+ "physical_attack_power_base": 948,
490
+ "physical_critical_strike_base": 2933,
491
+ "strain_base": 2607
492
+ },
493
+ "embed": {
494
+ "physical_critical_strike_base": 161
495
+ },
496
+ "gains": [],
497
+ "special_enchant": [],
498
+ "set_id": null,
499
+ "set_attr": {},
500
+ "set_gain": {}
501
+ },
502
+ "素鸦囊 (会心 无双) 13950": {
503
+ "id": 35716,
504
+ "school": "通用",
505
+ "kind": "力道",
506
+ "level": 13950,
507
+ "max_strength": 6,
508
+ "base": {},
509
+ "magic": {
510
+ "strength_base": 584,
511
+ "physical_attack_power_base": 948,
512
+ "physical_critical_strike_base": 2933,
513
+ "strain_base": 2607
514
+ },
515
+ "embed": {
516
+ "physical_critical_strike_base": 161
517
+ },
518
+ "gains": [],
519
+ "special_enchant": [],
520
+ "set_id": null,
521
+ "set_attr": {},
522
+ "set_gain": {}
523
+ },
524
+ "风掣囊 (加速 破招) 13950": {
525
+ "id": 35711,
526
+ "school": "通用",
527
+ "kind": "身法",
528
+ "level": 13950,
529
+ "max_strength": 6,
530
+ "base": {},
531
+ "magic": {
532
+ "agility_base": 584,
533
+ "physical_attack_power_base": 948,
534
+ "haste_base": 2933,
535
+ "surplus": 2607
536
+ },
537
+ "embed": {
538
+ "agility_base": 36
539
+ },
540
+ "gains": [],
541
+ "special_enchant": [],
542
+ "set_id": null,
543
+ "set_attr": {},
544
+ "set_gain": {}
545
+ },
546
+ "凛行囊 (加速 破招) 13950": {
547
+ "id": 35710,
548
+ "school": "通用",
549
+ "kind": "力道",
550
+ "level": 13950,
551
+ "max_strength": 6,
552
+ "base": {},
553
+ "magic": {
554
+ "strength_base": 584,
555
+ "physical_attack_power_base": 948,
556
+ "haste_base": 2933,
557
+ "surplus": 2607
558
+ },
559
+ "embed": {
560
+ "strength_base": 36
561
+ },
562
+ "gains": [],
563
+ "special_enchant": [],
564
+ "set_id": null,
565
+ "set_attr": {},
566
+ "set_gain": {}
567
+ },
568
+ "外功无封囊 (破防 会心 破招) 13550": {
569
+ "id": 35834,
570
+ "school": "精简",
571
+ "kind": "外功",
572
+ "level": 13550,
573
+ "max_strength": 3,
574
+ "base": {},
575
+ "magic": {
576
+ "physical_attack_power_base": 2267,
577
+ "surplus": 1899,
578
+ "physical_overcome_base": 2057,
579
+ "physical_critical_strike_base": 2057
580
+ },
581
+ "embed": {
582
+ "physical_critical_power_base": 161
583
+ },
584
+ "gains": [],
585
+ "special_enchant": [],
586
+ "set_id": null,
587
+ "set_attr": {},
588
+ "set_gain": {}
589
+ },
590
+ "外功无封囊 (破防 破招) 13550": {
591
+ "id": 35833,
592
+ "school": "精简",
593
+ "kind": "外功",
594
+ "level": 13550,
595
+ "max_strength": 3,
596
+ "base": {},
597
+ "magic": {
598
+ "physical_attack_power_base": 2054,
599
+ "surplus": 3165,
600
+ "physical_overcome_base": 3323
601
+ },
602
+ "embed": {
603
+ "physical_critical_strike_base": 161
604
+ },
605
+ "gains": [],
606
+ "special_enchant": [],
607
+ "set_id": null,
608
+ "set_attr": {},
609
+ "set_gain": {}
610
+ },
611
+ "外功无封囊 (会心) 13550": {
612
+ "id": 35832,
613
+ "school": "精简",
614
+ "kind": "外功",
615
+ "level": 13550,
616
+ "max_strength": 3,
617
+ "base": {},
618
+ "magic": {
619
+ "physical_attack_power_base": 2409,
620
+ "physical_critical_strike_base": 5618
621
+ },
622
+ "embed": {
623
+ "physical_critical_power_base": 161
624
+ },
625
+ "gains": [],
626
+ "special_enchant": [],
627
+ "set_id": null,
628
+ "set_attr": {},
629
+ "set_gain": {}
630
+ },
631
+ "西风漫·望 (破防 无双) 13400": {
632
+ "id": 37108,
633
+ "school": "通用",
634
+ "kind": "身法",
635
+ "level": 13400,
636
+ "max_strength": 6,
637
+ "base": {},
638
+ "magic": {
639
+ "agility_base": 561,
640
+ "physical_attack_power_base": 911,
641
+ "physical_overcome_base": 2817,
642
+ "strain_base": 2504
643
+ },
644
+ "embed": {
645
+ "physical_attack_power_base": 72
646
+ },
647
+ "gains": [],
648
+ "special_enchant": [],
649
+ "set_id": null,
650
+ "set_attr": {},
651
+ "set_gain": {}
652
+ },
653
+ "西风漫·聆 (破防 无双) 13400": {
654
+ "id": 37107,
655
+ "school": "通用",
656
+ "kind": "力道",
657
+ "level": 13400,
658
+ "max_strength": 6,
659
+ "base": {},
660
+ "magic": {
661
+ "strength_base": 561,
662
+ "physical_attack_power_base": 911,
663
+ "physical_overcome_base": 2817,
664
+ "strain_base": 2504
665
+ },
666
+ "embed": {
667
+ "physical_attack_power_base": 72
668
+ },
669
+ "gains": [],
670
+ "special_enchant": [],
671
+ "set_id": null,
672
+ "set_attr": {},
673
+ "set_gain": {}
674
+ },
675
+ "外功无封囊 (会心 会效 破招) 12800": {
676
+ "id": 35826,
677
+ "school": "精简",
678
+ "kind": "外功",
679
+ "level": 12800,
680
+ "max_strength": 3,
681
+ "base": {},
682
+ "magic": {
683
+ "physical_attack_power_base": 1941,
684
+ "surplus": 1644,
685
+ "physical_critical_strike_base": 2840,
686
+ "physical_critical_power_base": 1495
687
+ },
688
+ "embed": {
689
+ "physical_overcome_base": 161
690
+ },
691
+ "gains": [],
692
+ "special_enchant": [],
693
+ "set_id": null,
694
+ "set_attr": {},
695
+ "set_gain": {}
696
+ },
697
+ "外功无封囊 (会心 会效) 12800": {
698
+ "id": 35825,
699
+ "school": "精简",
700
+ "kind": "外功",
701
+ "level": 12800,
702
+ "max_strength": 3,
703
+ "base": {},
704
+ "magic": {
705
+ "physical_attack_power_base": 1941,
706
+ "physical_critical_strike_base": 3737,
707
+ "physical_critical_power_base": 2242
708
+ },
709
+ "embed": {
710
+ "physical_overcome_base": 161
711
+ },
712
+ "gains": [],
713
+ "special_enchant": [],
714
+ "set_id": null,
715
+ "set_attr": {},
716
+ "set_gain": {}
717
+ },
718
+ "外功无封囊 (破防) 12800": {
719
+ "id": 35824,
720
+ "school": "精简",
721
+ "kind": "外功",
722
+ "level": 12800,
723
+ "max_strength": 3,
724
+ "base": {},
725
+ "magic": {
726
+ "physical_attack_power_base": 2275,
727
+ "physical_overcome_base": 5307
728
+ },
729
+ "embed": {
730
+ "surplus": 161
731
+ },
732
+ "gains": [],
733
+ "special_enchant": [],
734
+ "set_id": null,
735
+ "set_attr": {},
736
+ "set_gain": {}
737
+ },
738
+ "翠林囊 (破防 无双) 12600": {
739
+ "id": 36536,
740
+ "school": "通用",
741
+ "kind": "身法",
742
+ "level": 12600,
743
+ "max_strength": 6,
744
+ "base": {},
745
+ "magic": {
746
+ "agility_base": 528,
747
+ "physical_attack_power_base": 856,
748
+ "physical_overcome_base": 2649,
749
+ "strain_base": 2354
750
+ },
751
+ "embed": {
752
+ "physical_attack_power_base": 72
753
+ },
754
+ "gains": [],
755
+ "special_enchant": [],
756
+ "set_id": null,
757
+ "set_attr": {},
758
+ "set_gain": {}
759
+ },
760
+ "静山囊 (破防 无双) 12600": {
761
+ "id": 36535,
762
+ "school": "通用",
763
+ "kind": "力道",
764
+ "level": 12600,
765
+ "max_strength": 6,
766
+ "base": {},
767
+ "magic": {
768
+ "strength_base": 528,
769
+ "physical_attack_power_base": 856,
770
+ "physical_overcome_base": 2649,
771
+ "strain_base": 2354
772
+ },
773
+ "embed": {
774
+ "physical_attack_power_base": 72
775
+ },
776
+ "gains": [],
777
+ "special_enchant": [],
778
+ "set_id": null,
779
+ "set_attr": {},
780
+ "set_gain": {}
781
+ },
782
+ "西风北啸·角寒囊 (会心 无双) 12450": {
783
+ "id": 35939,
784
+ "school": "通用",
785
+ "kind": "身法",
786
+ "level": 12450,
787
+ "max_strength": 6,
788
+ "base": {},
789
+ "magic": {
790
+ "agility_base": 522,
791
+ "physical_attack_power_base": 846,
792
+ "physical_critical_strike_base": 2617,
793
+ "strain_base": 2326
794
+ },
795
+ "embed": {
796
+ "physical_critical_strike_base": 161
797
+ },
798
+ "gains": [],
799
+ "special_enchant": [],
800
+ "set_id": null,
801
+ "set_attr": {},
802
+ "set_gain": {}
803
+ },
804
+ "西风北啸·砾漠囊 (会心 无双) 12450": {
805
+ "id": 35938,
806
+ "school": "通用",
807
+ "kind": "力道",
808
+ "level": 12450,
809
+ "max_strength": 6,
810
+ "base": {},
811
+ "magic": {
812
+ "strength_base": 522,
813
+ "physical_attack_power_base": 846,
814
+ "physical_critical_strike_base": 2617,
815
+ "strain_base": 2326
816
+ },
817
+ "embed": {
818
+ "physical_critical_strike_base": 161
819
+ },
820
+ "gains": [],
821
+ "special_enchant": [],
822
+ "set_id": null,
823
+ "set_attr": {},
824
+ "set_gain": {}
825
+ },
826
+ "湖月囊 (会心 破招) 12450": {
827
+ "id": 34819,
828
+ "school": "通用",
829
+ "kind": "身法",
830
+ "level": 12450,
831
+ "max_strength": 6,
832
+ "base": {},
833
+ "magic": {
834
+ "agility_base": 522,
835
+ "physical_attack_power_base": 846,
836
+ "physical_critical_strike_base": 2617,
837
+ "surplus": 2326
838
+ },
839
+ "embed": {
840
+ "agility_base": 36
841
+ },
842
+ "gains": [],
843
+ "special_enchant": [],
844
+ "set_id": null,
845
+ "set_attr": {},
846
+ "set_gain": {}
847
+ },
848
+ "湖静囊 (会心 破招) 12450": {
849
+ "id": 34818,
850
+ "school": "通用",
851
+ "kind": "力道",
852
+ "level": 12450,
853
+ "max_strength": 6,
854
+ "base": {},
855
+ "magic": {
856
+ "strength_base": 522,
857
+ "physical_attack_power_base": 846,
858
+ "physical_critical_strike_base": 2617,
859
+ "surplus": 2326
860
+ },
861
+ "embed": {
862
+ "strength_base": 36
863
+ },
864
+ "gains": [],
865
+ "special_enchant": [],
866
+ "set_id": null,
867
+ "set_attr": {},
868
+ "set_gain": {}
869
+ },
870
+ "度槐囊 (破防 破招) 12450": {
871
+ "id": 34769,
872
+ "school": "通用",
873
+ "kind": "身法",
874
+ "level": 12450,
875
+ "max_strength": 6,
876
+ "base": {},
877
+ "magic": {
878
+ "agility_base": 522,
879
+ "physical_attack_power_base": 846,
880
+ "physical_overcome_base": 2617,
881
+ "surplus": 2326
882
+ },
883
+ "embed": {
884
+ "agility_base": 36
885
+ },
886
+ "gains": [],
887
+ "special_enchant": [],
888
+ "set_id": null,
889
+ "set_attr": {},
890
+ "set_gain": {}
891
+ },
892
+ "微花囊 (破防 破招) 12450": {
893
+ "id": 34768,
894
+ "school": "通用",
895
+ "kind": "力道",
896
+ "level": 12450,
897
+ "max_strength": 6,
898
+ "base": {},
899
+ "magic": {
900
+ "strength_base": 522,
901
+ "physical_attack_power_base": 846,
902
+ "physical_overcome_base": 2617,
903
+ "surplus": 2326
904
+ },
905
+ "embed": {
906
+ "strength_base": 36
907
+ },
908
+ "gains": [],
909
+ "special_enchant": [],
910
+ "set_id": null,
911
+ "set_attr": {},
912
+ "set_gain": {}
913
+ },
914
+ "染辞囊 (会心 无双) 12450": {
915
+ "id": 34703,
916
+ "school": "通用",
917
+ "kind": "身法",
918
+ "level": 12450,
919
+ "max_strength": 6,
920
+ "base": {},
921
+ "magic": {
922
+ "agility_base": 522,
923
+ "physical_attack_power_base": 846,
924
+ "physical_critical_strike_base": 2617,
925
+ "strain_base": 2326
926
+ },
927
+ "embed": {
928
+ "physical_critical_strike_base": 161
929
+ },
930
+ "gains": [],
931
+ "special_enchant": [],
932
+ "set_id": null,
933
+ "set_attr": {},
934
+ "set_gain": {}
935
+ },
936
+ "温刃囊 (会心 无双) 12450": {
937
+ "id": 34702,
938
+ "school": "通用",
939
+ "kind": "力道",
940
+ "level": 12450,
941
+ "max_strength": 6,
942
+ "base": {},
943
+ "magic": {
944
+ "strength_base": 522,
945
+ "physical_attack_power_base": 846,
946
+ "physical_critical_strike_base": 2617,
947
+ "strain_base": 2326
948
+ },
949
+ "embed": {
950
+ "physical_critical_strike_base": 161
951
+ },
952
+ "gains": [],
953
+ "special_enchant": [],
954
+ "set_id": null,
955
+ "set_attr": {},
956
+ "set_gain": {}
957
+ },
958
+ "商野囊 (加速 破招) 12450": {
959
+ "id": 34697,
960
+ "school": "通用",
961
+ "kind": "身法",
962
+ "level": 12450,
963
+ "max_strength": 6,
964
+ "base": {},
965
+ "magic": {
966
+ "agility_base": 522,
967
+ "physical_attack_power_base": 846,
968
+ "haste_base": 2617,
969
+ "surplus": 2326
970
+ },
971
+ "embed": {
972
+ "agility_base": 36
973
+ },
974
+ "gains": [],
975
+ "special_enchant": [],
976
+ "set_id": null,
977
+ "set_attr": {},
978
+ "set_gain": {}
979
+ },
980
+ "安衿囊 (加速 破招) 12450": {
981
+ "id": 34696,
982
+ "school": "通用",
983
+ "kind": "力道",
984
+ "level": 12450,
985
+ "max_strength": 6,
986
+ "base": {},
987
+ "magic": {
988
+ "strength_base": 522,
989
+ "physical_attack_power_base": 846,
990
+ "haste_base": 2617,
991
+ "surplus": 2326
992
+ },
993
+ "embed": {
994
+ "strength_base": 36
995
+ },
996
+ "gains": [],
997
+ "special_enchant": [],
998
+ "set_id": null,
999
+ "set_attr": {},
1000
+ "set_gain": {}
1001
+ },
1002
+ "临晚囊 (会心 无双) 12400": {
1003
+ "id": 32547,
1004
+ "school": "通用",
1005
+ "kind": "身法",
1006
+ "level": 12400,
1007
+ "max_strength": 6,
1008
+ "base": {},
1009
+ "magic": {
1010
+ "agility_base": 520,
1011
+ "physical_attack_power_base": 843,
1012
+ "physical_critical_strike_base": 2607,
1013
+ "strain_base": 2317
1014
+ },
1015
+ "embed": {
1016
+ "physical_critical_strike_base": 161
1017
+ },
1018
+ "gains": [],
1019
+ "special_enchant": [],
1020
+ "set_id": null,
1021
+ "set_attr": {},
1022
+ "set_gain": {}
1023
+ },
1024
+ "临掣囊 (会心 无双) 12400": {
1025
+ "id": 32546,
1026
+ "school": "通用",
1027
+ "kind": "力道",
1028
+ "level": 12400,
1029
+ "max_strength": 6,
1030
+ "base": {},
1031
+ "magic": {
1032
+ "strength_base": 520,
1033
+ "physical_attack_power_base": 843,
1034
+ "physical_critical_strike_base": 2607,
1035
+ "strain_base": 2317
1036
+ },
1037
+ "embed": {
1038
+ "physical_critical_strike_base": 161
1039
+ },
1040
+ "gains": [],
1041
+ "special_enchant": [],
1042
+ "set_id": null,
1043
+ "set_attr": {},
1044
+ "set_gain": {}
1045
+ },
1046
+ "牵叶 (会心 无双) 12300": {
1047
+ "id": 32697,
1048
+ "school": "通用",
1049
+ "kind": "身法",
1050
+ "level": 12300,
1051
+ "max_strength": 6,
1052
+ "base": {},
1053
+ "magic": {
1054
+ "agility_base": 515,
1055
+ "physical_attack_power_base": 836,
1056
+ "physical_critical_strike_base": 2586,
1057
+ "strain_base": 2298
1058
+ },
1059
+ "embed": {
1060
+ "physical_critical_strike_base": 161
1061
+ },
1062
+ "gains": [],
1063
+ "special_enchant": [],
1064
+ "set_id": null,
1065
+ "set_attr": {},
1066
+ "set_gain": {}
1067
+ },
1068
+ "宸风 (会心 无双) 12300": {
1069
+ "id": 32696,
1070
+ "school": "通用",
1071
+ "kind": "力道",
1072
+ "level": 12300,
1073
+ "max_strength": 6,
1074
+ "base": {},
1075
+ "magic": {
1076
+ "strength_base": 515,
1077
+ "physical_attack_power_base": 836,
1078
+ "physical_critical_strike_base": 2586,
1079
+ "strain_base": 2298
1080
+ },
1081
+ "embed": {
1082
+ "physical_critical_strike_base": 161
1083
+ },
1084
+ "gains": [],
1085
+ "special_enchant": [],
1086
+ "set_id": null,
1087
+ "set_attr": {},
1088
+ "set_gain": {}
1089
+ },
1090
+ "久念囊 (破防 无双) 12300": {
1091
+ "id": 32661,
1092
+ "school": "通用",
1093
+ "kind": "身法",
1094
+ "level": 12300,
1095
+ "max_strength": 6,
1096
+ "base": {},
1097
+ "magic": {
1098
+ "agility_base": 515,
1099
+ "physical_attack_power_base": 836,
1100
+ "physical_overcome_base": 2586,
1101
+ "strain_base": 2298
1102
+ },
1103
+ "embed": {
1104
+ "physical_attack_power_base": 72
1105
+ },
1106
+ "gains": [],
1107
+ "special_enchant": [],
1108
+ "set_id": null,
1109
+ "set_attr": {},
1110
+ "set_gain": {}
1111
+ },
1112
+ "拭江囊 (破防 无双) 12300": {
1113
+ "id": 32660,
1114
+ "school": "通用",
1115
+ "kind": "力道",
1116
+ "level": 12300,
1117
+ "max_strength": 6,
1118
+ "base": {},
1119
+ "magic": {
1120
+ "strength_base": 515,
1121
+ "physical_attack_power_base": 836,
1122
+ "physical_overcome_base": 2586,
1123
+ "strain_base": 2298
1124
+ },
1125
+ "embed": {
1126
+ "physical_attack_power_base": 72
1127
+ },
1128
+ "gains": [],
1129
+ "special_enchant": [],
1130
+ "set_id": null,
1131
+ "set_attr": {},
1132
+ "set_gain": {}
1133
+ },
1134
+ "风岱囊 (加速 无双) 12300": {
1135
+ "id": 32625,
1136
+ "school": "通用",
1137
+ "kind": "身法",
1138
+ "level": 12300,
1139
+ "max_strength": 6,
1140
+ "base": {},
1141
+ "magic": {
1142
+ "agility_base": 515,
1143
+ "physical_attack_power_base": 836,
1144
+ "haste_base": 2586,
1145
+ "strain_base": 2298
1146
+ },
1147
+ "embed": {
1148
+ "agility_base": 36
1149
+ },
1150
+ "gains": [],
1151
+ "special_enchant": [],
1152
+ "set_id": null,
1153
+ "set_attr": {},
1154
+ "set_gain": {}
1155
+ },
1156
+ "项昌囊 (加速 无双) 12300": {
1157
+ "id": 32624,
1158
+ "school": "通用",
1159
+ "kind": "力道",
1160
+ "level": 12300,
1161
+ "max_strength": 6,
1162
+ "base": {},
1163
+ "magic": {
1164
+ "strength_base": 515,
1165
+ "physical_attack_power_base": 836,
1166
+ "haste_base": 2586,
1167
+ "strain_base": 2298
1168
+ },
1169
+ "embed": {
1170
+ "strength_base": 36
1171
+ },
1172
+ "gains": [],
1173
+ "special_enchant": [],
1174
+ "set_id": null,
1175
+ "set_attr": {},
1176
+ "set_gain": {}
1177
+ },
1178
+ "北邱囊 (破防 破招) 12300": {
1179
+ "id": 32589,
1180
+ "school": "通用",
1181
+ "kind": "身法",
1182
+ "level": 12300,
1183
+ "max_strength": 6,
1184
+ "base": {},
1185
+ "magic": {
1186
+ "agility_base": 515,
1187
+ "physical_attack_power_base": 836,
1188
+ "physical_overcome_base": 2586,
1189
+ "surplus": 2298
1190
+ },
1191
+ "embed": {
1192
+ "agility_base": 36
1193
+ },
1194
+ "gains": [],
1195
+ "special_enchant": [],
1196
+ "set_id": null,
1197
+ "set_attr": {},
1198
+ "set_gain": {}
1199
+ },
1200
+ "曲郦囊 (破防 破招) 12300": {
1201
+ "id": 32588,
1202
+ "school": "通用",
1203
+ "kind": "力道",
1204
+ "level": 12300,
1205
+ "max_strength": 6,
1206
+ "base": {},
1207
+ "magic": {
1208
+ "strength_base": 515,
1209
+ "physical_attack_power_base": 836,
1210
+ "physical_overcome_base": 2586,
1211
+ "surplus": 2298
1212
+ },
1213
+ "embed": {
1214
+ "strength_base": 36
1215
+ },
1216
+ "gains": [],
1217
+ "special_enchant": [],
1218
+ "set_id": null,
1219
+ "set_attr": {},
1220
+ "set_gain": {}
1221
+ },
1222
+ "渊忱囊 (破招 无双) 12300": {
1223
+ "id": 32553,
1224
+ "school": "通用",
1225
+ "kind": "身法",
1226
+ "level": 12300,
1227
+ "max_strength": 6,
1228
+ "base": {},
1229
+ "magic": {
1230
+ "agility_base": 515,
1231
+ "physical_attack_power_base": 836,
1232
+ "surplus": 2586,
1233
+ "strain_base": 2298
1234
+ },
1235
+ "embed": {
1236
+ "strain_base": 161
1237
+ },
1238
+ "gains": [],
1239
+ "special_enchant": [],
1240
+ "set_id": null,
1241
+ "set_attr": {},
1242
+ "set_gain": {}
1243
+ },
1244
+ "羡双囊 (破招 无双) 12300": {
1245
+ "id": 32552,
1246
+ "school": "通用",
1247
+ "kind": "力道",
1248
+ "level": 12300,
1249
+ "max_strength": 6,
1250
+ "base": {},
1251
+ "magic": {
1252
+ "strength_base": 515,
1253
+ "physical_attack_power_base": 836,
1254
+ "surplus": 2586,
1255
+ "strain_base": 2298
1256
+ },
1257
+ "embed": {
1258
+ "strain_base": 161
1259
+ },
1260
+ "gains": [],
1261
+ "special_enchant": [],
1262
+ "set_id": null,
1263
+ "set_attr": {},
1264
+ "set_gain": {}
1265
+ },
1266
+ "忆宁囊 (会心 破招) 12300": {
1267
+ "id": 32493,
1268
+ "school": "通用",
1269
+ "kind": "身法",
1270
+ "level": 12300,
1271
+ "max_strength": 6,
1272
+ "base": {},
1273
+ "magic": {
1274
+ "agility_base": 515,
1275
+ "physical_attack_power_base": 836,
1276
+ "physical_critical_strike_base": 2586,
1277
+ "surplus": 2298
1278
+ },
1279
+ "embed": {
1280
+ "agility_base": 36
1281
+ },
1282
+ "gains": [],
1283
+ "special_enchant": [],
1284
+ "set_id": null,
1285
+ "set_attr": {},
1286
+ "set_gain": {}
1287
+ },
1288
+ "忆敬囊 (会心 破招) 12300": {
1289
+ "id": 32492,
1290
+ "school": "通用",
1291
+ "kind": "力道",
1292
+ "level": 12300,
1293
+ "max_strength": 6,
1294
+ "base": {},
1295
+ "magic": {
1296
+ "strength_base": 515,
1297
+ "physical_attack_power_base": 836,
1298
+ "physical_critical_strike_base": 2586,
1299
+ "surplus": 2298
1300
+ },
1301
+ "embed": {
1302
+ "strength_base": 36
1303
+ },
1304
+ "gains": [],
1305
+ "special_enchant": [],
1306
+ "set_id": null,
1307
+ "set_attr": {},
1308
+ "set_gain": {}
1309
+ },
1310
+ "盈绝囊 (破防 无双) 12300": {
1311
+ "id": 32457,
1312
+ "school": "通用",
1313
+ "kind": "身法",
1314
+ "level": 12300,
1315
+ "max_strength": 6,
1316
+ "base": {},
1317
+ "magic": {
1318
+ "agility_base": 515,
1319
+ "physical_attack_power_base": 836,
1320
+ "physical_overcome_base": 2586,
1321
+ "strain_base": 2298
1322
+ },
1323
+ "embed": {
1324
+ "physical_attack_power_base": 72
1325
+ },
1326
+ "gains": [],
1327
+ "special_enchant": [],
1328
+ "set_id": null,
1329
+ "set_attr": {},
1330
+ "set_gain": {}
1331
+ },
1332
+ "垣翰囊 (破防 无双) 12300": {
1333
+ "id": 32456,
1334
+ "school": "通用",
1335
+ "kind": "力道",
1336
+ "level": 12300,
1337
+ "max_strength": 6,
1338
+ "base": {},
1339
+ "magic": {
1340
+ "strength_base": 515,
1341
+ "physical_attack_power_base": 836,
1342
+ "physical_overcome_base": 2586,
1343
+ "strain_base": 2298
1344
+ },
1345
+ "embed": {
1346
+ "physical_attack_power_base": 72
1347
+ },
1348
+ "gains": [],
1349
+ "special_enchant": [],
1350
+ "set_id": null,
1351
+ "set_attr": {},
1352
+ "set_gain": {}
1353
+ },
1354
+ "潋阳囊 (破防 破招) 12300": {
1355
+ "id": 32421,
1356
+ "school": "通用",
1357
+ "kind": "身法",
1358
+ "level": 12300,
1359
+ "max_strength": 6,
1360
+ "base": {},
1361
+ "magic": {
1362
+ "agility_base": 515,
1363
+ "physical_attack_power_base": 836,
1364
+ "physical_overcome_base": 2586,
1365
+ "surplus": 2298
1366
+ },
1367
+ "embed": {
1368
+ "agility_base": 36
1369
+ },
1370
+ "gains": [],
1371
+ "special_enchant": [],
1372
+ "set_id": null,
1373
+ "set_attr": {},
1374
+ "set_gain": {}
1375
+ },
1376
+ "重关囊 (破防 破招) 12300": {
1377
+ "id": 32420,
1378
+ "school": "通用",
1379
+ "kind": "力道",
1380
+ "level": 12300,
1381
+ "max_strength": 6,
1382
+ "base": {},
1383
+ "magic": {
1384
+ "strength_base": 515,
1385
+ "physical_attack_power_base": 836,
1386
+ "physical_overcome_base": 2586,
1387
+ "surplus": 2298
1388
+ },
1389
+ "embed": {
1390
+ "strength_base": 36
1391
+ },
1392
+ "gains": [],
1393
+ "special_enchant": [],
1394
+ "set_id": null,
1395
+ "set_attr": {},
1396
+ "set_gain": {}
1397
+ },
1398
+ "外功无封囊 (破防 会心 会效) 12100": {
1399
+ "id": 34815,
1400
+ "school": "精简",
1401
+ "kind": "外功",
1402
+ "level": 12100,
1403
+ "max_strength": 3,
1404
+ "base": {},
1405
+ "magic": {
1406
+ "physical_attack_power_base": 1835,
1407
+ "physical_overcome_base": 2049,
1408
+ "physical_critical_strike_base": 2190,
1409
+ "physical_critical_power_base": 1413
1410
+ },
1411
+ "embed": {
1412
+ "surplus": 161
1413
+ },
1414
+ "gains": [],
1415
+ "special_enchant": [],
1416
+ "set_id": null,
1417
+ "set_attr": {},
1418
+ "set_gain": {}
1419
+ },
1420
+ "外功无封囊 (会心 破招) 12100": {
1421
+ "id": 34814,
1422
+ "school": "精简",
1423
+ "kind": "外功",
1424
+ "level": 12100,
1425
+ "max_strength": 3,
1426
+ "base": {},
1427
+ "magic": {
1428
+ "physical_attack_power_base": 1835,
1429
+ "surplus": 2968,
1430
+ "physical_critical_strike_base": 2826
1431
+ },
1432
+ "embed": {
1433
+ "physical_critical_power_base": 161
1434
+ },
1435
+ "gains": [],
1436
+ "special_enchant": [],
1437
+ "set_id": null,
1438
+ "set_attr": {},
1439
+ "set_gain": {}
1440
+ },
1441
+ "外功无封囊 (无双) 12100": {
1442
+ "id": 34813,
1443
+ "school": "精简",
1444
+ "kind": "外功",
1445
+ "level": 12100,
1446
+ "max_strength": 3,
1447
+ "base": {},
1448
+ "magic": {
1449
+ "physical_attack_power_base": 2151,
1450
+ "strain_base": 5017
1451
+ },
1452
+ "embed": {
1453
+ "physical_overcome_base": 161
1454
+ },
1455
+ "gains": [],
1456
+ "special_enchant": [],
1457
+ "set_id": null,
1458
+ "set_attr": {},
1459
+ "set_gain": {}
1460
+ },
1461
+ "龙目·嘲风 (破防 无双) 12000": {
1462
+ "id": 35637,
1463
+ "school": "通用",
1464
+ "kind": "身法",
1465
+ "level": 12000,
1466
+ "max_strength": 6,
1467
+ "base": {},
1468
+ "magic": {
1469
+ "agility_base": 503,
1470
+ "physical_attack_power_base": 816,
1471
+ "physical_overcome_base": 2523,
1472
+ "strain_base": 2242
1473
+ },
1474
+ "embed": {
1475
+ "physical_attack_power_base": 72
1476
+ },
1477
+ "gains": [],
1478
+ "special_enchant": [],
1479
+ "set_id": null,
1480
+ "set_attr": {},
1481
+ "set_gain": {}
1482
+ },
1483
+ "龙目·螭吻 (破防 无双) 12000": {
1484
+ "id": 35636,
1485
+ "school": "通用",
1486
+ "kind": "力道",
1487
+ "level": 12000,
1488
+ "max_strength": 6,
1489
+ "base": {},
1490
+ "magic": {
1491
+ "strength_base": 503,
1492
+ "physical_attack_power_base": 816,
1493
+ "physical_overcome_base": 2523,
1494
+ "strain_base": 2242
1495
+ },
1496
+ "embed": {
1497
+ "physical_attack_power_base": 72
1498
+ },
1499
+ "gains": [],
1500
+ "special_enchant": [],
1501
+ "set_id": null,
1502
+ "set_attr": {},
1503
+ "set_gain": {}
1504
+ }
1505
+ }
qt/components/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
  from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel
2
  from PySide6.QtWidgets import QAbstractItemView, QTableWidgetItem, QHeaderView, QListView
3
- from PySide6.QtWidgets import QComboBox, QRadioButton, QTextBrowser, QLineEdit, QSpinBox, QListWidget, QTableWidget
4
 
5
 
6
  class LabelWidget(QWidget):
@@ -147,6 +147,32 @@ class SpinWithLabel(LabelWidget):
147
  self.spin_box.setValue(value)
148
 
149
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  class TextWithLabel(LabelWidget):
151
  def __init__(self, label):
152
  super().__init__(label)
 
1
  from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel
2
  from PySide6.QtWidgets import QAbstractItemView, QTableWidgetItem, QHeaderView, QListView
3
+ from PySide6.QtWidgets import QComboBox, QRadioButton, QLineEdit, QSpinBox, QDoubleSpinBox, QListWidget, QTableWidget
4
 
5
 
6
  class LabelWidget(QWidget):
 
147
  self.spin_box.setValue(value)
148
 
149
 
150
+ class DoubleSpinWithLabel(LabelWidget):
151
+ def __init__(self, label, info="", minimum=None, maximum=None, value=None):
152
+ super().__init__(label, info)
153
+ layout = QVBoxLayout()
154
+ self.setLayout(layout)
155
+
156
+ self.spin_box = QDoubleSpinBox()
157
+ if minimum:
158
+ self.spin_box.setMinimum(minimum)
159
+
160
+ if maximum:
161
+ self.spin_box.setMaximum(maximum + 1)
162
+ else:
163
+ self.spin_box.setMaximum(10 ** 8)
164
+
165
+ if value:
166
+ self.spin_box.setValue(value)
167
+
168
+ layout.addWidget(self.label)
169
+ layout.addWidget(self.spin_box)
170
+
171
+ layout.addStretch()
172
+
173
+ def set_value(self, value):
174
+ self.spin_box.setValue(value)
175
+
176
  class TextWithLabel(LabelWidget):
177
  def __init__(self, label):
178
  super().__init__(label)
qt/components/consumables.py CHANGED
@@ -43,7 +43,7 @@ class ConsumablesWidget(QWidget):
43
  self.spread = ComboWithLabel("宴席")
44
  self.consumables['spread'] = self.spread
45
  layout.addWidget(self.spread, 2, 2)
46
- self.boiled_fish = ComboWithLabel("水煮鱼", items=[""] + BOILED_FISH)
47
  self.consumables['boiled_fish'] = self.boiled_fish
48
  layout.addWidget(self.boiled_fish, 2, 3)
49
 
 
43
  self.spread = ComboWithLabel("宴席")
44
  self.consumables['spread'] = self.spread
45
  layout.addWidget(self.spread, 2, 2)
46
+ self.boiled_fish = ComboWithLabel("水煮鱼", items=[""] + BOILED_FISH[""])
47
  self.consumables['boiled_fish'] = self.boiled_fish
48
  layout.addWidget(self.boiled_fish, 2, 3)
49
 
qt/components/dashboard.py CHANGED
@@ -1,6 +1,6 @@
1
  from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QTabWidget
2
 
3
- from qt.components import ComboWithLabel, SpinWithLabel, LabelWithLabel, TableWithLabel
4
  from base.constant import SHIELD_BASE_MAP
5
 
6
 
@@ -36,7 +36,7 @@ class DashboardWidget(QWidget):
36
  top_layout.addWidget(self.fight_select)
37
  self.target_level = ComboWithLabel("目标等级", items=[str(level) for level in SHIELD_BASE_MAP])
38
  top_layout.addWidget(self.target_level)
39
- self.duration = SpinWithLabel("战斗时长", maximum=3600, value=180)
40
  top_layout.addWidget(self.duration)
41
 
42
  self.button = QPushButton(text="开始模拟!")
 
1
  from PySide6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QPushButton, QTabWidget
2
 
3
+ from qt.components import ComboWithLabel, DoubleSpinWithLabel, LabelWithLabel, TableWithLabel
4
  from base.constant import SHIELD_BASE_MAP
5
 
6
 
 
36
  top_layout.addWidget(self.fight_select)
37
  self.target_level = ComboWithLabel("目标等级", items=[str(level) for level in SHIELD_BASE_MAP])
38
  top_layout.addWidget(self.target_level)
39
+ self.duration = DoubleSpinWithLabel("战斗时长", maximum=3600, value=180)
40
  top_layout.addWidget(self.duration)
41
 
42
  self.button = QPushButton(text="开始模拟!")
qt/constant.py CHANGED
@@ -143,50 +143,11 @@ def STRENGTH_COF(level):
143
  return level * (0.7 + 0.3 * level) / 200
144
 
145
 
146
- # EQUIP_GAINS_NAME = {
147
- # **equipment.EQUIP_GAINS_NAME,
148
- # **wen_shui_jue.EQUIP_GAINS_NAME,
149
- # **bei_ao_jue.EQUIP_GAINS_NAME,
150
- # **bing_xin_jue.EQUIP_GAINS_NAME,
151
- # **yi_jin_jing.EQUIP_GAINS_NAME,
152
- # **ao_xue_zhan_yi.EQUIP_GAINS_NAME,
153
- # **gu_feng_jue.EQUIP_GAINS_NAME,
154
- # **fen_ying_sheng_jue.EQUIP_GAINS_NAME
155
- # }
156
- # EQUIP_GAINS = {
157
- # **equipment.EQUIP_GAINS,
158
- # **wen_shui_jue.EQUIP_GAINS,
159
- # **bei_ao_jue.EQUIP_GAINS,
160
- # **bing_xin_jue.EQUIP_GAINS,
161
- # **yi_jin_jing.EQUIP_GAINS,
162
- # **ao_xue_zhan_yi.EQUIP_GAINS,
163
- # **gu_feng_jue.EQUIP_GAINS,
164
- # **fen_ying_sheng_jue.EQUIP_GAINS
165
- # }
166
-
167
  """ Talent """
168
  MAX_TALENTS = 12
169
 
170
- # TALENT_GAINS = {
171
- # **wen_shui_jue.TALENT_GAINS,
172
- # **bei_ao_jue.TALENT_GAINS,
173
- # **bing_xin_jue.TALENT_GAINS,
174
- # **yi_jin_jing.TALENT_GAINS,
175
- # **ao_xue_zhan_yi.TALENT_GAINS,
176
- # **gu_feng_jue.TALENT_GAINS,
177
- # **fen_ying_sheng_jue.TALENT_GAINS
178
- # }
179
-
180
  """ Recipes """
181
  MAX_RECIPE_SKILLS = 12
182
  MAX_RECIPES = 4
183
 
184
- # RECIPE_GAINS = {
185
- # **wen_shui_jue.RECIPE_GAINS,
186
- # **bei_ao_jue.RECIPE_GAINS,
187
- # **bing_xin_jue.RECIPE_GAINS,
188
- # **yi_jin_jing.RECIPE_GAINS,
189
- # **ao_xue_zhan_yi.RECIPE_GAINS,
190
- # **gu_feng_jue.RECIPE_GAINS,
191
- # **fen_ying_sheng_jue.RECIPE_GAINS
192
- # }
 
143
  return level * (0.7 + 0.3 * level) / 200
144
 
145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  """ Talent """
147
  MAX_TALENTS = 12
148
 
 
 
 
 
 
 
 
 
 
 
149
  """ Recipes """
150
  MAX_RECIPE_SKILLS = 12
151
  MAX_RECIPES = 4
152
 
153
+ """ Consumables """
 
 
 
 
 
 
 
 
utils/parser.py CHANGED
@@ -145,7 +145,6 @@ class Parser:
145
  ticks: Dict[int, Dict[int, int]]
146
  pets: Dict[int, int]
147
 
148
- fight_flag: Dict[int, bool]
149
  start_time: Dict[int, List[int]]
150
  end_time: Dict[int, List[int]]
151
  record_index: Dict[int, Dict[str, int]]
@@ -188,7 +187,6 @@ class Parser:
188
  self.ticks = defaultdict(lambda: defaultdict(int))
189
  self.pets = {}
190
 
191
- self.fight_flag = defaultdict(bool)
192
  self.start_time = defaultdict(list)
193
  self.end_time = defaultdict(list)
194
 
@@ -238,13 +236,11 @@ class Parser:
238
  player_id = int(detail[0])
239
  if player_id not in self.school:
240
  return
241
- if detail[1] == "true":
242
  self.start_time[player_id].append(int(timestamp))
243
  self.records[player_id].append(defaultdict(lambda: defaultdict(list)))
244
- self.fight_flag[player_id] = True
245
- else:
246
  self.end_time[player_id].append(int(timestamp))
247
- self.fight_flag[player_id] = False
248
 
249
  def parse_buff(self, row):
250
  detail = row.strip("{}").split(",")
@@ -267,11 +263,14 @@ class Parser:
267
  else:
268
  player_id = caster_id
269
 
270
- if not self.fight_flag[player_id] or player_id not in self.school:
271
  return
272
  skill_id, skill_level, critical = int(detail[4]), int(detail[5]), detail[6] == "true"
273
  if skill_id not in self.school[player_id].skills:
274
  return
 
 
 
275
  timestamp = int(timestamp) - self.start_time[player_id][-1]
276
  skill_stack = self.stacks[player_id][skill_id]
277
 
 
145
  ticks: Dict[int, Dict[int, int]]
146
  pets: Dict[int, int]
147
 
 
148
  start_time: Dict[int, List[int]]
149
  end_time: Dict[int, List[int]]
150
  record_index: Dict[int, Dict[str, int]]
 
187
  self.ticks = defaultdict(lambda: defaultdict(int))
188
  self.pets = {}
189
 
 
190
  self.start_time = defaultdict(list)
191
  self.end_time = defaultdict(list)
192
 
 
236
  player_id = int(detail[0])
237
  if player_id not in self.school:
238
  return
239
+ if detail[1] == "true" and len(self.start_time[player_id]) == len(self.end_time[player_id]):
240
  self.start_time[player_id].append(int(timestamp))
241
  self.records[player_id].append(defaultdict(lambda: defaultdict(list)))
242
+ elif detail[1] == "false" and len(self.start_time[player_id]) - len(self.end_time[player_id]) == 1:
 
243
  self.end_time[player_id].append(int(timestamp))
 
244
 
245
  def parse_buff(self, row):
246
  detail = row.strip("{}").split(",")
 
263
  else:
264
  player_id = caster_id
265
 
266
+ if player_id not in self.school:
267
  return
268
  skill_id, skill_level, critical = int(detail[4]), int(detail[5]), detail[6] == "true"
269
  if skill_id not in self.school[player_id].skills:
270
  return
271
+ if len(self.start_time[player_id]) == len(self.end_time[player_id]):
272
+ self.start_time[player_id].append(int(timestamp))
273
+ self.records[player_id].append(defaultdict(lambda: defaultdict(list)))
274
  timestamp = int(timestamp) - self.start_time[player_id][-1]
275
  skill_stack = self.stacks[player_id][skill_id]
276