This commit is contained in:
2025-04-12 12:11:46 +08:00
parent caa032d1eb
commit 34551c7b35
31 changed files with 1379 additions and 166 deletions
+4 -6
View File
@@ -10,12 +10,10 @@ from api.core.exception import ResponseException
class AlterState:
def __init__(self, value: str, token: str, charcater: Character, equVersion: str,time: int):
self.value = value
try:
self.alter = get_adv_info(value)["class"]
except Exception:
raise ResponseException(f'无效的职业{value}')
def __init__(self, alter: str, token: str, charcater: Character, equVersion: str,time: int):
if alter is None:
raise ResponseException('无效的职业')
self.alter = alter
self.token = token
self.origin = self.alter.split('.')[-1]
self.character = charcater
-1
View File
@@ -10,7 +10,6 @@ def get_redis_info(redis, key, fun,without_gzip=False):
else:
info = json.loads(gzip_unzip(redis.get(key)))
except Exception as ex:
print(ex)
info = None
if info is None:
info = fun()
+5 -2
View File
@@ -5,16 +5,18 @@ from sqlalchemy.orm import Session
from fastapi import Depends, Header
from api.core.exception import ResponseException
from core.character.adventure import get_adv_info
from database.connect import get_db, get_redis
from api.core.Auth import AlterState
import base64
import json
from api.core.Redis import get_redis_info
SessionDep = Annotated[Session, Depends(get_db)]
RedisDep = Annotated[Redis, Depends(get_redis)]
def alterToken(alter_token: Optional[str] = Header(None)):
def alterToken(redis:RedisDep,alter_token: Optional[str] = Header(None)):
if alter_token is not None:
try:
decoded_bytes = base64.b64decode(alter_token)
@@ -23,7 +25,8 @@ def alterToken(alter_token: Optional[str] = Header(None)):
# 6小时过期
if (int(time.time() * 1000) - alter['time']) / (60 * 60 * 1000) > 6:
raise ResponseException('登录过期或无效Token,请刷新后重试')
return AlterState(alter['alter'], alter_token, {}, alter['equVersion'], alter['time'])
alterData = get_redis_info(redis, f'dcalc:adventure:{alter['alter']}', lambda : get_adv_info(alter['alter']))
return AlterState(alterData["class"], alter_token, {}, alter['equVersion'], alter['time'])
except (base64.binascii.Error, json.JSONDecodeError):
raise ResponseException('登录过期或无效Token,请刷新后重试')
else:
+161 -10
View File
@@ -1,9 +1,117 @@
from typing import Any, Literal
from collections.abc import Mapping
from abc import ABC, abstractmethod
from typing import Any, Literal, Mapping
class CharacterProperty(ABC):
"""
抽象类,用于定义Character的接口和属性
"""
class CharacterProperty:
def SetStatus(
# region 角色属性
STR: float
"""力量"""
INT: float
"""智力"""
Spirit: float
"""精神"""
Vitality: float
"""体力"""
AtkP: float
"""物理攻击力"""
PAtkP: float
"""物理攻击力%"""
AtkM: float
"""魔法攻击力"""
PAtkM: float
"""魔法攻击力%"""
AtkI: float
"""独立攻击力"""
PAtkI: float
"""独立攻击力%"""
ElementA: dict[str, float]
"""属性攻击"""
ElementIncrease: float
"""属性增幅"""
ElementDB: dict[str, float]
"""属性强化数值"""
ElementR: dict[str, float]
"""属性抗性数值"""
CriticalM: float
"""魔法暴击"""
CriticalP: float
"""物理暴击"""
SkillAttack: float
"""技能攻击力"""
SpeedA: float
"""攻击速度"""
SpeedM: float
"""移动速度"""
SpeedR: float
"""施放速度"""
Hit: float
"""命中率"""
Abnormal: dict[str, bool]
"""敌人异常状态"""
MonsterInfo: dict[str, float]
"""怪物信息"""
jade_effect: Any
"""辟邪玉加成"""
Buffer: float
"""增益量"""
BufferP: float
"""增益量%"""
Attack: float
"""攻击强化"""
AttackP: float
"""攻击强化%"""
# endregion
# region 职业属性
实际名称: str
名称: str
角色: str
角色类型: str
职业: str
武器选项: list[str]
输出类型选项: list[str]
防具精通属性: list[str]
输出类型: str
# endregion
@abstractmethod
def SetBaseStatus(self) -> None:
"""设角色基础属性"""
pass
@abstractmethod
def SetStatus(
self,
力量=0,
智力=0,
@@ -43,8 +151,7 @@ class CharacterProperty:
攻击强化P=0,
增益量=0,
增益量P=0,
**kwargs: Mapping[
Literal[
**kwargs: Mapping[Literal[
'STR',
'INT',
'AtkP',
@@ -79,8 +186,52 @@ class CharacterProperty:
'Spirit',
'Vitality',
'EquEffectRatio',
],
Any,
],
], Any],
) -> None:
pass
"""设置角色属性"""
pass
@abstractmethod
def AddElementDB(self, element: str, value: float, type: int = 0) -> None:
"""增加属性强化"""
pass
@abstractmethod
def AddSkillLv(self, min: int, max: int, lv: int, type=-1) -> None:
"""增加技能等级"""
pass
@abstractmethod
def SetSkillCD(self, min=1, max=100, cd=0, exclude=[50, 85, 100]) -> None:
"""设置技能CD"""
pass
@abstractmethod
def SetSkillCDRecover(self, min=1, max=100, cd=0, exclude=[50, 85, 100]) -> None:
"""设置技能CD恢复"""
pass
@abstractmethod
def SetSkillRation(self, min=1, max=100, ratio=0, type=0) -> None:
"""设置技能倍率"""
pass
@abstractmethod
def GetSkillByName(self, name) -> Any:
"""通过技能名获取技能"""
pass
@abstractmethod
def GetSkillByID(self, id: str) -> Any:
"""通过技能ID获取技能"""
pass
@abstractmethod
def GetSkillNames(self, type: Literal['active', 'passive', 'all'] = 'all', damage: Literal[True, False, 'all'] = 'all') -> list[str]:
"""获取技能名字"""
pass
@abstractmethod
def calc(self, setInfo: dict[str, dict]) -> dict:
"""计算角色属性"""
pass
+146 -87
View File
@@ -3,6 +3,7 @@ import importlib
from typing import Any, Literal, Mapping, Union
from uuid import uuid1
from core.abstract.character import CharacterProperty
from core.basic.property import CharacterInfo
from core.basic.skill import Skill
@@ -29,7 +30,7 @@ class Jade:
self.SkillAttack = 0.0
class Character:
class Character(CharacterProperty):
# region 角色属性
STR: float
@@ -132,9 +133,7 @@ class Character:
max_point = 0
"""套装效果点数"""
# region 角色属性
buffer: bool = False
# endregion
# region 职业属性
实际名称: str = ''
@@ -223,7 +222,7 @@ class Character:
# 角色四维
temp = 获取基础属性(self.角色, self.职业)
for index, i in enumerate([get_key_by_value(i) for i in ['力量', '体力', '智力', '精神']]):
setattr(self, i, temp[index])
setattr(self, i, getattr(self,i) + temp[index])
# 角色属性抗性
pass
# 角色异常抗性
@@ -360,9 +359,9 @@ class Character:
"""
for skill in self.skills:
if min <= skill.learnLv <= max:
type = 'all' if type == -1 else ('active' if type == 1 else 'passive')
if type == 'all' or skill.type == type:
skill.lv += 1
skillType = 'all' if type == -1 else ('active' if type == 1 else 'passive')
if (skillType == 'all' or skill.type == skillType) and skill.lv > 0:
skill.lv += lv
def SetSkillCD(self, min=1, max=100, cd=0, exclude=[50, 85, 100]) -> None:
"""
@@ -462,8 +461,9 @@ class Character:
info['equips'] = equs
info['suits'] = suits
info['stones'] = stones
info['enchants'] = equInfos.enchants
info['emblems'] = equInfos.emblems
key = '辅助' if self.buffer else '输出'
info['enchants'] = list(filter(lambda x: key in x["categorize"], equInfos.enchants))
info['emblems'] = list(filter(lambda x: key in x["categorize"], equInfos.emblems))
info['avatar'] = equInfos.funs.get_dress_list(skill_clothes)
info['jades'] = equInfos.jades
info['sundry'] = equInfos.funs.sundryList
@@ -690,8 +690,9 @@ class Character:
reinforce = self.charEquipInfo[part].reinforce
if equ is None:
continue
value = 精通计算(115, equ.rarity, reinforce, equ.itemDetailType, self.防具类型)
for key in self.防具精通属性:
value = 精通计算(115, equ.rarity, reinforce, equ.itemDetailType, self.防具类型,self.buffer,key)
key = get_key_by_value(key)
setattr(self, key, getattr(self, key) + value)
# 115增幅强化品级固定史诗
@@ -788,92 +789,26 @@ class Character:
suit = self.calc_suits()
# 部位效果计算
self.calc_equs()
# print(suit)
# effects = get_equipment(self.equVersion).funs
# for effect in equ_effect:
# func = effects.equ_func_list.get(str(effect), None)
# if func is not None:
# func(self)
# for effect in suits_effect:
# func = effects.suit_func_list.get(str(effect), None)
# if func is not None:
# func(self)
# 徽章计算
# 附魔计算
# 技能计算
skillInfos = []
for i in self.skills:
if i.damage and i.lv > 0:
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] / 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':''
}
)
attrs = []
if self.输出类型 == '物理百分比':
attrs.extend(['STR', 'AtkP'])
if self.输出类型 == '魔法百分比':
attrs.extend(['INT', 'AtkM'])
if self.输出类型 == '物理固伤':
attrs.extend(['STR', 'AtkI'])
if self.输出类型 == '魔法固伤':
attrs.extend(['INT', 'AtkI'])
info = []
attrs.extend(['Attack', 'AttackP', 'SkillAttack','EquEffectRatio', 'ElementDB'])
for attr in attrs:
temp = getattr(CharacterInfo, attr)
if attr.startswith('Atk'):
info.append({'name': temp.name, 'value': temp.value(getattr(self, attr) * getattr(self, f'P{attr}'))})
pass
else:
value = getattr(self, attr)
if attr == 'SkillAttack':
value *= (self.jade_effect.SkillAttack + 1)
if attr == 'AttackP':
value += self.jade_effect.AttackP
info.append(
{
'name': temp.name,
'value': temp.value(value),
}
)
pass
if self.buffer:
skillInfos = self.calc_buffer_skills()
info = self.get_buffer_info()
pass
else:
skillInfos = self.calc_carry_skills()
info = self.get_carry_info()
return {
'uuid': uuid1().hex,
'skills': skillInfos,
'info': info,
'suits': suit,
'buffer':self.buffer
}
# 技能影响角色的属性,如属强、抗性等
# region 输出计算项
def calc_damage_ration(self):
"""计算属性系数"""
# 计算最终属性
@@ -910,6 +845,130 @@ class Character:
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)
def calc_carry_skills(self):
skillInfos = []
for i in self.skills:
if i.damage and i.lv > 0:
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] / 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':''
}
)
return skillInfos
def get_carry_info(self):
attrs = []
if self.输出类型 == '物理百分比':
attrs.extend(['STR', 'AtkP'])
if self.输出类型 == '魔法百分比':
attrs.extend(['INT', 'AtkM'])
if self.输出类型 == '物理固伤':
attrs.extend(['STR', 'AtkI'])
if self.输出类型 == '魔法固伤':
attrs.extend(['INT', 'AtkI'])
info = []
attrs.extend(['Attack', 'AttackP', 'SkillAttack','EquEffectRatio', 'ElementDB'])
for attr in attrs:
temp = getattr(CharacterInfo, attr)
if attr.startswith('Atk'):
info.append({'name': temp.name, 'value': temp.value(getattr(self, attr) * getattr(self, f'P{attr}'))})
pass
else:
value = getattr(self, attr)
if attr == 'SkillAttack':
value *= (self.jade_effect.SkillAttack + 1)
if attr == 'AttackP':
value += self.jade_effect.AttackP
info.append(
{
'name': temp.name,
'value': temp.value(value),
}
)
pass
return info
# endregion
#region 辅助计算项
def calc_buffer_skills(self):
skillInfos = []
# 适用属性
main = getattr(self, get_key_by_value(self.适用属性))
buffer_power = self.Buffer * self.BufferP
# buff系数
buff_ratio_new = (((main+ 4350) / 665 + 1) * (buffer_power + 3500)/26395) if buffer_power > 0 else 0
buff_ratio_old = main / 665 + 1
# 觉醒系数
awake_ratio_new = ((main + 5250) / 750 + 1) *(buffer_power + 5000) * 0.000025 if buffer_power > 0 else 0
awake_ratio_old = main / 750 + 1
for i in self.skills:
if i.buffer and i.lv > 0:
info = i.skillInfo()
# 奶自己的面板加成
value = info[0]
# buff技能
if i.buffType == 'buff':
value1 = (info[1][0] + info[1][2])*info[1][1]*buff_ratio_old + info[1][0]*buff_ratio_new
value2 = (info[2][0] + info[2][2])*info[2][1]*buff_ratio_old + info[2][0]*buff_ratio_new
# 觉醒技能
elif i.buffType == 'awake':
value1 = (info[1][0] + info[1][2])*info[1][1]*awake_ratio_old + info[1][0]*awake_ratio_new
value2 = (info[2][0] + info[2][2])*info[2][1]*awake_ratio_old + info[2][0]*awake_ratio_new
else:
value1 = (info[1][0] + info[1][2])*info[1][1]
value2 = (info[2][0] + info[2][2])*info[2][1]
value3 = info[3]
value4 = info[4]
skillInfos.append({
"name":i.name,
"cd":value4,
"icon":i.icon,
"lv": i.lv,
# 对自己的加成 三攻 力智 伤害直接加成
"buff":[value, value1, value2, value3],
})
return skillInfos
def get_buffer_info(self):
attrs = [get_key_by_value(self.适用属性),'Buffer','BufferP']
info = []
for attr in attrs:
temp = getattr(CharacterInfo, attr)
value = getattr(self, attr)
info.append({
'name': temp.name,
'value': temp.value(value),
})
return info
# endregion
# endregion
+10 -11
View File
@@ -311,17 +311,16 @@ def 武器MP系数(武器类型, 输出类型) -> float:
品级加分 = {'稀有': 5, '神器': 8, '勇者': 11, '传说': 14, '史诗': 17, '智慧产物': 17, '神话': 18}
def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类):
return round((20 + 甲类系数[甲类] * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
def 辅助精通计算(装备等级, 品质, 强化等级, 部位, 属性):
if 属性 == '智力':
return round((8 + 2.4 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
if 属性 == '体力':
return round((4 + 1.6 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
if 属性 == '精神':
return round((8 + 0.8 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类,属性='',carry=True):
if carry:
return round((20 + 甲类系数[甲类] * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
else:
if 属性 == '智力':
return round((8 + 2.4 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
if 属性 == '体力':
return round((4 + 1.6 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
if 属性 == '精神':
return round((8 + 0.8 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2)
# endregion
+5
View File
@@ -54,6 +54,11 @@ class CharacterInfo(enum.Enum):
AttackP = '攻击强化%', '/ui/UI_ProfileIcon_015.png', lambda x: f'{format(x * 100 - 100, ".1f")}%'
"""攻击强化%"""
Buffer = '增益量','', lambda x: f'{format(x, ".0f")}'
BufferP = '增益量%', '', lambda x: f'{format(x * 100 - 100, ".1f")}%'
"""攻击强化%"""
EquEffectRatio = '特效伤害', '/ui/UI_ProfileIcon_016.png', lambda x: f'{format(x * 100 - 100, ".1f")}%'
# HitP : float
+99
View File
@@ -64,6 +64,8 @@ class Skill:
"""
mode : list[str] = ['']
"""技能模式"""
buffer: bool = False
"""是否是增益技能"""
def __init__(self, char):
self.char = char
@@ -154,6 +156,8 @@ class ActiveSkill(Skill):
"""技能类型 active主动 passive被动"""
damage: bool = True
"""是否是伤害技能"""
buffer: bool = False
"""是否是buff技能"""
def __init__(self, char):
super().__init__(char)
@@ -215,3 +219,98 @@ class PassiveSkill(Skill):
"""技能类型 active主动 passive被动"""
damage: bool = False
"""是否是伤害技能"""
buffer: bool = False
"""是否是buff技能"""
class BuffSkill(Skill):
buffer: bool = True
"""是否是增益技能"""
damage: bool = False
"""是否是伤害技能"""
buffType = 'normal'
"""增益类型 normal普通 buff 主BUFF awake 觉醒技能"""
INT: list[float] = []
"""智力"""
STR: list[float] = []
"""力量"""
Spirit: list[float] = []
"""精神"""
Vitality: list[float] = []
"""体力"""
"""主要属性"""
ATK : list[float] = []
"""三攻加成"""
ATKRatio: float = 1
"""三攻*算倍率"""
ATKPLUS : float = 0
"""三攻加算加成"""
STRINT : list[float] = []
"""力量智力加成"""
STRINTRatio: float = 1
"""力量智力*算倍率"""
STRINTPLUS : float = 0
"""力量智力加算加成"""
CarryRatio: list[float] = []
"""对C的额外增伤倍率"""
def getSkillCD(self):
return '-'
def skillInfo(self, mode: str | None = None):
"""
Returns:
tuple: (奶自己的面板加成,[三攻,三攻倍率,三攻额外加成],[力智,力智倍率,力智额外加成],对C增伤倍率,cd)
"""
lv = self.lv
value = 0
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]
if self.char.适用属性 == '智力':
value = 0 if lv > len(self.INT) else self.INT[lv]
elif self.char.适用属性 == '力量':
value = 0 if lv > len(self.STR) else self.STR[lv]
elif self.char.适用属性 == '体力':
value = 0 if lv > len(self.Vitality) else self.Vitality[lv]
elif self.char.适用属性 == '精神':
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()
class PassiveBufferSkill(BuffSkill):
type: str = 'passive'
class ActiveBufferSkill(BuffSkill):
type: str = 'active'
def getWeaponCDRatio(self):
weapon = self.char.charEquipInfo['武器'].equInfo
if weapon is None or '传世武器' in weapon.categorize:
return 1
else:
return 武器冷却惩罚(weapon.itemDetailType,self.char.输出类型)
def getQuickCDRatio(self):
return 1.0
cdr = 0
if 15 <= self.learnLv <= 30:
cdr = 0.01
elif 35<= self.learnLv <= 70:
cdr = 0.02
elif 75<= self.learnLv <= 100:
cdr = 0.05
if self.learnLv in [50,85,100]:
cdr = 0.05
return 1 - cdr
def getSkillCD(self):
return max(0,round(max(
self.cd * 0.3,
self.cd * self.cdReduce / self.cdRecover * self.getWeaponCDRatio() * self.getQuickCDRatio(),1)
- self.cdCut,2
))
@@ -0,0 +1,646 @@
#0c1b401bb09241570d364420b3ba3fd7
from core.basic.skill import PassiveBufferSkill,ActiveBufferSkill,ActiveSkill,PassiveSkill
from core.basic.character import Character
# 圣光灌注 빛의 은총
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/8f73f243041c2d27739fe7696f02bf9b?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill0(PassiveBufferSkill):
name = "圣光灌注"
learnLv = 1
masterLv = 1
maxLv = 1
position = 3 #TODO
rangeLv = 1
CarryRatio = [0, 4.5 * 3]# noqa: E501
# 启示 : 惩戒 계시 : 크루세이드
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/42c82812f86ff6704ae9952a2e6093a4?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill1(PassiveSkill):
name = "启示 : 惩戒"
learnLv = 1
masterLv = 1
maxLv = 1
position = 4 #TODO
rangeLv = 2
icon = "$char/启示:惩戒"
data0 = [0, 15]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 5]# noqa: E501
hit1 = 1 #TODO
# 治愈祈祷 치유의 기도
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/0969cd4054d93da07708108c0cc1c4b5?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill2(ActiveBufferSkill):
name = "治愈祈祷"
learnLv = 5
masterLv = 60
maxLv = 70
position = 4 #TODO
rangeLv = 3
cd = 10
mp = [15, 154]
buffer = True
data0 = [0, 468, 1170, 1824, 2433, 3135, 3743, 4444, 5052, 5707, 6363, 7018, 7672, 8328, 8983, 9637, 10292, 10948, 11603, 12257, 12912, 13568, 14222, 14877, 15533, 16140, 16842, 17451, 18105, 18807, 19929, 21099, 21894, 22738, 23531, 24375, 25216, 26059, 26901, 27742, 28586, 29427, 30223, 31064, 31907, 32749, 33590, 34434, 35275, 36117, 36912, 37755, 38597, 39438, 40282, 41123, 41965, 42808, 43603, 44445, 45286, 46130, 46971, 47813, 48656, 49497, 50293, 51134, 51978, 52819, 53661]# noqa: E501
hit0 = 1 #TODO
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 #TODO
data2 = [0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900]# noqa: E501
hit2 = 1 #TODO
# 净化 큐어
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/4655101518604f874721b3cc249aae10?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill3(ActiveBufferSkill):
name = "净化"
learnLv = 10
masterLv = 1
maxLv = 11
position = 4 #TODO
rangeLv = 5
cd = 15
mp = [22, 238]
buffer = True
data0 = [0, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530]# noqa: E501
hit1 = 1 #TODO
# 圣洁之光 홀리 플래쉬
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/4224f9b0b8c7c903e9a1e0f9d9f6d04d?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill4(ActiveBufferSkill):
name = "圣洁之光"
learnLv = 15
masterLv = 60
maxLv = 70
position = 8 #TODO
rangeLv = 2
cd = 4
mp = [27, 294]
data0 = [0, 4847, 5338, 5829, 6321, 6814, 7305, 7796, 8288, 8779, 9272, 9763, 10254, 10746, 11239, 11730, 12221, 12713, 13204, 13697, 14188, 14680, 15171, 15662, 16155, 16646, 17138, 17629, 18122, 18613, 19105, 19596, 20087, 20580, 21072, 21563, 22054, 22547, 23038, 23530, 24021, 24512, 25005, 25497, 25988, 26479, 26972, 27464, 27955, 28446, 28937, 29430, 29922, 30413, 30904, 31396, 31889, 32380, 32871, 33363, 33856, 34347, 34838, 35329, 35821, 36314, 36805, 37296, 37788, 38281, 38772]# noqa: E501
hit0 = 1 #TODO
# 启示 : 圣歌 계시 : 아리아
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/78bd107acd474518b606be1e4fd38239?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill5(PassiveBufferSkill):
name = "启示 : 圣歌"
learnLv = 15
masterLv = 60
maxLv = 70
position = 2 #TODO
rangeLv = 3
icon = "$char/启示:圣歌"
INT = [0, 86, 90, 94, 98, 102, 107, 112, 117, 123, 129, 135, 141, 147, 154, 161, 169, 177, 185, 193, 201, 210, 219, 229, 238, 248, 258, 269, 279, 290, 301, 313, 325, 337, 349, 361, 375, 388, 401, 415, 429, 443, 457, 473, 487, 503, 519, 535, 551, 567, 584, 598, 614, 630, 646, 662, 677, 693, 709, 725, 741, 756, 772, 788, 804, 820, 835, 851, 867, 883, 899]# noqa: E501
associate = [{"data":INT,"type":"$+INT","ratio":1}]
# 十字架精通 십자가 마스터리
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/9cb6f9ed646fa87f9b7680a42ce83d1a?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill6(PassiveSkill):
name = "十字架精通"
learnLv = 20
masterLv = 10
maxLv = 20
position = 0 #TODO
rangeLv = 3
data0 = [0, 6.5, 8, 9.5, 11, 12.5, 14, 15.5, 17, 18.5, 20, 21.5, 23, 24.5, 26, 27.5, 29, 30.5, 32, 33.5, 35]# noqa: E501
associate = [{"data": data0, "type": "$*PATKI"}]
data1 = [0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]# noqa: E501
data2 = [0, 15.5, 16, 16.5, 17, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25]# noqa: E501
# 胜利之矛 승리의 창
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/3d8f3d438405d79f8d3ed68072674d1e?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill7(ActiveSkill):
name = "胜利之矛"
learnLv = 20
masterLv = 60
maxLv = 70
position = 6 #TODO
rangeLv = 2
cd = 7
mp = [32, 343]
data0 = [0, 3764, 4145, 4527, 4908, 5289, 5673, 6054, 6436, 6817, 7198, 7580, 7963, 8345, 8726, 9109, 9489, 9872, 10254, 10635, 11018, 11399, 11779, 12164, 12544, 12927, 13308, 13690, 14071, 14455, 14836, 15217, 15599, 15980, 16364, 16745, 17126, 17508, 17889, 18272, 18654, 19037, 19417, 19798, 20181, 20563, 20946, 21327, 21707, 22090, 22471, 22855, 23236, 23618, 23999, 24380, 24762, 25145, 25527, 25908, 26291, 26671, 27054, 27436, 27817, 28200, 28580, 28961, 29345, 29726, 30109]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 5644, 6219, 6790, 7363, 7936, 8509, 9081, 9653, 10226, 10800, 11371, 11944, 12517, 13090, 13663, 14234, 14809, 15382, 15953, 16526, 17100, 17672, 18244, 18817, 19390, 19963, 20534, 21107, 21682, 22253, 22826, 23401, 23972, 24545, 25116, 25690, 26263, 26835, 27407, 27982, 28553, 29126, 29699, 30272, 30845, 31416, 31991, 32564, 33135, 33708, 34282, 34853, 35426, 35999, 36572, 37145, 37716, 38289, 38864, 39435, 40008, 40582, 41154, 41727, 42298, 42872, 43445, 44016, 44589, 45164]# noqa: E501
hit1 = 1 #TODO
# 守护祝福 수호의 축복
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/ade01c1d6afc8a05055225045e89fe49?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill8(ActiveBufferSkill):
name = "守护祝福"
learnLv = 20
masterLv = 10
maxLv = 20
position = 4 #TODO
rangeLv = 3
cd = 10
mp = [35, 392]
data0 = [0, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 383, 386, 389, 392, 395, 398, 401, 404, 407, 410, 413, 416, 419, 422, 425, 428, 431, 434, 437, 440]# noqa: E501
hit1 = 1 #TODO
data2 = [0, 11080, 11130, 11180, 11230, 11280, 11330, 11380, 11430, 11480, 11530, 11580, 11630, 11680, 11730, 11780, 11830, 11880, 11930, 11980, 12030]# noqa: E501
hit2 = 1 #TODO
data3 = [0, 94, 98, 102, 107, 112, 116, 122, 127, 131, 137, 141, 147, 153, 158, 163, 169, 175, 181, 187, 192]# noqa: E501
hit3 = 1 #TODO
data4 = [0, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900, 900]# noqa: E501
hit4 = 1 #TODO
# 洗礼之光 세례의 빛
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/ff171dc487807bb9aa28900ca9a46b41?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill9(ActiveSkill):
name = "洗礼之光"
learnLv = 25
masterLv = 60
maxLv = 70
position = 8 #TODO
rangeLv = 2
cd = 7
mp = [32, 343]
data0 = [0, 9778, 10771, 11762, 12755, 13746, 14739, 15732, 16723, 17716, 18707, 19700, 20692, 21684, 22676, 23667, 24660, 25653, 26644, 27637, 28628, 29621, 30614, 31605, 32598, 33589, 34581, 35574, 36565, 37558, 38549, 39542, 40535, 41526, 42519, 43510, 44503, 45495, 46487, 47479, 48470, 49463, 50456, 51447, 52440, 53429, 54424, 55417, 56406, 57401, 58390, 59383, 60374, 61367, 62359, 63351, 64343, 65334, 66327, 67320, 68311, 69304, 70295, 71288, 72281, 73272, 74265, 75256, 76248, 77241, 78232]# noqa: E501
hit0 = 1 #TODO
# 圣光守护 신성한 빛
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/547ab2b2bd860d3e37355a9cfbc1077c?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill10(ActiveBufferSkill):
name = "圣光守护"
learnLv = 25
masterLv = 50
maxLv = 60
position = 5 #TODO
rangeLv = 3
cd = 20
mp = [15, 154]
buffer = True
data0 = [0, 19695, 22833, 25973, 29113, 32252, 35392, 38532, 41670, 44810, 47950, 51090, 54230, 57368, 60508, 63648, 66788, 69928, 73066, 76206, 79346, 82486, 85626, 88766, 91904, 95044, 98184, 101323, 104463, 107602, 110741, 113881, 117021, 120161, 123299, 126439, 129579, 132719, 135859, 138999, 142137, 145277, 148417, 151557, 154697, 157835, 160975, 164115, 167255, 170394, 173533, 176673, 179812, 182952, 186092, 189230, 192370, 195510, 198650, 201790, 204930]# noqa: E501
hit0 = 1 #TODO
# 勇气祝福 용맹의 축복
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/8c2379737c5acc935c1731f67f607655?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill11(ActiveBufferSkill):
name = "勇气祝福"
learnLv = 30
masterLv = 10
maxLv = 40
position = 4 #TODO
rangeLv = 3
cd = 10
mp = [35, 399]
buffer = True
buffType = "buff"
# 三攻
ATK = [0, 39, 41, 43, 44, 45, 47, 49, 50, 52, 53, 54, 56, 58, 59, 61, 62, 63, 65, 67, 69, 70, 71, 73, 75, 77, 79, 80, 81, 83, 85, 86, 88, 89, 90, 92, 94, 95, 97, 98, 100]# noqa: E501
# 力智
STRINT = [0, 154, 164, 176, 186, 197, 206, 216, 227, 237, 249, 259, 269, 280, 290, 302, 311, 321, 332, 342, 353, 363, 374, 385, 395, 406, 415, 425, 437, 447, 458, 468, 478, 489, 500, 511, 520, 530, 541, 551, 563]# noqa: E501
# 圣光烬盾 세인트 월
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/5dc7008b12a459325b548b0715c6b73c?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill12(ActiveSkill):
name = "圣光烬盾"
learnLv = 30
masterLv = 60
maxLv = 70
position = 8 #TODO
rangeLv = 2
cd = 10
mp = [91, 763]
data0 = [0, 4174, 4595, 5018, 5443, 5867, 6288, 6712, 7137, 7560, 7982, 8407, 8830, 9253, 9676, 10100, 10523, 10946, 11371, 11793, 12216, 12640, 13065, 13488, 13909, 14333, 14758, 15181, 15603, 16028, 16451, 16874, 17296, 17721, 18144, 18567, 18992, 19414, 19837, 20261, 20686, 21107, 21531, 21954, 22379, 22802, 23224, 23649, 24072, 24495, 24917, 25342, 25765, 26189, 26610, 27035, 27458, 27882, 28307, 28728, 29152, 29577, 30000, 30422, 30845, 31270, 31693, 32115, 32538, 32963, 33386]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 9736, 10725, 11713, 12701, 13688, 14678, 15664, 16653, 17641, 18627, 19616, 20602, 21592, 22579, 23567, 24555, 25544, 26530, 27520, 28507, 29495, 30483, 31472, 32458, 33446, 34435, 35421, 36411, 37397, 38386, 39374, 40361, 41349, 42339, 43325, 44314, 45302, 46289, 47277, 48266, 49252, 50240, 51230, 52216, 53205, 54191, 55180, 56168, 57156, 58143, 59133, 60119, 61108, 62096, 63084, 64071, 65059, 66047, 67034, 68024, 69010, 69999, 70987, 71975, 72962, 73952, 74938, 75927, 76913, 77903]# noqa: E501
hit1 = 1 #TODO
# 神光惩戒 샤인 크로스
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/7e904ea3d2a9faa054604e55120a9268?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill13(ActiveSkill):
name = "神光惩戒"
learnLv = 30
masterLv = 60
maxLv = 70
position = 6 #TODO
rangeLv = 2
cd = 10
mp = [400, 1000]
data0 = [0, 2708, 2984, 3257, 3531, 3806, 4082, 4357, 4633, 4905, 5180, 5455, 5731, 6006, 6278, 6554, 6829, 7104, 7380, 7655, 7927, 8203, 8478, 8753, 9029, 9302, 9576, 9852, 10127, 10402, 10676, 10951, 11225, 11501, 11776, 12050, 12325, 12600, 12876, 13150, 13423, 13699, 13974, 14249, 14525, 14797, 15072, 15348, 15623, 15898, 16174, 16446, 16721, 16997, 17272, 17547, 17819, 18095, 18370, 18646, 18921, 19195, 19468, 19744, 20019, 20295, 20568, 20844, 21117, 21393, 21668]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 4063, 4473, 4886, 5299, 5712, 6122, 6535, 6948, 7359, 7771, 8184, 8597, 9008, 9420, 9833, 10244, 10657, 11069, 11482, 11893, 12306, 12718, 13129, 13542, 13955, 14367, 14778, 15191, 15604, 16014, 16427, 16840, 17250, 17663, 18076, 18489, 18899, 19312, 19725, 20137, 20548, 20961, 21374, 21786, 22199, 22610, 23021, 23435, 23848, 24259, 24670, 25084, 25497, 25906, 26319, 26733, 27142, 27555, 27968, 28382, 28791, 29204, 29617, 30029, 30440, 30853, 31266, 31678, 32089, 32502]# noqa: E501
hit1 = 1 #TODO
data2 = [0, 6769, 7458, 8143, 8832, 9518, 10205, 10892, 11579, 12266, 12954, 13639, 14328, 15013, 15701, 16390, 17075, 17763, 18448, 19137, 19822, 20511, 21197, 21884, 22571, 23258, 23945, 24631, 25318, 26007, 26692, 27380, 28065, 28754, 29439, 30127, 30814, 31501, 32188, 32875, 33561, 34250, 34935, 35624, 36309, 36997, 37682, 38371, 39059, 39744, 40433, 41118, 41806, 42493, 43180, 43867, 44554, 45240, 45927, 46614, 47303, 47988, 48676, 49361, 50050, 50735, 51423, 52110, 52797, 53484, 54171]# noqa: E501
hit2 = 1 #TODO
# 勇气圣歌 용맹의 아리아
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/506e7ed77d517419a6e1c437a2cedb17?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill14(ActiveBufferSkill):
name = "勇气圣歌"
learnLv = 35
masterLv = 60
maxLv = 70
position = 2 #TODO
rangeLv = 3
cube = 1
cd = 40
mp = [150, 1260]
buffer = True
data0 = [0, 2069, 2399, 2727, 3059, 3389, 3717, 4049, 4379, 4707, 5039, 5367, 5697, 6029, 6357, 6687, 7019, 7347, 7677, 8007, 8337, 8667, 8997, 9327, 9656, 9987, 10317, 10646, 10977, 11306, 11636, 11967, 12296, 12626, 12957, 13286, 13616, 13946, 14276, 14606, 14936, 15266, 15594, 15926, 16256, 16584, 16916, 17244, 17574, 17906, 18234, 18564, 18893, 19224, 19554, 19883, 20214, 20544, 20873, 21204, 21533, 21863, 22194, 22523, 22853, 23183, 23513, 23843, 24173, 24503, 24831]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]# noqa: E501
hit0 = 1 #TODO
def getSkillDate(self):
prep = self.char.GetSkillByName("勇气祝福").getSkillDate()
ratio = self.data1[self.lv] / 100
return prep[0] * ratio, [prep[1][0]*ratio,prep[1][1],prep[1][2]*ratio], [prep[2][0]*ratio,prep[2][1],prep[2][2]*ratio],0,self.getSkillCD()
# 神圣锁环 홀리 써클릿
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/8ee0099656df08a0b39225f8a21d514b?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill15(ActiveSkill):
name = "神圣锁环"
learnLv = 35
masterLv = 60
maxLv = 70
position = 8 #TODO
rangeLv = 2
cube = 1
cd = 18
mp = [150, 1260]
data0 = [0, 368, 405, 443, 479, 516, 555, 593, 629, 666, 705, 741, 779, 816, 852, 891, 929, 965, 1002, 1041, 1079, 1115, 1152, 1191, 1227, 1265, 1302, 1338, 1377, 1415, 1451, 1488, 1527, 1565, 1601, 1638, 1676, 1713, 1751, 1788, 1824, 1863, 1901, 1937, 1974, 2012, 2049, 2087, 2124, 2160, 2199, 2237, 2274, 2310, 2348, 2387, 2423, 2460, 2498, 2535, 2573, 2610, 2646, 2685, 2723, 2760, 2796, 2834, 2873, 2909, 2946]# noqa: E501
hit0 = 13
data2 = [0, 11174, 12308, 13440, 14574, 15707, 16842, 17975, 19109, 20243, 21375, 22509, 23642, 24777, 25910, 27044, 28178, 29310, 30444, 31578, 32712, 33845, 34979, 36113, 37245, 38379, 39513, 40647, 41780, 42914, 44048, 45180, 46316, 47448, 48582, 49715, 50849, 51983, 53115, 54251, 55383, 56517, 57650, 58784, 59918, 61052, 62186, 63318, 64452, 65585, 66719, 67853, 68987, 70121, 71253, 72387, 73520, 74654, 75789, 76922, 78056, 79188, 80322, 81455, 82590, 83724, 84857, 85991, 87123, 88257, 89390]# noqa: E501
hit2 = 1 #TODO
# 神之教诲 에디피케이션
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/9bff7f2559e003766fee2853dca00631?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill16(ActiveBufferSkill):
name = "神之教诲"
learnLv = 35
masterLv = 1
maxLv = 1
position = 5 #TODO
rangeLv = 2
cube = 1
cd = 20
mp = [630, 630]
# 忏悔之雷 정화의 번개
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/da6e37c1e3f0e8867f70007d89c239ff?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill17(ActiveSkill):
name = "忏悔之雷"
learnLv = 40
masterLv = 60
maxLv = 70
position = 8 #TODO
rangeLv = 2
cube = 1
cd = 18
mp = [160, 1344]
data0 = [0, 2289, 2523, 2753, 2987, 3219, 3452, 3684, 3915, 4148, 4380, 4613, 4845, 5076, 5309, 5543, 5775, 6008, 6239, 6471, 6704, 6936, 7169, 7400, 7632, 7865, 8099, 8331, 8562, 8795, 9027, 9260, 9492, 9723, 9956, 10188, 10421, 10655, 10886, 11118, 11351, 11583, 11816, 12047, 12279, 12512, 12744, 12977, 13208, 13442, 13674, 13907, 14139, 14370, 14603, 14835, 15068, 15300, 15531, 15764, 15998, 16230, 16463, 16694, 16926, 17159, 17391, 17624, 17855, 18087, 18320]# noqa: E501
hit0 = 5
data1 = [0, 11450, 12612, 13773, 14934, 16097, 17258, 18420, 19581, 20744, 21905, 23066, 24228, 25389, 26552, 27713, 28875, 30036, 31197, 32360, 33521, 34683, 35844, 37007, 38168, 39330, 40491, 41652, 42815, 43976, 45138, 46299, 47462, 48623, 49784, 50946, 52107, 53270, 54431, 55593, 56754, 57917, 59078, 60239, 61401, 62562, 63725, 64886, 66048, 67209, 68370, 69533, 70694, 71856, 73017, 74180, 75341, 76502, 77664, 78825, 79988, 81149, 82311, 83472, 84635, 85796, 86957, 88119, 89280, 90443, 91604]# noqa: E501
hit1 = 1 #TODO
# 复苏之光 부활
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/a6c8f69107f8c4f5d1a0c7a57d000290?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill18(ActiveSkill):
name = "复苏之光"
learnLv = 40
masterLv = 1
maxLv = 11
position = 5 #TODO
rangeLv = 2
cube = 2
mp = [200, 1680]
def getSkillCD(self):
return 0
# 神光十字 그랜드 크로스 크래쉬
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/3829c15bf5f520c13998a3479ba0ce7b?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill19(ActiveBufferSkill):
name = "神光十字"
learnLv = 45
masterLv = 60
maxLv = 70
position = 6 #TODO
rangeLv = 2
cube = 2
cd = 45
mp = [350, 2940]
damage = True
data0 = [0, 18954, 20876, 22800, 24722, 26646, 28568, 30491, 32414, 34337, 36260, 38183, 40104, 42029, 43950, 45875, 47796, 49719, 51642, 53565, 55488, 57411, 59333, 61257, 63179, 65103, 67025, 68949, 70871, 72794, 74717, 76640, 78561, 80486, 82407, 84332, 86253, 88178, 90099, 92022, 93945, 95868, 97791, 99714, 101636, 103560, 105483, 107406, 109329, 111251, 113175, 115097, 117021, 118943, 120867, 122789, 124712, 126635, 128558, 130479, 132404, 134325, 136250, 138171, 140096, 142017, 143940, 145863, 147786, 149709, 151632]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 28431, 31316, 34199, 37083, 39968, 42852, 45737, 48620, 51506, 54389, 57273, 60158, 63042, 65927, 68810, 71696, 74580, 77463, 80348, 83234, 86117, 89001, 91884, 94770, 97655, 100538, 103422, 106307, 109191, 112076, 114960, 117845, 120728, 123612, 126498, 129381, 132266, 135149, 138035, 140919, 143802, 146687, 149573, 152456, 155340, 158225, 161109, 163994, 166877, 169763, 172646, 175530, 178415, 181299, 184184, 187067, 189951, 192837, 195720, 198605, 201491, 204374, 207258, 210141, 213027, 215912, 218795, 221679, 224564, 227448]# noqa: E501
hit1 = 1 #TODO
STRINT = [0, 78, 84, 90, 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168, 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240, 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312, 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378, 384, 390, 396, 402, 408, 414, 420, 426, 432, 438, 444, 450, 456, 462, 468, 474, 480, 486, 492]# noqa: E501
# 新生圣歌 재생의 아리아
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/03bb5314ffd41e9458d67ef924fef38f?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill20(ActiveBufferSkill):
name = "新生圣歌"
learnLv = 45
masterLv = 1
maxLv = 11
position = 2 #TODO
rangeLv = 2
cube = 2
cd = 40
mp = [350, 2940]
# 虔诚信念 신실한 열정
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/1dad88963abdc96b091fcab185a8820d?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill21(ActiveBufferSkill):
name = "虔诚信念"
learnLv = 48
masterLv = 40
maxLv = 50
position = 7 #TODO
rangeLv = 3
STRINT = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892, 914, 937, 959, 982, 1004, 1027, 1049, 1072, 1094, 1117]# noqa: E501
hit0 = 1 #TODO
data0 = [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31.5, 33, 34.5, 36, 37.5, 39, 40.5, 42, 43.5, 45, 46.5, 48, 49.5, 51, 52.5, 54, 55.5, 57, 58.5, 60, 61.5, 63, 64.5, 66, 67.5, 69, 70.5, 72, 73.5, 75]# noqa: E501
INT = STRINT
associate = [
{"data":INT,"type":"$+INT","ratio":1}
]
# 圣光天启 크럭스 오브 빅토리아
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/bb34e8854a93fd250347a1c64119f7ab?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill22(ActiveBufferSkill):
name = "圣光天启"
learnLv = 50
masterLv = 40
maxLv = 50
position = 6 #TODO
rangeLv = 5
cube = 5
cd = 170
mp = [1200, 10080]
buffType = 'awake'
STRINT = [0, 43, 57, 74, 91, 111, 131, 153, 176, 201, 228, 255, 284, 315, 346, 379, 414, 449, 487, 526, 567, 608, 651, 696, 741, 789, 838, 888, 939, 993, 1047, 1103, 1160, 1219, 1278, 1340, 1403, 1467, 1533, 1600, 1668, 1736, 1804, 1872, 1940, 2008, 2076, 2144, 2212, 2280, 2348]# noqa: E501
data0 = [0, 2277, 2805, 3334, 3862, 4390, 4918, 5447, 5975, 6503, 7031, 7560, 8088, 8616, 9145, 9673, 10201, 10729, 11259, 11787, 12315, 12843, 13372, 13900, 14428, 14957, 15485, 16013, 16541, 17070, 17598, 18126, 18654, 19183, 19711, 20239, 20767, 21296, 21824, 22352, 22881, 23409, 23937, 24465, 24994, 25522, 26050, 26578, 27107, 27635, 28162]# noqa: E501
hit0 = 16
data1 = [0, 67694, 83391, 99089, 114786, 130483, 146181, 161877, 177574, 193271, 208969, 224666, 240363, 256061, 271758, 287455, 303153, 318850, 334547, 350244, 365943, 381640, 397337, 413035, 428732, 444429, 460125, 475823, 491520, 507217, 522915, 538612, 554309, 570007, 585704, 601401, 617098, 632796, 648493, 664190, 679888, 695585, 711282, 726980, 742677, 758374, 774070, 789768, 805465, 821162, 836860]# noqa: E501
hit1 = 1 #TODO
# 忏悔重击 리펜텐스 스매시
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/27bade584bb42fef68148d3a0b72bace?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill23(ActiveSkill):
name = "忏悔重击"
learnLv = 60
masterLv = 40
maxLv = 50
position = 6 #TODO
rangeLv = 2
cube = 2
cd = 30
mp = [400, 1000]
data0 = [0, 16059, 17690, 19319, 20948, 22575, 24204, 25835, 27464, 29093, 30722, 32351, 33981, 35610, 37239, 38868, 40497, 42128, 43757, 45386, 47015, 48644, 50274, 51903, 53532, 55161, 56790, 58421, 60050, 61679, 63308, 64937, 66567, 68196, 69824, 71453, 73082, 74712, 76341, 77970, 79599, 81228, 82859, 84488, 86117, 87746, 89375, 91005, 92634, 94263, 95892]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 24089, 26532, 28977, 31421, 33864, 36308, 38753, 41196, 43641, 46083, 48527, 50972, 53415, 55860, 58302, 60747, 63191, 65636, 68079, 70521, 72966, 75410, 77855, 80298, 82742, 85185, 87630, 90074, 92519, 94961, 97404, 99849, 102293, 104738, 107180, 109625, 112068, 114513, 116957, 119399, 121844, 124287, 126732, 129176, 131619, 134063, 136508, 138951, 141396, 143838]# noqa: E501
hit1 = 1 #TODO
# 圣洁之翼 대천사의 축복
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/04883563896fe1adac7505c6146b5f59?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill24(ActiveBufferSkill):
name = "圣洁之翼"
learnLv = 70
masterLv = 40
maxLv = 50
position = 5 #TODO
rangeLv = 2
cube = 2
cd = 50
mp = [860, 1500]
data0 = [0, 68789, 75767, 82745, 89723, 96704, 103682, 110660, 117638, 124616, 131597, 138575, 145553, 152531, 159509, 166488, 173468, 180446, 187424, 194402, 201381, 208359, 215339, 222317, 229295, 236274, 243252, 250230, 257210, 264188, 271167, 278145, 285123, 292103, 299081, 306060, 313038, 320016, 326994, 333975, 340953, 347931, 354909, 361887, 368868, 375846, 382824, 389802, 396780, 403760, 410739]# noqa: E501
hit0 = 1
# 大天使的庇护 라파엘의 축복
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/dbf8b30c7057032af0d68fcfa289fdae?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill25(PassiveBufferSkill):
name = "大天使的庇护"
learnLv = 75
masterLv = 40
maxLv = 50
position = 2 #TODO
rangeLv = 3
INT = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640]# noqa: E501
data0 = [0, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114]
associate = [
{"data":INT ,"type":"$+INT","ratio":1}
]
# 圣佑之阵 우리엘의 결계
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/5152480fdde81362575a488d4cec4af9?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill26(ActiveBufferSkill):
name = "圣佑之阵"
learnLv = 75
masterLv = 40
maxLv = 50
position = 4 #TODO
rangeLv = 2
cube = 3
cd = 50
mp = [580, 4500]
damage = True
data0 = [0, 86713, 95510, 104307, 113104, 121901, 130698, 139495, 148292, 157089, 165887, 174683, 183481, 192277, 201075, 209871, 218669, 227465, 236263, 245059, 253857, 262653, 271451, 280248, 289045, 297842, 306639, 315436, 324233, 333030, 341827, 350624, 359421, 368218, 377016, 385812, 394610, 403406, 412204, 421000, 429798, 438594, 447392, 456188, 464986, 473782, 482580, 491377, 500174, 508971, 517768]# noqa: E501
hit0 = 1 #TODO
# 圣光普照 미라클 샤인
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/2391a27457b5a8c6fa4b4670a91bdd11?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill27(ActiveSkill):
name = "圣光普照"
learnLv = 80
masterLv = 40
maxLv = 50
position = 3 #TODO
rangeLv = 2
cube = 5
cd = 40
mp = [860, 1500]
data0 = [0, 8237, 9073, 9909, 10745, 11580, 12416, 13251, 14087, 14923, 15759, 16595, 17431, 18266, 19101, 19937, 20773, 21609, 22445, 23281, 24116, 24951, 25787, 26623, 27459, 28295, 29131, 29966, 30801, 31637, 32473, 33309, 34145, 34981, 35817, 36651, 37487, 38323, 39159, 39995, 40831, 41667, 42501, 43337, 44173, 45009, 45845, 46681, 47517, 48352, 49187]# noqa: E501
hit0 = 1
# 单体怪物增伤
skillRation = 1.1
# 救赎彼岸 : 惩戒圣枪 성창 : 브류나크
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/5892d1fa4462e561ac8f8d2c74892b0a?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill28(ActiveSkill):
name = "救赎彼岸 : 惩戒圣枪"
learnLv = 85
masterLv = 40
maxLv = 50
position = 5 #TODO
rangeLv = 5
cube = 10
cd = 180
mp = [2500, 5000]
icon = '$char/救赎彼岸:惩戒圣枪'
data0 = [0, 77606, 95601, 113597, 131592, 149588, 167583, 185579, 203575, 221570, 239566, 257561, 275557, 293553, 311548, 329544, 347539, 365535, 383530, 401526, 419522, 437517, 455514, 473508, 491505, 509501, 527496, 545492, 563487, 581483, 599478, 617474, 635470, 653465, 671461, 689456, 707452, 725448, 743443, 761439, 779434, 797430, 815425, 833421, 851417, 869412, 887408, 905403, 923399, 941395, 959390]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 116409, 143401, 170395, 197389, 224382, 251376, 278369, 305363, 332356, 359349, 386342, 413336, 440329, 467323, 494317, 521310, 548304, 575296, 602290, 629283, 656277, 683270, 710264, 737257, 764251, 791243, 818237, 845230, 872224, 899218, 926211, 953205, 980197, 1007191, 1034184, 1061178, 1088171, 1115165, 1142158, 1169152, 1196144, 1223138, 1250132, 1277125, 1304119, 1331112, 1358106, 1385099, 1412093, 1439085]# noqa: E501
hit1 = 1 #TODO
# 圣天使之光 루클렌티스 엔젤
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/5cac3411ccef1af333953e0ded5e942d?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill29(PassiveBufferSkill):
name = "圣天使之光"
learnLv = 95
masterLv = 40
maxLv = 50
position = 5 #TODO
rangeLv = 3
data0 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118]# noqa: E501
hit0 = 1 #TODO
INT = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650]# noqa: E501
associate = [
{"data":INT,"type":"$+INT","ratio":1}
]
# 圣言十字 크럭스 오브 샤피엘
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/85f7c810ad503790e8626439fe936d56?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill30(ActiveSkill):
name = "圣言十字"
learnLv = 95
masterLv = 40
maxLv = 50
position = 7 #TODO
rangeLv = 2
cube = 7
cd = 60
mp = [960, 7200]
data0 = [0, 33632, 37044, 40456, 43868, 47280, 50692, 54104, 57516, 60928, 64340, 67752, 71164, 74576, 77988, 81400, 84812, 88224, 91636, 95048, 98460, 101872, 105284, 108696, 112108, 115520, 118932, 122344, 125756, 129168, 132580, 135992, 139404, 142816, 146228, 149640, 153052, 156464, 159876, 163288, 166700, 170112, 173524, 176936, 180348, 183760, 187172, 190584, 193996, 197408, 200820]# noqa: E501
hit0 = 1 #TODO
data1 = [0, 2102, 2315, 2528, 2741, 2954, 3167, 3381, 3594, 3807, 4021, 4234, 4448, 4661, 4874, 5087, 5300, 5514, 5727, 5940, 6153, 6366, 6579, 6793, 7006, 7219, 7433, 7646, 7860, 8073, 8286, 8499, 8712, 8926, 9139, 9352, 9565, 9778, 9991, 10205, 10418, 10631, 10845, 11058, 11272, 11485, 11698, 11911, 12124, 12338, 12551]# noqa: E501
hit1 = 1 #TODO
data2 = [0, 92489, 101872, 111255, 120639, 130021, 139404, 148787, 158171, 167553, 176936, 186319, 195703, 205086, 214468, 223851, 233235, 242618, 252000, 261383, 270767, 280150, 289532, 298915, 308299, 317682, 327064, 336447, 345831, 355214, 364596, 373979, 383363, 392746, 402128, 411511, 420895, 430278, 439661, 449043, 458427, 467810, 477193, 486576, 495959, 505342, 514725, 524108, 533491, 542874, 552257]# noqa: E501
hit2 = 1 #TODO
# 祈愿·天使赞歌 라우스 디 안젤루스
# https://api.neople.co.kr/df/skills/0c1b401bb09241570d364420b3ba3fd7/002cbdd9bfd0f0b970451ae8d48d029e?apikey=fdvit1Kj64EAJm0qfB3JEAD8FLExLDD0
class Skill31(ActiveBufferSkill):
name = "祈愿·天使赞歌"
learnLv = 100
masterLv = 40
maxLv = 50
position = 5 #TODO
rangeLv = 5
cube = 15
cd = 290
mp = [4025, 8055]
data0 = [0, 22510, 27730, 32950, 38170, 43390, 48610, 53829, 59049, 64269, 69489, 74709, 79929, 85149, 90368, 95588, 100808, 106028, 111248, 116468, 121688, 126907, 132127, 137347, 142567, 147787, 153007, 158227, 163446, 168666, 173886, 179106, 184326, 189546, 194766, 199985, 205205, 210425, 215645, 220865, 226085, 231305, 236524, 241744, 246964, 252184, 257404, 262624, 267844, 273063, 278283]# noqa: E501
hit0 = 1 #TODO
data2 = [0, 337659, 415956, 494254, 572552, 650851, 729149, 807447, 885745, 964042, 1042340, 1120638, 1198936, 1277234, 1355532, 1433829, 1512127, 1590425, 1668723, 1747021, 1825319, 1903616, 1981914, 2060212, 2138510, 2216808, 2295106, 2373404, 2451701, 2529999, 2608297, 2686595, 2764893, 2843190, 2921488, 2999786, 3078085, 3156382, 3234680, 3312978, 3391276, 3469574, 3547872, 3626170, 3704467, 3782766, 3861064, 3939361, 4017659, 4095957, 4174255]# noqa: E501
hit2 = 1 #TODO
class classChange(Character):
def __init__(self, equVersion=''):
super().__init__(equVersion)
self.name = 'crusader_female'
self.nameCN = '神启·圣职者'
self.role = 'priest_female'
self.武器选项 = ['十字架','镰刀', '念珠', '战斧','图腾' ]
self.输出类型选项 = ['魔法固伤']
self.输出类型 = '魔法固伤'
self.防具精通属性 = ['智力']
self.武器类型 = '十字架'
self.防具类型 = '板甲'
self.buff = 2.335
self.角色 = '圣职者(女)'
self.职业 = '圣骑士'
self.buffer = True
self.适用属性 = '智力'
self.load_skills()
def load_skills(self):
"""加载技能"""
skills = []
skills_dict = {}
i = 0
while i >= 0:
try:
tem = eval('Skill' + str(i) + '(char=self)')
skills_dict[tem.name] = tem
skills.append(tem)
if tem.buffer and tem.buffType == 'buff':
self.BuffSkill = tem
if tem.buffer and tem.buffType == 'awake':
self.AwakeSkill = tem
i += 1
except Exception as ex:
print(ex)
i = -1
self.skills = skills
self.skills_dict = skills_dict
+5 -5
View File
@@ -21,8 +21,8 @@ adv = [
'children': [
{'id': 0, 'name': 'sword_master', 'title': '极诣·驭剑士', 'open': False},
{'id': 1, 'name': 'dark_templar', 'title': '极诣·暗殿骑士', 'open': False},
{'id': 2, 'name': 'demon_slayer', 'title': '极诣·契魔者', 'open': True, 'class': 'GF.swordman_female.demon_slayer'},
{'id': 3, 'name': 'vegabond', 'title': '极诣·流浪武士', 'open': True, 'class': 'GF.swordman_female.vegabond'},
{'id': 2, 'name': 'demon_slayer', 'title': '极诣·契魔者', 'open': True, 'class': 'GF.swordman_female.demon_slayer'},
{'id': 3, 'name': 'vegabond', 'title': '极诣·流浪武士', 'open': True, 'class': 'GF.swordman_female.vegabond'},
{'id': 4, 'name': 'spectre', 'title': '极诣·刃影', 'open': False},
],
},
@@ -131,8 +131,9 @@ adv = [
'id': 0,
'name': 'crusader_female',
'title': '神启·圣骑士',
'open': False,
'options': [{'id': 0, 'name': 'default', 'title': '奶', 'class': 'crusader_female'}, {'id': 1, 'name': 'default', 'title': '输出', 'class': 'crusader_female_carry'}],
'open': True,
'class': 'GF.priest_female.crusader_female'
# 'options': [{'id': 0, 'name': 'default', 'title': '奶', 'class': 'GF.priest_female.crusader_female', "open": True}, {'id': 1, 'name': 'default', 'title': '输出', 'class': 'crusader_female_carry'}],
},
{'id': 1, 'name': 'inquistor', 'title': '神启·异端审判者', 'open': False},
{'id': 2, 'name': 'sorceress', 'title': '神启·巫女', 'open': False},
@@ -230,7 +231,6 @@ def get_adv_list():
return adv
@cache
def get_adv_info(value):
value = base64.b64decode(value).decode()
parent_id, child_id, option_id = map(int, (value[:2], value[2:4], value[4:6]))
+15 -15
View File
@@ -58,7 +58,7 @@ def enchant_101(char: CharacterProperty):
"""
char.SetStatus(四维=100)
if char.buffer:
char.AddSkillLv(15, 15, 3, 1)
char.AddSkillLv(15, 15, 3, 0)
pass
@@ -68,7 +68,7 @@ def enchant_102(char: CharacterProperty):
"""
char.SetStatus(四维=120)
if char.buffer:
char.AddSkillLv(15, 15, 3, 1)
char.AddSkillLv(15, 15, 3, 0)
pass
@@ -86,7 +86,7 @@ def enchant_104(char: CharacterProperty):
"""
char.SetStatus(四维=125)
if char.buffer:
char.AddSkillLv(15, 15, 4, 1)
char.AddSkillLv(15, 15, 4, 0)
pass
@@ -108,7 +108,7 @@ def enchant_106(char: CharacterProperty):
"""
char.SetStatus(四维=120)
if char.buffer:
char.AddSkillLv(15, 15, 3, 1)
char.AddSkillLv(15, 15, 3, 0)
pass
@@ -190,7 +190,7 @@ def enchant_201(char: CharacterProperty):
"""
char.SetStatus(四维=125)
if char.buffer:
char.AddSkillLv(15, 15, 4, 1)
char.AddSkillLv(15, 15, 4, 0)
pass
@@ -227,8 +227,8 @@ def enchant_302(char: CharacterProperty):
四维(45)|Lv1~50主动+1
"""
char.SetStatus(四维=45)
if char.buffer:
char.AddSkillLv(1, 50, 1, 1)
print("~~~~~~~~~~")
char.AddSkillLv(1, 50, 1, 1)
pass
@@ -447,7 +447,7 @@ def enchant_607(char: CharacterProperty):
"""
char.SetStatus(四维=100)
if char.buffer:
char.AddSkillLv(15, 15, 1, 1)
char.AddSkillLv(15, 15, 1, 0)
pass
@@ -501,7 +501,7 @@ def enchant_903(char: CharacterProperty):
"""
char.SetStatus(四维=100)
if char.buffer:
char.AddSkillLv(15, 15, 3, 1)
char.AddSkillLv(15, 15, 3, 0)
pass
@@ -561,7 +561,7 @@ def enchant_1002(char: CharacterProperty):
"""
char.SetStatus(四维=100)
if char.buffer:
char.AddSkillLv(15, 15, 3, 1)
char.AddSkillLv(15, 15, 3, 0)
pass
@@ -582,7 +582,7 @@ def enchant_1004(char: CharacterProperty):
"""
char.SetStatus(四维=120)
if char.buffer:
char.AddSkillLv(15, 15, 3, 1)
char.AddSkillLv(15, 15, 3, 0)
pass
@@ -1381,7 +1381,7 @@ def enchant_2705(char: CharacterProperty):
"""
三攻(30)|三速(5%)|增益量(1%)
"""
char.SetStatus(三攻=30, 三速=0.05, 增益量=0.01)
char.SetStatus(三攻=30, 三速=0.05, 增益量P=0.01)
pass
@@ -1405,7 +1405,7 @@ def enchant_2708(char: CharacterProperty):
"""
四维(50)|三速(5%)|增益量(1%)
"""
char.SetStatus(四维=50, 三速=0.05, 增益量=0.01)
char.SetStatus(四维=50, 三速=0.05, 增益量P=0.01)
pass
@@ -1413,7 +1413,7 @@ def enchant_2709(char: CharacterProperty):
"""
三攻(50)|三速(5%)|增益量(3%)
"""
char.SetStatus(三攻=50, 三速=0.05, 增益量=0.03)
char.SetStatus(三攻=50, 三速=0.05, 增益量P=0.03)
pass
@@ -1421,7 +1421,7 @@ def enchant_2710(char: CharacterProperty):
"""
四维(100)|三速(5%)|增益量(3%)
"""
char.SetStatus(四维=100, 三速=0.05, 增益量=0.03)
char.SetStatus(四维=100, 三速=0.05, 增益量P=0.03)
pass
+22 -22
View File
@@ -11465,7 +11465,7 @@ def equ_3010(char: CharacterProperty):
Lv15~35所有技能+1
所有速度+3%
"""
char.AddSkillLv(15,35,1,0)
char.AddSkillLv(15,35,1)
char.SetStatus(SpeedM=0.03,SpeedA=0.03,SpeedR=0.03)
pass
@@ -11478,7 +11478,7 @@ def equ_3011(char: CharacterProperty):
Lv15~35所有技能+1
所有速度+3%
"""
char.AddSkillLv(15,35,1,0)
char.AddSkillLv(15,35,1)
char.SetStatus(SpeedM=0.03,SpeedA=0.03,SpeedR=0.03)
pass
@@ -11492,7 +11492,7 @@ def equ_3012(char: CharacterProperty):
所有属性强化+15
所有速度+3%
"""
char.AddSkillLv(15,35,1,0)
char.AddSkillLv(15,35,1)
char.AddElementDB('火',15)
char.AddElementDB('冰',15)
char.AddElementDB('光',15)
@@ -11510,7 +11510,7 @@ def equ_3013(char: CharacterProperty):
所有属性强化+15
所有速度+3%
"""
char.AddSkillLv(15,35,1,0)
char.AddSkillLv(15,35,1)
char.AddElementDB('火',15)
char.AddElementDB('冰',15)
char.AddElementDB('光',15)
@@ -11551,7 +11551,7 @@ def equ_4000(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,80,1,0)
char.AddSkillLv(1,80,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11573,7 +11573,7 @@ def equ_4001(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,80,1,0)
char.AddSkillLv(1,80,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11595,7 +11595,7 @@ def equ_4002(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11617,7 +11617,7 @@ def equ_4003(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11639,7 +11639,7 @@ def equ_4004(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11661,7 +11661,7 @@ def equ_4005(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11683,7 +11683,7 @@ def equ_4006(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11705,7 +11705,7 @@ def equ_4007(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11727,7 +11727,7 @@ def equ_4008(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11749,7 +11749,7 @@ def equ_4009(char: CharacterProperty):
所有速度+5%
技能冷却时间-5%
"""
char.AddSkillLv(1,95,1,0)
char.AddSkillLv(1,95,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11773,7 +11773,7 @@ def equ_4010(char: CharacterProperty):
暴击率+3%
所有速度+5%
"""
char.AddSkillLv(1,50,1,0)
char.AddSkillLv(1,50,1)
char.SetStatus(AttackP=0.14,SpeedM=0.05,SpeedA=0.05,SpeedR=0.05,BufferP=0.03)
pass
@@ -11789,7 +11789,7 @@ def equ_4011(char: CharacterProperty):
暴击率+3%
所有速度+4%
"""
char.AddSkillLv(1,50,1,0)
char.AddSkillLv(1,50,1)
char.SetStatus(AttackP=0.10,SpeedM=0.04,SpeedA=0.04,SpeedR=0.04,BufferP=0.015)
pass
@@ -11805,7 +11805,7 @@ def equ_4012(char: CharacterProperty):
暴击率+3%
所有速度+5%
"""
char.AddSkillLv(1,50,1,0)
char.AddSkillLv(1,50,1)
char.SetStatus(AttackP=0.14,SpeedM=0.05,SpeedA=0.05,SpeedR=0.05,BufferP=0.03)
pass
@@ -11821,7 +11821,7 @@ def equ_4013(char: CharacterProperty):
暴击率+3%
所有速度+4%
"""
char.AddSkillLv(1,50,1,0)
char.AddSkillLv(1,50,1)
char.SetStatus(AttackP=0.10,SpeedM=0.04,SpeedA=0.04,SpeedR=0.04,BufferP=0.015)
pass
@@ -11838,7 +11838,7 @@ def equ_4014(char: CharacterProperty):
暴击率+10%
所有速度+5%
"""
char.AddSkillLv(1,75,1,0)
char.AddSkillLv(1,75,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11859,7 +11859,7 @@ def equ_4015(char: CharacterProperty):
暴击率+5%
所有速度+4%
"""
char.AddSkillLv(1,50,1,0)
char.AddSkillLv(1,50,1)
char.AddElementDB('火',15)
char.AddElementDB('冰',15)
char.AddElementDB('光',15)
@@ -11880,7 +11880,7 @@ def equ_4016(char: CharacterProperty):
暴击率+10%
所有速度+5%
"""
char.AddSkillLv(1,75,1,0)
char.AddSkillLv(1,75,1)
char.AddElementDB('火',25)
char.AddElementDB('冰',25)
char.AddElementDB('光',25)
@@ -11901,7 +11901,7 @@ def equ_4017(char: CharacterProperty):
暴击率+5%
所有速度+4%
"""
char.AddSkillLv(1,50,1,0)
char.AddSkillLv(1,50,1)
char.AddElementDB('火',15)
char.AddElementDB('冰',15)
char.AddElementDB('光',15)
+22
View File
@@ -64,7 +64,29 @@ def jade_12(char: CharacterProperty = {}, value=0):
char.AddSkillLv(85, 85, 1)
pass
def jade_13(char: CharacterProperty = {}, value=0):
char.BuffSkill.STRINTPLUS += value
char.SetStatus(BufferP=value/1000)
def jade_14(char: CharacterProperty = {}, value=0):
char.BuffSkill.STRINTRatio *= 1 + value/100
char.SetStatus(BufferP=value/200)
def jade_15(char: CharacterProperty = {}, value=0):
char.BuffSkill.ATKPLUS += value
char.SetStatus(Buffer=value/1000)
def jade_16(char: CharacterProperty = {}, value=0):
char.BuffSkill.ATKRatio *= 1 + value/100
char.SetStatus(BufferP=value/200)
def jade_17(char: CharacterProperty = {}, value=0):
char.AwakeSkill.STRINTPLUS += value
char.SetStatus(BufferP=value/4000)
def jade_18(char: CharacterProperty = {}, value=0):
char.AwakeSkill.STRINTRatio *= 1 + value/100
char.SetStatus(BufferP=value/200)
# # 辟邪玉效果id范围 26001~26999
# for i in range(26001, 26206):
# try:
Binary file not shown.