forked from dnfcalc/DNFCalculating
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path风暴骑兵.py
395 lines (340 loc) · 9.48 KB
/
风暴骑兵.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
from base import *
class 风暴骑兵技能0(主动技能):
名称 = 'M3喷火器'
所在等级 = 15
等级上限 = 60
基础等级 = 47
基础 = 2600.3
成长 = 294.9
CD = 7.0
TP成长 = 0.08
TP基础 = 5
TP上限 = 7
class 风暴骑兵技能1(被动技能):
名称 = '重火器精通'
所在等级 = 15
等级上限 = 20
基础等级 = 10
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round((1 + 0.02 * self.等级) * (1 + 0.01 * self.等级), 5)
def 物理攻击力倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.00 + 0.01 * self.等级, 5)
class 风暴骑兵技能2(主动技能):
名称 = '加农炮'
所在等级 = 20
等级上限 = 60
基础等级 = 44
基础 = 1883.0
成长 = 212.8
CD = 5.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
class 风暴骑兵技能3(主动技能):
名称 = '反坦克炮'
所在等级 = 20
等级上限 = 60
基础等级 = 44
基础 = 2049.6
成长 = 231.4
CD = 6.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
class 风暴骑兵技能4(被动技能):
名称 = 'APG63'
所在等级 = 25
等级上限 = 20
基础等级 = 10
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.14 + 0.01 * self.等级, 5)
def 物理攻击力倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.14 + 0.01 * self.等级, 5)
def 物理暴击加成(self):
if self.等级 == 0:
return 0.0
else:
return round(0.03 + 0.01 *self.等级, 5)
class 风暴骑兵技能5(主动技能):
名称 = '激光炮'
所在等级 = 25
等级上限 = 60
基础等级 = 42
基础 = 2283.5
成长 = 257.9
CD = 7.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
class 风暴骑兵技能6(被动技能):
名称 = '蓄电激光炮'
所在等级 = 25
等级上限 = 11
基础等级 = 1
关联技能 = ['激光炮']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.25+0.05 * self.等级, 5)
class 风暴骑兵技能7(主动技能):
名称 = '聚焦喷火器'
所在等级 = 30
等级上限 = 60
基础等级 = 39
基础 = 5191.8
成长 = 587.1
CD = 12.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
class 风暴骑兵技能8(主动技能):
名称 = 'FM31榴弹发射器'
所在等级 = 35
等级上限 = 60
基础等级 = 37
基础 = 5882.5
成长 = 665.4
CD = 15.0
TP成长 = 0.20
TP基础 = 1
TP上限 = 1
是否有护石 = 1
def 装备护石(self):
self.基础释放次数 = 4
self.基础 *= 0.25
self.成长 *= 0.25
self.倍率 *= 1.18
self.CD *= float(4/15)
class 风暴骑兵技能9(主动技能):
名称 = 'FM92mk2榴弹'
所在等级 = 35
等级上限 = 60
基础等级 = 37
基础 = 8185.4
成长 = 923.7
CD = 20.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
class 风暴骑兵技能10(主动技能):
名称 = '量子爆弹'
所在等级 = 40
等级上限 = 60
基础等级 = 34
基础 = 7559.9
成长 = 853.5
CD = 18.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
是否有护石 = 1
def 装备护石(self):
self.倍率 *= 1.26
self.CD *= 0.9
class 风暴骑兵技能11(主动技能):
名称 = 'X1压缩量子炮'
所在等级 = 45
等级上限 = 60
基础等级 = 32
基础 = 15593.2
成长 = 1760.7
CD = 45.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
是否有护石 = 1
def 装备护石(self):
self.倍率 *= 1.1
self.CD *= 0.88
class 风暴骑兵技能12(被动技能):
名称 = '超温重火器'
所在等级 = 48
等级上限 = 40
基础等级 = 20
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.04 + 0.02 * self.等级, 5)
class 风暴骑兵技能13(主动技能):
名称 = '远古粒子炮'
所在等级 = 50
等级上限 = 40
基础等级 = 12
基础 = 41195.0
成长 = 12445.0
CD = 159.5
class 风暴骑兵技能14(主动技能):
名称 = '等离子放射器'
所在等级 = 60
等级上限 = 40
基础等级 = 24
基础 = 13639.5
成长 = 1542.2
CD = 30.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
是否有护石 = 1
def 装备护石(self):
self.倍率 *= 0.85
self.CD *= 0.60
class 风暴骑兵技能15(主动技能):
名称 = 'FM92mk2SW榴弹'
所在等级 = 70
等级上限 = 40
基础等级 = 19
基础 = 26820.7
成长 = 3029.6
CD = 50.0
TP成长 = 0.10
TP基础 = 5
TP上限 = 7
是否有护石 = 1
def 装备护石(self):
self.倍率 *= 1.19
self.CD *= 0.9
class 风暴骑兵技能16(被动技能):
名称 = '重武装改造'
所在等级 = 75
等级上限 = 40
基础等级 = 11
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.23 + 0.02 * self.等级, 5)
class 风暴骑兵技能17(主动技能):
名称 = 'FSC7'
所在等级 = 75
等级上限 = 40
基础等级 = 17
基础 = 36310.2
成长 = 4100.3
CD = 40.0
class 风暴骑兵技能18(主动技能):
名称 = 'PT15原始型压缩炮'
所在等级 = 80
等级上限 = 40
基础等级 = 14
基础 = 45315.4
成长 = 5116.3
CD = 45.0
class 风暴骑兵技能19(主动技能):
名称 = '火力全开'
所在等级 = 85
等级上限 = 40
基础等级 = 5
基础 = 95635.0
成长 = 28909.4
CD = 198.0
class 风暴骑兵技能20(被动技能):
名称 = '卓越之力'
所在等级 = 95
等级上限 = 40
基础等级 = 4
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18 + 0.02 * self.等级, 5)
class 风暴骑兵技能21(被动技能):
名称 = '超卓之心'
所在等级 = 95
等级上限 = 11
基础等级 = 1
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.045 + 0.005 * self.等级, 5)
class 风暴骑兵技能22(被动技能):
名称 = '觉醒之抉择'
所在等级 = 100
等级上限 = 40
基础等级 = 2
关联技能 = ['无']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.10 + 0.05 * self.等级, 5)
风暴骑兵技能列表 = []
i = 0
while i >= 0:
try:
exec('风暴骑兵技能列表.append(风暴骑兵技能'+str(i)+'())')
i += 1
except:
i = -1
风暴骑兵技能序号 = dict()
for i in range(len(风暴骑兵技能列表)):
风暴骑兵技能序号[风暴骑兵技能列表[i].名称] = i
风暴骑兵一觉序号 = 0
风暴骑兵二觉序号 = 0
风暴骑兵三觉序号 = 0
for i in 风暴骑兵技能列表:
if i.所在等级 == 50:
风暴骑兵一觉序号 = 风暴骑兵技能序号[i.名称]
if i.所在等级 == 85:
风暴骑兵二觉序号 = 风暴骑兵技能序号[i.名称]
if i.所在等级 == 100:
风暴骑兵三觉序号 = 风暴骑兵技能序号[i.名称]
风暴骑兵护石选项 = ['无']
for i in 风暴骑兵技能列表:
if i.是否有伤害 == 1 and i.是否有护石 == 1:
风暴骑兵护石选项.append(i.名称)
风暴骑兵符文选项 = ['无']
for i in 风暴骑兵技能列表:
if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
风暴骑兵符文选项.append(i.名称)
class 风暴骑兵角色属性(角色属性):
职业名称 = '风暴骑兵'
武器选项 = ['手炮']
#'物理百分比','魔法百分比','物理固伤','魔法固伤'
伤害类型选择 = ['物理百分比']
#默认
伤害类型 = '物理百分比'
防具类型 = '重甲'
防具精通属性 = ['力量']
主BUFF = 1.957
#基础属性(含唤醒)
基础力量 = 961.0
基础智力 = 790.0
#适用系统奶加成
力量 = 基础力量
智力 = 基础智力
#人物基础 + 唤醒
物理攻击力 = 65.0
魔法攻击力 = 65.0
独立攻击力 = 1045.0
火属性强化 = 13
冰属性强化 = 13
光属性强化 = 13
暗属性强化 = 13
def __init__(self):
self.技能栏= copy.deepcopy(风暴骑兵技能列表)
self.技能序号= copy.deepcopy(风暴骑兵技能序号)
class 风暴骑兵(角色窗口):
def 窗口属性输入(self):
self.初始属性 = 风暴骑兵角色属性()
self.角色属性A = 风暴骑兵角色属性()
self.角色属性B = 风暴骑兵角色属性()
self.一觉序号 = 风暴骑兵一觉序号
self.二觉序号 = 风暴骑兵二觉序号
self.三觉序号 = 风暴骑兵三觉序号
self.护石选项 = copy.deepcopy(风暴骑兵护石选项)
self.符文选项 = copy.deepcopy(风暴骑兵符文选项)