diff --git a/packages/seerapi-models/seerapi_models/__init__.py b/packages/seerapi-models/seerapi_models/__init__.py index d4d2741..0a9c09a 100644 --- a/packages/seerapi-models/seerapi_models/__init__.py +++ b/packages/seerapi-models/seerapi_models/__init__.py @@ -11,6 +11,21 @@ TitlePartORM, ) from .activity import Activity, ActivityType +from .autocard import ( + Autocard, + AutocardCardType, + AutocardCardTypeORM, + AutocardElementType, + AutocardElementTypeORM, + AutocardField, + AutocardFieldBuffORM, + AutocardFieldORM, + AutocardORM, + AutocardRole, + AutocardRoleORM, + PetAutocard, + SpellAutocard, +) from .battle_effect import ( BattleEffect, BattleEffectCategory, @@ -198,6 +213,17 @@ 'ActivityType', 'ApiMetadata', 'ApiMetadataORM', + 'Autocard', + 'AutocardCardType', + 'AutocardCardTypeORM', + 'AutocardElementType', + 'AutocardElementTypeORM', + 'AutocardField', + 'AutocardFieldBuffORM', + 'AutocardFieldORM', + 'AutocardORM', + 'AutocardRole', + 'AutocardRoleORM', 'AvatarFrame', 'AvatarFrameORM', 'AvatarHead', @@ -279,6 +305,7 @@ 'PetArchiveStoryBookORM', 'PetArchiveStoryEntry', 'PetArchiveStoryEntryORM', + 'PetAutocard', 'PetClass', 'PetClassORM', 'PetEffect', @@ -335,6 +362,7 @@ 'SoulmarkORM', 'SoulmarkTagCategory', 'SoulmarkTagORM', + 'SpellAutocard', 'Suit', 'SuitBonus', 'SuitBonusAttrORM', diff --git a/packages/seerapi-models/seerapi_models/autocard/__init__.py b/packages/seerapi-models/seerapi_models/autocard/__init__.py new file mode 100644 index 0000000..4877093 --- /dev/null +++ b/packages/seerapi-models/seerapi_models/autocard/__init__.py @@ -0,0 +1,29 @@ +from .card import ( + Autocard, + AutocardCardType, + AutocardCardTypeORM, + AutocardORM, + PetAutocard, + SpellAutocard, + card_is_spell, +) +from .element_type import AutocardElementType, AutocardElementTypeORM +from .field_buff import AutocardField, AutocardFieldBuffORM, AutocardFieldORM +from .role import AutocardRole, AutocardRoleORM + +__all__ = [ + 'Autocard', + 'AutocardCardType', + 'AutocardCardTypeORM', + 'AutocardElementType', + 'AutocardElementTypeORM', + 'AutocardField', + 'AutocardFieldBuffORM', + 'AutocardFieldORM', + 'AutocardORM', + 'AutocardRole', + 'AutocardRoleORM', + 'PetAutocard', + 'SpellAutocard', + 'card_is_spell', +] diff --git a/packages/seerapi-models/seerapi_models/autocard/card.py b/packages/seerapi-models/seerapi_models/autocard/card.py new file mode 100644 index 0000000..1fc9204 --- /dev/null +++ b/packages/seerapi-models/seerapi_models/autocard/card.py @@ -0,0 +1,185 @@ +from typing import Optional + +from sqlmodel import Field, Relationship, SQLModel + +from seerapi_models.build_model import ( + BaseCategoryModel, + BaseResModel, + ConvertToORM, +) +from seerapi_models.common import ResourceRef + +from .element_type import AutocardElementType, AutocardElementTypeORM + + +def card_is_spell(type_id: int) -> bool: + return type_id in (2, 4) + + +class AutocardBase(BaseResModel): + name: str = Field(description='卡牌名称') + description: str = Field(description='卡牌描述') + level: int = Field(description='卡牌等级') + cost: int = Field(description='卡牌费用') + is_token: bool = Field(description='该卡牌是否是衍生卡') + + @classmethod + def resource_name(cls) -> str: + return 'autocard' + + +class AutocardResRefs(SQLModel): + type: ResourceRef['AutocardCardType'] = Field(description='卡牌类型') + element_type: ResourceRef['AutocardElementType'] = Field(description='卡牌元素属性') + + +class PetAutocard(AutocardBase, AutocardResRefs): + attack: int = Field(description='卡牌攻击力') + health: int = Field(description='卡牌生命值') + is_awakened: bool = Field(description='该卡牌是否是觉醒后的卡牌') + awaken_card: ResourceRef['Autocard'] | None = Field( + default=None, description='该卡牌的觉醒版本,当卡牌不能觉醒时为null' + ) + non_awaken_card: ResourceRef['Autocard'] | None = Field( + default=None, + description='该卡牌的非觉醒版本,仅当该卡牌为觉醒后的精灵卡时有效', + ) + + @classmethod + def resource_name(cls) -> str: + return 'autocard_petcard' + + +class SpellAutocard(AutocardBase, AutocardResRefs): + @classmethod + def resource_name(cls) -> str: + return 'autocard_spellcard' + + +class Autocard(AutocardBase, AutocardResRefs, ConvertToORM['AutocardORM']): + attack: int | None = Field( + default=None, description='卡牌攻击力,仅当该卡牌为精灵卡时有效' + ) + health: int | None = Field( + default=None, description='卡牌生命值,仅当该卡牌为精灵卡时有效' + ) + is_awakened: bool = Field( + default=None, description='该卡牌是否是觉醒后的卡牌,仅当该卡牌为精灵卡时有效' + ) + awaken_card: ResourceRef['Autocard'] | None = Field( + default=None, description='该卡牌的觉醒版本,仅当该卡牌为精灵卡时有效' + ) + non_awaken_card: ResourceRef['Autocard'] | None = Field( + default=None, + description='该卡牌的非觉醒版本,仅当该卡牌为觉醒后的精灵卡时有效', + ) + + @classmethod + def resource_name(cls) -> str: + return 'autocard' + + @classmethod + def get_orm_model(cls) -> 'type[AutocardORM]': + return AutocardORM + + def to_orm(self) -> 'AutocardORM': + return AutocardORM( + id=self.id, + attack=self.attack, + health=self.health, + is_awakened=self.is_awakened, + name=self.name, + description=self.description, + level=self.level, + cost=self.cost, + awaken_card_id=self.awaken_card.id + if self.awaken_card and not card_is_spell(self.type.id) + else None, + type_id=self.type.id, + element_type_id=self.element_type.id, + is_token=self.is_token, + ) + + def to_detailed(self) -> 'PetAutocard | SpellAutocard': + general_args = { + 'id': self.id, + 'name': self.name, + 'description': self.description, + 'level': self.level, + 'cost': self.cost, + 'type': self.type, + 'element_type': self.element_type, + 'is_token': self.is_token, + } + if card_is_spell(self.type.id): + return SpellAutocard(**general_args) + + assert self.attack is not None + assert self.health is not None + assert self.is_awakened is not None + return PetAutocard( + **general_args, + attack=self.attack, + health=self.health, + is_awakened=self.is_awakened, + awaken_card=self.awaken_card, + non_awaken_card=self.non_awaken_card, + ) + + +class AutocardORM(AutocardBase, table=True): + attack: int | None = Field( + default=None, description='卡牌攻击力,仅当该卡牌为精灵卡时有效' + ) + health: int | None = Field( + default=None, description='卡牌生命值,仅当该卡牌为精灵卡时有效' + ) + is_awakened: bool = Field( + description='该卡牌是否是觉醒后的卡牌,仅当该卡牌为精灵卡时有效' + ) + type_id: int = Field(foreign_key='autocard_cardtype.id') + type: 'AutocardCardTypeORM' = Relationship(back_populates='autocard') + element_type_id: int = Field(foreign_key='autocard_element_type.id') + element_type: 'AutocardElementTypeORM' = Relationship(back_populates='autocard') + awaken_card_id: int | None = Field(default=None, foreign_key='autocard.id') + awaken_card: Optional['AutocardORM'] = Relationship( + back_populates='non_awaken_card', + sa_relationship_kwargs={ + 'foreign_keys': '[AutocardORM.awaken_card_id]', + 'primaryjoin': 'AutocardORM.awaken_card_id == AutocardORM.id', + 'remote_side': 'AutocardORM.id', + 'uselist': False, + }, + ) + non_awaken_card: Optional['AutocardORM'] = Relationship( + back_populates='awaken_card', + sa_relationship_kwargs={ + 'uselist': False, + }, + ) + + +class BaseAutocardCardType(BaseCategoryModel): + name: str = Field(description='类型名称') + + @classmethod + def resource_name(cls) -> str: + return 'autocard_cardtype' + + +class AutocardCardType(BaseAutocardCardType, ConvertToORM['AutocardCardTypeORM']): + autocard: list[ResourceRef['Autocard']] = Field(description='卡牌列表') + + @classmethod + def get_orm_model(cls) -> 'type[AutocardCardTypeORM]': + return AutocardCardTypeORM + + def to_orm(self) -> 'AutocardCardTypeORM': + return AutocardCardTypeORM( + id=self.id, + name=self.name, + ) + + +class AutocardCardTypeORM(BaseAutocardCardType, table=True): + autocard: list['AutocardORM'] = Relationship(back_populates='type') diff --git a/packages/seerapi-models/seerapi_models/autocard/element_type.py b/packages/seerapi-models/seerapi_models/autocard/element_type.py new file mode 100644 index 0000000..07d2402 --- /dev/null +++ b/packages/seerapi-models/seerapi_models/autocard/element_type.py @@ -0,0 +1,40 @@ +from typing import TYPE_CHECKING + +from sqlmodel import Field, Relationship + +from seerapi_models.build_model import BaseCategoryModel, ConvertToORM +from seerapi_models.common import ResourceRef + +if TYPE_CHECKING: + from .card import Autocard, AutocardORM + from .role import AutocardRole, AutocardRoleORM + + +class BaseAutocardElementType(BaseCategoryModel): + name: str = Field(description='类型名称') + + @classmethod + def resource_name(cls) -> str: + return 'autocard_element_type' + + +class AutocardElementType( + BaseAutocardElementType, ConvertToORM['AutocardElementTypeORM'] +): + autocard: list[ResourceRef['Autocard']] = Field(description='卡牌列表') + role: list[ResourceRef['AutocardRole']] = Field(description='角色列表') + + @classmethod + def get_orm_model(cls) -> 'type[AutocardElementTypeORM]': + return AutocardElementTypeORM + + def to_orm(self) -> 'AutocardElementTypeORM': + return AutocardElementTypeORM( + id=self.id, + name=self.name, + ) + + +class AutocardElementTypeORM(BaseAutocardElementType, table=True): + autocard: list['AutocardORM'] = Relationship(back_populates='element_type') + role: list['AutocardRoleORM'] = Relationship(back_populates='element_type') diff --git a/packages/seerapi-models/seerapi_models/autocard/field_buff.py b/packages/seerapi-models/seerapi_models/autocard/field_buff.py new file mode 100644 index 0000000..b576788 --- /dev/null +++ b/packages/seerapi-models/seerapi_models/autocard/field_buff.py @@ -0,0 +1,66 @@ +from sqlmodel import Field, Relationship, SQLModel + +from seerapi_models.build_model import ( + BaseResModel, + BaseResModelWithOptionalId, + ConvertToORM, +) + + +class Buff(SQLModel): + name: str = Field(description='Buff名称') + description: str = Field(description='Buff描述') + open_turn: int = Field( + description='该Buff可被选择的最早回合(即从第几回合起可开放选择)' + ) + + +class BaseAutocardField(BaseResModel): + """群星牌圣域Buff""" + + name: str = Field(description='圣域名称') + + @classmethod + def resource_name(cls) -> str: + return 'autocard_field' + + +class AutocardField(BaseAutocardField, ConvertToORM['AutocardFieldORM']): + buff_stage: dict[int, list[Buff]] = Field( + description='Buff阶段,包含每个阶段的所有可选项' + ) + + @classmethod + def get_orm_model(cls) -> type['AutocardFieldORM']: + return AutocardFieldORM + + def to_orm(self) -> 'AutocardFieldORM': + return AutocardFieldORM( + id=self.id, + name=self.name, + buffs=[ + AutocardFieldBuffORM( + field_id=self.id, + stage=stage, + name=buff.name, + description=buff.description, + open_turn=buff.open_turn, + ) + for stage, buffs in self.buff_stage.items() + for buff in buffs + ], + ) + + +class AutocardFieldORM(BaseAutocardField, table=True): + buffs: list['AutocardFieldBuffORM'] = Relationship(back_populates='field') + + +class AutocardFieldBuffORM(BaseResModelWithOptionalId, Buff, table=True): + stage: int = Field(description='Buff所属的阶段') + field_id: int = Field(description='圣域ID', foreign_key='autocard_field.id') + field: 'AutocardFieldORM' = Relationship(back_populates='buffs') + + @classmethod + def resource_name(cls) -> str: + return 'autocard_field_buff' diff --git a/packages/seerapi-models/seerapi_models/autocard/role.py b/packages/seerapi-models/seerapi_models/autocard/role.py new file mode 100644 index 0000000..77595c6 --- /dev/null +++ b/packages/seerapi-models/seerapi_models/autocard/role.py @@ -0,0 +1,60 @@ +from typing import TYPE_CHECKING + +from sqlmodel import Field, Relationship + +from seerapi_models.build_model import BaseResModel, ConvertToORM +from seerapi_models.common import ResourceRef + +if TYPE_CHECKING: + from .element_type import AutocardElementType, AutocardElementTypeORM + + +class BaseAutocardRole(BaseResModel): + name: str = Field(description='角色名称') + description: str = Field(description='角色描述') + health: int = Field(description='角色初始生命值') + skill_desc: str = Field(description='角色技能描述') + is_passive_skill: bool = Field(description='角色技能是否为被动技能') + skill_cost: int | None = Field( + default=None, + description='使用技能消耗的金币数量,None表示该技能为被动技能,此字段无效', + ) + skill_game_limit: int | None = Field( + default=None, + description='技能在游戏中的使用次数限制,0表示无限制,None表示该技能为被动技能,此字段无效', + ) + skill_round_limit: int | None = Field( + default=None, + description='技能在回合中的使用次数限制,0表示无限制,None表示该技能为被动技能,此字段无效', + ) + + @classmethod + def resource_name(cls) -> str: + return 'autocard_role' + + +class AutocardRole(BaseAutocardRole, ConvertToORM['AutocardRoleORM']): + element_type: ResourceRef['AutocardElementType'] = Field(description='角色元素类型') + + @classmethod + def get_orm_model(cls) -> 'type[AutocardRoleORM]': + return AutocardRoleORM + + def to_orm(self) -> 'AutocardRoleORM': + return AutocardRoleORM( + id=self.id, + name=self.name, + description=self.description, + health=self.health, + skill_desc=self.skill_desc, + skill_cost=self.skill_cost, + is_passive_skill=self.is_passive_skill, + skill_game_limit=self.skill_game_limit, + skill_round_limit=self.skill_round_limit, + element_type_id=self.element_type.id, + ) + + +class AutocardRoleORM(BaseAutocardRole, table=True): + element_type: 'AutocardElementTypeORM' = Relationship(back_populates='role') + element_type_id: int = Field(foreign_key='autocard_element_type.id') diff --git a/packages/seerapi-python/seerapi/_client.pyi b/packages/seerapi-python/seerapi/_client.pyi index ed8fb71..329b346 100644 --- a/packages/seerapi-python/seerapi/_client.pyi +++ b/packages/seerapi-python/seerapi/_client.pyi @@ -54,6 +54,32 @@ class SeerAPI: self, resource_name: Literal['achievement_type'], id: int ) -> M.AchievementType: ... @overload + async def get(self, resource_name: Literal['autocard'], id: int) -> M.Autocard: ... + @overload + async def get( + self, resource_name: Literal['autocard_cardtype'], id: int + ) -> M.AutocardCardType: ... + @overload + async def get( + self, resource_name: Literal['autocard_element_type'], id: int + ) -> M.AutocardElementType: ... + @overload + async def get( + self, resource_name: Literal['autocard_spellcard'], id: int + ) -> M.SpellAutocard: ... + @overload + async def get( + self, resource_name: Literal['autocard_petcard'], id: int + ) -> M.PetAutocard: ... + @overload + async def get( + self, resource_name: Literal['autocard_role'], id: int + ) -> M.AutocardRole: ... + @overload + async def get( + self, resource_name: Literal['autocard_field'], id: int + ) -> M.AutocardField: ... + @overload async def get(self, resource_name: Literal['title'], id: int) -> M.Title: ... @overload async def get( @@ -315,6 +341,34 @@ class SeerAPI: self, resource_name: Literal['achievement_type'], page_info: PageInfo ) -> PagedResponse[M.AchievementType]: ... @overload + async def paginated_list( + self, resource_name: Literal['autocard'], page_info: PageInfo + ) -> PagedResponse[M.Autocard]: ... + @overload + async def paginated_list( + self, resource_name: Literal['autocard_cardtype'], page_info: PageInfo + ) -> PagedResponse[M.AutocardCardType]: ... + @overload + async def paginated_list( + self, resource_name: Literal['autocard_element_type'], page_info: PageInfo + ) -> PagedResponse[M.AutocardElementType]: ... + @overload + async def paginated_list( + self, resource_name: Literal['autocard_spellcard'], page_info: PageInfo + ) -> PagedResponse[M.SpellAutocard]: ... + @overload + async def paginated_list( + self, resource_name: Literal['autocard_petcard'], page_info: PageInfo + ) -> PagedResponse[M.PetAutocard]: ... + @overload + async def paginated_list( + self, resource_name: Literal['autocard_role'], page_info: PageInfo + ) -> PagedResponse[M.AutocardRole]: ... + @overload + async def paginated_list( + self, resource_name: Literal['autocard_field'], page_info: PageInfo + ) -> PagedResponse[M.AutocardField]: ... + @overload async def paginated_list( self, resource_name: Literal['title'], page_info: PageInfo ) -> PagedResponse[M.Title]: ... @@ -604,6 +658,34 @@ class SeerAPI: self, resource_name: Literal['achievement_type'], *, expand: bool = True ) -> AsyncGenerator[M.AchievementType]: ... @overload + def list( + self, resource_name: Literal['autocard'], *, expand: bool = True + ) -> AsyncGenerator[M.Autocard]: ... + @overload + def list( + self, resource_name: Literal['autocard_cardtype'], *, expand: bool = True + ) -> AsyncGenerator[M.AutocardCardType]: ... + @overload + def list( + self, resource_name: Literal['autocard_element_type'], *, expand: bool = True + ) -> AsyncGenerator[M.AutocardElementType]: ... + @overload + def list( + self, resource_name: Literal['autocard_spellcard'], *, expand: bool = True + ) -> AsyncGenerator[M.SpellAutocard]: ... + @overload + def list( + self, resource_name: Literal['autocard_petcard'], *, expand: bool = True + ) -> AsyncGenerator[M.PetAutocard]: ... + @overload + def list( + self, resource_name: Literal['autocard_role'], *, expand: bool = True + ) -> AsyncGenerator[M.AutocardRole]: ... + @overload + def list( + self, resource_name: Literal['autocard_field'], *, expand: bool = True + ) -> AsyncGenerator[M.AutocardField]: ... + @overload def list( self, resource_name: Literal['title'], *, expand: bool = True ) -> AsyncGenerator[M.Title]: ... @@ -888,6 +970,34 @@ class SeerAPI: self, resource_name: Literal['achievement_type'], name: str ) -> NamedData[M.AchievementType]: ... @overload + async def get_by_name( + self, resource_name: Literal['autocard'], name: str + ) -> NamedData[M.Autocard]: ... + @overload + async def get_by_name( + self, resource_name: Literal['autocard_cardtype'], name: str + ) -> NamedData[M.AutocardCardType]: ... + @overload + async def get_by_name( + self, resource_name: Literal['autocard_element_type'], name: str + ) -> NamedData[M.AutocardElementType]: ... + @overload + async def get_by_name( + self, resource_name: Literal['autocard_spellcard'], name: str + ) -> NamedData[M.SpellAutocard]: ... + @overload + async def get_by_name( + self, resource_name: Literal['autocard_petcard'], name: str + ) -> NamedData[M.PetAutocard]: ... + @overload + async def get_by_name( + self, resource_name: Literal['autocard_role'], name: str + ) -> NamedData[M.AutocardRole]: ... + @overload + async def get_by_name( + self, resource_name: Literal['autocard_field'], name: str + ) -> NamedData[M.AutocardField]: ... + @overload async def get_by_name( self, resource_name: Literal['title'], name: str ) -> NamedData[M.Title]: ... diff --git a/packages/seerapi-python/seerapi/_model_map.py b/packages/seerapi-python/seerapi/_model_map.py index a0698f3..a1cb24f 100644 --- a/packages/seerapi-python/seerapi/_model_map.py +++ b/packages/seerapi-python/seerapi/_model_map.py @@ -8,6 +8,13 @@ 'achievement_branch': M.AchievementBranch, 'achievement_category': M.AchievementCategory, 'achievement_type': M.AchievementType, + 'autocard': M.Autocard, + 'autocard_cardtype': M.AutocardCardType, + 'autocard_element_type': M.AutocardElementType, + 'autocard_spellcard': M.SpellAutocard, + 'autocard_petcard': M.PetAutocard, + 'autocard_role': M.AutocardRole, + 'autocard_field': M.AutocardField, 'title': M.Title, 'battle_effect': M.BattleEffect, 'battle_effect_type': M.BattleEffectCategory, diff --git a/packages/seerapi-python/seerapi/_typing.py b/packages/seerapi-python/seerapi/_typing.py index 0ac49f2..060f37e 100644 --- a/packages/seerapi-python/seerapi/_typing.py +++ b/packages/seerapi-python/seerapi/_typing.py @@ -11,6 +11,13 @@ 'achievement_branch', 'achievement_category', 'achievement_type', + 'autocard', + 'autocard_cardtype', + 'autocard_element_type', + 'autocard_spellcard', + 'autocard_petcard', + 'autocard_role', + 'autocard_field', 'title', 'battle_effect', 'battle_effect_type', @@ -90,6 +97,11 @@ | M.AchievementBranch | M.AchievementCategory | M.AchievementType + | M.Autocard + | M.AutocardCardType + | M.AutocardElementType + | M.SpellAutocard + | M.PetAutocard | M.Title | M.BattleEffect | M.BattleEffectCategory diff --git a/packages/seerapi-ts/src/client/index.ts b/packages/seerapi-ts/src/client/index.ts index fab6976..b41797e 100644 --- a/packages/seerapi-ts/src/client/index.ts +++ b/packages/seerapi-ts/src/client/index.ts @@ -1,4 +1,4 @@ // This file is auto-generated by @hey-api/openapi-ts -export { getAbilityMintmarkById, getAbilityMintmarkList, getAchievementBranchById, getAchievementBranchList, getAchievementById, getAchievementCategoryById, getAchievementCategoryList, getAchievementList, getAchievementTypeById, getAchievementTypeList, getActivityById, getActivityList, getActivityTypeById, getActivityTypeList, getAvatarFrameById, getAvatarFrameList, getAvatarHeadById, getAvatarHeadList, getBattleEffectById, getBattleEffectList, getBattleEffectTypeById, getBattleEffectTypeList, getEidEffectById, getEidEffectList, getElementTypeById, getElementTypeCombinationById, getElementTypeCombinationList, getElementTypeList, getEnergyBeadById, getEnergyBeadList, getEquipById, getEquipEffectiveOccasionById, getEquipEffectiveOccasionList, getEquipList, getEquipTypeById, getEquipTypeList, getErrorCodeById, getErrorCodeList, getGemById, getGemCategoryById, getGemCategoryList, getGemGen1ById, getGemGen1List, getGemGen2ById, getGemGen2List, getGemGenerationCategoryById, getGemGenerationCategoryList, getGemList, getGlossaryEntryById, getGlossaryEntryList, getHomepageBackgroundById, getHomepageBackgroundList, getItemById, getItemCategoryById, getItemCategoryList, getItemList, getMintmarkById, getMintmarkClassById, getMintmarkClassList, getMintmarkList, getMintmarkRarityById, getMintmarkRarityList, getMintmarkTypeById, getMintmarkTypeList, getNamecardBackgroundById, getNamecardBackgroundList, getNatureById, getNatureList, getNicknameBackgroundById, getNicknameBackgroundList, getPeakExpertPoolById, getPeakExpertPoolList, getPeakPoolById, getPeakPoolList, getPeakPoolVoteById, getPeakPoolVoteList, getPeakSeasonById, getPeakSeasonList, getPetAdvanceById, getPetAdvanceList, getPetArchiveStoryBookById, getPetArchiveStoryBookList, getPetArchiveStoryEntryById, getPetArchiveStoryEntryList, getPetById, getPetClassById, getPetClassList, getPetEffectById, getPetEffectGroupById, getPetEffectGroupList, getPetEffectList, getPetEncyclopediaEntryById, getPetEncyclopediaEntryList, getPetGenderById, getPetGenderList, getPetList, getPetMountTypeById, getPetMountTypeList, getPetSkinById, getPetSkinCategoryById, getPetSkinCategoryList, getPetSkinList, getPetSkinSeriesById, getPetSkinSeriesList, getPetSkinSeriesSubTypeById, getPetSkinSeriesSubTypeList, getPetVariationById, getPetVariationList, getPetVipbuffById, getPetVipbuffList, getResistanceCategoryById, getResistanceCategoryList, getSkillActivationItemById, getSkillActivationItemList, getSkillById, getSkillCategoryById, getSkillCategoryList, getSkillEffectParamById, getSkillEffectParamList, getSkillEffectTypeById, getSkillEffectTypeList, getSkillEffectTypeTagById, getSkillEffectTypeTagList, getSkillHideEffectById, getSkillHideEffectList, getSkillList, getSkillMintmarkById, getSkillMintmarkList, getSkillStoneById, getSkillStoneCategoryById, getSkillStoneCategoryList, getSkillStoneList, getSoulmarkById, getSoulmarkList, getSoulmarkTagById, getSoulmarkTagList, getSuitById, getSuitList, getTitleById, getTitleList, getUniversalMintmarkById, getUniversalMintmarkList, type Options } from './sdk.gen.js'; -export type { AbilityMintmark, AbilityMintmarkList, AbilityMintmarkListExpanded, Achievement, AchievementBranch, AchievementBranchList, AchievementBranchListExpanded, AchievementCategory, AchievementCategoryList, AchievementCategoryListExpanded, AchievementList, AchievementListExpanded, AchievementType, AchievementTypeList, AchievementTypeListExpanded, Activity, ActivityList, ActivityListExpanded, ActivityType, ActivityTypeList, ActivityTypeListExpanded, ApiMetadata, AvatarFrame, AvatarFrameList, AvatarFrameListExpanded, AvatarHead, AvatarHeadList, AvatarHeadListExpanded, BattleEffect, BattleEffectList, BattleEffectListExpanded, BattleEffectType, BattleEffectTypeList, BattleEffectTypeListExpanded, ClientOptions, CommonApiResourceList, CommonEidEffect, CommonEidEffectInUse, CommonNamedData, CommonNamedResourceRef, CommonResourceRef, CommonSixAttributes, CommonSkillEffectInUse, EidEffect, EidEffectList, EidEffectListExpanded, ElementType, ElementTypeCombination, ElementTypeCombinationList, ElementTypeCombinationListExpanded, ElementTypeList, ElementTypeListExpanded, EnergyBead, EnergyBeadList, EnergyBeadListExpanded, Equip, EquipEffectiveOccasion, EquipEffectiveOccasionList, EquipEffectiveOccasionListExpanded, EquipList, EquipListExpanded, EquipType, EquipTypeList, EquipTypeListExpanded, ErrorCode, ErrorCodeList, ErrorCodeListExpanded, Expand, Gem, GemCategory, GemCategoryList, GemCategoryListExpanded, GemGen1, GemGen1List, GemGen1ListExpanded, GemGen2, GemGen2List, GemGen2ListExpanded, GemGenerationCategory, GemGenerationCategoryList, GemGenerationCategoryListExpanded, GemList, GemListExpanded, GetAbilityMintmarkByIdData, GetAbilityMintmarkByIdResponse, GetAbilityMintmarkByIdResponses, GetAbilityMintmarkListData, GetAbilityMintmarkListResponse, GetAbilityMintmarkListResponses, GetAchievementBranchByIdData, GetAchievementBranchByIdResponse, GetAchievementBranchByIdResponses, GetAchievementBranchListData, GetAchievementBranchListResponse, GetAchievementBranchListResponses, GetAchievementByIdData, GetAchievementByIdResponse, GetAchievementByIdResponses, GetAchievementCategoryByIdData, GetAchievementCategoryByIdResponse, GetAchievementCategoryByIdResponses, GetAchievementCategoryListData, GetAchievementCategoryListResponse, GetAchievementCategoryListResponses, GetAchievementListData, GetAchievementListResponse, GetAchievementListResponses, GetAchievementTypeByIdData, GetAchievementTypeByIdResponse, GetAchievementTypeByIdResponses, GetAchievementTypeListData, GetAchievementTypeListResponse, GetAchievementTypeListResponses, GetActivityByIdData, GetActivityByIdResponse, GetActivityByIdResponses, GetActivityListData, GetActivityListResponse, GetActivityListResponses, GetActivityTypeByIdData, GetActivityTypeByIdResponse, GetActivityTypeByIdResponses, GetActivityTypeListData, GetActivityTypeListResponse, GetActivityTypeListResponses, GetAvatarFrameByIdData, GetAvatarFrameByIdResponse, GetAvatarFrameByIdResponses, GetAvatarFrameListData, GetAvatarFrameListResponse, GetAvatarFrameListResponses, GetAvatarHeadByIdData, GetAvatarHeadByIdResponse, GetAvatarHeadByIdResponses, GetAvatarHeadListData, GetAvatarHeadListResponse, GetAvatarHeadListResponses, GetBattleEffectByIdData, GetBattleEffectByIdResponse, GetBattleEffectByIdResponses, GetBattleEffectListData, GetBattleEffectListResponse, GetBattleEffectListResponses, GetBattleEffectTypeByIdData, GetBattleEffectTypeByIdResponse, GetBattleEffectTypeByIdResponses, GetBattleEffectTypeListData, GetBattleEffectTypeListResponse, GetBattleEffectTypeListResponses, GetEidEffectByIdData, GetEidEffectByIdResponse, GetEidEffectByIdResponses, GetEidEffectListData, GetEidEffectListResponse, GetEidEffectListResponses, GetElementTypeByIdData, GetElementTypeByIdResponse, GetElementTypeByIdResponses, GetElementTypeCombinationByIdData, GetElementTypeCombinationByIdResponse, GetElementTypeCombinationByIdResponses, GetElementTypeCombinationListData, GetElementTypeCombinationListResponse, GetElementTypeCombinationListResponses, GetElementTypeListData, GetElementTypeListResponse, GetElementTypeListResponses, GetEnergyBeadByIdData, GetEnergyBeadByIdResponse, GetEnergyBeadByIdResponses, GetEnergyBeadListData, GetEnergyBeadListResponse, GetEnergyBeadListResponses, GetEquipByIdData, GetEquipByIdResponse, GetEquipByIdResponses, GetEquipEffectiveOccasionByIdData, GetEquipEffectiveOccasionByIdResponse, GetEquipEffectiveOccasionByIdResponses, GetEquipEffectiveOccasionListData, GetEquipEffectiveOccasionListResponse, GetEquipEffectiveOccasionListResponses, GetEquipListData, GetEquipListResponse, GetEquipListResponses, GetEquipTypeByIdData, GetEquipTypeByIdResponse, GetEquipTypeByIdResponses, GetEquipTypeListData, GetEquipTypeListResponse, GetEquipTypeListResponses, GetErrorCodeByIdData, GetErrorCodeByIdResponse, GetErrorCodeByIdResponses, GetErrorCodeListData, GetErrorCodeListResponse, GetErrorCodeListResponses, GetGemByIdData, GetGemByIdResponse, GetGemByIdResponses, GetGemCategoryByIdData, GetGemCategoryByIdResponse, GetGemCategoryByIdResponses, GetGemCategoryListData, GetGemCategoryListResponse, GetGemCategoryListResponses, GetGemGen1ByIdData, GetGemGen1ByIdResponse, GetGemGen1ByIdResponses, GetGemGen1ListData, GetGemGen1ListResponse, GetGemGen1ListResponses, GetGemGen2ByIdData, GetGemGen2ByIdResponse, GetGemGen2ByIdResponses, GetGemGen2ListData, GetGemGen2ListResponse, GetGemGen2ListResponses, GetGemGenerationCategoryByIdData, GetGemGenerationCategoryByIdResponse, GetGemGenerationCategoryByIdResponses, GetGemGenerationCategoryListData, GetGemGenerationCategoryListResponse, GetGemGenerationCategoryListResponses, GetGemListData, GetGemListResponse, GetGemListResponses, GetGlossaryEntryByIdData, GetGlossaryEntryByIdResponse, GetGlossaryEntryByIdResponses, GetGlossaryEntryListData, GetGlossaryEntryListResponse, GetGlossaryEntryListResponses, GetHomepageBackgroundByIdData, GetHomepageBackgroundByIdResponse, GetHomepageBackgroundByIdResponses, GetHomepageBackgroundListData, GetHomepageBackgroundListResponse, GetHomepageBackgroundListResponses, GetItemByIdData, GetItemByIdResponse, GetItemByIdResponses, GetItemCategoryByIdData, GetItemCategoryByIdResponse, GetItemCategoryByIdResponses, GetItemCategoryListData, GetItemCategoryListResponse, GetItemCategoryListResponses, GetItemListData, GetItemListResponse, GetItemListResponses, GetMintmarkByIdData, GetMintmarkByIdResponse, GetMintmarkByIdResponses, GetMintmarkClassByIdData, GetMintmarkClassByIdResponse, GetMintmarkClassByIdResponses, GetMintmarkClassListData, GetMintmarkClassListResponse, GetMintmarkClassListResponses, GetMintmarkListData, GetMintmarkListResponse, GetMintmarkListResponses, GetMintmarkRarityByIdData, GetMintmarkRarityByIdResponse, GetMintmarkRarityByIdResponses, GetMintmarkRarityListData, GetMintmarkRarityListResponse, GetMintmarkRarityListResponses, GetMintmarkTypeByIdData, GetMintmarkTypeByIdResponse, GetMintmarkTypeByIdResponses, GetMintmarkTypeListData, GetMintmarkTypeListResponse, GetMintmarkTypeListResponses, GetNamecardBackgroundByIdData, GetNamecardBackgroundByIdResponse, GetNamecardBackgroundByIdResponses, GetNamecardBackgroundListData, GetNamecardBackgroundListResponse, GetNamecardBackgroundListResponses, GetNatureByIdData, GetNatureByIdResponse, GetNatureByIdResponses, GetNatureListData, GetNatureListResponse, GetNatureListResponses, GetNicknameBackgroundByIdData, GetNicknameBackgroundByIdResponse, GetNicknameBackgroundByIdResponses, GetNicknameBackgroundListData, GetNicknameBackgroundListResponse, GetNicknameBackgroundListResponses, GetPeakExpertPoolByIdData, GetPeakExpertPoolByIdResponse, GetPeakExpertPoolByIdResponses, GetPeakExpertPoolListData, GetPeakExpertPoolListResponse, GetPeakExpertPoolListResponses, GetPeakPoolByIdData, GetPeakPoolByIdResponse, GetPeakPoolByIdResponses, GetPeakPoolListData, GetPeakPoolListResponse, GetPeakPoolListResponses, GetPeakPoolVoteByIdData, GetPeakPoolVoteByIdResponse, GetPeakPoolVoteByIdResponses, GetPeakPoolVoteListData, GetPeakPoolVoteListResponse, GetPeakPoolVoteListResponses, GetPeakSeasonByIdData, GetPeakSeasonByIdResponse, GetPeakSeasonByIdResponses, GetPeakSeasonListData, GetPeakSeasonListResponse, GetPeakSeasonListResponses, GetPetAdvanceByIdData, GetPetAdvanceByIdResponse, GetPetAdvanceByIdResponses, GetPetAdvanceListData, GetPetAdvanceListResponse, GetPetAdvanceListResponses, GetPetArchiveStoryBookByIdData, GetPetArchiveStoryBookByIdResponse, GetPetArchiveStoryBookByIdResponses, GetPetArchiveStoryBookListData, GetPetArchiveStoryBookListResponse, GetPetArchiveStoryBookListResponses, GetPetArchiveStoryEntryByIdData, GetPetArchiveStoryEntryByIdResponse, GetPetArchiveStoryEntryByIdResponses, GetPetArchiveStoryEntryListData, GetPetArchiveStoryEntryListResponse, GetPetArchiveStoryEntryListResponses, GetPetByIdData, GetPetByIdResponse, GetPetByIdResponses, GetPetClassByIdData, GetPetClassByIdResponse, GetPetClassByIdResponses, GetPetClassListData, GetPetClassListResponse, GetPetClassListResponses, GetPetEffectByIdData, GetPetEffectByIdResponse, GetPetEffectByIdResponses, GetPetEffectGroupByIdData, GetPetEffectGroupByIdResponse, GetPetEffectGroupByIdResponses, GetPetEffectGroupListData, GetPetEffectGroupListResponse, GetPetEffectGroupListResponses, GetPetEffectListData, GetPetEffectListResponse, GetPetEffectListResponses, GetPetEncyclopediaEntryByIdData, GetPetEncyclopediaEntryByIdResponse, GetPetEncyclopediaEntryByIdResponses, GetPetEncyclopediaEntryListData, GetPetEncyclopediaEntryListResponse, GetPetEncyclopediaEntryListResponses, GetPetGenderByIdData, GetPetGenderByIdResponse, GetPetGenderByIdResponses, GetPetGenderListData, GetPetGenderListResponse, GetPetGenderListResponses, GetPetListData, GetPetListResponse, GetPetListResponses, GetPetMountTypeByIdData, GetPetMountTypeByIdResponse, GetPetMountTypeByIdResponses, GetPetMountTypeListData, GetPetMountTypeListResponse, GetPetMountTypeListResponses, GetPetSkinByIdData, GetPetSkinByIdResponse, GetPetSkinByIdResponses, GetPetSkinCategoryByIdData, GetPetSkinCategoryByIdResponse, GetPetSkinCategoryByIdResponses, GetPetSkinCategoryListData, GetPetSkinCategoryListResponse, GetPetSkinCategoryListResponses, GetPetSkinListData, GetPetSkinListResponse, GetPetSkinListResponses, GetPetSkinSeriesByIdData, GetPetSkinSeriesByIdResponse, GetPetSkinSeriesByIdResponses, GetPetSkinSeriesListData, GetPetSkinSeriesListResponse, GetPetSkinSeriesListResponses, GetPetSkinSeriesSubTypeByIdData, GetPetSkinSeriesSubTypeByIdResponse, GetPetSkinSeriesSubTypeByIdResponses, GetPetSkinSeriesSubTypeListData, GetPetSkinSeriesSubTypeListResponse, GetPetSkinSeriesSubTypeListResponses, GetPetVariationByIdData, GetPetVariationByIdResponse, GetPetVariationByIdResponses, GetPetVariationListData, GetPetVariationListResponse, GetPetVariationListResponses, GetPetVipbuffByIdData, GetPetVipbuffByIdResponse, GetPetVipbuffByIdResponses, GetPetVipbuffListData, GetPetVipbuffListResponse, GetPetVipbuffListResponses, GetResistanceCategoryByIdData, GetResistanceCategoryByIdResponse, GetResistanceCategoryByIdResponses, GetResistanceCategoryListData, GetResistanceCategoryListResponse, GetResistanceCategoryListResponses, GetSkillActivationItemByIdData, GetSkillActivationItemByIdResponse, GetSkillActivationItemByIdResponses, GetSkillActivationItemListData, GetSkillActivationItemListResponse, GetSkillActivationItemListResponses, GetSkillByIdData, GetSkillByIdResponse, GetSkillByIdResponses, GetSkillCategoryByIdData, GetSkillCategoryByIdResponse, GetSkillCategoryByIdResponses, GetSkillCategoryListData, GetSkillCategoryListResponse, GetSkillCategoryListResponses, GetSkillEffectParamByIdData, GetSkillEffectParamByIdResponse, GetSkillEffectParamByIdResponses, GetSkillEffectParamListData, GetSkillEffectParamListResponse, GetSkillEffectParamListResponses, GetSkillEffectTypeByIdData, GetSkillEffectTypeByIdResponse, GetSkillEffectTypeByIdResponses, GetSkillEffectTypeListData, GetSkillEffectTypeListResponse, GetSkillEffectTypeListResponses, GetSkillEffectTypeTagByIdData, GetSkillEffectTypeTagByIdResponse, GetSkillEffectTypeTagByIdResponses, GetSkillEffectTypeTagListData, GetSkillEffectTypeTagListResponse, GetSkillEffectTypeTagListResponses, GetSkillHideEffectByIdData, GetSkillHideEffectByIdResponse, GetSkillHideEffectByIdResponses, GetSkillHideEffectListData, GetSkillHideEffectListResponse, GetSkillHideEffectListResponses, GetSkillListData, GetSkillListResponse, GetSkillListResponses, GetSkillMintmarkByIdData, GetSkillMintmarkByIdResponse, GetSkillMintmarkByIdResponses, GetSkillMintmarkListData, GetSkillMintmarkListResponse, GetSkillMintmarkListResponses, GetSkillStoneByIdData, GetSkillStoneByIdResponse, GetSkillStoneByIdResponses, GetSkillStoneCategoryByIdData, GetSkillStoneCategoryByIdResponse, GetSkillStoneCategoryByIdResponses, GetSkillStoneCategoryListData, GetSkillStoneCategoryListResponse, GetSkillStoneCategoryListResponses, GetSkillStoneListData, GetSkillStoneListResponse, GetSkillStoneListResponses, GetSoulmarkByIdData, GetSoulmarkByIdResponse, GetSoulmarkByIdResponses, GetSoulmarkListData, GetSoulmarkListResponse, GetSoulmarkListResponses, GetSoulmarkTagByIdData, GetSoulmarkTagByIdResponse, GetSoulmarkTagByIdResponses, GetSoulmarkTagListData, GetSoulmarkTagListResponse, GetSoulmarkTagListResponses, GetSuitByIdData, GetSuitByIdResponse, GetSuitByIdResponses, GetSuitListData, GetSuitListResponse, GetSuitListResponses, GetTitleByIdData, GetTitleByIdResponse, GetTitleByIdResponses, GetTitleListData, GetTitleListResponse, GetTitleListResponses, GetUniversalMintmarkByIdData, GetUniversalMintmarkByIdResponse, GetUniversalMintmarkByIdResponses, GetUniversalMintmarkListData, GetUniversalMintmarkListResponse, GetUniversalMintmarkListResponses, GlossaryEntry, GlossaryEntryList, GlossaryEntryListExpanded, HashPartial, HomepageBackground, HomepageBackgroundList, HomepageBackgroundListExpanded, Id, Item, ItemCategory, ItemCategoryList, ItemCategoryListExpanded, ItemList, ItemListExpanded, Limit, Mintmark, MintmarkClass, MintmarkClassList, MintmarkClassListExpanded, MintmarkList, MintmarkListExpanded, MintmarkRarity, MintmarkRarityList, MintmarkRarityListExpanded, MintmarkType, MintmarkTypeList, MintmarkTypeListExpanded, Name, NamecardBackground, NamecardBackgroundList, NamecardBackgroundListExpanded, Nature, NatureList, NatureListExpanded, NicknameBackground, NicknameBackgroundList, NicknameBackgroundListExpanded, Offset, PeakExpertPool, PeakExpertPoolList, PeakExpertPoolListExpanded, PeakPool, PeakPoolList, PeakPoolListExpanded, PeakPoolVote, PeakPoolVoteList, PeakPoolVoteListExpanded, PeakSeason, PeakSeasonList, PeakSeasonListExpanded, Pet, PetAdvance, PetAdvanceList, PetAdvanceListExpanded, PetArchiveStoryBook, PetArchiveStoryBookList, PetArchiveStoryBookListExpanded, PetArchiveStoryEntry, PetArchiveStoryEntryList, PetArchiveStoryEntryListExpanded, PetClass, PetClassList, PetClassListExpanded, PetEffect, PetEffectGroup, PetEffectGroupList, PetEffectGroupListExpanded, PetEffectList, PetEffectListExpanded, PetEncyclopediaEntry, PetEncyclopediaEntryList, PetEncyclopediaEntryListExpanded, PetGender, PetGenderList, PetGenderListExpanded, PetList, PetListExpanded, PetMountType, PetMountTypeList, PetMountTypeListExpanded, PetSkin, PetSkinCategory, PetSkinCategoryList, PetSkinCategoryListExpanded, PetSkinList, PetSkinListExpanded, PetSkinSeries, PetSkinSeriesList, PetSkinSeriesListExpanded, PetSkinSeriesSubType, PetSkinSeriesSubTypeList, PetSkinSeriesSubTypeListExpanded, PetVariation, PetVariationList, PetVariationListExpanded, PetVipbuff, PetVipbuffList, PetVipbuffListExpanded, ResistanceCategory, ResistanceCategoryList, ResistanceCategoryListExpanded, RootIndex, Skill, SkillActivationItem, SkillActivationItemList, SkillActivationItemListExpanded, SkillCategory, SkillCategoryList, SkillCategoryListExpanded, SkillEffectParam, SkillEffectParamList, SkillEffectParamListExpanded, SkillEffectType, SkillEffectTypeList, SkillEffectTypeListExpanded, SkillEffectTypeTag, SkillEffectTypeTagList, SkillEffectTypeTagListExpanded, SkillHideEffect, SkillHideEffectList, SkillHideEffectListExpanded, SkillList, SkillListExpanded, SkillMintmark, SkillMintmarkList, SkillMintmarkListExpanded, SkillStone, SkillStoneCategory, SkillStoneCategoryList, SkillStoneCategoryListExpanded, SkillStoneList, SkillStoneListExpanded, Soulmark, SoulmarkList, SoulmarkListExpanded, SoulmarkTag, SoulmarkTagList, SoulmarkTagListExpanded, Suit, SuitList, SuitListExpanded, Title, TitleList, TitleListExpanded, UniversalMintmark, UniversalMintmarkList, UniversalMintmarkListExpanded } from './types.gen.js'; +export { getAbilityMintmarkById, getAbilityMintmarkList, getAchievementBranchById, getAchievementBranchList, getAchievementById, getAchievementCategoryById, getAchievementCategoryList, getAchievementList, getAchievementTypeById, getAchievementTypeList, getActivityById, getActivityList, getActivityTypeById, getActivityTypeList, getAutocardById, getAutocardCardtypeById, getAutocardCardtypeList, getAutocardElementTypeById, getAutocardElementTypeList, getAutocardFieldById, getAutocardFieldList, getAutocardList, getAutocardPetcardById, getAutocardPetcardList, getAutocardRoleById, getAutocardRoleList, getAutocardSpellcardById, getAutocardSpellcardList, getAvatarFrameById, getAvatarFrameList, getAvatarHeadById, getAvatarHeadList, getBattleEffectById, getBattleEffectList, getBattleEffectTypeById, getBattleEffectTypeList, getEidEffectById, getEidEffectList, getElementTypeById, getElementTypeCombinationById, getElementTypeCombinationList, getElementTypeList, getEnergyBeadById, getEnergyBeadList, getEquipById, getEquipEffectiveOccasionById, getEquipEffectiveOccasionList, getEquipList, getEquipTypeById, getEquipTypeList, getErrorCodeById, getErrorCodeList, getGemById, getGemCategoryById, getGemCategoryList, getGemGen1ById, getGemGen1List, getGemGen2ById, getGemGen2List, getGemGenerationCategoryById, getGemGenerationCategoryList, getGemList, getGlossaryEntryById, getGlossaryEntryList, getHomepageBackgroundById, getHomepageBackgroundList, getItemById, getItemCategoryById, getItemCategoryList, getItemList, getMintmarkById, getMintmarkClassById, getMintmarkClassList, getMintmarkList, getMintmarkRarityById, getMintmarkRarityList, getMintmarkTypeById, getMintmarkTypeList, getNamecardBackgroundById, getNamecardBackgroundList, getNatureById, getNatureList, getNicknameBackgroundById, getNicknameBackgroundList, getPeakExpertPoolById, getPeakExpertPoolList, getPeakPoolById, getPeakPoolList, getPeakPoolVoteById, getPeakPoolVoteList, getPeakSeasonById, getPeakSeasonList, getPetAdvanceById, getPetAdvanceList, getPetArchiveStoryBookById, getPetArchiveStoryBookList, getPetArchiveStoryEntryById, getPetArchiveStoryEntryList, getPetById, getPetClassById, getPetClassList, getPetEffectById, getPetEffectGroupById, getPetEffectGroupList, getPetEffectList, getPetEncyclopediaEntryById, getPetEncyclopediaEntryList, getPetGenderById, getPetGenderList, getPetList, getPetMountTypeById, getPetMountTypeList, getPetSkinById, getPetSkinCategoryById, getPetSkinCategoryList, getPetSkinList, getPetSkinSeriesById, getPetSkinSeriesList, getPetSkinSeriesSubTypeById, getPetSkinSeriesSubTypeList, getPetVariationById, getPetVariationList, getPetVipbuffById, getPetVipbuffList, getResistanceCategoryById, getResistanceCategoryList, getSkillActivationItemById, getSkillActivationItemList, getSkillById, getSkillCategoryById, getSkillCategoryList, getSkillEffectParamById, getSkillEffectParamList, getSkillEffectTypeById, getSkillEffectTypeList, getSkillEffectTypeTagById, getSkillEffectTypeTagList, getSkillHideEffectById, getSkillHideEffectList, getSkillList, getSkillMintmarkById, getSkillMintmarkList, getSkillStoneById, getSkillStoneCategoryById, getSkillStoneCategoryList, getSkillStoneList, getSoulmarkById, getSoulmarkList, getSoulmarkTagById, getSoulmarkTagList, getSuitById, getSuitList, getTitleById, getTitleList, getUniversalMintmarkById, getUniversalMintmarkList, type Options } from './sdk.gen.js'; +export type { AbilityMintmark, AbilityMintmarkList, AbilityMintmarkListExpanded, Achievement, AchievementBranch, AchievementBranchList, AchievementBranchListExpanded, AchievementCategory, AchievementCategoryList, AchievementCategoryListExpanded, AchievementList, AchievementListExpanded, AchievementType, AchievementTypeList, AchievementTypeListExpanded, Activity, ActivityList, ActivityListExpanded, ActivityType, ActivityTypeList, ActivityTypeListExpanded, ApiMetadata, Autocard, AutocardCardtype, AutocardCardtypeList, AutocardCardtypeListExpanded, AutocardElementType, AutocardElementTypeList, AutocardElementTypeListExpanded, AutocardField, AutocardFieldList, AutocardFieldListExpanded, AutocardList, AutocardListExpanded, AutocardPetcard, AutocardPetcardList, AutocardPetcardListExpanded, AutocardRole, AutocardRoleList, AutocardRoleListExpanded, AutocardSpellcard, AutocardSpellcardList, AutocardSpellcardListExpanded, AvatarFrame, AvatarFrameList, AvatarFrameListExpanded, AvatarHead, AvatarHeadList, AvatarHeadListExpanded, BattleEffect, BattleEffectList, BattleEffectListExpanded, BattleEffectType, BattleEffectTypeList, BattleEffectTypeListExpanded, ClientOptions, CommonApiResourceList, CommonEidEffect, CommonEidEffectInUse, CommonNamedData, CommonNamedResourceRef, CommonResourceRef, CommonSixAttributes, CommonSkillEffectInUse, EidEffect, EidEffectList, EidEffectListExpanded, ElementType, ElementTypeCombination, ElementTypeCombinationList, ElementTypeCombinationListExpanded, ElementTypeList, ElementTypeListExpanded, EnergyBead, EnergyBeadList, EnergyBeadListExpanded, Equip, EquipEffectiveOccasion, EquipEffectiveOccasionList, EquipEffectiveOccasionListExpanded, EquipList, EquipListExpanded, EquipType, EquipTypeList, EquipTypeListExpanded, ErrorCode, ErrorCodeList, ErrorCodeListExpanded, Expand, Gem, GemCategory, GemCategoryList, GemCategoryListExpanded, GemGen1, GemGen1List, GemGen1ListExpanded, GemGen2, GemGen2List, GemGen2ListExpanded, GemGenerationCategory, GemGenerationCategoryList, GemGenerationCategoryListExpanded, GemList, GemListExpanded, GetAbilityMintmarkByIdData, GetAbilityMintmarkByIdResponse, GetAbilityMintmarkByIdResponses, GetAbilityMintmarkListData, GetAbilityMintmarkListResponse, GetAbilityMintmarkListResponses, GetAchievementBranchByIdData, GetAchievementBranchByIdResponse, GetAchievementBranchByIdResponses, GetAchievementBranchListData, GetAchievementBranchListResponse, GetAchievementBranchListResponses, GetAchievementByIdData, GetAchievementByIdResponse, GetAchievementByIdResponses, GetAchievementCategoryByIdData, GetAchievementCategoryByIdResponse, GetAchievementCategoryByIdResponses, GetAchievementCategoryListData, GetAchievementCategoryListResponse, GetAchievementCategoryListResponses, GetAchievementListData, GetAchievementListResponse, GetAchievementListResponses, GetAchievementTypeByIdData, GetAchievementTypeByIdResponse, GetAchievementTypeByIdResponses, GetAchievementTypeListData, GetAchievementTypeListResponse, GetAchievementTypeListResponses, GetActivityByIdData, GetActivityByIdResponse, GetActivityByIdResponses, GetActivityListData, GetActivityListResponse, GetActivityListResponses, GetActivityTypeByIdData, GetActivityTypeByIdResponse, GetActivityTypeByIdResponses, GetActivityTypeListData, GetActivityTypeListResponse, GetActivityTypeListResponses, GetAutocardByIdData, GetAutocardByIdResponse, GetAutocardByIdResponses, GetAutocardCardtypeByIdData, GetAutocardCardtypeByIdResponse, GetAutocardCardtypeByIdResponses, GetAutocardCardtypeListData, GetAutocardCardtypeListResponse, GetAutocardCardtypeListResponses, GetAutocardElementTypeByIdData, GetAutocardElementTypeByIdResponse, GetAutocardElementTypeByIdResponses, GetAutocardElementTypeListData, GetAutocardElementTypeListResponse, GetAutocardElementTypeListResponses, GetAutocardFieldByIdData, GetAutocardFieldByIdResponse, GetAutocardFieldByIdResponses, GetAutocardFieldListData, GetAutocardFieldListResponse, GetAutocardFieldListResponses, GetAutocardListData, GetAutocardListResponse, GetAutocardListResponses, GetAutocardPetcardByIdData, GetAutocardPetcardByIdResponse, GetAutocardPetcardByIdResponses, GetAutocardPetcardListData, GetAutocardPetcardListResponse, GetAutocardPetcardListResponses, GetAutocardRoleByIdData, GetAutocardRoleByIdResponse, GetAutocardRoleByIdResponses, GetAutocardRoleListData, GetAutocardRoleListResponse, GetAutocardRoleListResponses, GetAutocardSpellcardByIdData, GetAutocardSpellcardByIdResponse, GetAutocardSpellcardByIdResponses, GetAutocardSpellcardListData, GetAutocardSpellcardListResponse, GetAutocardSpellcardListResponses, GetAvatarFrameByIdData, GetAvatarFrameByIdResponse, GetAvatarFrameByIdResponses, GetAvatarFrameListData, GetAvatarFrameListResponse, GetAvatarFrameListResponses, GetAvatarHeadByIdData, GetAvatarHeadByIdResponse, GetAvatarHeadByIdResponses, GetAvatarHeadListData, GetAvatarHeadListResponse, GetAvatarHeadListResponses, GetBattleEffectByIdData, GetBattleEffectByIdResponse, GetBattleEffectByIdResponses, GetBattleEffectListData, GetBattleEffectListResponse, GetBattleEffectListResponses, GetBattleEffectTypeByIdData, GetBattleEffectTypeByIdResponse, GetBattleEffectTypeByIdResponses, GetBattleEffectTypeListData, GetBattleEffectTypeListResponse, GetBattleEffectTypeListResponses, GetEidEffectByIdData, GetEidEffectByIdResponse, GetEidEffectByIdResponses, GetEidEffectListData, GetEidEffectListResponse, GetEidEffectListResponses, GetElementTypeByIdData, GetElementTypeByIdResponse, GetElementTypeByIdResponses, GetElementTypeCombinationByIdData, GetElementTypeCombinationByIdResponse, GetElementTypeCombinationByIdResponses, GetElementTypeCombinationListData, GetElementTypeCombinationListResponse, GetElementTypeCombinationListResponses, GetElementTypeListData, GetElementTypeListResponse, GetElementTypeListResponses, GetEnergyBeadByIdData, GetEnergyBeadByIdResponse, GetEnergyBeadByIdResponses, GetEnergyBeadListData, GetEnergyBeadListResponse, GetEnergyBeadListResponses, GetEquipByIdData, GetEquipByIdResponse, GetEquipByIdResponses, GetEquipEffectiveOccasionByIdData, GetEquipEffectiveOccasionByIdResponse, GetEquipEffectiveOccasionByIdResponses, GetEquipEffectiveOccasionListData, GetEquipEffectiveOccasionListResponse, GetEquipEffectiveOccasionListResponses, GetEquipListData, GetEquipListResponse, GetEquipListResponses, GetEquipTypeByIdData, GetEquipTypeByIdResponse, GetEquipTypeByIdResponses, GetEquipTypeListData, GetEquipTypeListResponse, GetEquipTypeListResponses, GetErrorCodeByIdData, GetErrorCodeByIdResponse, GetErrorCodeByIdResponses, GetErrorCodeListData, GetErrorCodeListResponse, GetErrorCodeListResponses, GetGemByIdData, GetGemByIdResponse, GetGemByIdResponses, GetGemCategoryByIdData, GetGemCategoryByIdResponse, GetGemCategoryByIdResponses, GetGemCategoryListData, GetGemCategoryListResponse, GetGemCategoryListResponses, GetGemGen1ByIdData, GetGemGen1ByIdResponse, GetGemGen1ByIdResponses, GetGemGen1ListData, GetGemGen1ListResponse, GetGemGen1ListResponses, GetGemGen2ByIdData, GetGemGen2ByIdResponse, GetGemGen2ByIdResponses, GetGemGen2ListData, GetGemGen2ListResponse, GetGemGen2ListResponses, GetGemGenerationCategoryByIdData, GetGemGenerationCategoryByIdResponse, GetGemGenerationCategoryByIdResponses, GetGemGenerationCategoryListData, GetGemGenerationCategoryListResponse, GetGemGenerationCategoryListResponses, GetGemListData, GetGemListResponse, GetGemListResponses, GetGlossaryEntryByIdData, GetGlossaryEntryByIdResponse, GetGlossaryEntryByIdResponses, GetGlossaryEntryListData, GetGlossaryEntryListResponse, GetGlossaryEntryListResponses, GetHomepageBackgroundByIdData, GetHomepageBackgroundByIdResponse, GetHomepageBackgroundByIdResponses, GetHomepageBackgroundListData, GetHomepageBackgroundListResponse, GetHomepageBackgroundListResponses, GetItemByIdData, GetItemByIdResponse, GetItemByIdResponses, GetItemCategoryByIdData, GetItemCategoryByIdResponse, GetItemCategoryByIdResponses, GetItemCategoryListData, GetItemCategoryListResponse, GetItemCategoryListResponses, GetItemListData, GetItemListResponse, GetItemListResponses, GetMintmarkByIdData, GetMintmarkByIdResponse, GetMintmarkByIdResponses, GetMintmarkClassByIdData, GetMintmarkClassByIdResponse, GetMintmarkClassByIdResponses, GetMintmarkClassListData, GetMintmarkClassListResponse, GetMintmarkClassListResponses, GetMintmarkListData, GetMintmarkListResponse, GetMintmarkListResponses, GetMintmarkRarityByIdData, GetMintmarkRarityByIdResponse, GetMintmarkRarityByIdResponses, GetMintmarkRarityListData, GetMintmarkRarityListResponse, GetMintmarkRarityListResponses, GetMintmarkTypeByIdData, GetMintmarkTypeByIdResponse, GetMintmarkTypeByIdResponses, GetMintmarkTypeListData, GetMintmarkTypeListResponse, GetMintmarkTypeListResponses, GetNamecardBackgroundByIdData, GetNamecardBackgroundByIdResponse, GetNamecardBackgroundByIdResponses, GetNamecardBackgroundListData, GetNamecardBackgroundListResponse, GetNamecardBackgroundListResponses, GetNatureByIdData, GetNatureByIdResponse, GetNatureByIdResponses, GetNatureListData, GetNatureListResponse, GetNatureListResponses, GetNicknameBackgroundByIdData, GetNicknameBackgroundByIdResponse, GetNicknameBackgroundByIdResponses, GetNicknameBackgroundListData, GetNicknameBackgroundListResponse, GetNicknameBackgroundListResponses, GetPeakExpertPoolByIdData, GetPeakExpertPoolByIdResponse, GetPeakExpertPoolByIdResponses, GetPeakExpertPoolListData, GetPeakExpertPoolListResponse, GetPeakExpertPoolListResponses, GetPeakPoolByIdData, GetPeakPoolByIdResponse, GetPeakPoolByIdResponses, GetPeakPoolListData, GetPeakPoolListResponse, GetPeakPoolListResponses, GetPeakPoolVoteByIdData, GetPeakPoolVoteByIdResponse, GetPeakPoolVoteByIdResponses, GetPeakPoolVoteListData, GetPeakPoolVoteListResponse, GetPeakPoolVoteListResponses, GetPeakSeasonByIdData, GetPeakSeasonByIdResponse, GetPeakSeasonByIdResponses, GetPeakSeasonListData, GetPeakSeasonListResponse, GetPeakSeasonListResponses, GetPetAdvanceByIdData, GetPetAdvanceByIdResponse, GetPetAdvanceByIdResponses, GetPetAdvanceListData, GetPetAdvanceListResponse, GetPetAdvanceListResponses, GetPetArchiveStoryBookByIdData, GetPetArchiveStoryBookByIdResponse, GetPetArchiveStoryBookByIdResponses, GetPetArchiveStoryBookListData, GetPetArchiveStoryBookListResponse, GetPetArchiveStoryBookListResponses, GetPetArchiveStoryEntryByIdData, GetPetArchiveStoryEntryByIdResponse, GetPetArchiveStoryEntryByIdResponses, GetPetArchiveStoryEntryListData, GetPetArchiveStoryEntryListResponse, GetPetArchiveStoryEntryListResponses, GetPetByIdData, GetPetByIdResponse, GetPetByIdResponses, GetPetClassByIdData, GetPetClassByIdResponse, GetPetClassByIdResponses, GetPetClassListData, GetPetClassListResponse, GetPetClassListResponses, GetPetEffectByIdData, GetPetEffectByIdResponse, GetPetEffectByIdResponses, GetPetEffectGroupByIdData, GetPetEffectGroupByIdResponse, GetPetEffectGroupByIdResponses, GetPetEffectGroupListData, GetPetEffectGroupListResponse, GetPetEffectGroupListResponses, GetPetEffectListData, GetPetEffectListResponse, GetPetEffectListResponses, GetPetEncyclopediaEntryByIdData, GetPetEncyclopediaEntryByIdResponse, GetPetEncyclopediaEntryByIdResponses, GetPetEncyclopediaEntryListData, GetPetEncyclopediaEntryListResponse, GetPetEncyclopediaEntryListResponses, GetPetGenderByIdData, GetPetGenderByIdResponse, GetPetGenderByIdResponses, GetPetGenderListData, GetPetGenderListResponse, GetPetGenderListResponses, GetPetListData, GetPetListResponse, GetPetListResponses, GetPetMountTypeByIdData, GetPetMountTypeByIdResponse, GetPetMountTypeByIdResponses, GetPetMountTypeListData, GetPetMountTypeListResponse, GetPetMountTypeListResponses, GetPetSkinByIdData, GetPetSkinByIdResponse, GetPetSkinByIdResponses, GetPetSkinCategoryByIdData, GetPetSkinCategoryByIdResponse, GetPetSkinCategoryByIdResponses, GetPetSkinCategoryListData, GetPetSkinCategoryListResponse, GetPetSkinCategoryListResponses, GetPetSkinListData, GetPetSkinListResponse, GetPetSkinListResponses, GetPetSkinSeriesByIdData, GetPetSkinSeriesByIdResponse, GetPetSkinSeriesByIdResponses, GetPetSkinSeriesListData, GetPetSkinSeriesListResponse, GetPetSkinSeriesListResponses, GetPetSkinSeriesSubTypeByIdData, GetPetSkinSeriesSubTypeByIdResponse, GetPetSkinSeriesSubTypeByIdResponses, GetPetSkinSeriesSubTypeListData, GetPetSkinSeriesSubTypeListResponse, GetPetSkinSeriesSubTypeListResponses, GetPetVariationByIdData, GetPetVariationByIdResponse, GetPetVariationByIdResponses, GetPetVariationListData, GetPetVariationListResponse, GetPetVariationListResponses, GetPetVipbuffByIdData, GetPetVipbuffByIdResponse, GetPetVipbuffByIdResponses, GetPetVipbuffListData, GetPetVipbuffListResponse, GetPetVipbuffListResponses, GetResistanceCategoryByIdData, GetResistanceCategoryByIdResponse, GetResistanceCategoryByIdResponses, GetResistanceCategoryListData, GetResistanceCategoryListResponse, GetResistanceCategoryListResponses, GetSkillActivationItemByIdData, GetSkillActivationItemByIdResponse, GetSkillActivationItemByIdResponses, GetSkillActivationItemListData, GetSkillActivationItemListResponse, GetSkillActivationItemListResponses, GetSkillByIdData, GetSkillByIdResponse, GetSkillByIdResponses, GetSkillCategoryByIdData, GetSkillCategoryByIdResponse, GetSkillCategoryByIdResponses, GetSkillCategoryListData, GetSkillCategoryListResponse, GetSkillCategoryListResponses, GetSkillEffectParamByIdData, GetSkillEffectParamByIdResponse, GetSkillEffectParamByIdResponses, GetSkillEffectParamListData, GetSkillEffectParamListResponse, GetSkillEffectParamListResponses, GetSkillEffectTypeByIdData, GetSkillEffectTypeByIdResponse, GetSkillEffectTypeByIdResponses, GetSkillEffectTypeListData, GetSkillEffectTypeListResponse, GetSkillEffectTypeListResponses, GetSkillEffectTypeTagByIdData, GetSkillEffectTypeTagByIdResponse, GetSkillEffectTypeTagByIdResponses, GetSkillEffectTypeTagListData, GetSkillEffectTypeTagListResponse, GetSkillEffectTypeTagListResponses, GetSkillHideEffectByIdData, GetSkillHideEffectByIdResponse, GetSkillHideEffectByIdResponses, GetSkillHideEffectListData, GetSkillHideEffectListResponse, GetSkillHideEffectListResponses, GetSkillListData, GetSkillListResponse, GetSkillListResponses, GetSkillMintmarkByIdData, GetSkillMintmarkByIdResponse, GetSkillMintmarkByIdResponses, GetSkillMintmarkListData, GetSkillMintmarkListResponse, GetSkillMintmarkListResponses, GetSkillStoneByIdData, GetSkillStoneByIdResponse, GetSkillStoneByIdResponses, GetSkillStoneCategoryByIdData, GetSkillStoneCategoryByIdResponse, GetSkillStoneCategoryByIdResponses, GetSkillStoneCategoryListData, GetSkillStoneCategoryListResponse, GetSkillStoneCategoryListResponses, GetSkillStoneListData, GetSkillStoneListResponse, GetSkillStoneListResponses, GetSoulmarkByIdData, GetSoulmarkByIdResponse, GetSoulmarkByIdResponses, GetSoulmarkListData, GetSoulmarkListResponse, GetSoulmarkListResponses, GetSoulmarkTagByIdData, GetSoulmarkTagByIdResponse, GetSoulmarkTagByIdResponses, GetSoulmarkTagListData, GetSoulmarkTagListResponse, GetSoulmarkTagListResponses, GetSuitByIdData, GetSuitByIdResponse, GetSuitByIdResponses, GetSuitListData, GetSuitListResponse, GetSuitListResponses, GetTitleByIdData, GetTitleByIdResponse, GetTitleByIdResponses, GetTitleListData, GetTitleListResponse, GetTitleListResponses, GetUniversalMintmarkByIdData, GetUniversalMintmarkByIdResponse, GetUniversalMintmarkByIdResponses, GetUniversalMintmarkListData, GetUniversalMintmarkListResponse, GetUniversalMintmarkListResponses, GlossaryEntry, GlossaryEntryList, GlossaryEntryListExpanded, HashPartial, HomepageBackground, HomepageBackgroundList, HomepageBackgroundListExpanded, Id, Item, ItemCategory, ItemCategoryList, ItemCategoryListExpanded, ItemList, ItemListExpanded, Limit, Mintmark, MintmarkClass, MintmarkClassList, MintmarkClassListExpanded, MintmarkList, MintmarkListExpanded, MintmarkRarity, MintmarkRarityList, MintmarkRarityListExpanded, MintmarkType, MintmarkTypeList, MintmarkTypeListExpanded, Name, NamecardBackground, NamecardBackgroundList, NamecardBackgroundListExpanded, Nature, NatureList, NatureListExpanded, NicknameBackground, NicknameBackgroundList, NicknameBackgroundListExpanded, Offset, PeakExpertPool, PeakExpertPoolList, PeakExpertPoolListExpanded, PeakPool, PeakPoolList, PeakPoolListExpanded, PeakPoolVote, PeakPoolVoteList, PeakPoolVoteListExpanded, PeakSeason, PeakSeasonList, PeakSeasonListExpanded, Pet, PetAdvance, PetAdvanceList, PetAdvanceListExpanded, PetArchiveStoryBook, PetArchiveStoryBookList, PetArchiveStoryBookListExpanded, PetArchiveStoryEntry, PetArchiveStoryEntryList, PetArchiveStoryEntryListExpanded, PetClass, PetClassList, PetClassListExpanded, PetEffect, PetEffectGroup, PetEffectGroupList, PetEffectGroupListExpanded, PetEffectList, PetEffectListExpanded, PetEncyclopediaEntry, PetEncyclopediaEntryList, PetEncyclopediaEntryListExpanded, PetGender, PetGenderList, PetGenderListExpanded, PetList, PetListExpanded, PetMountType, PetMountTypeList, PetMountTypeListExpanded, PetSkin, PetSkinCategory, PetSkinCategoryList, PetSkinCategoryListExpanded, PetSkinList, PetSkinListExpanded, PetSkinSeries, PetSkinSeriesList, PetSkinSeriesListExpanded, PetSkinSeriesSubType, PetSkinSeriesSubTypeList, PetSkinSeriesSubTypeListExpanded, PetVariation, PetVariationList, PetVariationListExpanded, PetVipbuff, PetVipbuffList, PetVipbuffListExpanded, ResistanceCategory, ResistanceCategoryList, ResistanceCategoryListExpanded, RootIndex, Skill, SkillActivationItem, SkillActivationItemList, SkillActivationItemListExpanded, SkillCategory, SkillCategoryList, SkillCategoryListExpanded, SkillEffectParam, SkillEffectParamList, SkillEffectParamListExpanded, SkillEffectType, SkillEffectTypeList, SkillEffectTypeListExpanded, SkillEffectTypeTag, SkillEffectTypeTagList, SkillEffectTypeTagListExpanded, SkillHideEffect, SkillHideEffectList, SkillHideEffectListExpanded, SkillList, SkillListExpanded, SkillMintmark, SkillMintmarkList, SkillMintmarkListExpanded, SkillStone, SkillStoneCategory, SkillStoneCategoryList, SkillStoneCategoryListExpanded, SkillStoneList, SkillStoneListExpanded, Soulmark, SoulmarkList, SoulmarkListExpanded, SoulmarkTag, SoulmarkTagList, SoulmarkTagListExpanded, Suit, SuitList, SuitListExpanded, Title, TitleList, TitleListExpanded, UniversalMintmark, UniversalMintmarkList, UniversalMintmarkListExpanded } from './types.gen.js'; diff --git a/packages/seerapi-ts/src/client/sdk.gen.ts b/packages/seerapi-ts/src/client/sdk.gen.ts index 36d0cab..c735538 100644 --- a/packages/seerapi-ts/src/client/sdk.gen.ts +++ b/packages/seerapi-ts/src/client/sdk.gen.ts @@ -3,7 +3,7 @@ import { client } from './client.gen.js'; import type { Client, Options as Options2, TDataShape } from './client/index.js'; import { getActivityByIdResponseTransformer, getPeakExpertPoolByIdResponseTransformer, getPeakPoolByIdResponseTransformer, getPeakPoolVoteByIdResponseTransformer, getPeakSeasonByIdResponseTransformer } from './transformers.gen.js'; -import type { GetAbilityMintmarkByIdData, GetAbilityMintmarkByIdResponses, GetAbilityMintmarkListData, GetAbilityMintmarkListResponses, GetAchievementBranchByIdData, GetAchievementBranchByIdResponses, GetAchievementBranchListData, GetAchievementBranchListResponses, GetAchievementByIdData, GetAchievementByIdResponses, GetAchievementCategoryByIdData, GetAchievementCategoryByIdResponses, GetAchievementCategoryListData, GetAchievementCategoryListResponses, GetAchievementListData, GetAchievementListResponses, GetAchievementTypeByIdData, GetAchievementTypeByIdResponses, GetAchievementTypeListData, GetAchievementTypeListResponses, GetActivityByIdData, GetActivityByIdResponses, GetActivityListData, GetActivityListResponses, GetActivityTypeByIdData, GetActivityTypeByIdResponses, GetActivityTypeListData, GetActivityTypeListResponses, GetAvatarFrameByIdData, GetAvatarFrameByIdResponses, GetAvatarFrameListData, GetAvatarFrameListResponses, GetAvatarHeadByIdData, GetAvatarHeadByIdResponses, GetAvatarHeadListData, GetAvatarHeadListResponses, GetBattleEffectByIdData, GetBattleEffectByIdResponses, GetBattleEffectListData, GetBattleEffectListResponses, GetBattleEffectTypeByIdData, GetBattleEffectTypeByIdResponses, GetBattleEffectTypeListData, GetBattleEffectTypeListResponses, GetEidEffectByIdData, GetEidEffectByIdResponses, GetEidEffectListData, GetEidEffectListResponses, GetElementTypeByIdData, GetElementTypeByIdResponses, GetElementTypeCombinationByIdData, GetElementTypeCombinationByIdResponses, GetElementTypeCombinationListData, GetElementTypeCombinationListResponses, GetElementTypeListData, GetElementTypeListResponses, GetEnergyBeadByIdData, GetEnergyBeadByIdResponses, GetEnergyBeadListData, GetEnergyBeadListResponses, GetEquipByIdData, GetEquipByIdResponses, GetEquipEffectiveOccasionByIdData, GetEquipEffectiveOccasionByIdResponses, GetEquipEffectiveOccasionListData, GetEquipEffectiveOccasionListResponses, GetEquipListData, GetEquipListResponses, GetEquipTypeByIdData, GetEquipTypeByIdResponses, GetEquipTypeListData, GetEquipTypeListResponses, GetErrorCodeByIdData, GetErrorCodeByIdResponses, GetErrorCodeListData, GetErrorCodeListResponses, GetGemByIdData, GetGemByIdResponses, GetGemCategoryByIdData, GetGemCategoryByIdResponses, GetGemCategoryListData, GetGemCategoryListResponses, GetGemGen1ByIdData, GetGemGen1ByIdResponses, GetGemGen1ListData, GetGemGen1ListResponses, GetGemGen2ByIdData, GetGemGen2ByIdResponses, GetGemGen2ListData, GetGemGen2ListResponses, GetGemGenerationCategoryByIdData, GetGemGenerationCategoryByIdResponses, GetGemGenerationCategoryListData, GetGemGenerationCategoryListResponses, GetGemListData, GetGemListResponses, GetGlossaryEntryByIdData, GetGlossaryEntryByIdResponses, GetGlossaryEntryListData, GetGlossaryEntryListResponses, GetHomepageBackgroundByIdData, GetHomepageBackgroundByIdResponses, GetHomepageBackgroundListData, GetHomepageBackgroundListResponses, GetItemByIdData, GetItemByIdResponses, GetItemCategoryByIdData, GetItemCategoryByIdResponses, GetItemCategoryListData, GetItemCategoryListResponses, GetItemListData, GetItemListResponses, GetMintmarkByIdData, GetMintmarkByIdResponses, GetMintmarkClassByIdData, GetMintmarkClassByIdResponses, GetMintmarkClassListData, GetMintmarkClassListResponses, GetMintmarkListData, GetMintmarkListResponses, GetMintmarkRarityByIdData, GetMintmarkRarityByIdResponses, GetMintmarkRarityListData, GetMintmarkRarityListResponses, GetMintmarkTypeByIdData, GetMintmarkTypeByIdResponses, GetMintmarkTypeListData, GetMintmarkTypeListResponses, GetNamecardBackgroundByIdData, GetNamecardBackgroundByIdResponses, GetNamecardBackgroundListData, GetNamecardBackgroundListResponses, GetNatureByIdData, GetNatureByIdResponses, GetNatureListData, GetNatureListResponses, GetNicknameBackgroundByIdData, GetNicknameBackgroundByIdResponses, GetNicknameBackgroundListData, GetNicknameBackgroundListResponses, GetPeakExpertPoolByIdData, GetPeakExpertPoolByIdResponses, GetPeakExpertPoolListData, GetPeakExpertPoolListResponses, GetPeakPoolByIdData, GetPeakPoolByIdResponses, GetPeakPoolListData, GetPeakPoolListResponses, GetPeakPoolVoteByIdData, GetPeakPoolVoteByIdResponses, GetPeakPoolVoteListData, GetPeakPoolVoteListResponses, GetPeakSeasonByIdData, GetPeakSeasonByIdResponses, GetPeakSeasonListData, GetPeakSeasonListResponses, GetPetAdvanceByIdData, GetPetAdvanceByIdResponses, GetPetAdvanceListData, GetPetAdvanceListResponses, GetPetArchiveStoryBookByIdData, GetPetArchiveStoryBookByIdResponses, GetPetArchiveStoryBookListData, GetPetArchiveStoryBookListResponses, GetPetArchiveStoryEntryByIdData, GetPetArchiveStoryEntryByIdResponses, GetPetArchiveStoryEntryListData, GetPetArchiveStoryEntryListResponses, GetPetByIdData, GetPetByIdResponses, GetPetClassByIdData, GetPetClassByIdResponses, GetPetClassListData, GetPetClassListResponses, GetPetEffectByIdData, GetPetEffectByIdResponses, GetPetEffectGroupByIdData, GetPetEffectGroupByIdResponses, GetPetEffectGroupListData, GetPetEffectGroupListResponses, GetPetEffectListData, GetPetEffectListResponses, GetPetEncyclopediaEntryByIdData, GetPetEncyclopediaEntryByIdResponses, GetPetEncyclopediaEntryListData, GetPetEncyclopediaEntryListResponses, GetPetGenderByIdData, GetPetGenderByIdResponses, GetPetGenderListData, GetPetGenderListResponses, GetPetListData, GetPetListResponses, GetPetMountTypeByIdData, GetPetMountTypeByIdResponses, GetPetMountTypeListData, GetPetMountTypeListResponses, GetPetSkinByIdData, GetPetSkinByIdResponses, GetPetSkinCategoryByIdData, GetPetSkinCategoryByIdResponses, GetPetSkinCategoryListData, GetPetSkinCategoryListResponses, GetPetSkinListData, GetPetSkinListResponses, GetPetSkinSeriesByIdData, GetPetSkinSeriesByIdResponses, GetPetSkinSeriesListData, GetPetSkinSeriesListResponses, GetPetSkinSeriesSubTypeByIdData, GetPetSkinSeriesSubTypeByIdResponses, GetPetSkinSeriesSubTypeListData, GetPetSkinSeriesSubTypeListResponses, GetPetVariationByIdData, GetPetVariationByIdResponses, GetPetVariationListData, GetPetVariationListResponses, GetPetVipbuffByIdData, GetPetVipbuffByIdResponses, GetPetVipbuffListData, GetPetVipbuffListResponses, GetResistanceCategoryByIdData, GetResistanceCategoryByIdResponses, GetResistanceCategoryListData, GetResistanceCategoryListResponses, GetSkillActivationItemByIdData, GetSkillActivationItemByIdResponses, GetSkillActivationItemListData, GetSkillActivationItemListResponses, GetSkillByIdData, GetSkillByIdResponses, GetSkillCategoryByIdData, GetSkillCategoryByIdResponses, GetSkillCategoryListData, GetSkillCategoryListResponses, GetSkillEffectParamByIdData, GetSkillEffectParamByIdResponses, GetSkillEffectParamListData, GetSkillEffectParamListResponses, GetSkillEffectTypeByIdData, GetSkillEffectTypeByIdResponses, GetSkillEffectTypeListData, GetSkillEffectTypeListResponses, GetSkillEffectTypeTagByIdData, GetSkillEffectTypeTagByIdResponses, GetSkillEffectTypeTagListData, GetSkillEffectTypeTagListResponses, GetSkillHideEffectByIdData, GetSkillHideEffectByIdResponses, GetSkillHideEffectListData, GetSkillHideEffectListResponses, GetSkillListData, GetSkillListResponses, GetSkillMintmarkByIdData, GetSkillMintmarkByIdResponses, GetSkillMintmarkListData, GetSkillMintmarkListResponses, GetSkillStoneByIdData, GetSkillStoneByIdResponses, GetSkillStoneCategoryByIdData, GetSkillStoneCategoryByIdResponses, GetSkillStoneCategoryListData, GetSkillStoneCategoryListResponses, GetSkillStoneListData, GetSkillStoneListResponses, GetSoulmarkByIdData, GetSoulmarkByIdResponses, GetSoulmarkListData, GetSoulmarkListResponses, GetSoulmarkTagByIdData, GetSoulmarkTagByIdResponses, GetSoulmarkTagListData, GetSoulmarkTagListResponses, GetSuitByIdData, GetSuitByIdResponses, GetSuitListData, GetSuitListResponses, GetTitleByIdData, GetTitleByIdResponses, GetTitleListData, GetTitleListResponses, GetUniversalMintmarkByIdData, GetUniversalMintmarkByIdResponses, GetUniversalMintmarkListData, GetUniversalMintmarkListResponses } from './types.gen.js'; +import type { GetAbilityMintmarkByIdData, GetAbilityMintmarkByIdResponses, GetAbilityMintmarkListData, GetAbilityMintmarkListResponses, GetAchievementBranchByIdData, GetAchievementBranchByIdResponses, GetAchievementBranchListData, GetAchievementBranchListResponses, GetAchievementByIdData, GetAchievementByIdResponses, GetAchievementCategoryByIdData, GetAchievementCategoryByIdResponses, GetAchievementCategoryListData, GetAchievementCategoryListResponses, GetAchievementListData, GetAchievementListResponses, GetAchievementTypeByIdData, GetAchievementTypeByIdResponses, GetAchievementTypeListData, GetAchievementTypeListResponses, GetActivityByIdData, GetActivityByIdResponses, GetActivityListData, GetActivityListResponses, GetActivityTypeByIdData, GetActivityTypeByIdResponses, GetActivityTypeListData, GetActivityTypeListResponses, GetAutocardByIdData, GetAutocardByIdResponses, GetAutocardCardtypeByIdData, GetAutocardCardtypeByIdResponses, GetAutocardCardtypeListData, GetAutocardCardtypeListResponses, GetAutocardElementTypeByIdData, GetAutocardElementTypeByIdResponses, GetAutocardElementTypeListData, GetAutocardElementTypeListResponses, GetAutocardFieldByIdData, GetAutocardFieldByIdResponses, GetAutocardFieldListData, GetAutocardFieldListResponses, GetAutocardListData, GetAutocardListResponses, GetAutocardPetcardByIdData, GetAutocardPetcardByIdResponses, GetAutocardPetcardListData, GetAutocardPetcardListResponses, GetAutocardRoleByIdData, GetAutocardRoleByIdResponses, GetAutocardRoleListData, GetAutocardRoleListResponses, GetAutocardSpellcardByIdData, GetAutocardSpellcardByIdResponses, GetAutocardSpellcardListData, GetAutocardSpellcardListResponses, GetAvatarFrameByIdData, GetAvatarFrameByIdResponses, GetAvatarFrameListData, GetAvatarFrameListResponses, GetAvatarHeadByIdData, GetAvatarHeadByIdResponses, GetAvatarHeadListData, GetAvatarHeadListResponses, GetBattleEffectByIdData, GetBattleEffectByIdResponses, GetBattleEffectListData, GetBattleEffectListResponses, GetBattleEffectTypeByIdData, GetBattleEffectTypeByIdResponses, GetBattleEffectTypeListData, GetBattleEffectTypeListResponses, GetEidEffectByIdData, GetEidEffectByIdResponses, GetEidEffectListData, GetEidEffectListResponses, GetElementTypeByIdData, GetElementTypeByIdResponses, GetElementTypeCombinationByIdData, GetElementTypeCombinationByIdResponses, GetElementTypeCombinationListData, GetElementTypeCombinationListResponses, GetElementTypeListData, GetElementTypeListResponses, GetEnergyBeadByIdData, GetEnergyBeadByIdResponses, GetEnergyBeadListData, GetEnergyBeadListResponses, GetEquipByIdData, GetEquipByIdResponses, GetEquipEffectiveOccasionByIdData, GetEquipEffectiveOccasionByIdResponses, GetEquipEffectiveOccasionListData, GetEquipEffectiveOccasionListResponses, GetEquipListData, GetEquipListResponses, GetEquipTypeByIdData, GetEquipTypeByIdResponses, GetEquipTypeListData, GetEquipTypeListResponses, GetErrorCodeByIdData, GetErrorCodeByIdResponses, GetErrorCodeListData, GetErrorCodeListResponses, GetGemByIdData, GetGemByIdResponses, GetGemCategoryByIdData, GetGemCategoryByIdResponses, GetGemCategoryListData, GetGemCategoryListResponses, GetGemGen1ByIdData, GetGemGen1ByIdResponses, GetGemGen1ListData, GetGemGen1ListResponses, GetGemGen2ByIdData, GetGemGen2ByIdResponses, GetGemGen2ListData, GetGemGen2ListResponses, GetGemGenerationCategoryByIdData, GetGemGenerationCategoryByIdResponses, GetGemGenerationCategoryListData, GetGemGenerationCategoryListResponses, GetGemListData, GetGemListResponses, GetGlossaryEntryByIdData, GetGlossaryEntryByIdResponses, GetGlossaryEntryListData, GetGlossaryEntryListResponses, GetHomepageBackgroundByIdData, GetHomepageBackgroundByIdResponses, GetHomepageBackgroundListData, GetHomepageBackgroundListResponses, GetItemByIdData, GetItemByIdResponses, GetItemCategoryByIdData, GetItemCategoryByIdResponses, GetItemCategoryListData, GetItemCategoryListResponses, GetItemListData, GetItemListResponses, GetMintmarkByIdData, GetMintmarkByIdResponses, GetMintmarkClassByIdData, GetMintmarkClassByIdResponses, GetMintmarkClassListData, GetMintmarkClassListResponses, GetMintmarkListData, GetMintmarkListResponses, GetMintmarkRarityByIdData, GetMintmarkRarityByIdResponses, GetMintmarkRarityListData, GetMintmarkRarityListResponses, GetMintmarkTypeByIdData, GetMintmarkTypeByIdResponses, GetMintmarkTypeListData, GetMintmarkTypeListResponses, GetNamecardBackgroundByIdData, GetNamecardBackgroundByIdResponses, GetNamecardBackgroundListData, GetNamecardBackgroundListResponses, GetNatureByIdData, GetNatureByIdResponses, GetNatureListData, GetNatureListResponses, GetNicknameBackgroundByIdData, GetNicknameBackgroundByIdResponses, GetNicknameBackgroundListData, GetNicknameBackgroundListResponses, GetPeakExpertPoolByIdData, GetPeakExpertPoolByIdResponses, GetPeakExpertPoolListData, GetPeakExpertPoolListResponses, GetPeakPoolByIdData, GetPeakPoolByIdResponses, GetPeakPoolListData, GetPeakPoolListResponses, GetPeakPoolVoteByIdData, GetPeakPoolVoteByIdResponses, GetPeakPoolVoteListData, GetPeakPoolVoteListResponses, GetPeakSeasonByIdData, GetPeakSeasonByIdResponses, GetPeakSeasonListData, GetPeakSeasonListResponses, GetPetAdvanceByIdData, GetPetAdvanceByIdResponses, GetPetAdvanceListData, GetPetAdvanceListResponses, GetPetArchiveStoryBookByIdData, GetPetArchiveStoryBookByIdResponses, GetPetArchiveStoryBookListData, GetPetArchiveStoryBookListResponses, GetPetArchiveStoryEntryByIdData, GetPetArchiveStoryEntryByIdResponses, GetPetArchiveStoryEntryListData, GetPetArchiveStoryEntryListResponses, GetPetByIdData, GetPetByIdResponses, GetPetClassByIdData, GetPetClassByIdResponses, GetPetClassListData, GetPetClassListResponses, GetPetEffectByIdData, GetPetEffectByIdResponses, GetPetEffectGroupByIdData, GetPetEffectGroupByIdResponses, GetPetEffectGroupListData, GetPetEffectGroupListResponses, GetPetEffectListData, GetPetEffectListResponses, GetPetEncyclopediaEntryByIdData, GetPetEncyclopediaEntryByIdResponses, GetPetEncyclopediaEntryListData, GetPetEncyclopediaEntryListResponses, GetPetGenderByIdData, GetPetGenderByIdResponses, GetPetGenderListData, GetPetGenderListResponses, GetPetListData, GetPetListResponses, GetPetMountTypeByIdData, GetPetMountTypeByIdResponses, GetPetMountTypeListData, GetPetMountTypeListResponses, GetPetSkinByIdData, GetPetSkinByIdResponses, GetPetSkinCategoryByIdData, GetPetSkinCategoryByIdResponses, GetPetSkinCategoryListData, GetPetSkinCategoryListResponses, GetPetSkinListData, GetPetSkinListResponses, GetPetSkinSeriesByIdData, GetPetSkinSeriesByIdResponses, GetPetSkinSeriesListData, GetPetSkinSeriesListResponses, GetPetSkinSeriesSubTypeByIdData, GetPetSkinSeriesSubTypeByIdResponses, GetPetSkinSeriesSubTypeListData, GetPetSkinSeriesSubTypeListResponses, GetPetVariationByIdData, GetPetVariationByIdResponses, GetPetVariationListData, GetPetVariationListResponses, GetPetVipbuffByIdData, GetPetVipbuffByIdResponses, GetPetVipbuffListData, GetPetVipbuffListResponses, GetResistanceCategoryByIdData, GetResistanceCategoryByIdResponses, GetResistanceCategoryListData, GetResistanceCategoryListResponses, GetSkillActivationItemByIdData, GetSkillActivationItemByIdResponses, GetSkillActivationItemListData, GetSkillActivationItemListResponses, GetSkillByIdData, GetSkillByIdResponses, GetSkillCategoryByIdData, GetSkillCategoryByIdResponses, GetSkillCategoryListData, GetSkillCategoryListResponses, GetSkillEffectParamByIdData, GetSkillEffectParamByIdResponses, GetSkillEffectParamListData, GetSkillEffectParamListResponses, GetSkillEffectTypeByIdData, GetSkillEffectTypeByIdResponses, GetSkillEffectTypeListData, GetSkillEffectTypeListResponses, GetSkillEffectTypeTagByIdData, GetSkillEffectTypeTagByIdResponses, GetSkillEffectTypeTagListData, GetSkillEffectTypeTagListResponses, GetSkillHideEffectByIdData, GetSkillHideEffectByIdResponses, GetSkillHideEffectListData, GetSkillHideEffectListResponses, GetSkillListData, GetSkillListResponses, GetSkillMintmarkByIdData, GetSkillMintmarkByIdResponses, GetSkillMintmarkListData, GetSkillMintmarkListResponses, GetSkillStoneByIdData, GetSkillStoneByIdResponses, GetSkillStoneCategoryByIdData, GetSkillStoneCategoryByIdResponses, GetSkillStoneCategoryListData, GetSkillStoneCategoryListResponses, GetSkillStoneListData, GetSkillStoneListResponses, GetSoulmarkByIdData, GetSoulmarkByIdResponses, GetSoulmarkListData, GetSoulmarkListResponses, GetSoulmarkTagByIdData, GetSoulmarkTagByIdResponses, GetSoulmarkTagListData, GetSoulmarkTagListResponses, GetSuitByIdData, GetSuitByIdResponses, GetSuitListData, GetSuitListResponses, GetTitleByIdData, GetTitleByIdResponses, GetTitleListData, GetTitleListResponses, GetUniversalMintmarkByIdData, GetUniversalMintmarkByIdResponses, GetUniversalMintmarkListData, GetUniversalMintmarkListResponses } from './types.gen.js'; export type Options = Options2 & { /** @@ -174,6 +174,160 @@ export const getActivityTypeList = (option ...options }); +/** + * 获取群星牌卡牌资源 + * + * 群星牌卡牌资源,包含所有群星牌卡牌数据,当然也包括衍生卡。 + */ +export const getAutocardById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard/{id}', + ...options +}); + +/** + * 获取群星牌卡牌资源列表 + * + * 群星牌卡牌资源,包含所有群星牌卡牌数据,当然也包括衍生卡。 + */ +export const getAutocardList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard/', + ...options +}); + +/** + * 获取群星牌精灵卡资源 + * + * 群星牌精灵卡资源,包含所有群星牌精灵卡数据,包括衍生卡。 + */ +export const getAutocardPetcardById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_petcard/{id}', + ...options +}); + +/** + * 获取群星牌精灵卡资源列表 + * + * 群星牌精灵卡资源,包含所有群星牌精灵卡数据,包括衍生卡。 + */ +export const getAutocardPetcardList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_petcard/', + ...options +}); + +/** + * 获取群星牌魔法卡资源 + * + * 群星牌魔法卡资源,包含所有群星牌魔法卡数据,包括衍生卡。 + */ +export const getAutocardSpellcardById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_spellcard/{id}', + ...options +}); + +/** + * 获取群星牌魔法卡资源列表 + * + * 群星牌魔法卡资源,包含所有群星牌魔法卡数据,包括衍生卡。 + */ +export const getAutocardSpellcardList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_spellcard/', + ...options +}); + +/** + * 获取群星牌卡牌类型资源 + * + * 群星牌卡牌类型资源。 + */ +export const getAutocardCardtypeById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_cardtype/{id}', + ...options +}); + +/** + * 获取群星牌卡牌类型资源列表 + * + * 群星牌卡牌类型资源。 + */ +export const getAutocardCardtypeList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_cardtype/', + ...options +}); + +/** + * 获取卡牌元素类型资源 + * + * 群星牌卡牌元素类型资源。 + */ +export const getAutocardElementTypeById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_element_type/{id}', + ...options +}); + +/** + * 获取卡牌元素类型资源列表 + * + * 群星牌卡牌元素类型资源。 + */ +export const getAutocardElementTypeList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_element_type/', + ...options +}); + +/** + * 获取群星牌角色资源 + * + * 群星牌角色资源,包含所有可以选择的群星牌角色数据。 + */ +export const getAutocardRoleById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_role/{id}', + ...options +}); + +/** + * 获取群星牌角色资源列表 + * + * 群星牌角色资源,包含所有可以选择的群星牌角色数据。 + */ +export const getAutocardRoleList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_role/', + ...options +}); + +/** + * 获取群星牌场地资源 + * + * 群星牌场地资源,包含所有群星牌场地数据。 + */ +export const getAutocardFieldById = (options: Options) => (options.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_field/{id}', + ...options +}); + +/** + * 获取群星牌场地资源列表 + * + * 群星牌场地资源,包含所有群星牌场地数据。 + */ +export const getAutocardFieldList = (options?: Options) => (options?.client ?? client).get({ + responseType: 'json', + url: 'v1/autocard_field/', + ...options +}); + /** * 获取状态资源 * diff --git a/packages/seerapi-ts/src/client/types.gen.ts b/packages/seerapi-ts/src/client/types.gen.ts index 19c86f6..df614d9 100644 --- a/packages/seerapi-ts/src/client/types.gen.ts +++ b/packages/seerapi-ts/src/client/types.gen.ts @@ -803,9 +803,11 @@ export type ActivityTypeListExpanded = { }; /** - * 状态资源 + * 群星牌卡牌资源 */ -export type BattleEffect = HashPartial & { +export type Autocard = HashPartial & { + type: CommonResourceRef; + element_type: CommonResourceRef; /** * Id * @@ -815,38 +817,72 @@ export type BattleEffect = HashPartial & { /** * Name * - * 状态名称 + * 卡牌名称 */ name: string; /** - * Desc + * Description * - * 状态描述 + * 卡牌描述 */ - desc: string; + description: string; /** - * Type + * Level * - * 状态类型,可能同时属于多个类型,例如瘫痪同时属于控制类和限制类异常 + * 卡牌等级 */ - type?: Array; + level: number; /** - * 抗性类型 + * Cost + * + * 卡牌费用 */ - resistance?: CommonResourceRef | null; + cost: number; + /** + * Is Token + * + * 该卡牌是否是衍生卡 + */ + is_token: boolean; + /** + * Attack + * + * 卡牌攻击力,仅当该卡牌为精灵卡时有效 + */ + attack?: number | null; + /** + * Health + * + * 卡牌生命值,仅当该卡牌为精灵卡时有效 + */ + health?: number | null; + /** + * Is Awakened + * + * 该卡牌是否是觉醒后的卡牌,仅当该卡牌为精灵卡时有效 + */ + is_awakened?: boolean; + /** + * 该卡牌的觉醒版本,仅当该卡牌为精灵卡时有效 + */ + awaken_card?: CommonResourceRef | null; + /** + * 该卡牌的非觉醒版本,仅当该卡牌为觉醒后的精灵卡时有效 + */ + non_awaken_card?: CommonResourceRef | null; }; /** - * 状态资源列表 + * 群星牌卡牌资源列表 */ -export type BattleEffectList = CommonApiResourceList; +export type AutocardList = CommonApiResourceList; /** - * 状态资源列表(expand=true) + * 群星牌卡牌资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type BattleEffectListExpanded = { +export type AutocardListExpanded = { /** * 资源数量 */ @@ -870,13 +906,15 @@ export type BattleEffectListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 状态类型资源 + * 群星牌精灵卡资源 */ -export type BattleEffectType = HashPartial & { +export type AutocardPetcard = HashPartial & { + type: CommonResourceRef; + element_type: CommonResourceRef; /** * Id * @@ -886,28 +924,72 @@ export type BattleEffectType = HashPartial & { /** * Name * - * 状态类型名称 + * 卡牌名称 */ name: string; /** - * Effect + * Description * - * 异常状态列表 + * 卡牌描述 */ - effect?: Array; + description: string; + /** + * Level + * + * 卡牌等级 + */ + level: number; + /** + * Cost + * + * 卡牌费用 + */ + cost: number; + /** + * Is Token + * + * 该卡牌是否是衍生卡 + */ + is_token: boolean; + /** + * Attack + * + * 卡牌攻击力 + */ + attack: number; + /** + * Health + * + * 卡牌生命值 + */ + health: number; + /** + * Is Awakened + * + * 该卡牌是否是觉醒后的卡牌 + */ + is_awakened: boolean; + /** + * 该卡牌的觉醒版本,当卡牌不能觉醒时为null + */ + awaken_card?: CommonResourceRef | null; + /** + * 该卡牌的非觉醒版本,仅当该卡牌为觉醒后的精灵卡时有效 + */ + non_awaken_card?: CommonResourceRef | null; }; /** - * 状态类型资源列表 + * 群星牌精灵卡资源列表 */ -export type BattleEffectTypeList = CommonApiResourceList; +export type AutocardPetcardList = CommonApiResourceList; /** - * 状态类型资源列表(expand=true) + * 群星牌精灵卡资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type BattleEffectTypeListExpanded = { +export type AutocardPetcardListExpanded = { /** * 资源数量 */ @@ -931,13 +1013,15 @@ export type BattleEffectTypeListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 抗性类型资源 + * 群星牌魔法卡资源 */ -export type ResistanceCategory = HashPartial & { +export type AutocardSpellcard = HashPartial & { + type: CommonResourceRef; + element_type: CommonResourceRef; /** * Id * @@ -947,28 +1031,46 @@ export type ResistanceCategory = HashPartial & { /** * Name * - * 抗性类型名称 + * 卡牌名称 */ name: string; /** - * Effect + * Description * - * 异常状态列表 + * 卡牌描述 */ - effect?: Array; + description: string; + /** + * Level + * + * 卡牌等级 + */ + level: number; + /** + * Cost + * + * 卡牌费用 + */ + cost: number; + /** + * Is Token + * + * 该卡牌是否是衍生卡 + */ + is_token: boolean; }; /** - * 抗性类型资源列表 + * 群星牌魔法卡资源列表 */ -export type ResistanceCategoryList = CommonApiResourceList; +export type AutocardSpellcardList = CommonApiResourceList; /** - * 抗性类型资源列表(expand=true) + * 群星牌魔法卡资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type ResistanceCategoryListExpanded = { +export type AutocardSpellcardListExpanded = { /** * 资源数量 */ @@ -992,13 +1094,13 @@ export type ResistanceCategoryListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 头像资源 + * 群星牌卡牌类型资源 */ -export type AvatarHead = HashPartial & { +export type AutocardCardtype = HashPartial & { /** * Id * @@ -1008,34 +1110,28 @@ export type AvatarHead = HashPartial & { /** * Name * - * 资源名称 + * 类型名称 */ name: string; /** - * Desc - * - * 资源描述 - */ - desc: string; - /** - * Icon Id + * Autocard * - * 资源ID(对应profilephoto配置中的icon字段) + * 卡牌列表 */ - icon_id: number; + autocard: Array; }; /** - * 头像资源列表 + * 群星牌卡牌类型资源列表 */ -export type AvatarHeadList = CommonApiResourceList; +export type AutocardCardtypeList = CommonApiResourceList; /** - * 头像资源列表(expand=true) + * 群星牌卡牌类型资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type AvatarHeadListExpanded = { +export type AutocardCardtypeListExpanded = { /** * 资源数量 */ @@ -1059,13 +1155,13 @@ export type AvatarHeadListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 头像框资源 + * 卡牌元素类型资源 */ -export type AvatarFrame = HashPartial & { +export type AutocardElementType = HashPartial & { /** * Id * @@ -1075,34 +1171,34 @@ export type AvatarFrame = HashPartial & { /** * Name * - * 资源名称 + * 类型名称 */ name: string; /** - * Desc + * Autocard * - * 资源描述 + * 卡牌列表 */ - desc: string; + autocard: Array; /** - * Icon Id + * Role * - * 资源ID(对应profilephoto配置中的icon字段) + * 角色列表 */ - icon_id: number; + role: Array; }; /** - * 头像框资源列表 + * 卡牌元素类型资源列表 */ -export type AvatarFrameList = CommonApiResourceList; +export type AutocardElementTypeList = CommonApiResourceList; /** - * 头像框资源列表(expand=true) + * 卡牌元素类型资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type AvatarFrameListExpanded = { +export type AutocardElementTypeListExpanded = { /** * 资源数量 */ @@ -1126,13 +1222,13 @@ export type AvatarFrameListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 名片背景资源 + * 群星牌角色资源 */ -export type NamecardBackground = HashPartial & { +export type AutocardRole = HashPartial & { /** * Id * @@ -1142,34 +1238,65 @@ export type NamecardBackground = HashPartial & { /** * Name * - * 资源名称 + * 角色名称 */ name: string; /** - * Desc + * Description * - * 资源描述 + * 角色描述 */ - desc: string; + description: string; /** - * Icon Id + * Health * - * 资源ID(对应profilephoto配置中的icon字段) + * 角色初始生命值 */ - icon_id: number; + health: number; + /** + * Skill Desc + * + * 角色技能描述 + */ + skill_desc: string; + /** + * Is Passive Skill + * + * 角色技能是否为被动技能 + */ + is_passive_skill: boolean; + /** + * Skill Cost + * + * 使用技能消耗的金币数量,None表示该技能为被动技能,此字段无效 + */ + skill_cost?: number | null; + /** + * Skill Game Limit + * + * 技能在游戏中的使用次数限制,0表示无限制,None表示该技能为被动技能,此字段无效 + */ + skill_game_limit?: number | null; + /** + * Skill Round Limit + * + * 技能在回合中的使用次数限制,0表示无限制,None表示该技能为被动技能,此字段无效 + */ + skill_round_limit?: number | null; + element_type: CommonResourceRef; }; /** - * 名片背景资源列表 + * 群星牌角色资源列表 */ -export type NamecardBackgroundList = CommonApiResourceList; +export type AutocardRoleList = CommonApiResourceList; /** - * 名片背景资源列表(expand=true) + * 群星牌角色资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type NamecardBackgroundListExpanded = { +export type AutocardRoleListExpanded = { /** * 资源数量 */ @@ -1193,13 +1320,13 @@ export type NamecardBackgroundListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 昵称背景资源 + * 群星牌场地资源 */ -export type NicknameBackground = HashPartial & { +export type AutocardField = HashPartial & { /** * Id * @@ -1209,34 +1336,49 @@ export type NicknameBackground = HashPartial & { /** * Name * - * 资源名称 + * 圣域名称 */ name: string; /** - * Desc - * - * 资源描述 - */ - desc: string; - /** - * Icon Id + * Buff Stage * - * 资源ID(对应profilephoto配置中的icon字段) + * Buff阶段,包含每个阶段的所有可选项 */ - icon_id: number; + buff_stage: { + [key: string]: Array<{ + /** + * Name + * + * Buff名称 + */ + name: string; + /** + * Description + * + * Buff描述 + */ + description: string; + /** + * Open Turn + * + * 该Buff可被选择的最早回合(即从第几回合起可开放选择) + */ + open_turn: number; + }>; + }; }; /** - * 昵称背景资源列表 + * 群星牌场地资源列表 */ -export type NicknameBackgroundList = CommonApiResourceList; +export type AutocardFieldList = CommonApiResourceList; /** - * 昵称背景资源列表(expand=true) + * 群星牌场地资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type NicknameBackgroundListExpanded = { +export type AutocardFieldListExpanded = { /** * 资源数量 */ @@ -1260,13 +1402,13 @@ export type NicknameBackgroundListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 主页背景资源 + * 状态资源 */ -export type HomepageBackground = HashPartial & { +export type BattleEffect = HashPartial & { /** * Id * @@ -1276,34 +1418,38 @@ export type HomepageBackground = HashPartial & { /** * Name * - * 资源名称 + * 状态名称 */ name: string; /** * Desc * - * 资源描述 + * 状态描述 */ desc: string; /** - * Icon Id + * Type * - * 资源ID(对应profilephoto配置中的icon字段) + * 状态类型,可能同时属于多个类型,例如瘫痪同时属于控制类和限制类异常 */ - icon_id: number; + type?: Array; + /** + * 抗性类型 + */ + resistance?: CommonResourceRef | null; }; /** - * 主页背景资源列表 + * 状态资源列表 */ -export type HomepageBackgroundList = CommonApiResourceList; +export type BattleEffectList = CommonApiResourceList; /** - * 主页背景资源列表(expand=true) + * 状态资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type HomepageBackgroundListExpanded = { +export type BattleEffectListExpanded = { /** * 资源数量 */ @@ -1327,13 +1473,13 @@ export type HomepageBackgroundListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 特性资源 + * 状态类型资源 */ -export type PetEffect = HashPartial & { +export type BattleEffectType = HashPartial & { /** * Id * @@ -1343,42 +1489,28 @@ export type PetEffect = HashPartial & { /** * Name * - * 名称 + * 状态类型名称 */ name: string; /** - * Desc - * - * 描述 - */ - desc: string; - effect: CommonEidEffectInUse; - /** - * Effect Alias - * - * 效果别名,命名规则为:[效果名称]_[参数1]_[参数2]_… - */ - effect_alias: string; - /** - * Star Level + * Effect * - * 特性星级 + * 异常状态列表 */ - star_level: number; - effect_group: CommonResourceRef; + effect?: Array; }; /** - * 特性资源列表 + * 状态类型资源列表 */ -export type PetEffectList = CommonApiResourceList; +export type BattleEffectTypeList = CommonApiResourceList; /** - * 特性资源列表(expand=true) + * 状态类型资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type PetEffectListExpanded = { +export type BattleEffectTypeListExpanded = { /** * 资源数量 */ @@ -1402,13 +1534,13 @@ export type PetEffectListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 特性组资源 + * 抗性类型资源 */ -export type PetEffectGroup = HashPartial & { +export type ResistanceCategory = HashPartial & { /** * Id * @@ -1418,28 +1550,28 @@ export type PetEffectGroup = HashPartial & { /** * Name * - * 名称 + * 抗性类型名称 */ name: string; /** * Effect * - * 特性列表 + * 异常状态列表 */ effect?: Array; }; /** - * 特性组资源列表 + * 抗性类型资源列表 */ -export type PetEffectGroupList = CommonApiResourceList; +export type ResistanceCategoryList = CommonApiResourceList; /** - * 特性组资源列表(expand=true) + * 抗性类型资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type PetEffectGroupListExpanded = { +export type ResistanceCategoryListExpanded = { /** * 资源数量 */ @@ -1463,13 +1595,13 @@ export type PetEffectGroupListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 特质效果资源 + * 头像资源 */ -export type PetVariation = HashPartial & { +export type AvatarHead = HashPartial & { /** * Id * @@ -1479,35 +1611,34 @@ export type PetVariation = HashPartial & { /** * Name * - * 名称 + * 资源名称 */ name: string; /** * Desc * - * 描述 + * 资源描述 */ desc: string; - effect: CommonEidEffectInUse; /** - * Effect Alias + * Icon Id * - * 效果别名,命名规则为:[效果名称]_[参数1]_[参数2]_… + * 资源ID(对应profilephoto配置中的icon字段) */ - effect_alias: string; + icon_id: number; }; /** - * 特质效果资源列表 + * 头像资源列表 */ -export type PetVariationList = CommonApiResourceList; +export type AvatarHeadList = CommonApiResourceList; /** - * 特质效果资源列表(expand=true) + * 头像资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type PetVariationListExpanded = { +export type AvatarHeadListExpanded = { /** * 资源数量 */ @@ -1531,13 +1662,13 @@ export type PetVariationListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * eid效果资源 + * 头像框资源 */ -export type EidEffect = HashPartial & { +export type AvatarFrame = HashPartial & { /** * Id * @@ -1545,24 +1676,36 @@ export type EidEffect = HashPartial & { */ id: number; /** - * Args Num + * Name * - * 效果需要的参数数量,该值是从使用该效果的资源中推测得出的 + * 资源名称 */ - args_num: number; + name: string; + /** + * Desc + * + * 资源描述 + */ + desc: string; + /** + * Icon Id + * + * 资源ID(对应profilephoto配置中的icon字段) + */ + icon_id: number; }; /** - * eid效果资源列表 + * 头像框资源列表 */ -export type EidEffectList = CommonApiResourceList; +export type AvatarFrameList = CommonApiResourceList; /** - * eid效果资源列表(expand=true) + * 头像框资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type EidEffectListExpanded = { +export type AvatarFrameListExpanded = { /** * 资源数量 */ @@ -1586,62 +1729,50 @@ export type EidEffectListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 能量珠资源 + * 名片背景资源 */ -export type EnergyBead = HashPartial & { +export type NamecardBackground = HashPartial & { /** * Id * - * 能量珠ID + * 资源ID */ id: number; /** * Name * - * 能量珠名称 + * 资源名称 */ name: string; /** * Desc * - * 能量珠描述 + * 资源描述 */ desc: string; /** - * Idx - * - * 能量珠效果ID - */ - idx: number; - /** - * Use Times + * Icon Id * - * 使用次数 - */ - use_times: number; - item: CommonResourceRef; - effect: CommonEidEffectInUse; - /** - * 能力加成数值,仅当能量珠效果为属性加成时有效 + * 资源ID(对应profilephoto配置中的icon字段) */ - ability_buff?: CommonSixAttributes | null; + icon_id: number; }; /** - * 能量珠资源列表 + * 名片背景资源列表 */ -export type EnergyBeadList = CommonApiResourceList; +export type NamecardBackgroundList = CommonApiResourceList; /** - * 能量珠资源列表(expand=true) + * 名片背景资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type EnergyBeadListExpanded = { +export type NamecardBackgroundListExpanded = { /** * 资源数量 */ @@ -1665,129 +1796,50 @@ export type EnergyBeadListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 部件资源 + * 昵称背景资源 */ -export type Equip = HashPartial & { +export type NicknameBackground = HashPartial & { /** * Id * - * 部件ID + * 资源ID */ id: number; /** * Name * - * 部件名称 + * 资源名称 */ name: string; /** - * Speed + * Desc * - * 部件速度移动加成,一般只有脚部部件提供 - */ - speed?: number | null; - item: CommonResourceRef; - /** - * 部件效果,仅当该部件为能力加成部件时有效 - */ - bonus?: { - /** - * Newse Id - * - * 部件特性ID,一部分套装使用该字段来表示效果 - */ - newse_id?: number | null; - /** - * 部件效果,一部分套装使用该字段来表示效果 - */ - eid_effect?: CommonEidEffectInUse | null; - /** - * Id - */ - id?: number | null; - /** - * Desc - * - * 部件描述 - */ - desc: string; - /** - * 属性加成,仅在部件有属性加成时有效 - */ - attribute?: CommonSixAttributes | null; - /** - * 其他属性加成,仅在部件有命中/闪避/暴击加成时有效 - */ - other_attribute?: { - /** - * Hit Rate - * - * 命中加成 - */ - hit_rate?: number; - /** - * Dodge Rate - * - * 闪避加成 - */ - dodge_rate?: number; - /** - * Crit Rate - * - * 暴击加成 - */ - crit_rate?: number; - } | null; - } | null; - /** - * 部件生效场合,仅当该部件为能力加成部件时有效 - */ - occasion?: CommonResourceRef | null; - /** - * 部件所属套装,仅当该部件有套装时有效 + * 资源描述 */ - suit?: CommonResourceRef | null; - part_type: CommonResourceRef; + desc: string; /** - * 部件PK加成,战队保卫战等老玩法使用,当三个加成项都为0时为null + * Icon Id + * + * 资源ID(对应profilephoto配置中的icon字段) */ - pk_attribute?: { - /** - * Pk Hp - * - * 装备提供的血量加成 - */ - pk_hp: number; - /** - * Pk Atk - * - * 装备提供的攻击力加成 - */ - pk_atk: number; - /** - * Pk Fire Range - * - * 装备提供的射击范围加成 - */ - pk_fire_range: number; - } | null; + icon_id: number; }; /** - * 部件资源列表 + * 昵称背景资源列表 */ -export type EquipList = CommonApiResourceList; +export type NicknameBackgroundList = CommonApiResourceList; /** - * 部件资源列表(expand=true) + * 昵称背景资源列表(expand=true) * * expand=true 时返回完整资源对象列表 */ -export type EquipListExpanded = { +export type NicknameBackgroundListExpanded = { /** * 资源数量 */ @@ -1811,13 +1863,13 @@ export type EquipListExpanded = { /** * 资源列表 */ - results: Array; + results: Array; }; /** - * 套装资源 + * 主页背景资源 */ -export type Suit = HashPartial & { +export type HomepageBackground = HashPartial & { /** * Id * @@ -1827,25 +1879,576 @@ export type Suit = HashPartial & { /** * Name * - * 名称 + * 资源名称 */ name: string; /** - * Transform + * Desc * - * 是否可变形 + * 资源描述 */ - transform: boolean; + desc: string; /** - * Tran Speed + * Icon Id * - * 变形速度,仅当该套装可变形时有效 + * 资源ID(对应profilephoto配置中的icon字段) */ - tran_speed?: number | null; + icon_id: number; +}; + +/** + * 主页背景资源列表 + */ +export type HomepageBackgroundList = CommonApiResourceList; + +/** + * 主页背景资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type HomepageBackgroundListExpanded = { /** - * Suit Desc - * - * 套装描述 + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * 特性资源 + */ +export type PetEffect = HashPartial & { + /** + * Id + * + * 资源ID + */ + id: number; + /** + * Name + * + * 名称 + */ + name: string; + /** + * Desc + * + * 描述 + */ + desc: string; + effect: CommonEidEffectInUse; + /** + * Effect Alias + * + * 效果别名,命名规则为:[效果名称]_[参数1]_[参数2]_… + */ + effect_alias: string; + /** + * Star Level + * + * 特性星级 + */ + star_level: number; + effect_group: CommonResourceRef; +}; + +/** + * 特性资源列表 + */ +export type PetEffectList = CommonApiResourceList; + +/** + * 特性资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type PetEffectListExpanded = { + /** + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * 特性组资源 + */ +export type PetEffectGroup = HashPartial & { + /** + * Id + * + * 资源ID + */ + id: number; + /** + * Name + * + * 名称 + */ + name: string; + /** + * Effect + * + * 特性列表 + */ + effect?: Array; +}; + +/** + * 特性组资源列表 + */ +export type PetEffectGroupList = CommonApiResourceList; + +/** + * 特性组资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type PetEffectGroupListExpanded = { + /** + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * 特质效果资源 + */ +export type PetVariation = HashPartial & { + /** + * Id + * + * 资源ID + */ + id: number; + /** + * Name + * + * 名称 + */ + name: string; + /** + * Desc + * + * 描述 + */ + desc: string; + effect: CommonEidEffectInUse; + /** + * Effect Alias + * + * 效果别名,命名规则为:[效果名称]_[参数1]_[参数2]_… + */ + effect_alias: string; +}; + +/** + * 特质效果资源列表 + */ +export type PetVariationList = CommonApiResourceList; + +/** + * 特质效果资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type PetVariationListExpanded = { + /** + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * eid效果资源 + */ +export type EidEffect = HashPartial & { + /** + * Id + * + * 资源ID + */ + id: number; + /** + * Args Num + * + * 效果需要的参数数量,该值是从使用该效果的资源中推测得出的 + */ + args_num: number; +}; + +/** + * eid效果资源列表 + */ +export type EidEffectList = CommonApiResourceList; + +/** + * eid效果资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type EidEffectListExpanded = { + /** + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * 能量珠资源 + */ +export type EnergyBead = HashPartial & { + /** + * Id + * + * 能量珠ID + */ + id: number; + /** + * Name + * + * 能量珠名称 + */ + name: string; + /** + * Desc + * + * 能量珠描述 + */ + desc: string; + /** + * Idx + * + * 能量珠效果ID + */ + idx: number; + /** + * Use Times + * + * 使用次数 + */ + use_times: number; + item: CommonResourceRef; + effect: CommonEidEffectInUse; + /** + * 能力加成数值,仅当能量珠效果为属性加成时有效 + */ + ability_buff?: CommonSixAttributes | null; +}; + +/** + * 能量珠资源列表 + */ +export type EnergyBeadList = CommonApiResourceList; + +/** + * 能量珠资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type EnergyBeadListExpanded = { + /** + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * 部件资源 + */ +export type Equip = HashPartial & { + /** + * Id + * + * 部件ID + */ + id: number; + /** + * Name + * + * 部件名称 + */ + name: string; + /** + * Speed + * + * 部件速度移动加成,一般只有脚部部件提供 + */ + speed?: number | null; + item: CommonResourceRef; + /** + * 部件效果,仅当该部件为能力加成部件时有效 + */ + bonus?: { + /** + * Newse Id + * + * 部件特性ID,一部分套装使用该字段来表示效果 + */ + newse_id?: number | null; + /** + * 部件效果,一部分套装使用该字段来表示效果 + */ + eid_effect?: CommonEidEffectInUse | null; + /** + * Id + */ + id?: number | null; + /** + * Desc + * + * 部件描述 + */ + desc: string; + /** + * 属性加成,仅在部件有属性加成时有效 + */ + attribute?: CommonSixAttributes | null; + /** + * 其他属性加成,仅在部件有命中/闪避/暴击加成时有效 + */ + other_attribute?: { + /** + * Hit Rate + * + * 命中加成 + */ + hit_rate?: number; + /** + * Dodge Rate + * + * 闪避加成 + */ + dodge_rate?: number; + /** + * Crit Rate + * + * 暴击加成 + */ + crit_rate?: number; + } | null; + } | null; + /** + * 部件生效场合,仅当该部件为能力加成部件时有效 + */ + occasion?: CommonResourceRef | null; + /** + * 部件所属套装,仅当该部件有套装时有效 + */ + suit?: CommonResourceRef | null; + part_type: CommonResourceRef; + /** + * 部件PK加成,战队保卫战等老玩法使用,当三个加成项都为0时为null + */ + pk_attribute?: { + /** + * Pk Hp + * + * 装备提供的血量加成 + */ + pk_hp: number; + /** + * Pk Atk + * + * 装备提供的攻击力加成 + */ + pk_atk: number; + /** + * Pk Fire Range + * + * 装备提供的射击范围加成 + */ + pk_fire_range: number; + } | null; +}; + +/** + * 部件资源列表 + */ +export type EquipList = CommonApiResourceList; + +/** + * 部件资源列表(expand=true) + * + * expand=true 时返回完整资源对象列表 + */ +export type EquipListExpanded = { + /** + * 资源数量 + */ + count: number; + /** + * 下一页URL + */ + next?: string | null; + /** + * 上一页URL + */ + previous?: string | null; + /** + * 第一页URL + */ + first?: string | null; + /** + * 最后一页URL + */ + last?: string | null; + /** + * 资源列表 + */ + results: Array; +}; + +/** + * 套装资源 + */ +export type Suit = HashPartial & { + /** + * Id + * + * 资源ID + */ + id: number; + /** + * Name + * + * 名称 + */ + name: string; + /** + * Transform + * + * 是否可变形 + */ + transform: boolean; + /** + * Tran Speed + * + * 变形速度,仅当该套装可变形时有效 + */ + tran_speed?: number | null; + /** + * Suit Desc + * + * 套装描述 */ suit_desc: string; /** @@ -5823,21 +6426,49 @@ export type RootIndex = HashPartial & { */ achievement_type: string; /** - * achievement_category Path + * achievement_category Path + */ + achievement_category: string; + /** + * title Path + */ + title: string; + /** + * activity Path + */ + activity: string; + /** + * activity_type Path + */ + activity_type: string; + /** + * autocard Path + */ + autocard: string; + /** + * autocard_petcard Path + */ + autocard_petcard: string; + /** + * autocard_spellcard Path + */ + autocard_spellcard: string; + /** + * autocard_cardtype Path */ - achievement_category: string; + autocard_cardtype: string; /** - * title Path + * autocard_element_type Path */ - title: string; + autocard_element_type: string; /** - * activity Path + * autocard_role Path */ - activity: string; + autocard_role: string; /** - * activity_type Path + * autocard_field Path */ - activity_type: string; + autocard_field: string; /** * battle_effect Path */ @@ -6071,59 +6702,423 @@ export type RootIndex = HashPartial & { */ pet_encyclopedia_entry: string; /** - * skill Path + * skill Path + */ + skill: string; + /** + * skill_effect_type Path + */ + skill_effect_type: string; + /** + * skill_effect_param Path + */ + skill_effect_param: string; + /** + * skill_hide_effect Path + */ + skill_hide_effect: string; + /** + * skill_category Path + */ + skill_category: string; + /** + * skill_effect_type_tag Path + */ + skill_effect_type_tag: string; +}; + +/** + * 资源 ID + */ +export type Id = number; + +/** + * 资源名称 + */ +export type Name = string; + +/** + * 每页返回的最大结果数 + */ +export type Limit = number; + +/** + * 从哪个位置开始返回结果 + */ +export type Offset = number; + +/** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ +export type Expand = boolean; + +export type GetAchievementByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/achievement/{id}'; +}; + +export type GetAchievementByIdResponses = { + /** + * OK + */ + 200: Achievement; +}; + +export type GetAchievementByIdResponse = GetAchievementByIdResponses[keyof GetAchievementByIdResponses]; + +export type GetAchievementListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/achievement/'; +}; + +export type GetAchievementListResponses = { + /** + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 + */ + 200: AchievementList | AchievementListExpanded; +}; + +export type GetAchievementListResponse = GetAchievementListResponses[keyof GetAchievementListResponses]; + +export type GetAchievementBranchByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/achievement_branch/{id}'; +}; + +export type GetAchievementBranchByIdResponses = { + /** + * OK + */ + 200: AchievementBranch; +}; + +export type GetAchievementBranchByIdResponse = GetAchievementBranchByIdResponses[keyof GetAchievementBranchByIdResponses]; + +export type GetAchievementBranchListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/achievement_branch/'; +}; + +export type GetAchievementBranchListResponses = { + /** + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 + */ + 200: AchievementBranchList | AchievementBranchListExpanded; +}; + +export type GetAchievementBranchListResponse = GetAchievementBranchListResponses[keyof GetAchievementBranchListResponses]; + +export type GetAchievementTypeByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/achievement_type/{id}'; +}; + +export type GetAchievementTypeByIdResponses = { + /** + * OK + */ + 200: AchievementType; +}; + +export type GetAchievementTypeByIdResponse = GetAchievementTypeByIdResponses[keyof GetAchievementTypeByIdResponses]; + +export type GetAchievementTypeListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/achievement_type/'; +}; + +export type GetAchievementTypeListResponses = { + /** + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 + */ + 200: AchievementTypeList | AchievementTypeListExpanded; +}; + +export type GetAchievementTypeListResponse = GetAchievementTypeListResponses[keyof GetAchievementTypeListResponses]; + +export type GetAchievementCategoryByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/achievement_category/{id}'; +}; + +export type GetAchievementCategoryByIdResponses = { + /** + * OK + */ + 200: AchievementCategory; +}; + +export type GetAchievementCategoryByIdResponse = GetAchievementCategoryByIdResponses[keyof GetAchievementCategoryByIdResponses]; + +export type GetAchievementCategoryListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/achievement_category/'; +}; + +export type GetAchievementCategoryListResponses = { + /** + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - skill: string; + 200: AchievementCategoryList | AchievementCategoryListExpanded; +}; + +export type GetAchievementCategoryListResponse = GetAchievementCategoryListResponses[keyof GetAchievementCategoryListResponses]; + +export type GetTitleByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/title/{id}'; +}; + +export type GetTitleByIdResponses = { /** - * skill_effect_type Path + * OK */ - skill_effect_type: string; + 200: Title; +}; + +export type GetTitleByIdResponse = GetTitleByIdResponses[keyof GetTitleByIdResponses]; + +export type GetTitleListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/title/'; +}; + +export type GetTitleListResponses = { /** - * skill_effect_param Path + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - skill_effect_param: string; + 200: TitleList | TitleListExpanded; +}; + +export type GetTitleListResponse = GetTitleListResponses[keyof GetTitleListResponses]; + +export type GetActivityByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/activity/{id}'; +}; + +export type GetActivityByIdResponses = { /** - * skill_hide_effect Path + * OK */ - skill_hide_effect: string; + 200: Activity; +}; + +export type GetActivityByIdResponse = GetActivityByIdResponses[keyof GetActivityByIdResponses]; + +export type GetActivityListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/activity/'; +}; + +export type GetActivityListResponses = { /** - * skill_category Path + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - skill_category: string; + 200: ActivityList | ActivityListExpanded; +}; + +export type GetActivityListResponse = GetActivityListResponses[keyof GetActivityListResponses]; + +export type GetActivityTypeByIdData = { + body?: never; + path: { + /** + * 资源 ID + */ + id: number; + }; + query?: never; + url: 'v1/activity_type/{id}'; +}; + +export type GetActivityTypeByIdResponses = { /** - * skill_effect_type_tag Path + * OK */ - skill_effect_type_tag: string; + 200: ActivityType; }; -/** - * 资源 ID - */ -export type Id = number; - -/** - * 资源名称 - */ -export type Name = string; +export type GetActivityTypeByIdResponse = GetActivityTypeByIdResponses[keyof GetActivityTypeByIdResponses]; -/** - * 每页返回的最大结果数 - */ -export type Limit = number; +export type GetActivityTypeListData = { + body?: never; + path?: never; + query?: { + /** + * 从哪个位置开始返回结果 + */ + offset?: number; + /** + * 每页返回的最大结果数 + */ + limit?: number; + /** + * 控制 results 的返回格式: + * - `false`(默认):返回轻量引用(NamedResourceRef) + * - `true`:返回完整资源对象 + */ + expand?: boolean; + }; + url: 'v1/activity_type/'; +}; -/** - * 从哪个位置开始返回结果 - */ -export type Offset = number; +export type GetActivityTypeListResponses = { + /** + * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 + */ + 200: ActivityTypeList | ActivityTypeListExpanded; +}; -/** - * 控制 results 的返回格式: - * - `false`(默认):返回轻量引用(NamedResourceRef) - * - `true`:返回完整资源对象 - */ -export type Expand = boolean; +export type GetActivityTypeListResponse = GetActivityTypeListResponses[keyof GetActivityTypeListResponses]; -export type GetAchievementByIdData = { +export type GetAutocardByIdData = { body?: never; path: { /** @@ -6132,19 +7127,19 @@ export type GetAchievementByIdData = { id: number; }; query?: never; - url: 'v1/achievement/{id}'; + url: 'v1/autocard/{id}'; }; -export type GetAchievementByIdResponses = { +export type GetAutocardByIdResponses = { /** * OK */ - 200: Achievement; + 200: Autocard; }; -export type GetAchievementByIdResponse = GetAchievementByIdResponses[keyof GetAchievementByIdResponses]; +export type GetAutocardByIdResponse = GetAutocardByIdResponses[keyof GetAutocardByIdResponses]; -export type GetAchievementListData = { +export type GetAutocardListData = { body?: never; path?: never; query?: { @@ -6163,19 +7158,19 @@ export type GetAchievementListData = { */ expand?: boolean; }; - url: 'v1/achievement/'; + url: 'v1/autocard/'; }; -export type GetAchievementListResponses = { +export type GetAutocardListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: AchievementList | AchievementListExpanded; + 200: AutocardList | AutocardListExpanded; }; -export type GetAchievementListResponse = GetAchievementListResponses[keyof GetAchievementListResponses]; +export type GetAutocardListResponse = GetAutocardListResponses[keyof GetAutocardListResponses]; -export type GetAchievementBranchByIdData = { +export type GetAutocardPetcardByIdData = { body?: never; path: { /** @@ -6184,19 +7179,19 @@ export type GetAchievementBranchByIdData = { id: number; }; query?: never; - url: 'v1/achievement_branch/{id}'; + url: 'v1/autocard_petcard/{id}'; }; -export type GetAchievementBranchByIdResponses = { +export type GetAutocardPetcardByIdResponses = { /** * OK */ - 200: AchievementBranch; + 200: AutocardPetcard; }; -export type GetAchievementBranchByIdResponse = GetAchievementBranchByIdResponses[keyof GetAchievementBranchByIdResponses]; +export type GetAutocardPetcardByIdResponse = GetAutocardPetcardByIdResponses[keyof GetAutocardPetcardByIdResponses]; -export type GetAchievementBranchListData = { +export type GetAutocardPetcardListData = { body?: never; path?: never; query?: { @@ -6215,19 +7210,19 @@ export type GetAchievementBranchListData = { */ expand?: boolean; }; - url: 'v1/achievement_branch/'; + url: 'v1/autocard_petcard/'; }; -export type GetAchievementBranchListResponses = { +export type GetAutocardPetcardListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: AchievementBranchList | AchievementBranchListExpanded; + 200: AutocardPetcardList | AutocardPetcardListExpanded; }; -export type GetAchievementBranchListResponse = GetAchievementBranchListResponses[keyof GetAchievementBranchListResponses]; +export type GetAutocardPetcardListResponse = GetAutocardPetcardListResponses[keyof GetAutocardPetcardListResponses]; -export type GetAchievementTypeByIdData = { +export type GetAutocardSpellcardByIdData = { body?: never; path: { /** @@ -6236,19 +7231,19 @@ export type GetAchievementTypeByIdData = { id: number; }; query?: never; - url: 'v1/achievement_type/{id}'; + url: 'v1/autocard_spellcard/{id}'; }; -export type GetAchievementTypeByIdResponses = { +export type GetAutocardSpellcardByIdResponses = { /** * OK */ - 200: AchievementType; + 200: AutocardSpellcard; }; -export type GetAchievementTypeByIdResponse = GetAchievementTypeByIdResponses[keyof GetAchievementTypeByIdResponses]; +export type GetAutocardSpellcardByIdResponse = GetAutocardSpellcardByIdResponses[keyof GetAutocardSpellcardByIdResponses]; -export type GetAchievementTypeListData = { +export type GetAutocardSpellcardListData = { body?: never; path?: never; query?: { @@ -6267,19 +7262,19 @@ export type GetAchievementTypeListData = { */ expand?: boolean; }; - url: 'v1/achievement_type/'; + url: 'v1/autocard_spellcard/'; }; -export type GetAchievementTypeListResponses = { +export type GetAutocardSpellcardListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: AchievementTypeList | AchievementTypeListExpanded; + 200: AutocardSpellcardList | AutocardSpellcardListExpanded; }; -export type GetAchievementTypeListResponse = GetAchievementTypeListResponses[keyof GetAchievementTypeListResponses]; +export type GetAutocardSpellcardListResponse = GetAutocardSpellcardListResponses[keyof GetAutocardSpellcardListResponses]; -export type GetAchievementCategoryByIdData = { +export type GetAutocardCardtypeByIdData = { body?: never; path: { /** @@ -6288,19 +7283,19 @@ export type GetAchievementCategoryByIdData = { id: number; }; query?: never; - url: 'v1/achievement_category/{id}'; + url: 'v1/autocard_cardtype/{id}'; }; -export type GetAchievementCategoryByIdResponses = { +export type GetAutocardCardtypeByIdResponses = { /** * OK */ - 200: AchievementCategory; + 200: AutocardCardtype; }; -export type GetAchievementCategoryByIdResponse = GetAchievementCategoryByIdResponses[keyof GetAchievementCategoryByIdResponses]; +export type GetAutocardCardtypeByIdResponse = GetAutocardCardtypeByIdResponses[keyof GetAutocardCardtypeByIdResponses]; -export type GetAchievementCategoryListData = { +export type GetAutocardCardtypeListData = { body?: never; path?: never; query?: { @@ -6319,19 +7314,19 @@ export type GetAchievementCategoryListData = { */ expand?: boolean; }; - url: 'v1/achievement_category/'; + url: 'v1/autocard_cardtype/'; }; -export type GetAchievementCategoryListResponses = { +export type GetAutocardCardtypeListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: AchievementCategoryList | AchievementCategoryListExpanded; + 200: AutocardCardtypeList | AutocardCardtypeListExpanded; }; -export type GetAchievementCategoryListResponse = GetAchievementCategoryListResponses[keyof GetAchievementCategoryListResponses]; +export type GetAutocardCardtypeListResponse = GetAutocardCardtypeListResponses[keyof GetAutocardCardtypeListResponses]; -export type GetTitleByIdData = { +export type GetAutocardElementTypeByIdData = { body?: never; path: { /** @@ -6340,19 +7335,19 @@ export type GetTitleByIdData = { id: number; }; query?: never; - url: 'v1/title/{id}'; + url: 'v1/autocard_element_type/{id}'; }; -export type GetTitleByIdResponses = { +export type GetAutocardElementTypeByIdResponses = { /** * OK */ - 200: Title; + 200: AutocardElementType; }; -export type GetTitleByIdResponse = GetTitleByIdResponses[keyof GetTitleByIdResponses]; +export type GetAutocardElementTypeByIdResponse = GetAutocardElementTypeByIdResponses[keyof GetAutocardElementTypeByIdResponses]; -export type GetTitleListData = { +export type GetAutocardElementTypeListData = { body?: never; path?: never; query?: { @@ -6371,19 +7366,19 @@ export type GetTitleListData = { */ expand?: boolean; }; - url: 'v1/title/'; + url: 'v1/autocard_element_type/'; }; -export type GetTitleListResponses = { +export type GetAutocardElementTypeListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: TitleList | TitleListExpanded; + 200: AutocardElementTypeList | AutocardElementTypeListExpanded; }; -export type GetTitleListResponse = GetTitleListResponses[keyof GetTitleListResponses]; +export type GetAutocardElementTypeListResponse = GetAutocardElementTypeListResponses[keyof GetAutocardElementTypeListResponses]; -export type GetActivityByIdData = { +export type GetAutocardRoleByIdData = { body?: never; path: { /** @@ -6392,19 +7387,19 @@ export type GetActivityByIdData = { id: number; }; query?: never; - url: 'v1/activity/{id}'; + url: 'v1/autocard_role/{id}'; }; -export type GetActivityByIdResponses = { +export type GetAutocardRoleByIdResponses = { /** * OK */ - 200: Activity; + 200: AutocardRole; }; -export type GetActivityByIdResponse = GetActivityByIdResponses[keyof GetActivityByIdResponses]; +export type GetAutocardRoleByIdResponse = GetAutocardRoleByIdResponses[keyof GetAutocardRoleByIdResponses]; -export type GetActivityListData = { +export type GetAutocardRoleListData = { body?: never; path?: never; query?: { @@ -6423,19 +7418,19 @@ export type GetActivityListData = { */ expand?: boolean; }; - url: 'v1/activity/'; + url: 'v1/autocard_role/'; }; -export type GetActivityListResponses = { +export type GetAutocardRoleListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: ActivityList | ActivityListExpanded; + 200: AutocardRoleList | AutocardRoleListExpanded; }; -export type GetActivityListResponse = GetActivityListResponses[keyof GetActivityListResponses]; +export type GetAutocardRoleListResponse = GetAutocardRoleListResponses[keyof GetAutocardRoleListResponses]; -export type GetActivityTypeByIdData = { +export type GetAutocardFieldByIdData = { body?: never; path: { /** @@ -6444,19 +7439,19 @@ export type GetActivityTypeByIdData = { id: number; }; query?: never; - url: 'v1/activity_type/{id}'; + url: 'v1/autocard_field/{id}'; }; -export type GetActivityTypeByIdResponses = { +export type GetAutocardFieldByIdResponses = { /** * OK */ - 200: ActivityType; + 200: AutocardField; }; -export type GetActivityTypeByIdResponse = GetActivityTypeByIdResponses[keyof GetActivityTypeByIdResponses]; +export type GetAutocardFieldByIdResponse = GetAutocardFieldByIdResponses[keyof GetAutocardFieldByIdResponses]; -export type GetActivityTypeListData = { +export type GetAutocardFieldListData = { body?: never; path?: never; query?: { @@ -6475,17 +7470,17 @@ export type GetActivityTypeListData = { */ expand?: boolean; }; - url: 'v1/activity_type/'; + url: 'v1/autocard_field/'; }; -export type GetActivityTypeListResponses = { +export type GetAutocardFieldListResponses = { /** * 实际返回格式由 expand 查询参数决定,见 expand 参数说明。 */ - 200: ActivityTypeList | ActivityTypeListExpanded; + 200: AutocardFieldList | AutocardFieldListExpanded; }; -export type GetActivityTypeListResponse = GetActivityTypeListResponses[keyof GetActivityTypeListResponses]; +export type GetAutocardFieldListResponse = GetAutocardFieldListResponses[keyof GetAutocardFieldListResponses]; export type GetBattleEffectByIdData = { body?: never; diff --git a/packages/seerapi-ts/src/db/relations.ts b/packages/seerapi-ts/src/db/relations.ts index 004062d..183b56f 100644 --- a/packages/seerapi-ts/src/db/relations.ts +++ b/packages/seerapi-ts/src/db/relations.ts @@ -200,6 +200,46 @@ export const relations = defineRelations(schema, (r) => ({ activityType: { activities: r.many.activity(), }, + autocard: { + autocard: r.one.autocard({ + from: r.autocard.awakenCardId, + to: r.autocard.id, + alias: "autocard_awakenCardId_autocard_id" + }), + autocards: r.many.autocard({ + alias: "autocard_awakenCardId_autocard_id" + }), + autocardElementType: r.one.autocardElementType({ + from: r.autocard.elementTypeId, + to: r.autocardElementType.id + }), + autocardCardtype: r.one.autocardCardtype({ + from: r.autocard.typeId, + to: r.autocardCardtype.id + }), + }, + autocardElementType: { + autocards: r.many.autocard(), + autocardRoles: r.many.autocardRole(), + }, + autocardCardtype: { + autocards: r.many.autocard(), + }, + autocardFieldBuff: { + autocardField: r.one.autocardField({ + from: r.autocardFieldBuff.fieldId, + to: r.autocardField.id + }), + }, + autocardField: { + autocardFieldBuffs: r.many.autocardFieldBuff(), + }, + autocardRole: { + autocardElementType: r.one.autocardElementType({ + from: r.autocardRole.elementTypeId, + to: r.autocardElementType.id + }), + }, battleEffect: { resistanceCategory: r.one.resistanceCategory({ from: r.battleEffect.resistanceId, diff --git a/packages/seerapi-ts/src/db/schema.ts b/packages/seerapi-ts/src/db/schema.ts index 7180293..74c1e19 100644 --- a/packages/seerapi-ts/src/db/schema.ts +++ b/packages/seerapi-ts/src/db/schema.ts @@ -16,6 +16,21 @@ export const activityType = sqliteTable("activity_type", { id: integer().primaryKey(), }); +export const autocardElementType = sqliteTable("autocard_element_type", { + id: integer().primaryKey(), + name: text().notNull(), +}); + +export const autocardCardtype = sqliteTable("autocard_cardtype", { + id: integer().primaryKey(), + name: text().notNull(), +}); + +export const autocardField = sqliteTable("autocard_field", { + id: integer().primaryKey(), + name: text().notNull(), +}); + export const battleEffectType = sqliteTable("battle_effect_type", { id: integer().primaryKey(), name: text().notNull(), @@ -428,6 +443,43 @@ export const activity = sqliteTable("activity", { typeId: integer("type_id").notNull().references(() => activityType.id), }); +export const autocard = sqliteTable("autocard", { + id: integer().primaryKey(), + name: text().notNull(), + description: text().notNull(), + level: integer().notNull(), + cost: integer().notNull(), + isToken: numeric("is_token").notNull(), + attack: integer(), + health: integer(), + isAwakened: numeric("is_awakened").notNull(), + typeId: integer("type_id").notNull().references(() => autocardCardtype.id), + elementTypeId: integer("element_type_id").notNull().references(() => autocardElementType.id), + awakenCardId: integer("awaken_card_id").references((): AnySQLiteColumn => autocard.id), +}); + +export const autocardFieldBuff = sqliteTable("autocard_field_buff", { + name: text().notNull(), + description: text().notNull(), + openTurn: integer("open_turn").notNull(), + id: integer().primaryKey(), + stage: integer().notNull(), + fieldId: integer("field_id").notNull().references(() => autocardField.id), +}); + +export const autocardRole = sqliteTable("autocard_role", { + id: integer().primaryKey(), + name: text().notNull(), + description: text().notNull(), + health: integer().notNull(), + skillDesc: text("skill_desc").notNull(), + isPassiveSkill: numeric("is_passive_skill").notNull(), + skillCost: integer("skill_cost"), + skillGameLimit: integer("skill_game_limit"), + skillRoundLimit: integer("skill_round_limit"), + elementTypeId: integer("element_type_id").notNull().references(() => autocardElementType.id), +}); + export const battleEffect = sqliteTable("battle_effect", { id: integer().primaryKey(), name: text().notNull(), diff --git a/packages/solaris/solaris/analyze/analyzers/autocard/__init__.py b/packages/solaris/solaris/analyze/analyzers/autocard/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/packages/solaris/solaris/analyze/analyzers/autocard/_general.py b/packages/solaris/solaris/analyze/analyzers/autocard/_general.py new file mode 100644 index 0000000..4e07c75 --- /dev/null +++ b/packages/solaris/solaris/analyze/analyzers/autocard/_general.py @@ -0,0 +1,59 @@ +from abc import ABC +from functools import cached_property +from typing import TYPE_CHECKING + +from solaris.analyze.base import BaseDataSourceAnalyzer, DataImportConfig + +if TYPE_CHECKING: + from solaris.parse.parsers.autocard_content import ( + AutocardContentConfig, + AutocardContentInfo, + ) + from solaris.parse.parsers.autocard_nature import ( + AutocardNatureConfig, + AutocardNatureInfo, + ) + from solaris.parse.parsers.autocard_role import ( + AutocardRoleConfig, + AutocardRoleInfo, + ) + from solaris.parse.parsers.autocard_season_effect import ( + AutocardSeasonEffectConfig, + AutocardSeasonEffectInfo, + ) + + +class BaseAutocardAnalyzer(BaseDataSourceAnalyzer, ABC): + @classmethod + def get_data_import_config(cls) -> DataImportConfig: + return DataImportConfig( + patch_paths=('autocard_type.json',), + unity_paths=( + 'autocardContent.json', + 'autocardNature.json', + 'autocardRole.json', + 'autocardSeasonEffect.json', + ), + ) + + @cached_property + def autocard_content_data(self) -> dict[int, 'AutocardContentInfo']: + data: AutocardContentConfig = self._get_data('unity', 'autocardContent.json') + return {item['id']: item for item in data['data']} + + @cached_property + def autocard_nature_data(self) -> dict[int, 'AutocardNatureInfo']: + data: AutocardNatureConfig = self._get_data('unity', 'autocardNature.json') + return {item['id']: item for item in data['data']} + + @cached_property + def autocard_role_data(self) -> dict[int, 'AutocardRoleInfo']: + data: AutocardRoleConfig = self._get_data('unity', 'autocardRole.json') + return {item['id']: item for item in data['data']} + + @cached_property + def autocard_field_buff_data(self) -> dict[int, 'AutocardSeasonEffectInfo']: + data: AutocardSeasonEffectConfig = self._get_data( + 'unity', 'autocardSeasonEffect.json' + ) + return {item['id']: item for item in data['data']} diff --git a/packages/solaris/solaris/analyze/analyzers/autocard/analyzer.py b/packages/solaris/solaris/analyze/analyzers/autocard/analyzer.py new file mode 100644 index 0000000..3b2b69f --- /dev/null +++ b/packages/solaris/solaris/analyze/analyzers/autocard/analyzer.py @@ -0,0 +1,163 @@ +from typing import cast + +from seerapi_models import AutocardField +from seerapi_models.autocard import ( + Autocard, + AutocardCardType, + AutocardElementType, + AutocardRole, + PetAutocard, + SpellAutocard, + card_is_spell, +) +from seerapi_models.autocard.field_buff import Buff +from seerapi_models.build_model import BaseResModel +from seerapi_models.common import ResourceRef +from solaris.analyze.analyzers.autocard._general import BaseAutocardAnalyzer +from solaris.analyze.typing_ import AnalyzeResult + + +class AutocardCardAnalyzer(BaseAutocardAnalyzer): + @classmethod + def get_result_res_models(cls) -> tuple[type[BaseResModel], ...]: + return ( + Autocard, + PetAutocard, + SpellAutocard, + AutocardCardType, + AutocardElementType, + AutocardRole, + AutocardField, + ) + + def analyze(self) -> tuple[AnalyzeResult, ...]: + cards: dict[int, Autocard] = {} + pet_autocard_map: dict[int, PetAutocard] = {} + spell_autocard_map: dict[int, SpellAutocard] = {} + + for item in self.autocard_content_data.values(): + id_ = item['id'] + type_id = item['type'] + element_type_id = item['nature'] + + awaken_card_id = None + attack = None + health = None + is_awakened = bool(item['compose']) + if not card_is_spell(type_id): + awaken_card_id = item['compose_to'] + attack = item['attack'] + health = item['health'] + + cards[id_] = Autocard( + id=id_, + name=item['name'], + description=item['card_txt'], + level=item['level'], + cost=item['cost'], + attack=attack, + health=health, + type=ResourceRef.from_model(AutocardCardType, id=type_id), + element_type=ResourceRef.from_model( + AutocardElementType, id=element_type_id + ), + is_awakened=is_awakened, + awaken_card=ResourceRef.from_model(Autocard, id=awaken_card_id) + if awaken_card_id + else None, + is_token=type_id in (2, 4), + ) + + for card in cards.values(): + if card_is_spell(card.type.id) or card.awaken_card is None: + continue + awakened_card = cards.get(card.awaken_card.id) + if awakened_card is None: + continue + awakened_card.non_awaken_card = ResourceRef.from_model(card) + + for card in cards.values(): + if card_is_spell(card.type.id): + spell_autocard_map[card.id] = cast(SpellAutocard, card.to_detailed()) + else: + pet_autocard_map[card.id] = cast(PetAutocard, card.to_detailed()) + + types: dict[int, AutocardCardType] = {} + for id_, item in self._get_data('patch', 'autocard_type.json').items(): + types[id_] = AutocardCardType(id=id_, name=item['name'], autocard=[]) + + element_types: dict[int, AutocardElementType] = {} + for id_, item in self.autocard_nature_data.items(): + element_types[id_] = AutocardElementType( + id=id_, name=item['name'], autocard=[], role=[] + ) + + roles: dict[int, AutocardRole] = {} + for id_, item in self.autocard_role_data.items(): + if id_ >= 10000: + continue + element_type_id = item['nature'] + if element_type_id == 0: + element_type_id = 999 + is_passive_skill = not bool(item['skill_type']) + if is_passive_skill: + skill_cost = None + skill_game_limit = None + skill_round_limit = None + else: + skill_cost = item['skill_cost_num'] + skill_game_limit = item['skill_game_limit'] + skill_round_limit = item['skill_round_limit'] + roles[id_] = AutocardRole( + id=id_, + name=item['name'], + description=item['desc'], + health=item['health'], + skill_desc=item['skill_txt'], + skill_cost=skill_cost, + skill_game_limit=skill_game_limit, + skill_round_limit=skill_round_limit, + element_type=ResourceRef.from_model( + AutocardElementType, id=element_type_id + ), + is_passive_skill=is_passive_skill, + ) + + for card in cards.values(): + if card.type.id in types: + types[card.type.id].autocard.append(ResourceRef.from_model(card)) + if card.element_type.id in element_types: + element_types[card.element_type.id].autocard.append( + ResourceRef.from_model(Autocard, id=card.id) + ) + + fields: dict[int, AutocardField] = { + item['effectGroup']: AutocardField( + id=item['effectGroup'], name=item['effectName'], buff_stage={} + ) + for item in self.autocard_field_buff_data.values() + if item['stageLevel'] == 0 + } + + for item in self.autocard_field_buff_data.values(): + group_id = item['effectGroup'] + if group_id not in fields: + continue + + stage_level = item['stageLevel'] + buff = Buff( + name=item['effectName'], + description=item['effectTxt'], + open_turn=item['opTurn'], + ) + fields[group_id].buff_stage.setdefault(stage_level, []).append(buff) + + return ( + AnalyzeResult(model=Autocard, data=cards), + AnalyzeResult(model=PetAutocard, data=pet_autocard_map), + AnalyzeResult(model=SpellAutocard, data=spell_autocard_map), + AnalyzeResult(model=AutocardCardType, data=types), + AnalyzeResult(model=AutocardRole, data=roles), + AnalyzeResult(model=AutocardElementType, data=element_types), + AnalyzeResult(model=AutocardField, data=fields), + ) diff --git a/packages/solaris/solaris/analyze/output/openapi_comments.py b/packages/solaris/solaris/analyze/output/openapi_comments.py index be1289c..222952e 100644 --- a/packages/solaris/solaris/analyze/output/openapi_comments.py +++ b/packages/solaris/solaris/analyze/output/openapi_comments.py @@ -253,6 +253,262 @@ class APIComment(BaseModel): tags=['成就', '分类'], description='成就分类,目前只有一个隐藏成就的分类。', ), + M.Autocard: APIComment( + name_en='autocard', + name_cn='群星牌卡牌', + examples=[ + { + 'type': { + 'id': 1, + 'url': 'https://api.seerapi.com/v1/autocard_cardtype/1', + }, + 'element_type': { + 'id': 4, + 'url': 'https://api.seerapi.com/v1/autocard_element_type/4', + }, + 'id': 105, + 'name': '灵翼蜂', + 'description': '战斗开始时立刻发动1次攻击,攻击时获得+2攻击值,攻击后排精灵时额外获得+2生命值', + 'level': 2, + 'cost': 3, + 'is_token': False, + 'attack': 3, + 'health': 2, + 'is_awakened': False, + 'awaken_card': { + 'id': 10105, + 'url': 'https://api.seerapi.com/v1/autocard/10105', + }, + 'non_awaken_card': None, + 'hash': '146bdb1d', + } + ], + tags=['群星牌'], + description='群星牌卡牌资源,包含所有群星牌卡牌数据,当然也包括衍生卡。', + ), + M.AutocardCardType: APIComment( + name_en='autocard_cardtype', + name_cn='群星牌卡牌类型', + examples=[ + { + 'id': 4, + 'name': '衍生魔法卡', + 'autocard': [ + {'id': 20006, 'url': 'https://api.seerapi.com/v1/autocard/20006'}, + {'id': 20015, 'url': 'https://api.seerapi.com/v1/autocard/20015'}, + {'id': 20016, 'url': 'https://api.seerapi.com/v1/autocard/20016'}, + {'id': 20017, 'url': 'https://api.seerapi.com/v1/autocard/20017'}, + {'id': 20021, 'url': 'https://api.seerapi.com/v1/autocard/20021'}, + {'id': 20022, 'url': 'https://api.seerapi.com/v1/autocard/20022'}, + {'id': 20023, 'url': 'https://api.seerapi.com/v1/autocard/20023'}, + {'id': 20024, 'url': 'https://api.seerapi.com/v1/autocard/20024'}, + {'id': 20025, 'url': 'https://api.seerapi.com/v1/autocard/20025'}, + {'id': 20031, 'url': 'https://api.seerapi.com/v1/autocard/20031'}, + {'id': 20032, 'url': 'https://api.seerapi.com/v1/autocard/20032'}, + ], + 'hash': '9154c6ce', + } + ], + tags=['群星牌', '分类'], + description='群星牌卡牌类型资源。', + ), + M.AutocardElementType: APIComment( + name_en='autocard_element_type', + name_cn='卡牌元素类型', + examples=[ + { + 'id': 6, + 'name': '机械', + 'autocard': [ + {'id': 121, 'url': 'https://api.seerapi.com/v1/autocard/121'}, + {'id': 122, 'url': 'https://api.seerapi.com/v1/autocard/122'}, + {'id': 123, 'url': 'https://api.seerapi.com/v1/autocard/123'}, + {'id': 124, 'url': 'https://api.seerapi.com/v1/autocard/124'}, + {'id': 125, 'url': 'https://api.seerapi.com/v1/autocard/125'}, + {'id': 126, 'url': 'https://api.seerapi.com/v1/autocard/126'}, + {'id': 127, 'url': 'https://api.seerapi.com/v1/autocard/127'}, + {'id': 128, 'url': 'https://api.seerapi.com/v1/autocard/128'}, + {'id': 129, 'url': 'https://api.seerapi.com/v1/autocard/129'}, + {'id': 130, 'url': 'https://api.seerapi.com/v1/autocard/130'}, + {'id': 131, 'url': 'https://api.seerapi.com/v1/autocard/131'}, + {'id': 132, 'url': 'https://api.seerapi.com/v1/autocard/132'}, + {'id': 133, 'url': 'https://api.seerapi.com/v1/autocard/133'}, + {'id': 134, 'url': 'https://api.seerapi.com/v1/autocard/134'}, + {'id': 135, 'url': 'https://api.seerapi.com/v1/autocard/135'}, + {'id': 136, 'url': 'https://api.seerapi.com/v1/autocard/136'}, + {'id': 137, 'url': 'https://api.seerapi.com/v1/autocard/137'}, + {'id': 138, 'url': 'https://api.seerapi.com/v1/autocard/138'}, + {'id': 139, 'url': 'https://api.seerapi.com/v1/autocard/139'}, + {'id': 140, 'url': 'https://api.seerapi.com/v1/autocard/140'}, + {'id': 10121, 'url': 'https://api.seerapi.com/v1/autocard/10121'}, + {'id': 10122, 'url': 'https://api.seerapi.com/v1/autocard/10122'}, + {'id': 10123, 'url': 'https://api.seerapi.com/v1/autocard/10123'}, + {'id': 10124, 'url': 'https://api.seerapi.com/v1/autocard/10124'}, + {'id': 10125, 'url': 'https://api.seerapi.com/v1/autocard/10125'}, + {'id': 10126, 'url': 'https://api.seerapi.com/v1/autocard/10126'}, + {'id': 10127, 'url': 'https://api.seerapi.com/v1/autocard/10127'}, + {'id': 10128, 'url': 'https://api.seerapi.com/v1/autocard/10128'}, + {'id': 10129, 'url': 'https://api.seerapi.com/v1/autocard/10129'}, + {'id': 10130, 'url': 'https://api.seerapi.com/v1/autocard/10130'}, + {'id': 10131, 'url': 'https://api.seerapi.com/v1/autocard/10131'}, + {'id': 10132, 'url': 'https://api.seerapi.com/v1/autocard/10132'}, + {'id': 10133, 'url': 'https://api.seerapi.com/v1/autocard/10133'}, + {'id': 10134, 'url': 'https://api.seerapi.com/v1/autocard/10134'}, + {'id': 10135, 'url': 'https://api.seerapi.com/v1/autocard/10135'}, + {'id': 10136, 'url': 'https://api.seerapi.com/v1/autocard/10136'}, + {'id': 10137, 'url': 'https://api.seerapi.com/v1/autocard/10137'}, + {'id': 10138, 'url': 'https://api.seerapi.com/v1/autocard/10138'}, + {'id': 10139, 'url': 'https://api.seerapi.com/v1/autocard/10139'}, + {'id': 10140, 'url': 'https://api.seerapi.com/v1/autocard/10140'}, + {'id': 20016, 'url': 'https://api.seerapi.com/v1/autocard/20016'}, + {'id': 20017, 'url': 'https://api.seerapi.com/v1/autocard/20017'}, + {'id': 30005, 'url': 'https://api.seerapi.com/v1/autocard/30005'}, + {'id': 40005, 'url': 'https://api.seerapi.com/v1/autocard/40005'}, + ], + 'hash': '3973130b', + } + ], + tags=['群星牌', '分类'], + description='群星牌卡牌元素类型资源。', + ), + M.SpellAutocard: APIComment( + name_en='autocard_spellcard', + name_cn='群星牌魔法卡', + examples=[ + { + 'type': { + 'id': 4, + 'url': 'https://api.seerapi.com/v1/autocard_cardtype/4', + }, + 'element_type': { + 'id': 0, + 'url': 'https://api.seerapi.com/v1/autocard_element_type/0', + }, + 'id': 20024, + 'name': '觉醒奖励', + 'description': '招募一张等级5的精灵牌', + 'level': 0, + 'cost': 0, + 'is_token': True, + 'hash': '24941800', + } + ], + tags=['群星牌'], + description='群星牌魔法卡资源,包含所有群星牌魔法卡数据,包括衍生卡。', + ), + M.PetAutocard: APIComment( + name_en='autocard_petcard', + name_cn='群星牌精灵卡', + examples=[ + { + 'type': { + 'id': 1, + 'url': 'https://api.seerapi.com/v1/autocard_cardtype/1', + }, + 'element_type': { + 'id': 1, + 'url': 'https://api.seerapi.com/v1/autocard_element_type/1', + }, + 'id': 19, + 'name': '魔灵仙女', + 'description': '自身属性提升时,使己方其他草系精灵获得+1/+1', + 'level': 5, + 'cost': 3, + 'is_token': False, + 'attack': 3, + 'health': 6, + 'is_awakened': False, + 'awaken_card': { + 'id': 10019, + 'url': 'https://api.seerapi.com/v1/autocard/10019', + }, + 'non_awaken_card': None, + 'hash': 'adb5439f', + } + ], + tags=['群星牌'], + description='群星牌精灵卡资源,包含所有群星牌精灵卡数据,包括衍生卡。', + ), + M.AutocardRole: APIComment( + name_en='autocard_role', + name_cn='群星牌角色', + examples=[ + { + 'id': 19, + 'name': '卫兵·雅各布', + 'description': '常年驻守于精灵太空站的卫兵雅各布,在枯燥的环境下磨练出了强大的牌技!呃…玩忽职守什么的绝对是没有的!', + 'health': 50, + 'skill_desc': '招募一张精灵牌,其中存在一张上一次对战的对手阵容精灵牌的普通原始复制,选择正确则获得该精灵牌,选择错误则无法获得,每回合限1次(游戏开始2回合后可使用)', + 'is_passive_skill': False, + 'skill_cost': 0, + 'skill_game_limit': 0, + 'skill_round_limit': 1, + 'element_type': { + 'id': 999, + 'url': 'https://api.seerapi.com/v1/autocard_element_type/999', + }, + 'hash': 'ad378aef', + } + ], + tags=['群星牌'], + description='群星牌角色资源,包含所有可以选择的群星牌角色数据。', + ), + M.AutocardField: APIComment( + name_en='autocard_field', + name_cn='群星牌场地', + examples=[ + { + 'id': 8, + 'name': '乔特鲁德', + 'buff_stage': { + '0': [ + { + 'name': '乔特鲁德', + 'description': '游戏开始时,所有玩家开局时拥有“龙蛋”(无法攻击;无法出售、觉醒、偷取、复制或移回手牌,无法成为卡牌和技能的目标)\r\n升级商店时,龙蛋获得+3/+3', + 'open_turn': 0, + } + ], + '1': [ + { + 'name': '潜龙勿用', + 'description': '商店阶段结束时,龙蛋额外获得+4/+4', + 'open_turn': 5, + }, + { + 'name': '暗龙出世', + 'description': '立刻移除龙蛋,并召唤1只索兰特;索兰特的属性值为龙蛋的两倍,并获得【护盾】、【强毒】,无法觉醒、偷取、复制或移回手牌,无法成为卡牌和技能的目标', + 'open_turn': 5, + }, + { + 'name': '龙脉滋养', + 'description': '商店阶段开始时,若龙蛋存活,获得2枚金币', + 'open_turn': 5, + }, + ], + '2': [ + { + 'name': '龙啸九天', + 'description': '若龙蛋存活,立刻移除龙蛋,并召唤1只索西斯;索西斯的属性为龙蛋的两倍,被视为拥有所有系别,并获得【连击】、【护盾】、【强毒】,无法觉醒、偷取、复制或移回手牌,无法成为卡牌和技能的目标,龙蛋不存在时无法选择', + 'open_turn': 10, + }, + { + 'name': '龙魂庇佑', + 'description': '若己方没有龙蛋存活,商店阶段结束时,己方随机3只精灵获得+5/+5', + 'open_turn': 10, + }, + { + 'name': '金玉龙祥', + 'description': '若龙蛋存活,立刻移除龙蛋,并召唤1只黄金圣龙;黄金圣龙的属性与龙蛋相同,且在商店阶段开始时,若黄金圣龙在场,己方获得3枚金币,无法觉醒、偷取、复制或移回手牌,无法成为卡牌和技能的目标,龙蛋不存在时无法选择', + 'open_turn': 10, + }, + ], + }, + 'hash': '44204d3a', + } + ], + tags=['群星牌'], + description='群星牌场地资源,包含所有群星牌场地数据。', + ), # 战斗效果相关 M.BattleEffect: APIComment( name_en='battle_effect', diff --git a/packages/solaris/solaris/parse/parsers/autocard_season.py b/packages/solaris/solaris/parse/parsers/autocard_season.py new file mode 100644 index 0000000..eac6ffa --- /dev/null +++ b/packages/solaris/solaris/parse/parsers/autocard_season.py @@ -0,0 +1,85 @@ +"""Autocard Season 配置解析器""" + +from typing import TypedDict + +from ..base import BaseParser +from ..bytes_reader import BytesReader + + +class AutocardSeasonInfo(TypedDict): + """Autocard Season 信息条目""" + + Drawing_times: str + battletimes_userinfo: str + currscores_userinfo: str + id: int + maxscores_userinfo: str + name: str + rankgroup: str + reward_useinfo: str + scorereward1: str + scorereward2: str + scorereward3: str + scorereward4: str + scorereward5: str + scorereward6: str + seasonreward1: str + seasonreward2: str + seasonreward3: str + seasonreward4: str + seasonreward5: str + seasonreward6: str + + +class AutocardSeasonConfig(TypedDict): + """Autocard Season 配置数据""" + + data: list[AutocardSeasonInfo] + + +class AutocardSeasonParser(BaseParser[AutocardSeasonConfig]): + """解析 autocardSeason.bytes 配置文件""" + + @classmethod + def source_config_filename(cls) -> str: + return 'autocardSeason.bytes' + + @classmethod + def parsed_config_filename(cls) -> str: + return 'autocardSeason.json' + + def parse(self, data: bytes) -> AutocardSeasonConfig: + reader = BytesReader(data) + result = AutocardSeasonConfig(data=[]) + + if not reader.ReadBoolean(): + return result + + count = reader.ReadSignedInt() + for _ in range(count): + result['data'].append( + AutocardSeasonInfo( + Drawing_times=reader.ReadUTFBytesWithLength(), + battletimes_userinfo=reader.ReadUTFBytesWithLength(), + currscores_userinfo=reader.ReadUTFBytesWithLength(), + id=reader.ReadSignedInt(), + maxscores_userinfo=reader.ReadUTFBytesWithLength(), + name=reader.ReadUTFBytesWithLength(), + rankgroup=reader.ReadUTFBytesWithLength(), + reward_useinfo=reader.ReadUTFBytesWithLength(), + scorereward1=reader.ReadUTFBytesWithLength(), + scorereward2=reader.ReadUTFBytesWithLength(), + scorereward3=reader.ReadUTFBytesWithLength(), + scorereward4=reader.ReadUTFBytesWithLength(), + scorereward5=reader.ReadUTFBytesWithLength(), + scorereward6=reader.ReadUTFBytesWithLength(), + seasonreward1=reader.ReadUTFBytesWithLength(), + seasonreward2=reader.ReadUTFBytesWithLength(), + seasonreward3=reader.ReadUTFBytesWithLength(), + seasonreward4=reader.ReadUTFBytesWithLength(), + seasonreward5=reader.ReadUTFBytesWithLength(), + seasonreward6=reader.ReadUTFBytesWithLength(), + ) + ) + + return result diff --git a/packages/solaris/solaris/parse/parsers/autocard_season_effect.py b/packages/solaris/solaris/parse/parsers/autocard_season_effect.py new file mode 100644 index 0000000..2e28ef6 --- /dev/null +++ b/packages/solaris/solaris/parse/parsers/autocard_season_effect.py @@ -0,0 +1,71 @@ +"""Autocard Season Effect 配置解析器""" + +from typing import TypedDict + +from ..base import BaseParser +from ..bytes_reader import BytesReader + + +class AutocardSeasonEffectInfo(TypedDict): + """Autocard Season Effect 信息条目""" + + BuffDisplay: str + BuffId: str + BuffParam: str + CountNum: int + DefaultNum: int + effectGroup: int + effectName: str + effectTxt: str + id: int + opTurn: int + picID: int + season: int + stageLevel: int + + +class AutocardSeasonEffectConfig(TypedDict): + """Autocard Season Effect 配置数据""" + + data: list[AutocardSeasonEffectInfo] + + +class AutocardSeasonEffectParser(BaseParser[AutocardSeasonEffectConfig]): + """解析 autocardSeasonEffect.bytes 配置文件""" + + @classmethod + def source_config_filename(cls) -> str: + return 'autocardSeasonEffect.bytes' + + @classmethod + def parsed_config_filename(cls) -> str: + return 'autocardSeasonEffect.json' + + def parse(self, data: bytes) -> AutocardSeasonEffectConfig: + reader = BytesReader(data) + result = AutocardSeasonEffectConfig(data=[]) + + if not reader.ReadBoolean(): + return result + + count = reader.ReadSignedInt() + for _ in range(count): + result['data'].append( + AutocardSeasonEffectInfo( + BuffDisplay=reader.ReadUTFBytesWithLength(), + BuffId=reader.ReadUTFBytesWithLength(), + BuffParam=reader.ReadUTFBytesWithLength(), + CountNum=reader.ReadSignedInt(), + DefaultNum=reader.ReadSignedInt(), + effectGroup=reader.ReadSignedInt(), + effectName=reader.ReadUTFBytesWithLength(), + effectTxt=reader.ReadUTFBytesWithLength(), + id=reader.ReadSignedInt(), + opTurn=reader.ReadSignedInt(), + picID=reader.ReadSignedInt(), + season=reader.ReadSignedInt(), + stageLevel=reader.ReadSignedInt(), + ) + ) + + return result