dev
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from functools import cache
|
||||
import importlib
|
||||
from typing import Literal
|
||||
from typing import Any, Literal, Mapping, Union
|
||||
|
||||
from core.basic.property import CharacterInfo
|
||||
from core.basic.skill import Skill
|
||||
@@ -13,19 +13,21 @@ from .formula import 增幅计算, 强化技攻, 武器强化计算, 精通计
|
||||
from .roleinfo import CharacterEquipInfo, get_key_by_value
|
||||
# from .property import 精通计算, 角色基础, CharacterInfo
|
||||
|
||||
|
||||
class Jade:
|
||||
ElementIncrease:float
|
||||
'''属性增幅'''
|
||||
AttackP:float
|
||||
'''攻击强化%'''
|
||||
SkillAttack:float
|
||||
'''技能攻击力%'''
|
||||
ElementIncrease: float
|
||||
"""属性增幅"""
|
||||
AttackP: float
|
||||
"""攻击强化%"""
|
||||
SkillAttack: float
|
||||
"""技能攻击力%"""
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.ElementIncrease = 0.0
|
||||
self.AttackP = 0.0
|
||||
self.SkillAttack = 0.0
|
||||
|
||||
|
||||
class Character:
|
||||
# region 角色属性
|
||||
|
||||
@@ -257,48 +259,47 @@ class Character:
|
||||
攻击强化P=0,
|
||||
增益量=0,
|
||||
增益量P=0,
|
||||
**kwargs,
|
||||
**kwargs: Mapping[
|
||||
Literal[
|
||||
'STR',
|
||||
'INT',
|
||||
'AtkP',
|
||||
'AtkM',
|
||||
'AtkI',
|
||||
'PAtkP',
|
||||
'PAtkM',
|
||||
'PAtkI',
|
||||
'PATKIPDamage',
|
||||
'PDamageC',
|
||||
'PSTR',
|
||||
'PINT',
|
||||
'PDamageB',
|
||||
'ElementA',
|
||||
'ElementDB',
|
||||
'ElementR',
|
||||
'CriticalMP',
|
||||
'CriticalM',
|
||||
'CriticalPP',
|
||||
'CriticalP',
|
||||
'EquipmentSkillAttack',
|
||||
'SkillAttack',
|
||||
'SpeedA',
|
||||
'SpeedM',
|
||||
'SpeedR',
|
||||
'HitP',
|
||||
'Hit',
|
||||
'Attack',
|
||||
'AttackP',
|
||||
'Buffer',
|
||||
'BufferP',
|
||||
'Spirit',
|
||||
'Vitality',
|
||||
'EquEffectRatio',
|
||||
],
|
||||
Any,
|
||||
],
|
||||
) -> None:
|
||||
"""设置角色属性"""
|
||||
allowed_kwargs = {
|
||||
'STR',
|
||||
'INT',
|
||||
'AtkP',
|
||||
'AtkM',
|
||||
'AtkI',
|
||||
'PAtkP',
|
||||
'PAtkM',
|
||||
'PAtkI',
|
||||
'PATKIPDamage',
|
||||
'PDamageC',
|
||||
'PSTR',
|
||||
'PINT',
|
||||
'PDamageB',
|
||||
'ElementA',
|
||||
'ElementDB',
|
||||
'ElementR',
|
||||
'CriticalMP',
|
||||
'CriticalM',
|
||||
'CriticalPP',
|
||||
'CriticalP',
|
||||
'EquipmentSkillAttack',
|
||||
'SkillAttack',
|
||||
'SpeedA',
|
||||
'SpeedM',
|
||||
'SpeedR',
|
||||
'HitP',
|
||||
'Hit',
|
||||
'Attack',
|
||||
'AttackP',
|
||||
'Buffer',
|
||||
'BufferP',
|
||||
'Spirit',
|
||||
'Vitality',
|
||||
'EquEffectRatio'
|
||||
}
|
||||
# for key in kwargs:
|
||||
# if key not in allowed_kwargs:
|
||||
# raise ValueError(f'Invalid keyword argument: {key}')
|
||||
self.STR += 力量 + kwargs.get('STR', 0) + 四维 + 力智
|
||||
self.INT += 智力 + kwargs.get('INT', 0) + 四维 + 力智
|
||||
self.Spirit += 精神 + kwargs.get('Spirit', 0) + 四维 + 体精
|
||||
@@ -328,7 +329,7 @@ class Character:
|
||||
self.EquEffectRatio *= 1 + kwargs.get('EquEffectRatio', 0.0)
|
||||
pass
|
||||
|
||||
def AddElementDB(self, element: str, value: float,type:int=0) -> None:
|
||||
def AddElementDB(self, element: str, value: float, type: int = 0) -> None:
|
||||
"""
|
||||
增加属性强化
|
||||
type: 0 站街 1 进图
|
||||
@@ -357,6 +358,21 @@ class Character:
|
||||
if min <= skill.learnLv <= max and skill.damage and skill.learnLv not in exclude:
|
||||
skill.cdReduce *= 1 - cd
|
||||
|
||||
def SetSkillCDRecover(self, min=1, max=100, cd=0, exclude=[50, 85, 100]) -> None:
|
||||
"""设置技能CD恢复"""
|
||||
for skill in self.skills:
|
||||
if min <= skill.learnLv <= max and skill.damage and skill.learnLv not in exclude:
|
||||
skill.cdRecover += cd
|
||||
|
||||
def SetSkillRation(self, min=1, max=100, ratio=0 ,type = 0) -> None:
|
||||
"""设置技能倍率 0 修改技能面板 1 不修改技能面板"""
|
||||
for skill in self.skills:
|
||||
if min <= skill.learnLv <= max and skill.damage:
|
||||
if type == 0:
|
||||
skill.skillRation *= (1 + ratio)
|
||||
else:
|
||||
skill.skillDamage *= (1 + ratio)
|
||||
|
||||
def GetSkillByName(self, name) -> Skill:
|
||||
"""通过技能名获取技能"""
|
||||
return self.skills_dict.get(name, None)
|
||||
@@ -525,7 +541,7 @@ class Character:
|
||||
for equ in [item.equInfo for item in filter(lambda x: x.equInfo is not None, self.charEquipInfo.values())]:
|
||||
if equ is None:
|
||||
continue
|
||||
fun = effects.equ_func_list.get(str(equ.id),None)
|
||||
fun = effects.equ_func_list.get(str(equ.id), None)
|
||||
if fun is None:
|
||||
continue
|
||||
# 获取装备基础属性 并给角色设置(大写开头属性为角色属性)
|
||||
@@ -534,7 +550,6 @@ class Character:
|
||||
# 获取装备额外属性
|
||||
fun(self)
|
||||
|
||||
|
||||
def calc_basic(self):
|
||||
"""计算基础属性:防具精通、增幅、强化等"""
|
||||
# 防具精通跟随装备品级
|
||||
@@ -567,10 +582,10 @@ class Character:
|
||||
if part == '武器':
|
||||
# 锻造独立计算
|
||||
value = 锻造计算(115, '史诗', cur.refine)
|
||||
self.SetStatus(AtkI = value)
|
||||
self.SetStatus(AtkI=value)
|
||||
# 传世武器强化系数取所有武器的最高的1.12
|
||||
if cur.equInfo.categorize == '传世武器':
|
||||
value = 武器强化计算(115, '史诗', cur.reinforce,cur.equInfo.itemDetailType,'物理',1.12)
|
||||
value = 武器强化计算(115, '史诗', cur.reinforce, cur.equInfo.itemDetailType, '物理', 1.12)
|
||||
self.SetStatus(AtkP=value, AtkM=value)
|
||||
else:
|
||||
# 强化计算
|
||||
@@ -581,7 +596,7 @@ class Character:
|
||||
pass
|
||||
if part == '耳环':
|
||||
value = 耳环计算(115, '史诗', cur.reinforce)
|
||||
self.SetStatus(AtkM=value, AtkP=value,AtkI=value)
|
||||
self.SetStatus(AtkM=value, AtkP=value, AtkI=value)
|
||||
pass
|
||||
if part in ['辅助装备', '魔法石']:
|
||||
value = 左右计算(115, '史诗', cur.reinforce)
|
||||
@@ -622,33 +637,34 @@ class Character:
|
||||
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],
|
||||
})
|
||||
skillInfos.append(
|
||||
{
|
||||
'name': i.name,
|
||||
'icon': i.icon,
|
||||
'lv': i.lv,
|
||||
'data': temp[0],
|
||||
'ratio': temp[1],
|
||||
'cd': temp[2],
|
||||
}
|
||||
)
|
||||
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 skillInfos:
|
||||
i["damage"] = ratio_char_skill * i["data"] * i["ratio"]
|
||||
i['damage'] = ratio_char_skill * i['data'] * i['ratio']
|
||||
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,
|
||||
})
|
||||
return {
|
||||
"skills": skillInfos,
|
||||
"info":{k: v for k, v in self.__dict__.items() if k[0].isupper()}
|
||||
}
|
||||
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,
|
||||
}
|
||||
)
|
||||
return {'skills': skillInfos, 'info': {k: v for k, v in self.__dict__.items() if k[0].isupper()}}
|
||||
# 技能影响角色的属性,如属强、抗性等
|
||||
|
||||
def calc_damage_ration(self):
|
||||
@@ -657,19 +673,19 @@ class Character:
|
||||
# 力/智 攻击力 攻击力%(特效不吃这部分)
|
||||
attrs = []
|
||||
if self.输出类型 == '物理百分比':
|
||||
attrs.extend(['STR', 'AtkP','PAtkP'])
|
||||
attrs.extend(['STR', 'AtkP', 'PAtkP'])
|
||||
if self.输出类型 == '魔法百分比':
|
||||
attrs.extend(['INT', 'AtkM','PAtkM'])
|
||||
attrs.extend(['INT', 'AtkM', 'PAtkM'])
|
||||
if self.输出类型 == '物理固伤':
|
||||
attrs.extend(['STR', 'AtkI', 'PAtkI'])
|
||||
if self.输出类型 == '魔法固伤':
|
||||
attrs.extend(['INT', 'AtkI', 'PAtkI'])
|
||||
# 力智系数
|
||||
ratio_0 : float = getattr(self, attrs[0]) / 250 + 1
|
||||
ratio_0: float = getattr(self, attrs[0]) / 250 + 1
|
||||
# 物理/魔法/独立攻击力
|
||||
ratio_1 : float = getattr(self, attrs[1])
|
||||
ratio_1: float = getattr(self, attrs[1])
|
||||
# 技能 物理/魔法/独立攻击力%
|
||||
ratio_2 : float = getattr(self, attrs[2])
|
||||
ratio_2: float = getattr(self, attrs[2])
|
||||
# 属强系数
|
||||
ratio_3 = max(self.ElementDB.values()) * 0.0045 + 1.05
|
||||
# 暴击系数
|
||||
@@ -682,7 +698,7 @@ class Character:
|
||||
ratio_7 = 1 + self.Attack * (self.AttackP + self.jade_effect.AttackP)
|
||||
# 防御系数,暂定145沙袋防御
|
||||
monster_defense = 75068627484
|
||||
ratio_8 = (1 - monster_defense / (monster_defense + 200 * 100))
|
||||
ratio_8 = 1 - monster_defense / (monster_defense + 200 * 100)
|
||||
# 杂项 斗神、宠物技能、队友增幅等(技能的属性增幅归属到这部分,因为会加成到特效部分,修复后修改为技能攻击力计算)
|
||||
ratio_9 = 1.0 * self.ElementIncrease
|
||||
return (ratio_0, ratio_1, ratio_2, ratio_3, ratio_4, ratio_5, ratio_6, ratio_7, ratio_8, ratio_9)
|
||||
|
||||
@@ -63,7 +63,10 @@ class Skill3(PassiveSkill):
|
||||
|
||||
data0 = [0, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48] # noqa: E501
|
||||
data1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30]
|
||||
associate = [{'data': data0, 'type': '$*PAtkI'},{'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']}]
|
||||
associate = [
|
||||
{'data': data0, 'type': '$*PAtkI'},
|
||||
{'data': data1, 'type': '*cdReduce', 'exceptSkills': ['EMP磁暴','决战之日','终解·制空霸权']}
|
||||
]
|
||||
|
||||
# def precondition(self):
|
||||
# weapon = self.char.charEquipInfo['武器'].equInfo
|
||||
@@ -83,6 +86,10 @@ class Skill4(PassiveSkill):
|
||||
|
||||
data0 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] # noqa: E501
|
||||
data1 = [0, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33] # noqa: E501
|
||||
associate = [
|
||||
{'data': data0, 'type': '*skillRation'},
|
||||
{'data': data1, 'type': '*skillRation'}
|
||||
]
|
||||
|
||||
# 手雷精通 유탄 마스터리
|
||||
# https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/0113c8b1306ca76d208f83f2d093dd62?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
|
||||
@@ -96,7 +103,9 @@ class Skill5(PassiveSkill):
|
||||
|
||||
data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] # noqa: E501
|
||||
|
||||
associate = [{'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']}]
|
||||
associate = [
|
||||
{'type': '*skillRation', 'data': data0, 'skills': ['G-14手雷','G-35L感电手雷','G-18C冰冻手雷']}
|
||||
]
|
||||
|
||||
# M18阔剑地雷 M18 클레이모어
|
||||
# https://api.neople.co.kr/df/skills/944b9aab492c15a8474f96947ceeb9e4/2ff50c35efcf0f287c4c418c8454da48?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
|
||||
|
||||
@@ -1284,6 +1284,7 @@ def equ_86(char: Character):
|
||||
-所有速度+10%
|
||||
-发动权威光谱效果
|
||||
"""
|
||||
char.SetStatus(SpeedA=0.1,SpeedM=0.1,SpeedR=0.1)
|
||||
pass
|
||||
|
||||
|
||||
@@ -1298,6 +1299,7 @@ def equ_87(char: Character):
|
||||
-所有速度+15%
|
||||
-发动权威光谱效果
|
||||
"""
|
||||
char.SetStatus(SpeedA=0.15,SpeedM=0.15,SpeedR=0.15)
|
||||
pass
|
||||
|
||||
|
||||
@@ -1313,6 +1315,7 @@ def equ_88(char: Character):
|
||||
-所有速度+20%
|
||||
-发动权威光谱效果
|
||||
"""
|
||||
char.SetStatus(SpeedA=0.2,SpeedM=0.2,SpeedR=0.2)
|
||||
pass
|
||||
|
||||
|
||||
@@ -1401,7 +1404,7 @@ def equ_94(char: Character):
|
||||
-静止模式:中止攻击
|
||||
-冷却时间1秒
|
||||
"""
|
||||
char.equ_effects.append(EquEffect(name='冰封的火焰之躯', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effect.append(EquEffect(name='冰封的火焰之躯', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1423,8 +1426,8 @@ def equ_95(char: Character):
|
||||
-静止模式:中止攻击
|
||||
-冷却时间1秒
|
||||
"""
|
||||
char.equ_effects.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effects.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effect.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effect.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1448,9 +1451,9 @@ def equ_96(char: Character):
|
||||
-静止模式:中止攻击
|
||||
-冷却时间1秒
|
||||
"""
|
||||
char.equ_effects.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effects.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effects.append(EquEffect(name='箭雨', icon='/equipment/skill/26.png', cd=20, data=45600))
|
||||
char.equ_effect.append(EquEffect(name='冰弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effect.append(EquEffect(name='火弩', icon='/equipment/skill/26.png', cd=1, data=7200))
|
||||
char.equ_effect.append(EquEffect(name='箭雨', icon='/equipment/skill/26.png', cd=20, data=45600))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1584,7 +1587,7 @@ def equ_104(char: Character):
|
||||
skill.skillDamage *= 1.30
|
||||
if skill.damage and skill.cube == 0:
|
||||
skill.skillDamage *= 1.25
|
||||
char.equ_effect.append(EquEffect(name='燃烧', icon='/new_equipment/01_weapon/gunner/musket/musket.img/234.png', cd=0.2, data=480))
|
||||
char.equ_effect.append(EquEffect(name='燃烧', icon='/equipment/new_equipment/01_weapon/gunner/musket/musket.img/234.png', cd=0.2, data=480))
|
||||
pass
|
||||
|
||||
|
||||
|
||||
@@ -324,7 +324,7 @@ def suit_27(char: Character):
|
||||
- 攻击中止/继续攻击
|
||||
- 冷却时间1秒
|
||||
"""
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200))
|
||||
pass
|
||||
|
||||
|
||||
@@ -402,8 +402,8 @@ def suit_32(char: Character):
|
||||
- 被击时,精灵之魂- 5(冷却时间1秒)
|
||||
- 元素释放伤害量:80,400%
|
||||
"""
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=24000))
|
||||
char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=15, data=80400))
|
||||
pass
|
||||
|
||||
@@ -520,9 +520,9 @@ def suit_37(char: Character):
|
||||
一被击时,精灵之魂- 5(冷却时间1秒)
|
||||
- 元素释放伤害量:118,200%
|
||||
"""
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
||||
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=24000))
|
||||
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=19200))
|
||||
char.SetStatus(SpeedM=0.15)
|
||||
char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=15, data=118200))
|
||||
pass
|
||||
@@ -666,12 +666,12 @@ def suit_42(char: Character):
|
||||
一被击时,精灵之魂- 5(冷却时间1秒)
|
||||
- 元素释放伤害量:118,200%
|
||||
"""
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='', cd=3, data=24000))
|
||||
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='火灵安珀', icon='/equipment/skill/29.png', cd=2, data=19200))
|
||||
char.equ_effect.append(EquEffect(name='水灵阿库娅', icon='/equipment/skill/29.png', cd=3, data=24000))
|
||||
char.equ_effect.append(EquEffect(name='风灵希尔珂', icon='/equipment/skill/29.png', cd=2, data=19200))
|
||||
char.SetStatus(SpeedM=0.15)
|
||||
char.equ_effect.append(EquEffect(name='元素释放', icon='/equipment/skill/29.png', cd=10, data=181920))
|
||||
char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='', cd=5, data=47520))
|
||||
char.equ_effect.append(EquEffect(name='精灵女王提泰妮娅', icon='/equipment/skill/29.png', cd=5, data=47520))
|
||||
pass
|
||||
|
||||
|
||||
@@ -732,16 +732,16 @@ def suit_48(char: Character):
|
||||
reinforce_3 = 0
|
||||
"""武器"""
|
||||
for part in char.charEquipInfo.keys():
|
||||
if char.charEquipInfo[part].id <= 0:
|
||||
if char.charEquipInfo[part] is None:
|
||||
continue
|
||||
num = char.charEquipInfo[part].reinforce
|
||||
if part == '武器':
|
||||
reinforce_3 += num
|
||||
if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part):
|
||||
if part in ['上衣', '头肩', '下装', '腰带', '鞋']:
|
||||
reinforce_0 += num
|
||||
if ['手镯', '项链', '戒指'].includes(part):
|
||||
if part in ['手镯', '项链', '戒指']:
|
||||
reinforce_1 += num
|
||||
if ['耳环', '辅助装备', '魔法石'].includes(part):
|
||||
if part in ['耳环', '辅助装备', '魔法石']:
|
||||
reinforce_2 += num
|
||||
reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3
|
||||
char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 7))
|
||||
@@ -829,16 +829,16 @@ def suit_53(char: Character):
|
||||
reinforce_3 = 0
|
||||
"""武器"""
|
||||
for part in char.charEquipInfo.keys():
|
||||
if char.charEquipInfo[part].id <= 0:
|
||||
if char.charEquipInfo[part] is None:
|
||||
continue
|
||||
num = char.charEquipInfo[part].reinforce
|
||||
if part == '武器':
|
||||
reinforce_3 += num
|
||||
if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part):
|
||||
if part in ['上衣', '头肩', '下装', '腰带', '鞋']:
|
||||
reinforce_0 += num
|
||||
if ['手镯', '项链', '戒指'].includes(part):
|
||||
if part in ['手镯', '项链', '戒指']:
|
||||
reinforce_1 += num
|
||||
if ['耳环', '辅助装备', '魔法石'].includes(part):
|
||||
if part in ['耳环', '辅助装备', '魔法石']:
|
||||
reinforce_2 += num
|
||||
reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3
|
||||
char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12))
|
||||
@@ -968,16 +968,16 @@ def suit_58(char: Character):
|
||||
reinforce_3 = 0
|
||||
"""武器"""
|
||||
for part in char.charEquipInfo.keys():
|
||||
if char.charEquipInfo[part].id <= 0:
|
||||
if char.charEquipInfo is None:
|
||||
continue
|
||||
num = char.charEquipInfo[part].reinforce
|
||||
if part == '武器':
|
||||
reinforce_3 += num
|
||||
if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part):
|
||||
if part in ['上衣', '头肩', '下装', '腰带', '鞋']:
|
||||
reinforce_0 += num
|
||||
if ['手镯', '项链', '戒指'].includes(part):
|
||||
if part in ['手镯', '项链', '戒指']:
|
||||
reinforce_1 += num
|
||||
if ['耳环', '辅助装备', '魔法石'].includes(part):
|
||||
if part in ['耳环', '辅助装备', '魔法石']:
|
||||
reinforce_2 += num
|
||||
reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3
|
||||
char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12))
|
||||
@@ -997,13 +997,13 @@ def suit_58(char: Character):
|
||||
char.SetSkillCD(Buffer=750 * min((reinforce - 110) // 11, 2))
|
||||
|
||||
if reinforce < 88:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=9600))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=9600))
|
||||
elif reinforce < 110:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=10440))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=10440))
|
||||
elif reinforce < 132:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=12000))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=12000))
|
||||
else:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=14400))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=14400))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1157,16 +1157,16 @@ def suit_63(char: Character):
|
||||
reinforce_3 = 0
|
||||
"""武器"""
|
||||
for part in char.charEquipInfo.keys():
|
||||
if char.charEquipInfo[part].id <= 0:
|
||||
if char.charEquipInfo[part] is None:
|
||||
continue
|
||||
num = char.charEquipInfo[part].reinforce
|
||||
if part == '武器':
|
||||
reinforce_3 += num
|
||||
if ['上衣', '头肩', '下装', '腰带', '鞋'].includes(part):
|
||||
if part in ['上衣', '头肩', '下装', '腰带', '鞋']:
|
||||
reinforce_0 += num
|
||||
if ['手镯', '项链', '戒指'].includes(part):
|
||||
if part in ['手镯', '项链', '戒指']:
|
||||
reinforce_1 += num
|
||||
if ['耳环', '辅助装备', '魔法石'].includes(part):
|
||||
if part in ['耳环', '辅助装备', '魔法石']:
|
||||
reinforce_2 += num
|
||||
reinforce = reinforce_0 + reinforce_1 + reinforce_2 + reinforce_3
|
||||
char.SetStatus(SkillRange=0.02 * min(reinforce // 11, 12))
|
||||
@@ -1186,13 +1186,13 @@ def suit_63(char: Character):
|
||||
char.SetSkillCD(Buffer=1500 * min((reinforce - 110) // 11, 2))
|
||||
|
||||
if reinforce < 88:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=9600))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=9600))
|
||||
elif reinforce < 110:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=10440))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=10440))
|
||||
elif reinforce < 132:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=12000))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=12000))
|
||||
else:
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='', cd=10, data=14400))
|
||||
char.equ_effect.append(EquEffect(name='淘银热', icon='/equipment/suit/0.png', cd=10, data=14400))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1296,7 +1296,7 @@ def suit_74(char: Character):
|
||||
* 青龙升天伤害量 : 14,400%
|
||||
"""
|
||||
char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1)
|
||||
char.equ_effect.append(EquEffect(name='龙之胜战', icon='', cd=10, data=14400))
|
||||
char.equ_effect.append(EquEffect(name='龙之胜战', icon='/equipment/suit/1.png', cd=10, data=14400))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1379,16 +1379,16 @@ def suit_79(char: Character):
|
||||
"""
|
||||
if char.equ_options.get('1', 0) == 0:
|
||||
char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1)
|
||||
char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='', cd=10, data=14400))
|
||||
char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400))
|
||||
elif char.equ_options.get('1', 0) == 1:
|
||||
char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3)
|
||||
char.SetStatus(SkillDamage=0.03)
|
||||
char.equ_effect.append(EquEffect(name='白龙强袭', icon='', cd=3, data=6000))
|
||||
char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=6000))
|
||||
elif char.equ_options.get('1', 0) == 2:
|
||||
char.SetStatus(SpeedA=0.2, SpeedM=0.2, SpeedR=0.2)
|
||||
char.SetStatus(SkillDamage=0.015)
|
||||
char.equ_effect.append(EquEffect(name='白龙强袭', icon='', cd=3, data=6000))
|
||||
char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='', cd=10, data=14400))
|
||||
char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=6000))
|
||||
char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1514,12 +1514,12 @@ def suit_84(char: Character):
|
||||
"""
|
||||
if char.equ_options.get('1', 0) == 0:
|
||||
char.SetStatus(SpeedA=0.1, SpeedM=0.1, SpeedR=0.1)
|
||||
char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='', cd=10, data=14400))
|
||||
char.equ_effect.append(EquEffect(name='烛龙腾霄', icon='/equipment/suit/1.png', cd=10, data=14400))
|
||||
elif char.equ_options.get('1', 0) == 1:
|
||||
char.SetStatus(SpeedA=0.3, SpeedM=0.3, SpeedR=0.3)
|
||||
char.SetStatus(SkillDamage=0.03)
|
||||
char.equ_effect.append(EquEffect(name='白龙强袭', icon='', cd=3, data=6000))
|
||||
char.equ_effect.append(EquEffect(name='应龙之怒', icon='', cd=4, data=7200))
|
||||
char.equ_effect.append(EquEffect(name='白龙强袭', icon='/equipment/suit/1.png', cd=3, data=6000))
|
||||
char.equ_effect.append(EquEffect(name='应龙之怒', icon='/equipment/suit/1.png', cd=4, data=7200))
|
||||
pass
|
||||
|
||||
|
||||
@@ -1964,7 +1964,11 @@ def suit_116(char: Character):
|
||||
- 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外)
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_111(char)
|
||||
char.SetStatus(SkillDamage=0.03)
|
||||
char.AddElementDB('火',33,1)
|
||||
char.AddElementDB('冰',33,1)
|
||||
char.AddElementDB('光',33,1)
|
||||
char.AddElementDB('暗',33,1)
|
||||
pass
|
||||
|
||||
|
||||
@@ -1981,7 +1985,7 @@ def suit_117(char: Character):
|
||||
- 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外)
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_111(char)
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -1998,7 +2002,7 @@ def suit_118(char: Character):
|
||||
- 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外)
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_111(char)
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2015,7 +2019,7 @@ def suit_119(char: Character):
|
||||
- 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外)
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_111(char)
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2032,7 +2036,7 @@ def suit_120(char: Character):
|
||||
- 剩余冷却时间33秒以下的技能中,初始化剩余时间最短的1个技能(觉醒技能除外)
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_111(char)
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2053,8 +2057,7 @@ def suit_121(char: Character):
|
||||
- 冷却时间:99秒
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
char.SetStatus(SkillDamage=0.03)
|
||||
char.Set
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2075,6 +2078,7 @@ def suit_122(char: Character):
|
||||
- 冷却时间:100秒
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2095,6 +2099,7 @@ def suit_123(char: Character):
|
||||
- 冷却时间:101秒
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2115,6 +2120,7 @@ def suit_124(char: Character):
|
||||
- 冷却时间:102秒
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2135,6 +2141,7 @@ def suit_125(char: Character):
|
||||
- 冷却时间:103秒
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2160,6 +2167,7 @@ def suit_126(char: Character):
|
||||
- 冷却时间:99秒
|
||||
- 立即发动[第二次幸运]
|
||||
"""
|
||||
suit_116(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2211,6 +2219,11 @@ def suit_132(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 30% (辅助职业除外)
|
||||
"""
|
||||
if not char.buffer:
|
||||
char.SetSkillCD(50,50,0.3,[])
|
||||
char.SetSkillCD(85,85,0.3,[])
|
||||
char.SetSkillRation(100,100,0.3)
|
||||
char.SetSkillRation(85,85,0.3)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2223,6 +2236,7 @@ def suit_133(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 30% (辅助职业除外)
|
||||
"""
|
||||
suit_132(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2235,6 +2249,7 @@ def suit_134(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 30% (辅助职业除外)
|
||||
"""
|
||||
suit_132(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2247,6 +2262,7 @@ def suit_135(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 30% (辅助职业除外)
|
||||
"""
|
||||
suit_132(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2259,6 +2275,7 @@ def suit_136(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 30% (辅助职业除外)
|
||||
"""
|
||||
suit_132(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2272,6 +2289,12 @@ def suit_137(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 50% (辅助职业除外)
|
||||
"""
|
||||
if not char.buffer:
|
||||
char.SetSkillCD(50,50,0.5,[])
|
||||
char.SetSkillCD(85,85,0.3,[])
|
||||
char.SetSkillCD(100,100,0.5,[])
|
||||
char.SetSkillRation(100,100,0.4)
|
||||
char.SetSkillRation(85,85,0.4)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2285,6 +2308,7 @@ def suit_138(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 50% (辅助职业除外)
|
||||
"""
|
||||
suit_137(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2298,6 +2322,7 @@ def suit_139(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 50% (辅助职业除外)
|
||||
"""
|
||||
suit_137(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2311,6 +2336,7 @@ def suit_140(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 50% (辅助职业除外)
|
||||
"""
|
||||
suit_137(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2324,6 +2350,7 @@ def suit_141(char: Character):
|
||||
- 85级技能冷却时间 - 30% (辅助职业除外)
|
||||
- 50级技能冷却时间 - 50% (辅助职业除外)
|
||||
"""
|
||||
suit_137(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2346,6 +2373,17 @@ def suit_142(char: Character):
|
||||
最大填充时释放能量造成大量伤害
|
||||
* 能量释放伤害 : 240,000%
|
||||
"""
|
||||
if not char.buffer:
|
||||
char.SetSkillCD(50,50,0.5,[])
|
||||
char.SetSkillCD(85,85,0.3,[])
|
||||
char.SetSkillCD(100,100,0.5,[])
|
||||
char.SetSkillRation(100,100,0.6)
|
||||
char.SetSkillRation(85,85,0.5)
|
||||
char.SetSkillRation(50,50,0.1)
|
||||
for item in char.skills:
|
||||
if item.lv == 100:
|
||||
cd = item.getSkillCD()
|
||||
char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=240000))
|
||||
pass
|
||||
|
||||
|
||||
@@ -2368,6 +2406,7 @@ def suit_143(char: Character):
|
||||
最大填充时释放能量造成大量伤害
|
||||
* 能量释放伤害 : 240,000%
|
||||
"""
|
||||
suit_142(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2390,6 +2429,7 @@ def suit_144(char: Character):
|
||||
最大填充时释放能量造成大量伤害
|
||||
* 能量释放伤害 : 240,000%
|
||||
"""
|
||||
suit_142(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2412,6 +2452,7 @@ def suit_145(char: Character):
|
||||
最大填充时释放能量造成大量伤害
|
||||
* 能量释放伤害 : 240,000%
|
||||
"""
|
||||
suit_142(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2434,6 +2475,7 @@ def suit_146(char: Character):
|
||||
最大填充时释放能量造成大量伤害
|
||||
* 能量释放伤害 : 240,000%
|
||||
"""
|
||||
suit_142(char)
|
||||
pass
|
||||
|
||||
|
||||
@@ -2458,6 +2500,17 @@ def suit_147(char: Character):
|
||||
最大填充时释放能量造成大量伤害
|
||||
* 能量释放伤害 : 360,000%
|
||||
"""
|
||||
if not char.buffer:
|
||||
char.SetSkillCD(50,50,0.5,[])
|
||||
char.SetSkillCD(85,85,0.3,[])
|
||||
char.SetSkillCD(100,100,0.5,[])
|
||||
char.SetSkillRation(100,100,0.76)
|
||||
char.SetSkillRation(85,85,0.6)
|
||||
char.SetSkillRation(50,50,0.15)
|
||||
for item in char.skills:
|
||||
if item.lv == 100:
|
||||
cd = item.getSkillCD()
|
||||
char.equ_effect.append(EquEffect(name='能量释放', icon='/equipment/suit/4.png', cd=cd, data=360000))
|
||||
pass
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user