对遗器套装进行判断

This commit is contained in:
qwerdvd 2023-05-26 21:24:45 +08:00
parent 2b07f786b8
commit cd6a6316ee
2 changed files with 61 additions and 4 deletions

View File

@ -36,8 +36,8 @@ class BaseAvatar:
self.avatar_level = char['level']
self.avatar_rank = char['rank']
self.avatar_promotion = char['promotion']
self.avatar_attribute = {}
self.avatar_attribute_bonus = char['attribute_bonus']
self.avatar_attribute = {}
async def get_attribute(self):
promotion = AvatarPromotion[str(self.avatar_id)][

View File

@ -1,4 +1,5 @@
from typing import Dict, List
from abc import abstractmethod
from collections import Counter
from mpmath import mp
@ -32,6 +33,48 @@ class SingleRelic:
self.relic_attribute_bonus[sub_affix_property] = value
class BaseRelicSetSkill:
@abstractmethod
async def check(self):
...
@abstractmethod
async def set_skill_ability(self, char):
'''
战斗加成属性, set_skill_property() 互斥
'''
...
@abstractmethod
async def set_skill_property_ability(self, char):
'''
面板加成属性, set_skill_ability_param() 互斥
'''
...
class Relic108(BaseRelicSetSkill):
async def check(self):
pass
async def set_skill_ability(self, char):
pass
async def set_skill_property_ability(self, char):
pass
class Relic306(BaseRelicSetSkill):
async def check(self):
pass
async def set_skill_ability(self, char):
pass
async def set_skill_property_ability(self, char):
pass
class RelicSet:
HEAD: SingleRelic
HAND: SingleRelic
@ -41,6 +84,9 @@ class RelicSet:
OBJECT: SingleRelic
Unknow: SingleRelic
set_id_counter: List
SetSkill: List = []
def __init__(self, relic_list: List):
set_id_list = []
for relic in relic_list:
@ -64,7 +110,18 @@ class RelicSet:
self.set_id_counter: List = Counter(set_id_list).most_common()
async def get_attribute(self):
for relic in self.__dict__:
if relic == 'set_id_counter':
for item in self.__dict__:
if type(self.__dict__[item]) != SingleRelic:
break
await self.__dict__[relic].get_attribute_()
await self.__dict__[item].get_attribute_()
async def check_set(self):
for item in self.set_id_counter:
set_id = item[0]
count = item[1]
if count == 1:
break
if set_id == 108:
self.SetSkill.append(Relic108())
if set_id == 306:
self.SetSkill.append(Relic306())