修正伤害系数
This commit is contained in:
@@ -333,6 +333,8 @@ class Character:
|
||||
self.HitP += 命中率 + kwargs.get('HitP', 0)
|
||||
self.Hit += 命中 + kwargs.get('Hit', 0)
|
||||
self.Attack += 攻击强化 + kwargs.get('Attack', 0)
|
||||
if kwargs.get('Attack', 0) > 0:
|
||||
print(kwargs.get('Attack', 0))
|
||||
self.AttackP += 攻击强化P + kwargs.get('AttackP', 0.0)
|
||||
self.Buffer += 增益量 + kwargs.get('Buffer', 0)
|
||||
self.BufferP += 增益量P + kwargs.get('BufferP', 0)
|
||||
@@ -773,22 +775,26 @@ class Character:
|
||||
skillInfos = []
|
||||
for i in self.skills:
|
||||
if i.damage and i.lv > 0:
|
||||
temp = i.skillInfo()
|
||||
skillInfos.append(
|
||||
{
|
||||
'name': i.name,
|
||||
'icon': i.icon,
|
||||
'lv': i.lv,
|
||||
'data': temp[0],
|
||||
'ratio': temp[1],
|
||||
'cd': temp[2],
|
||||
}
|
||||
)
|
||||
for mode in i.mode:
|
||||
temp = i.skillInfo(mode)
|
||||
skillInfos.append(
|
||||
{
|
||||
'name': i.name,
|
||||
'icon': i.icon,
|
||||
'lv': i.lv,
|
||||
'data': temp[0],
|
||||
'ratio': temp[1],
|
||||
'cd': temp[2],
|
||||
'mode': mode,
|
||||
}
|
||||
)
|
||||
ratios = self.calc_damage_ration()
|
||||
ratio_char_skill = ratios[0] * ratios[1] * ratios[2] * ratios[3] * ratios[4] * ratios[5] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 10000
|
||||
ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 10000
|
||||
for i in ratios:
|
||||
print(i)
|
||||
ratio_char_skill = ratios[0] * ratios[1] * ratios[2] * ratios[3] * ratios[4] * ratios[5] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
||||
ratuio_equ_skill = ratios[0] * ratios[1] * ratios[3] * ratios[4] * ratios[6] * ratios[7] * ratios[8] * ratios[9] / 1000
|
||||
for i in skillInfos:
|
||||
i['damage'] = ratio_char_skill * i['data'] * i['ratio']
|
||||
i['damage'] = ratio_char_skill * i['data'] * i['ratio'] / 100
|
||||
for i in self.equ_effect:
|
||||
skillInfos.append(
|
||||
{
|
||||
@@ -798,7 +804,8 @@ class Character:
|
||||
'data': i.data,
|
||||
'ratio': 10.0,
|
||||
'cd': i.cd,
|
||||
'damage': ratuio_equ_skill * i.data * 10 * self.EquEffectRatio,
|
||||
'damage': ratuio_equ_skill * i.data * 10 * self.EquEffectRatio / 100,
|
||||
'mode':''
|
||||
}
|
||||
)
|
||||
attrs = []
|
||||
@@ -864,9 +871,9 @@ class Character:
|
||||
# BUFF系数
|
||||
ratio_5 = self.buff
|
||||
# 技攻系数
|
||||
ratio_6 = self.SkillAttack *( self.jade_effect.SkillAttack + 1)
|
||||
ratio_6 = self.SkillAttack * (self.jade_effect.SkillAttack + 1)
|
||||
# 攻击强化
|
||||
ratio_7 = 1 + self.Attack * (self.AttackP + self.jade_effect.AttackP)
|
||||
ratio_7 = 1 + self.Attack / 100 * (self.AttackP + self.jade_effect.AttackP)
|
||||
# 防御系数,暂定145沙袋防御
|
||||
monster_defense = 75068627484
|
||||
ratio_8 = 1 - monster_defense / (monster_defense + 200 * 100)
|
||||
|
||||
@@ -60,6 +60,8 @@ class Skill:
|
||||
skills: 关联技能 默认 '*'
|
||||
exceptSkills: 例外技能 默认[]
|
||||
"""
|
||||
mode : list[str] = ['']
|
||||
"""技能模式"""
|
||||
|
||||
def __init__(self, char):
|
||||
self.char = char
|
||||
@@ -142,6 +144,9 @@ class Skill:
|
||||
elif type.startswith('+'):
|
||||
setattr(skill, type[1:], getattr(skill, type[1:]) + data[new] / 100 - data[old] / 100)
|
||||
|
||||
def skillInfo(self, mode: str | None = None):
|
||||
pass
|
||||
|
||||
class ActiveSkill(Skill):
|
||||
type: str = 'active'
|
||||
"""技能类型 active主动 passive被动"""
|
||||
@@ -152,7 +157,6 @@ class ActiveSkill(Skill):
|
||||
super().__init__(char)
|
||||
|
||||
def skillInfo(self, mode: str | None = None):
|
||||
basic = self
|
||||
if mode is not None:
|
||||
basic = deepcopy(self)
|
||||
basic.setMode(mode)
|
||||
@@ -160,7 +164,7 @@ class ActiveSkill(Skill):
|
||||
basic = self
|
||||
date = basic.getSkillDate(self.lv)
|
||||
cd = basic.getSkillCD()
|
||||
return date * self.skillRation , self.skillDamage ,cd
|
||||
return date * basic.skillRation , basic.skillDamage ,cd
|
||||
|
||||
def setMode(self, mode: str):
|
||||
pass
|
||||
|
||||
@@ -33,6 +33,15 @@ class Skill1(ActiveSkill):
|
||||
data0 = [0, 751, 830, 904, 981, 1057, 1132, 1210, 1287, 1362, 1438, 1516, 1591, 1668, 1746, 1819, 1897, 1972, 2049, 2127, 2202, 2278, 2355, 2429, 2508, 2584, 2659, 2735, 2814, 2888, 2965, 3041, 3116, 3194, 3271, 3346, 3422, 3500, 3575, 3652, 3732, 3806, 3883, 3961, 4034, 4112, 4189, 4264, 4342, 4418, 4493, 4570, 4648, 4723, 4799, 4876, 4950, 5029, 5105, 5180, 5256, 5335, 5409, 5486, 5562, 5637, 5715, 5792, 5867, 5943, 6021]# noqa: E501
|
||||
hit0 = 1
|
||||
|
||||
mode = ['普通','强化']
|
||||
|
||||
def setMode(self, mode):
|
||||
if mode == '普通':
|
||||
return
|
||||
if mode == '强化':
|
||||
self.skillRation *= 1.3
|
||||
return
|
||||
|
||||
# 单兵推进器 니트로 모터
|
||||
# https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/4224f9b0b8c7c903e9a1e0f9d9f6d04d?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
|
||||
class Skill2(PassiveSkill):
|
||||
@@ -102,11 +111,11 @@ class Skill5(PassiveSkill):
|
||||
rangeLv = 3
|
||||
|
||||
data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] # noqa: E501
|
||||
data1 = [0] + [(1+1+1.2)/3] * 20
|
||||
# data1 = [0] + [(1+1+1.2)/3] * 20
|
||||
|
||||
associate = [
|
||||
{'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']},
|
||||
{'type': '*skillRation', 'data': data1, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']},
|
||||
# {'type': '*skillRation', 'data': data1, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']},
|
||||
]
|
||||
|
||||
# M18阔剑地雷 M18 클레이모어
|
||||
@@ -157,6 +166,16 @@ class Skill8(ActiveSkill):
|
||||
data1 = [0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150]# noqa: E501
|
||||
hit1 = 1
|
||||
|
||||
mode = ['普通','强化']
|
||||
|
||||
def setMode(self, mode):
|
||||
if mode == '普通':
|
||||
return
|
||||
if mode == '强化':
|
||||
self.skillRation *= 1.3
|
||||
return
|
||||
|
||||
|
||||
# 爆裂弹 폭발탄
|
||||
# https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/3c5604bdbb0240b8f130f59ab40509c3?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
|
||||
class Skill9(ActiveSkill):
|
||||
@@ -194,6 +213,15 @@ class Skill10(ActiveSkill):
|
||||
data0 = [0, 1996, 2196, 2400, 2603, 2803, 3009, 3208, 3414, 3616, 3817, 4021, 4221, 4423, 4629, 4830, 5034, 5234, 5437, 5642, 5841, 6047, 6248, 6450, 6652, 6854, 7060, 7259, 7463, 7665, 7868, 8070, 8272, 8475, 8675, 8881, 9083, 9285, 9488, 9688, 9892, 10096, 10299, 10501, 10702, 10906, 11108, 11310, 11514, 11713, 11919, 12121, 12322, 12526, 12726, 12932, 13134, 13335, 13539, 13739, 13943, 14147, 14346, 14552, 14753, 14957, 15159, 15360, 15565, 15764, 15968]# noqa: E501
|
||||
hit0 = 1
|
||||
|
||||
mode = ['普通','强化']
|
||||
|
||||
def setMode(self, mode):
|
||||
if mode == '普通':
|
||||
return
|
||||
if mode == '强化':
|
||||
self.skillRation *= 1.3
|
||||
return
|
||||
|
||||
# C4飞弹 C4
|
||||
# https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/a2d943797daca862a6f321aca6ac9bfa?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
|
||||
class Skill11(ActiveSkill):
|
||||
|
||||
Binary file not shown.
@@ -22,8 +22,10 @@ class SuitData(Base):
|
||||
count = Column(Integer)
|
||||
SkillAttack = Column(Float)
|
||||
Attack = Column(Float)
|
||||
Buffer = Column(Float)
|
||||
imageUrl = Column(Text)
|
||||
value = Column(Text)
|
||||
fame = Column(Integer)
|
||||
|
||||
|
||||
class EquData(Base):
|
||||
|
||||
Reference in New Issue
Block a user