This commit is contained in:
2025-06-02 19:01:04 +08:00
parent e45caf98a0
commit a6bdcdba17
14 changed files with 30 additions and 28 deletions
+5 -5
View File
@@ -219,7 +219,7 @@ class ActiveSkill(Skill):
basic.setMode(mode) basic.setMode(mode)
basic.setVP() basic.setVP()
date = basic.getSkillData(self.lv) date = basic.getSkillData(self.lv)
cd = basic.getSkillCD() cd = basic.getSkillCD(mode)
return date * basic.skillRation , basic.skillDamage ,cd return date * basic.skillRation , basic.skillDamage ,cd
def setMode(self, mode: str): def setMode(self, mode: str):
@@ -286,7 +286,7 @@ class ActiveSkill(Skill):
cdr = 0.05 cdr = 0.05
return 1 - cdr return 1 - cdr
def getSkillCD(self): def getSkillCD(self,mode=None):
return max(0,round(max( return max(0,round(max(
self.cd * 0.3, self.cd * 0.3,
self.cd * self.cdReduce / self.cdRecover * self.getWeaponCDRatio() * self.getQuickCDRatio()) * self.cdRatio self.cd * self.cdReduce / self.cdRecover * self.getWeaponCDRatio() * self.getQuickCDRatio()) * self.cdRatio
@@ -342,7 +342,7 @@ class BuffSkill(Skill):
CarryRatio: list[float] = [] CarryRatio: list[float] = []
"""对C的额外增伤倍率""" """对C的额外增伤倍率"""
def getSkillCD(self): def getSkillCD(self,mode=None):
return '-' return '-'
def skillInfo(self, mode: str | None = None): def skillInfo(self, mode: str | None = None):
@@ -363,7 +363,7 @@ class BuffSkill(Skill):
value = 0 if lv > len(self.Vitality) else self.Vitality[lv] value = 0 if lv > len(self.Vitality) else self.Vitality[lv]
elif self.char.适用属性 == '精神': elif self.char.适用属性 == '精神':
value = 0 if lv > len(self.Spirit) else self.Spirit[lv] 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() return value,[value1,self.ATKRatio,self.ATKPLUS],[value2,self.STRINTRatio,self.STRINTPLUS],value3,self.getSkillCD(mode)
class PassiveBufferSkill(BuffSkill): class PassiveBufferSkill(BuffSkill):
type: str = 'passive' type: str = 'passive'
@@ -393,7 +393,7 @@ class ActiveBufferSkill(BuffSkill):
cdr = 0.05 cdr = 0.05
return 1 - cdr return 1 - cdr
def getSkillCD(self): def getSkillCD(self,mode=None):
return max(0,round(max( return max(0,round(max(
self.cd * 0.3, self.cd * 0.3,
self.cd * self.cdReduce / self.cdRecover * self.getWeaponCDRatio() * self.getQuickCDRatio(),1) self.cd * self.cdReduce / self.cdRecover * self.getWeaponCDRatio() * self.getQuickCDRatio(),1)
@@ -239,7 +239,7 @@ class Skill12(ActiveSkill):
{"type":"*skillRation","data":data1,"ratio":100/2} {"type":"*skillRation","data":data1,"ratio":100/2}
] ]
def getSkillCD(self): def getSkillCD(self,mode=None):
# 攻击间隔时间 # 攻击间隔时间
return 0.5 return 0.5
@@ -196,7 +196,7 @@ class Skill23(ActiveSkill):
self.hit3 = 10 self.hit3 = 10
self.hit2 = 0 self.hit2 = 0
def getSkillCD(self): def getSkillCD(self,mode=None):
return 1.0 return 1.0
# 蓄念炮 축염포 # 蓄念炮 축염포
@@ -292,9 +292,9 @@ class Skill24(ActiveSkill):
damage = False damage = False
def getSkillCD(self): def getSkillCD(self,mode=None):
self.cd = self.cds[self.lv] self.cd = self.cds[self.lv]
return super().getSkillCD() return super().getSkillCD(mode)
# 花式枪术 스타일리쉬 # 花式枪术 스타일리쉬
@@ -201,7 +201,7 @@ class Skill9(ActiveSkill):
data0 = [0, 1034, 1200, 1364, 1528, 1693, 1857, 2021, 2187, 2352, 2516, 2682, 2846, 3010, 3175, 3339, 3505, 3671, 3835, 4000, 4164]# noqa: E501 data0 = [0, 1034, 1200, 1364, 1528, 1693, 1857, 2021, 2187, 2352, 2516, 2682, 2846, 3010, 3175, 3339, 3505, 3671, 3835, 4000, 4164]# noqa: E501
hit0 = 1 hit0 = 1
def getSkillCD(self): def getSkillCD(self,mode=None):
if self.char.charEquipInfo['武器'].equInfo is None: if self.char.charEquipInfo['武器'].equInfo is None:
return 0.14 return 0.14
if self.char.charEquipInfo['武器'].equInfo.itemDetailType == '手弩': if self.char.charEquipInfo['武器'].equInfo.itemDetailType == '手弩':
@@ -145,7 +145,7 @@ class Skill10(ActiveSkill):
associate = [{"data":data7,"type":"+power0","skills":["改装 : G-2旋雷者","改装 : G-3捕食者"]}] associate = [{"data":data7,"type":"+power0","skills":["改装 : G-2旋雷者","改装 : G-3捕食者"]}]
def getSkillCD(self): def getSkillCD(self,mode=None):
return 1.0 return 1.0
# 快速拔枪 패스티스트 건 # 快速拔枪 패스티스트 건
@@ -193,7 +193,7 @@ class Skill14(ActiveSkill):
data4 = [0, 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]# noqa: E501 data4 = [0, 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]# noqa: E501
def getSkillCD(self): def getSkillCD(self,mode=None):
return 1.0 return 1.0
associate = [{"data":data4,"type":"+power0","skills":["G-1科罗纳","改装 : G-3捕食者"]}] associate = [{"data":data4,"type":"+power0","skills":["G-1科罗纳","改装 : G-3捕食者"]}]
@@ -284,9 +284,9 @@ class Skill17(ActiveSkill):
damage = False damage = False
def getSkillCD(self): def getSkillCD(self,mode=None):
self.cd = self.cds[self.lv] self.cd = self.cds[self.lv]
return super().getSkillCD() return super().getSkillCD(mode)
# 花式枪术 스타일리쉬 # 花式枪术 스타일리쉬
@@ -499,7 +499,7 @@ class Skill34(ActiveSkill):
associate = [{"data":data0}] associate = [{"data":data0}]
def getSkillCD(self): def getSkillCD(self,mode=None):
return 3.0 return 3.0
@@ -363,7 +363,7 @@ class Skill18(ActiveSkill):
mp = [200, 1680] mp = [200, 1680]
uuid = "a6c8f69107f8c4f5d1a0c7a57d000290" uuid = "a6c8f69107f8c4f5d1a0c7a57d000290"
def getSkillCD(self): def getSkillCD(self,mode=None):
return 0 return 0
# 神光十字 그랜드 크로스 크래쉬 # 神光十字 그랜드 크로스 크래쉬
@@ -84,7 +84,7 @@ class Skill3(ActiveSkill):
damage = False damage = False
def getSkillCD(self): def getSkillCD(self,mode=None):
self.cd = self.cdList[self.lv] self.cd = self.cdList[self.lv]
return super().getSkillCD() return super().getSkillCD()
@@ -154,7 +154,7 @@ class Skill6(ActiveSkill):
elif mode == "暗": elif mode == "暗":
self.hit7 = 4 self.hit7 = 4
def getSkillCD(self): def getSkillCD(self,mode=None):
return 1.0 return 1.0
# 魔性之短剑精通 속성의 소검 마스터리 # 魔性之短剑精通 속성의 소검 마스터리
@@ -209,7 +209,7 @@ class Skill11(ActiveSkill):
data0 = [0, 436, 506, 575, 645, 714, 784, 853, 923, 992, 1062, 1132, 1201, 1271, 1340, 1410, 1479, 1549, 1618, 1688, 1757]# noqa: E501 data0 = [0, 436, 506, 575, 645, 714, 784, 853, 923, 992, 1062, 1132, 1201, 1271, 1340, 1410, 1479, 1549, 1618, 1688, 1757]# noqa: E501
hit0 = 1 #TODO hit0 = 1 #TODO
def getSkillCD(self): def getSkillCD(self,mode=None):
return 1.0 return 1.0
@@ -435,20 +435,20 @@ class Skill17(ActiveSkill):
self.hit6 = 7 self.hit6 = 7
self.cd = 4.9 self.cd = 4.9
def getSkillCD(self): def getSkillCD(self,mode=None):
if self.currentMode == "光翼": if self.currentMode == "光翼":
pre = self.char.GetSkillByName("地裂 · 波动剑") pre = self.char.GetSkillByName("地裂 · 波动剑")
return 1.2 * pre.getSkillCD() / pre.cd return 1.2 * pre.getSkillCD(mode) / pre.cd
elif self.currentMode == "天照": elif self.currentMode == "天照":
pre = self.char.GetSkillByName("冰刃 · 波动剑") pre = self.char.GetSkillByName("冰刃 · 波动剑")
return 2 * pre.getSkillCD() / pre.cd return 2 * pre.getSkillCD(mode) / pre.cd
elif self.currentMode == "闪枪": elif self.currentMode == "闪枪":
pre = self.char.GetSkillByName("爆炎 · 波动剑") pre = self.char.GetSkillByName("爆炎 · 波动剑")
return 4.9 * pre.getSkillCD() / pre.cd return 4.9 * pre.getSkillCD(mode) / pre.cd
elif self.currentMode == "平X": elif self.currentMode == "平X":
return 1.0 return 1.0
else: else:
return super().getSkillCD() return super().getSkillCD(mode)
# 极冰 · 裂波剑 극파동검 빙인 # 极冰 · 裂波剑 극파동검 빙인
# https://api.neople.co.kr/df/skills/41f1cdc2ff58bb5fdc287be0db2a8df3/7cf17936a039b418660424125dc968d7?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 # https://api.neople.co.kr/df/skills/41f1cdc2ff58bb5fdc287be0db2a8df3/7cf17936a039b418660424125dc968d7?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill18(ActiveSkill): class Skill18(ActiveSkill):
@@ -547,7 +547,7 @@ class Skill20(ActiveSkill):
associate = [{"type":"*skillRation","data":data1}] associate = [{"type":"*skillRation","data":data1}]
def getSkillCD(self): def getSkillCD(self,mode=None):
return 2.5 return 2.5
@@ -202,8 +202,8 @@ class Skill10(ActiveSkill):
data0 = [0, 2011, 2217, 2421, 2627, 2829, 3033, 3237, 3441, 3647, 3851, 4056, 4259, 4463, 4667, 4871, 5076, 5280, 5486, 5688, 5892, 6096, 6302, 6506, 6710, 6914, 7118, 7322, 7526, 7732, 7934, 8140, 8344, 8548, 8752, 8956, 9160, 9364, 9569, 9773, 9979, 10181, 10384, 10589, 10793, 10999, 11203, 11409, 11611, 11815, 12019, 12225, 12429, 12633, 12837, 13041, 13245, 13449, 13654, 13858, 14062, 14266, 14470, 14674, 14878, 15084, 15286, 15492, 15696, 15902, 16104]# noqa: E501 data0 = [0, 2011, 2217, 2421, 2627, 2829, 3033, 3237, 3441, 3647, 3851, 4056, 4259, 4463, 4667, 4871, 5076, 5280, 5486, 5688, 5892, 6096, 6302, 6506, 6710, 6914, 7118, 7322, 7526, 7732, 7934, 8140, 8344, 8548, 8752, 8956, 9160, 9364, 9569, 9773, 9979, 10181, 10384, 10589, 10793, 10999, 11203, 11409, 11611, 11815, 12019, 12225, 12429, 12633, 12837, 13041, 13245, 13449, 13654, 13858, 14062, 14266, 14470, 14674, 14878, 15084, 15286, 15492, 15696, 15902, 16104]# noqa: E501
hit0 = 3 hit0 = 3
def getSkillCD(self): def getSkillCD(self,mode=None):
return self.char.GetSkillByName("鬼连斩").getSkillCD() return self.char.GetSkillByName("鬼连斩").getSkillCD(mode)
# 魂破斩 혼백참 # 魂破斩 혼백참
# https://api.neople.co.kr/df/skills/41f1cdc2ff58bb5fdc287be0db2a8df3/87a918bb22cfc959a16e0bf939bb6c24?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 # https://api.neople.co.kr/df/skills/41f1cdc2ff58bb5fdc287be0db2a8df3/87a918bb22cfc959a16e0bf939bb6c24?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
@@ -237,7 +237,7 @@ class Skill6(ActiveSkill):
# 刺伤期望伤害 (17层引爆上限) / 17 (17层结算1次爆炸) * 刺伤触发几率 # 刺伤期望伤害 (17层引爆上限) / 17 (17层结算1次爆炸) * 刺伤触发几率
return self.data6[lv] * 1 / 17 * self.data4[lv] / 100 return self.data6[lv] * 1 / 17 * self.data4[lv] / 100
def getSkillCD(self): def getSkillCD(self,mode=None):
return 1.0 return 1.0
# 巨剑精通 대검 마스터리 # 巨剑精通 대검 마스터리
# https://api.neople.co.kr/df/skills/41f1cdc2ff58bb5fdc287be0db2a8df3/8c2379737c5acc935c1731f67f607655?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0 # https://api.neople.co.kr/df/skills/41f1cdc2ff58bb5fdc287be0db2a8df3/8c2379737c5acc935c1731f67f607655?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
+2
View File
@@ -12609,6 +12609,7 @@ def equ_2000(char: CharacterProperty):
skillAttack = 0.1 * point - (point // 25) * 0.1 + (0.5 if point >= 25 else 0) + (0.6 if point >=50 else 0) + (0.6 if point >=75 else 0) + (1.8 if point >=100 else 0) skillAttack = 0.1 * point - (point // 25) * 0.1 + (0.5 if point >= 25 else 0) + (0.6 if point >=50 else 0) + (0.6 if point >=75 else 0) + (1.8 if point >=100 else 0)
buffer = 30 * point - (point // 25) * 30 + (390 if point >= 25 else 0) + (420 if point >=50 else 0) + (420 if point >=75 else 0) + (540 if point >=100 else 0) buffer = 30 * point - (point // 25) * 30 + (390 if point >= 25 else 0) + (420 if point >=50 else 0) + (420 if point >=75 else 0) + (540 if point >=100 else 0)
char.SetStatus(SkillAttack=skillAttack/100,Buffer=buffer) char.SetStatus(SkillAttack=skillAttack/100,Buffer=buffer)
char.SetSkillCD(cd=0.15)
effect = (point // 25) * 0.5 effect = (point // 25) * 0.5
if effect > 0: if effect > 0:
char.equ_effect.append(EquEffect(name='地震波', icon='/equipment/icon/special/magicstone/00417.png', cd=30, data=45900*effect)) char.equ_effect.append(EquEffect(name='地震波', icon='/equipment/icon/special/magicstone/00417.png', cd=30, data=45900*effect))
@@ -12654,6 +12655,7 @@ def equ_2001(char: CharacterProperty):
skillAttack = 0.1 * point - (point // 25) * 0.1 + (0.5 if point >= 25 else 0) + (0.6 if point >=50 else 0) + (0.6 if point >=75 else 0) + (1.8 if point >=100 else 0) skillAttack = 0.1 * point - (point // 25) * 0.1 + (0.5 if point >= 25 else 0) + (0.6 if point >=50 else 0) + (0.6 if point >=75 else 0) + (1.8 if point >=100 else 0)
buffer = 30 * point - (point // 25) * 30 + (390 if point >= 25 else 0) + (420 if point >=50 else 0) + (420 if point >=75 else 0) + (540 if point >=100 else 0) buffer = 30 * point - (point // 25) * 30 + (390 if point >= 25 else 0) + (420 if point >=50 else 0) + (420 if point >=75 else 0) + (540 if point >=100 else 0)
char.SetStatus(SkillAttack=skillAttack/100,Buffer=buffer) char.SetStatus(SkillAttack=skillAttack/100,Buffer=buffer)
char.SetSkillCD(cd=0.15)
char.SetSkillCD(cd=0.04) char.SetSkillCD(cd=0.04)
cd = (point // 25) * 0.04 cd = (point // 25) * 0.04
if cd > 0: if cd > 0: