init
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
# 17e417b31686389eebff6d754c3401ea
|
||||
from core.basic.character.calc_carry import _skill_error_context
|
||||
from core.basic.skill import PassiveSkill, ActiveSkill, get_data
|
||||
from core.basic.character import Character
|
||||
|
||||
@@ -23,6 +24,19 @@ class DarkKnightSkill(ActiveSkill):
|
||||
# 连续技所在列,-1表示不在连续技中
|
||||
comboCol = -1
|
||||
|
||||
def getSkillCD(self, mode=None):
|
||||
# 排列技能,先不计算冷却时间恢复
|
||||
cdRecover = self.cdRecover if self.comboCol >= 0 else 1
|
||||
return max(0, round(max(self.cd * 0.3, self.cd * self.cdReduce / cdRecover * self.getWeaponCDRatio() * self.getQuickCDRatio()) * self.cdRatio - self.cdCut / cdRecover , 2))
|
||||
|
||||
def skillInfo(self, mode = None):
|
||||
res = super().skillInfo(mode)
|
||||
powers = [1,1.3,1.5,1.8,2]
|
||||
power = 1.0
|
||||
if self.stage > 0:
|
||||
power = powers[self.stage - 1]
|
||||
return res[0], res[1] * power, res[2]
|
||||
|
||||
# 暗影斩
|
||||
# extra/dark_knight/eb71e1d82d92c7e1d40500a0dcd77aa6
|
||||
# 17e417b31686389eebff6d754c3401ea/eb71e1d82d92c7e1d40500a0dcd77aa6
|
||||
@@ -2183,7 +2197,7 @@ class classChange(Character):
|
||||
if (skillType == 'all' or skill.type == skillType) and skill.lv > 0:
|
||||
skill.lv += lv
|
||||
|
||||
def calc_carry_skills(self, DSB: bool, BUFF: bool):
|
||||
def calc_character_skill(self):
|
||||
skillInfos = []
|
||||
for i in self.skills:
|
||||
if i.damage and i.lv > 0:
|
||||
@@ -2204,13 +2218,15 @@ class classChange(Character):
|
||||
'mode': mode,
|
||||
'learnLv': i.learnLv,
|
||||
'type': i.type,
|
||||
'cdRecover': i.cdRecover,
|
||||
'combo': getattr(i, 'comboCol', None),
|
||||
}
|
||||
)
|
||||
ratios = self.calc_damage_ration(DSB, BUFF)
|
||||
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'] / 100
|
||||
for i in self.equ_effect:
|
||||
skillInfos.append({'name': i.name, 'icon': i.icon, 'lv': 0, 'data': i.data, 'ratio': 10.0, 'cd': i.cd, 'damage': ratuio_equ_skill * i.data * 10 * self.EquEffectRatio / 100, 'mode': ''})
|
||||
for comboCol in [0,1,2,3,4,5]:
|
||||
skills = list(filter(lambda x: x['combo'] == comboCol, skillInfos))
|
||||
cdList = [x['cd'] for x in skills]
|
||||
cdRecoverList = [x['cdRecover'] for x in skills]
|
||||
total = sum(cdList)
|
||||
totalRecover = sum(cdRecoverList)
|
||||
return skillInfos
|
||||
|
||||
Reference in New Issue
Block a user