dev
This commit is contained in:
@@ -598,7 +598,7 @@ class Character(CharacterProperty):
|
||||
)
|
||||
suits_effect = [i.id for i in suitList]
|
||||
for i in suits_effect:
|
||||
func = equs.funs.suit_func_list.get(str(i), None)
|
||||
func = equs.funs.execture(f'suit_{i}')
|
||||
suit = next((x for x in equs.suits if str(x.id) == str(i)), None)
|
||||
if func is not None:
|
||||
func(self)
|
||||
@@ -619,7 +619,7 @@ class Character(CharacterProperty):
|
||||
enchat = detail[2]
|
||||
if equ is None:
|
||||
continue
|
||||
fun = effects.equ_func_list.get(str(equ.id), None)
|
||||
fun = effects.execture(f'equ_{equ.id}')
|
||||
if fun is None:
|
||||
continue
|
||||
# 获取装备基础属性 并给角色设置(大写开头属性为角色属性)
|
||||
@@ -628,14 +628,14 @@ class Character(CharacterProperty):
|
||||
# 获取装备额外属性
|
||||
fun(self)
|
||||
# 附魔
|
||||
fun = effects.enchant_func_list.get(str(enchat), None)
|
||||
fun = effects.execture(f'enchant_{enchat}')
|
||||
if fun is not None:
|
||||
fun(self)
|
||||
# 徽章效果
|
||||
emblem_0 = detail[3]
|
||||
emblem_1 = detail[4]
|
||||
if str(emblem_1).isdigit():
|
||||
fun = effects.emblem_func_list.get(str(emblem_0), None)
|
||||
fun = effects.execture(f'emblem_{emblem_1}')
|
||||
if fun is not None:
|
||||
fun(self)
|
||||
else:
|
||||
@@ -644,13 +644,13 @@ class Character(CharacterProperty):
|
||||
if skill is not None:
|
||||
skill.lv += 1
|
||||
self.SetStatus(四维=8)
|
||||
fun = effects.emblem_func_list.get(str(emblem_1), None)
|
||||
fun = effects.execture(f'emblem_{emblem_0}')
|
||||
if fun is not None:
|
||||
fun(self)
|
||||
# 贴膜
|
||||
if fusion is None:
|
||||
continue
|
||||
fun = effects.stone_func_list.get(str(fusion.id), None)
|
||||
fun = effects.execture(f'stone_{fusion.id}')
|
||||
# 获取装备基础属性 并给角色设置(大写开头属性为角色属性)
|
||||
filtered_dict = {k: v for k, v in fusion.__dict__.items() if k[0].isupper()}
|
||||
self.SetStatus(**filtered_dict)
|
||||
@@ -669,13 +669,13 @@ class Character(CharacterProperty):
|
||||
emblem_0 = avatarElse[key].get('emblem_0', None)
|
||||
emblem_1 = avatarElse[key].get('emblem_1', None)
|
||||
if value is not None:
|
||||
fun = equ.funs.enchant_func_list.get(str(value), None)
|
||||
fun = equ.funs.execture(f'enchant_{value}')
|
||||
if fun is not None:
|
||||
fun(self)
|
||||
for i in [emblem_0, emblem_1]:
|
||||
if i is None:
|
||||
continue
|
||||
fun = equ.funs.emblem_func_list.get(str(i), None)
|
||||
fun = equ.funs.execture(f'emblem_{i}')
|
||||
if fun is not None:
|
||||
fun(self)
|
||||
pass
|
||||
@@ -740,7 +740,7 @@ class Character(CharacterProperty):
|
||||
funs = get_equipment(self.equVersion).funs
|
||||
for key in jades:
|
||||
jade = jades[key]
|
||||
fun = funs.jade_func_list.get(str(jade.get('id',0)), None)
|
||||
fun = funs.execture(f'jade_{jade.get("id",0)}')
|
||||
if fun is not None:
|
||||
fun(self,jade.get('value', 0))
|
||||
pass
|
||||
@@ -748,27 +748,27 @@ class Character(CharacterProperty):
|
||||
def calc_sundry(self, sundry: dict):
|
||||
"""计算杂项效果"""
|
||||
funs = get_equipment(self.equVersion).funs
|
||||
funs.sundry_func_list.get("0")(self,
|
||||
funs.execture("sundry_0")(self,
|
||||
sundry.get("medal_rarity", 0),
|
||||
sundry.get("medal_reinforce", 0),
|
||||
[sundry.get("medal_0", 0), sundry.get("medal_1", 0), sundry.get("medal_2", 0), sundry.get("medal_3", 0)],
|
||||
)
|
||||
funs.sundry_func_list.get("6")(self,
|
||||
funs.execture("sundry_6")(self,
|
||||
sundry.get("adventure", 1)
|
||||
)
|
||||
funs.sundry_func_list.get("7")(self,
|
||||
funs.execture("sundry_7")(self,
|
||||
sundry.get("marriage_house", 0),
|
||||
sundry.get("marriage_ring", 0)
|
||||
)
|
||||
funs.sundry_func_list.get("9")(self,
|
||||
funs.execture("sundry_9")(self,
|
||||
sundry.get("contract", 0)
|
||||
)
|
||||
funs.sundry_func_list.get("10")(self,
|
||||
funs.execture("sundry_10")(self,
|
||||
sundry.get("collection_type", 0),
|
||||
sundry.get("collection_num_0", 0),
|
||||
sundry.get("collection_num_1", 0),
|
||||
)
|
||||
funs.sundry_func_list.get("13")(self,
|
||||
funs.execture("sundry_13")(self,
|
||||
sundry.get("costume_card", 0)
|
||||
)
|
||||
pass
|
||||
@@ -861,6 +861,7 @@ class Character(CharacterProperty):
|
||||
'ratio': temp[1],
|
||||
'cd': temp[2],
|
||||
'mode': mode,
|
||||
'learnLv': i.learnLv,
|
||||
}
|
||||
)
|
||||
ratios = self.calc_damage_ration()
|
||||
|
||||
@@ -2,7 +2,6 @@ import importlib
|
||||
from database.models import EmblemData, Session, EquData, StoneData, SuitData, EnchantData,JadeData
|
||||
from database.connect import get_db_engine as get_engine
|
||||
|
||||
|
||||
def parse_to_number_list(info: str, default: list[float] = [0]) -> list[float]:
|
||||
return default if not info else [float(i) for i in info.split(',')]
|
||||
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
from .suit import suit_func_list
|
||||
from .jade import jade_func_list
|
||||
from .equ import equ_func_list
|
||||
from .avatar import get_dress_list,calc_dress_effect
|
||||
from .enchant import enchant_func_list
|
||||
from .emblem import emblem_func_list
|
||||
from .stone import stone_func_list
|
||||
from .sundry import sundry_func_list,sundryList
|
||||
import core.equipment.version_0.equ as equ
|
||||
import core.equipment.version_0.stone as stone
|
||||
import core.equipment.version_0.jade as jade
|
||||
import core.equipment.version_0.emblem as emblem
|
||||
import core.equipment.version_0.enchant as enchant
|
||||
import core.equipment.version_0.sundry as sundry
|
||||
import core.equipment.version_0.suit as suit
|
||||
|
||||
from .register import execture
|
||||
|
||||
options = [
|
||||
{'id': 1, 'name': '龙战八荒,', 'options': ['BUFF OFF', 'BUFF ON', '期望']},
|
||||
@@ -13,3 +15,23 @@ options = [
|
||||
{'id': 3, 'name': '群猎美学', 'options': ['单刷', '组队']},
|
||||
{'id': 4, 'name': '魔攻核', 'options': ['普通', '追击']},
|
||||
]
|
||||
|
||||
sundryList = {
|
||||
'medal_rarity': {'id': 0, 'options': [{'name': f'品质:{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说', '史诗'])]},
|
||||
'medal_reinforce': {'id': 1, 'options': [{'name': f'强化 +{i}', 'value': i} for i in range(0, 13)]},
|
||||
'medal_gem_0': {'id': 2, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'medal_gem_1': {'id': 3, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'medal_gem_2': {'id': 4, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'medal_gem_3': {'id': 5, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'adventure': {'id': 6, 'options': [{'name': f'Lv:{i}', 'value': i} for i in range(1, 31)]},
|
||||
'marriage_house': {'id': 7, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '全属强(1)', '全属强(3)', '全属强(5)|三攻(5)', '全属强(8)|三攻(10|20)'])]},
|
||||
'marriage_ring': {'id': 8, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '体精(8)', '体精(10)|力智(15)'])]},
|
||||
'contract': {'id': 9, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '无色契约 三攻(40)'])]},
|
||||
'collection_type': {'id': 10, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '春节套', '夏日套'])]},
|
||||
'collection_num_0': {'id': 11, 'options': [{'name': f'稀有{i}个', 'value': i} for i in range(0, 6)]},
|
||||
'collection_num_1': {'id': 12, 'options': [{'name': f'神器{i}个', 'value': i} for i in range(0, 6)]},
|
||||
'costume_card': {'id': 13, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '四维(3)|三速(1%)'])]},
|
||||
}
|
||||
|
||||
__all__= [get_dress_list, calc_dress_effect, options , execture, sundryList, equ, stone, jade, emblem, enchant, sundry, suit]
|
||||
|
||||
|
||||
@@ -1,211 +0,0 @@
|
||||
from core.basic.property import CharacterProperty
|
||||
|
||||
consumable_list = {}
|
||||
|
||||
|
||||
def consumable_28000(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
pass
|
||||
if mode == 1:
|
||||
pass
|
||||
|
||||
# 斗神之吼秘药
|
||||
|
||||
|
||||
def consumable_28001(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.斗神宠物加成(int(12*rate)/100)
|
||||
pass
|
||||
|
||||
# 赛丽亚的特调酷饮
|
||||
|
||||
|
||||
def consumable_28002(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.所有属性强化加成(int(5*rate), mode=1)
|
||||
pass
|
||||
|
||||
# [冒险]属性强化药水
|
||||
|
||||
|
||||
def consumable_28003(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.所有属性强化加成(int(10*rate),mode=1)
|
||||
pass
|
||||
|
||||
# 魔界战力释放秘药
|
||||
|
||||
|
||||
def consumable_28004(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(150*rate), 进图力量=int(150*rate))
|
||||
pass
|
||||
|
||||
# 顶级力量灵药
|
||||
|
||||
|
||||
def consumable_28005(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图力量=int(175*rate))
|
||||
pass
|
||||
|
||||
# 顶级智力灵药
|
||||
|
||||
|
||||
def consumable_28006(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(175*rate))
|
||||
pass
|
||||
|
||||
# 活力秘药
|
||||
|
||||
|
||||
def consumable_28007(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(50*rate), 进图力量=int(50*rate))
|
||||
pass
|
||||
|
||||
# 虚祖皇家能量秘药
|
||||
|
||||
|
||||
def consumable_28008(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(100*rate), 进图力量=int(100*rate))
|
||||
char.所有属性强化加成(int(5*rate), mode=1)
|
||||
pass
|
||||
|
||||
# 黄金羊毛
|
||||
|
||||
|
||||
def consumable_28009(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(60*rate), 进图力量=int(60*rate))
|
||||
pass
|
||||
|
||||
# 龙之气息
|
||||
|
||||
|
||||
def consumable_28010(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(30*rate), 进图力量=int(30*rate))
|
||||
pass
|
||||
|
||||
# 甜蜜喜糖
|
||||
|
||||
|
||||
def consumable_28011(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.基础属性加成(进图智力=int(88*rate), 进图力量=int(88*rate))
|
||||
pass
|
||||
|
||||
def consumable_28012(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.火属性抗性加成(30 * rate)
|
||||
pass
|
||||
|
||||
def consumable_28013(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.冰属性抗性加成(30 * rate)
|
||||
pass
|
||||
|
||||
def consumable_28014(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.光属性抗性加成(30 * rate)
|
||||
pass
|
||||
|
||||
def consumable_28015(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.暗属性抗性加成(30 * rate)
|
||||
pass
|
||||
|
||||
def consumable_28016(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
# char.基础属性加成(物理攻击力=25 * rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
char.所有属性抗性加成(15 * rate)
|
||||
pass
|
||||
|
||||
|
||||
def consumable_28017(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
if rate == 1.0:
|
||||
char.基础属性加成(进图智力=280000, 进图力量=280000,三攻=18000)
|
||||
pass
|
||||
if mode == 1:
|
||||
pass
|
||||
|
||||
|
||||
def consumable_28018(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
char.所有异常抗性加成(0.03*rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
pass
|
||||
|
||||
|
||||
|
||||
def consumable_28019(char: CharacterProperty = {}, mode=0, text=False, rate=1.0):
|
||||
if mode == 0:
|
||||
char.所有异常抗性加成(0.05*rate)
|
||||
pass
|
||||
if mode == 1:
|
||||
pass
|
||||
|
||||
|
||||
# 药剂id范围 28001~29000
|
||||
for i in range(28001, 29000):
|
||||
try:
|
||||
if i not in consumable_list.keys():
|
||||
consumable_list[i] = eval('consumable_{}'.format(i))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def get_sundriesfunc_by_id(id):
|
||||
return consumable_list.get(id, consumable_28000)
|
||||
@@ -1,8 +1,9 @@
|
||||
from core.abstract.character import CharacterProperty
|
||||
from .register import register
|
||||
|
||||
emblem_func_list = {}
|
||||
|
||||
|
||||
@register
|
||||
def emblem_1(char: CharacterProperty):
|
||||
"""
|
||||
力智+20 暴击+1.9%
|
||||
@@ -11,6 +12,7 @@ def emblem_1(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_2(char: CharacterProperty):
|
||||
"""
|
||||
力智+15 暴击+1.5%
|
||||
@@ -19,6 +21,7 @@ def emblem_2(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_3(char: CharacterProperty):
|
||||
"""
|
||||
力智+10 暴击+1.1%
|
||||
@@ -27,6 +30,7 @@ def emblem_3(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_4(char: CharacterProperty):
|
||||
"""
|
||||
力智+35
|
||||
@@ -35,6 +39,7 @@ def emblem_4(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_5(char: CharacterProperty):
|
||||
"""
|
||||
体精+35
|
||||
@@ -43,6 +48,7 @@ def emblem_5(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_6(char: CharacterProperty):
|
||||
"""
|
||||
体精+25
|
||||
@@ -51,6 +57,7 @@ def emblem_6(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_7(char: CharacterProperty):
|
||||
"""
|
||||
体精+17
|
||||
@@ -59,6 +66,7 @@ def emblem_7(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_8(char: CharacterProperty):
|
||||
"""
|
||||
力智+30
|
||||
@@ -67,6 +75,7 @@ def emblem_8(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_9(char: CharacterProperty):
|
||||
"""
|
||||
攻速+2%
|
||||
@@ -75,6 +84,7 @@ def emblem_9(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_10(char: CharacterProperty):
|
||||
"""
|
||||
体精+30
|
||||
@@ -83,6 +93,7 @@ def emblem_10(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_11(char: CharacterProperty):
|
||||
"""
|
||||
三攻+20
|
||||
@@ -91,6 +102,7 @@ def emblem_11(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_12(char: CharacterProperty):
|
||||
"""
|
||||
力智+30
|
||||
@@ -99,6 +111,7 @@ def emblem_12(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_13(char: CharacterProperty):
|
||||
"""
|
||||
体精+30
|
||||
@@ -107,6 +120,7 @@ def emblem_13(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_14(char: CharacterProperty):
|
||||
"""
|
||||
力智+25
|
||||
@@ -115,6 +129,7 @@ def emblem_14(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_15(char: CharacterProperty):
|
||||
"""
|
||||
力智+15
|
||||
@@ -123,6 +138,7 @@ def emblem_15(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_16(char: CharacterProperty):
|
||||
"""
|
||||
攻速+1.5%
|
||||
@@ -131,6 +147,7 @@ def emblem_16(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_17(char: CharacterProperty):
|
||||
"""
|
||||
体精+15
|
||||
@@ -139,6 +156,7 @@ def emblem_17(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_18(char: CharacterProperty):
|
||||
"""
|
||||
三攻+15
|
||||
@@ -147,6 +165,7 @@ def emblem_18(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_19(char: CharacterProperty):
|
||||
"""
|
||||
体精+15
|
||||
@@ -155,6 +174,7 @@ def emblem_19(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_20(char: CharacterProperty):
|
||||
"""
|
||||
力智+17
|
||||
@@ -163,6 +183,7 @@ def emblem_20(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_21(char: CharacterProperty):
|
||||
"""
|
||||
力智+10
|
||||
@@ -171,6 +192,7 @@ def emblem_21(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_22(char: CharacterProperty):
|
||||
"""
|
||||
攻速+1.1%
|
||||
@@ -179,6 +201,7 @@ def emblem_22(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_23(char: CharacterProperty):
|
||||
"""
|
||||
体精+10
|
||||
@@ -187,6 +210,7 @@ def emblem_23(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_24(char: CharacterProperty):
|
||||
"""
|
||||
三攻+10
|
||||
@@ -195,6 +219,7 @@ def emblem_24(char: CharacterProperty):
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def emblem_25(char: CharacterProperty):
|
||||
"""
|
||||
体精+10
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,164 +1,106 @@
|
||||
from core.abstract.character import CharacterProperty
|
||||
from .register import register
|
||||
|
||||
jade_func_list = {}
|
||||
|
||||
|
||||
@register
|
||||
def jade_0(char: CharacterProperty = {}, value=0):
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_1(char: CharacterProperty = {}, value=0):
|
||||
char.jade_effect.SkillAttack += value/100
|
||||
|
||||
@register
|
||||
def jade_2(char: CharacterProperty = {}, value=0):
|
||||
char.jade_effect.AttackP += value/100
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_3(char: CharacterProperty = {}, value=0):
|
||||
char.jade_effect.ElementIncrease += value/100
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_4(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(10, 15, 1)
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def jade_5(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(20, 25, 1)
|
||||
pass
|
||||
|
||||
|
||||
@register
|
||||
def jade_6(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(30, 35, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_7(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(40, 45, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_8(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(55, 60, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_9(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(65, 70, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_10(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(75, 80, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_11(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(50, 50, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_12(char: CharacterProperty = {}, value=0):
|
||||
if value > 0:
|
||||
char.AddSkillLv(85, 85, 1)
|
||||
pass
|
||||
|
||||
@register
|
||||
def jade_13(char: CharacterProperty = {}, value=0):
|
||||
char.BuffSkill.STRINTPLUS += value
|
||||
char.SetStatus(BufferP=value/1000)
|
||||
|
||||
@register
|
||||
def jade_14(char: CharacterProperty = {}, value=0):
|
||||
char.BuffSkill.STRINTRatio *= 1 + value/100
|
||||
char.SetStatus(BufferP=value/200)
|
||||
|
||||
@register
|
||||
def jade_15(char: CharacterProperty = {}, value=0):
|
||||
char.BuffSkill.ATKPLUS += value
|
||||
char.SetStatus(BufferP=value/200)
|
||||
|
||||
@register
|
||||
def jade_16(char: CharacterProperty = {}, value=0):
|
||||
char.BuffSkill.ATKRatio *= 1 + value/100
|
||||
char.SetStatus(BufferP=value/200)
|
||||
|
||||
@register
|
||||
def jade_17(char: CharacterProperty = {}, value=0):
|
||||
char.AwakeSkill.STRINTPLUS += value
|
||||
char.SetStatus(BufferP=value/4000)
|
||||
|
||||
@register
|
||||
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:
|
||||
# if i not in jade_func_list.keys():
|
||||
# jade_func_list[i] = eval('jade_{}'.format(i))
|
||||
# except Exception:
|
||||
# pass
|
||||
|
||||
|
||||
# def jade_26201(char=CharacterProperty, text=False, value=0):
|
||||
# if text:
|
||||
# return "(76, -25, 25, '', 1, 'Lv30 Buff技能力智增加',1)"
|
||||
# char.辅助属性加成(buff固定力智=value, 百分比buff量=value / 1000)
|
||||
|
||||
|
||||
# def jade_26202(char=CharacterProperty, text=False, value=0):
|
||||
# if text:
|
||||
# return "(76, -5, 5, '%', 0.1, 'Lv30 Buff技能力智增加%',1)"
|
||||
# char.辅助属性加成(buff百分比力智=value / 100, 百分比buff量=value / 200)
|
||||
|
||||
|
||||
# def jade_26203(char=CharacterProperty, text=False, value=0):
|
||||
# if text:
|
||||
# return "(76, -5, 5, '', 1, 'Lv30 Buff技能三攻增加',1)"
|
||||
# char.辅助属性加成(buff固定三攻=value, 百分比buff量=value / 200)
|
||||
|
||||
|
||||
# def jade_26204(char=CharacterProperty, text=False, value=0):
|
||||
# if text:
|
||||
# return "(76, -5, 5, '%', 0.1, 'Lv30 Buff技能三攻增加%',1)"
|
||||
# char.辅助属性加成(buff百分比三攻=value / 100, 百分比buff量=value / 200)
|
||||
|
||||
|
||||
# def jade_26205(char=CharacterProperty, text=False, value=0):
|
||||
# if text:
|
||||
# return "(76, -100, 100, '', 1, 'Lv50 主动技能力智增加',1)"
|
||||
# char.辅助属性加成(觉醒固定力智=value, 百分比buff量=value / 4000)
|
||||
|
||||
|
||||
# def jade_26206(char=CharacterProperty, text=False, value=0):
|
||||
# if text:
|
||||
# return "(76, -5, 5, '%', 0.1, 'Lv50 主动技能力智增加%',1)"
|
||||
# char.辅助属性加成(觉醒百分比力智=value/100, 百分比buff量=value / 200)
|
||||
|
||||
|
||||
# def jade_26207(char={}, text=False, value=0):
|
||||
# if text:
|
||||
# return "(55, -5, 5, '%', 0.1, '攻击、移动、施放速度',1)"
|
||||
# char.攻击速度增加(value/100)
|
||||
|
||||
|
||||
for i in range(0,20):
|
||||
try:
|
||||
if str(i) not in jade_func_list.keys():
|
||||
jade_func_list[str(i)] = eval(f'jade_{i}')
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# def get_jadefunc_by_id(id):
|
||||
# return jade_func_list.get(int(id), jade_26000)
|
||||
|
||||
|
||||
# def get_jade_setinfo():
|
||||
# infolist = []
|
||||
# for i in jade_func_list.keys():
|
||||
# data = {}
|
||||
# data['id'] = i
|
||||
# info = eval(jade_func_list[i](text=True))
|
||||
# num = 0
|
||||
# for k in index:
|
||||
# data[k] = info[num]
|
||||
# num += 1
|
||||
# infolist.append(data)
|
||||
# infolist = sorted(infolist, key=lambda x: x["order"])
|
||||
# return infolist
|
||||
@@ -0,0 +1,12 @@
|
||||
registry = {}
|
||||
|
||||
def register(func):
|
||||
registry[func.__name__] = func
|
||||
return func
|
||||
|
||||
def execture(name):
|
||||
if name in registry:
|
||||
return registry[name]
|
||||
else:
|
||||
print(f"Function {name} not found in registry.")
|
||||
return None
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,27 +1,9 @@
|
||||
# sundry_list = ['medal_rarity', 'medal_rarity', 'medal_reinforce', 'medal_gem_0', 'medal_gem_1', 'medal_gem_2', 'medal_gem_3', 'adventure', 'marriage_house', 'marriage_ring', 'contract', 'collection_type', 'collection_num_0', 'collection_num_1', 'costume_card']
|
||||
|
||||
from core.abstract.character import CharacterProperty
|
||||
from .register import register
|
||||
|
||||
sundry_func_list = {}
|
||||
|
||||
sundryList = {
|
||||
'medal_rarity': {'id': 0, 'options': [{'name': f'品质:{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说', '史诗'])]},
|
||||
'medal_reinforce': {'id': 1, 'options': [{'name': f'强化 +{i}', 'value': i} for i in range(0, 13)]},
|
||||
'medal_gem_0': {'id': 2, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'medal_gem_1': {'id': 3, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'medal_gem_2': {'id': 4, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'medal_gem_3': {'id': 5, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['普通', '高级', '稀有', '神器', '传说'])]},
|
||||
'adventure': {'id': 6, 'options': [{'name': f'Lv:{i}', 'value': i} for i in range(1, 31)]},
|
||||
'marriage_house': {'id': 7, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '全属强(1)', '全属强(3)', '全属强(5)|三攻(5)', '全属强(8)|三攻(10|20)'])]},
|
||||
'marriage_ring': {'id': 8, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '体精(8)', '体精(10)|力智(15)'])]},
|
||||
'contract': {'id': 9, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '无色契约 三攻(40)'])]},
|
||||
'collection_type': {'id': 10, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '春节套', '夏日套'])]},
|
||||
'collection_num_0': {'id': 11, 'options': [{'name': f'稀有{i}个', 'value': i} for i in range(0, 6)]},
|
||||
'collection_num_1': {'id': 12, 'options': [{'name': f'神器{i}个', 'value': i} for i in range(0, 6)]},
|
||||
'costume_card': {'id': 13, 'options': [{'name': f'{i}', 'value': idx} for idx, i in enumerate(['无', '四维(3)|三速(1%)'])]},
|
||||
}
|
||||
|
||||
|
||||
@register
|
||||
def sundry_0(char: CharacterProperty, *args):
|
||||
'''勋章'''
|
||||
# 勋章基础 四维 48 三攻 30
|
||||
@@ -42,12 +24,14 @@ def sundry_0(char: CharacterProperty, *args):
|
||||
gems_quality = medal_gems_quality[i]
|
||||
char.SetStatus(攻击强化=gems_quality[0]*0.1, 增益量=gems_quality[1])
|
||||
|
||||
@register
|
||||
def sundry_6(char: CharacterProperty, *args):
|
||||
'''冒险团'''
|
||||
lv = args[0] - 1
|
||||
values = [100,110,125,140,150,160,170,180,190,200,210,220,220,220,220,230,230,240,240,250,250,250,250,250,260,260,260,260,260,270,270,270,270,270,280,280,280,280,280,290]
|
||||
char.SetStatus(四维=values[lv])
|
||||
|
||||
@register
|
||||
def sundry_7(char: CharacterProperty, *args):
|
||||
'''
|
||||
婚房婚戒
|
||||
@@ -68,11 +52,13 @@ def sundry_7(char: CharacterProperty, *args):
|
||||
elif args[1] == 2:
|
||||
char.SetStatus(体精=10, 力智=15)
|
||||
|
||||
@register
|
||||
def sundry_9(char: CharacterProperty, *args):
|
||||
'''契约'''
|
||||
if args[0] == 1:
|
||||
char.SetStatus(三攻=40)
|
||||
|
||||
@register
|
||||
def sundry_10(char: CharacterProperty, *args):
|
||||
'''收集箱'''
|
||||
per_0 = 0
|
||||
@@ -102,13 +88,7 @@ def sundry_10(char: CharacterProperty, *args):
|
||||
char.AddElementDB('光',sq*per_2)
|
||||
char.AddElementDB('暗',sq*per_2)
|
||||
|
||||
@register
|
||||
def sundry_13(char: CharacterProperty, *args):
|
||||
if args[0] == 1:
|
||||
char.SetStatus(三速=0.01,四维=3)
|
||||
|
||||
for i in range(0, 20):
|
||||
try:
|
||||
if str(i) not in sundry_func_list.keys():
|
||||
sundry_func_list[str(i)] = eval(f'sundry_{i}')
|
||||
except Exception:
|
||||
pass
|
||||
Binary file not shown.
+2122
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,58 @@
|
||||
from database.connect import get_db_engine as get_engine
|
||||
from database.models import Session, StoneData, SuitData
|
||||
|
||||
engine = get_engine('0')
|
||||
|
||||
with Session(engine) as session:
|
||||
db_list = session.query(StoneData).all()
|
||||
|
||||
res = ''
|
||||
|
||||
curPart = ''
|
||||
|
||||
# for i in db_list:
|
||||
# if i.itemType == '武器' and i.itemType != curPart:
|
||||
# curPart = i.itemType
|
||||
# res += f'''
|
||||
# # endregion
|
||||
# # region {curPart}
|
||||
# '''
|
||||
# if i.itemType != '武器' and i.categorize != curPart:
|
||||
# curPart = i.categorize
|
||||
# res += f'''
|
||||
# # endregion
|
||||
# # region {curPart}
|
||||
# '''
|
||||
# res += f'''
|
||||
# def equ_{i.id}(char: Character):
|
||||
# \'''
|
||||
# {i.name}
|
||||
# {i.rarity} {i.itemType} {i.itemDetailType}
|
||||
|
||||
# {i.detail}
|
||||
# \'''
|
||||
# pass
|
||||
# '''
|
||||
|
||||
for i in db_list:
|
||||
if i.id < 151 or i.id > 366:
|
||||
continue
|
||||
if i.categorize != curPart:
|
||||
curPart = i.categorize
|
||||
res += f'''
|
||||
# endregion
|
||||
# region {curPart}
|
||||
'''
|
||||
res += f'''
|
||||
@register
|
||||
def stone_{i.id}(char: Character):
|
||||
\'''
|
||||
{i.name}
|
||||
|
||||
{i.detail}
|
||||
\'''
|
||||
pass
|
||||
'''
|
||||
|
||||
with open('/Users/imelon/Desktop/Code/dnf/dcalc/backend/output.py', 'w') as file:
|
||||
file.write(res)
|
||||
@@ -17,6 +17,7 @@ export interface IResultSkill {
|
||||
damage: number
|
||||
mode: string
|
||||
buff:number[]
|
||||
learnLv: number
|
||||
}
|
||||
|
||||
export interface IResultUserInfo {
|
||||
|
||||
@@ -83,6 +83,9 @@ const choose_part = ref<string[]>([])
|
||||
|
||||
const chooseCategory = (cat: string) => {
|
||||
type.value = cat
|
||||
if(type.value == 'stone' && curSuit.value == -1){
|
||||
curSuit.value = 16203
|
||||
}
|
||||
}
|
||||
|
||||
const configStore = useConfigStore()
|
||||
@@ -101,7 +104,7 @@ const suitList = computed(() => {
|
||||
}
|
||||
})
|
||||
const res = Array.from(uniqueSuits.values())
|
||||
res.push({ name: '通宝', value: -1, imageUrl: '/suit/little/-1.png' })
|
||||
if(type.value == 'equ') res.push({ name: '通宝', value: -1, imageUrl: '/suit/little/-1.png' })
|
||||
return res
|
||||
})
|
||||
|
||||
@@ -113,7 +116,8 @@ const equs = computed(() => {
|
||||
(choose_part.value.length === 0 ||
|
||||
choose_part.value.includes(a.itemDetailType || a.itemType)) &&
|
||||
(a.suit.length == 0 ||
|
||||
(curSuit.value == -1 && a.suit.length > 1) ||
|
||||
(curSuit.value == -1 && a.suit.length > 1 && type.value == 'equ') ||
|
||||
(a.suit.length > 1 && type.value == 'stone') ||
|
||||
(a.suit.includes(curSuit.value.toString()) && a.suit.length === 1)),
|
||||
)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="flex px-1px gap-1px">
|
||||
<div
|
||||
v-for="(header, key) in [
|
||||
{ label: '技能', width: 180, sortKey: 'name' },
|
||||
{ label: '技能', width: 180, sortKey: 'learnLv' },
|
||||
{ label: 'CD', width: 50, sortKey: 'cd' },
|
||||
{ label: '次数', width: 50 },
|
||||
{ label: '秒伤', width: 100, sortKey: 'dps' },
|
||||
@@ -69,7 +69,7 @@ const props = defineProps<{
|
||||
}
|
||||
}>()
|
||||
|
||||
const sort = ref<string>('total')
|
||||
const sort = ref<string>('learnLv')
|
||||
const order = ref<'asc' | 'desc'>('desc')
|
||||
|
||||
const config = useConfigStore()
|
||||
@@ -78,7 +78,7 @@ const data = computed(() => {
|
||||
return props.data.sort((a, b) => {
|
||||
let aValue = 0
|
||||
let bValue = 0
|
||||
if (['damage', 'cd', 'name'].includes(sort.value)) {
|
||||
if (['damage', 'cd', 'learnLv'].includes(sort.value)) {
|
||||
// @ts-ignore
|
||||
aValue = a[sort.value]
|
||||
// @ts-ignore
|
||||
|
||||
Reference in New Issue
Block a user