dev
This commit is contained in:
@@ -441,6 +441,7 @@ class Character(CharacterProperty):
|
||||
info['name'] = self.nameCN
|
||||
info['weapons'] = self.武器选项
|
||||
info['subweapons'] = self.副武器选项
|
||||
info['buffer'] = self.buffer
|
||||
if self.buffer:
|
||||
info['properties'] = self.防具精通属性
|
||||
info['properties'] = self.输出类型选项
|
||||
@@ -473,6 +474,7 @@ class Character(CharacterProperty):
|
||||
'bind': skill.bind,
|
||||
'hasVP': skill.hasVP,
|
||||
'hasUP': skill.hasUP,
|
||||
'upType': skill.upType,
|
||||
'vps': [{"name":i["name"],"desc":i["desc"]} for i in skill.vps],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -77,6 +77,7 @@ class Skill:
|
||||
"""是否有VP形态"""
|
||||
hasUP: bool = None
|
||||
"""是否有技能强化"""
|
||||
upType: Literal['damage','buff', 'heal'] = 'damage'
|
||||
vps: list = []
|
||||
|
||||
def __init__(self, char):
|
||||
@@ -234,6 +235,8 @@ class ActiveSkill(Skill):
|
||||
def setUP(self):
|
||||
if not self.hasUP:
|
||||
return
|
||||
if self.char.buffer:
|
||||
self.char.SetStatus(四维=40)
|
||||
if self.up == 1:
|
||||
if self.learnLv < 35:
|
||||
self.skillRation *= 1.6
|
||||
@@ -341,6 +344,20 @@ class BuffSkill(Skill):
|
||||
|
||||
CarryRatio: list[float] = []
|
||||
"""对C的额外增伤倍率"""
|
||||
vp:int = 0
|
||||
"""技能VP形态"""
|
||||
up:int = 0
|
||||
"""技能强化"""
|
||||
def __init__(self, char):
|
||||
super().__init__(char)
|
||||
keys = [key.replace("data","") for key in dir(self) if key.startswith('data') and not key.startswith('plus')]
|
||||
for i in keys:
|
||||
power = getattr(self, f'power{i}', None)
|
||||
if power is None:
|
||||
setattr(self, f'power{i}', 1)
|
||||
hit = getattr(self, f'hit{i}', None)
|
||||
if hit is None:
|
||||
setattr(self, f'hit{i}', 0)
|
||||
|
||||
def getSkillCD(self,mode=None):
|
||||
return '-'
|
||||
@@ -355,6 +372,8 @@ class BuffSkill(Skill):
|
||||
value1 = 0 if lv > len(self.ATK) else self.ATK[lv]
|
||||
value2 = 0 if lv > len(self.STRINT) else self.STRINT[lv]
|
||||
value3 = 0 if lv > len(self.CarryRatio) else self.CarryRatio[lv]
|
||||
self.setUP()
|
||||
self.setVP()
|
||||
if self.char.适用属性 == '智力':
|
||||
value = 0 if lv > len(self.INT) else self.INT[lv]
|
||||
elif self.char.适用属性 == '力量':
|
||||
@@ -365,6 +384,25 @@ class BuffSkill(Skill):
|
||||
value = 0 if lv > len(self.Spirit) else self.Spirit[lv]
|
||||
return value,[value1,self.ATKRatio,self.ATKPLUS],[value2,self.STRINTRatio,self.STRINTPLUS],value3,self.getSkillCD(mode)
|
||||
|
||||
def setVP(self):
|
||||
if self.vp == 1:
|
||||
self.vp_1()
|
||||
elif self.vp == 2:
|
||||
self.vp_2()
|
||||
|
||||
def setUP(self):
|
||||
if not self.hasUP:
|
||||
return
|
||||
if self.char.buffer and self.up > 0:
|
||||
self.char.SetStatus(四维=40)
|
||||
if self.up == 1:
|
||||
...
|
||||
elif self.up == 2:
|
||||
if self.upType == 'damage':
|
||||
self.cdReduce *= 1 - 0.15
|
||||
elif self.upType == 'heal':
|
||||
self.cdReduce *= 1 - 0.1
|
||||
|
||||
class PassiveBufferSkill(BuffSkill):
|
||||
type: str = 'passive'
|
||||
|
||||
@@ -372,7 +410,6 @@ class PassiveBufferSkill(BuffSkill):
|
||||
class ActiveBufferSkill(BuffSkill):
|
||||
type: str = 'active'
|
||||
|
||||
|
||||
def getWeaponCDRatio(self):
|
||||
weapon = self.char.charEquipInfo['武器'].equInfo
|
||||
if weapon is None or '传世武器' in weapon.categorize:
|
||||
|
||||
Reference in New Issue
Block a user