import { AttackType } from "../Enum/Card.js"; import ClassName from "../Enum/ClassName.js"; import CondType from "../Enum/Cond.js"; import { Attribute } from "./Attribute.js"; import { BattlePoint } from "./BattlePoint.js"; import { CommonRelease } from "./CommonRelease.js"; import { Gift } from "./Gift.js"; import { Item, ItemAmount } from "./Item.js"; import { NoblePhantasm } from "./NoblePhantasm.js"; import { SvtScript } from "./Script.js"; import { Skill } from "./Skill.js"; import { Trait } from "./Trait.js"; export declare enum EntityType { NORMAL = "normal", HEROINE = "heroine", COMBINE_MATERIAL = "combineMaterial", ENEMY = "enemy", ENEMY_COLLECTION = "enemyCollection", SERVANT_EQUIP = "servantEquip", STATUS_UP = "statusUp", SVT_EQUIP_MATERIAL = "svtEquipMaterial", ENEMY_COLLECTION_DETAIL = "enemyCollectionDetail", ALL = "all", COMMAND_CODE = "commandCode", SVT_MATERIAL_TD = "svtMaterialTd" } export declare enum EntityFlag { ONLY_USE_FOR_NPC = "onlyUseForNpc", SVT_EQUIP_FRIEND_SHIP = "svtEquipFriendShip", IGNORE_COMBINE_LIMIT_SPECIAL = "ignoreCombineLimitSpecial", SVT_EQUIP_EXP = "svtEquipExp", SVT_EQUIP_CHOCOLATE = "svtEquipChocolate", SVT_EQUIP_MANA_EXCHANGE = "svtEquipManaExchange", SVT_EQUIP_CAMPAIGN = "svtEquipCampaign", SVT_EQUIP_EVENT = "svtEquipEvent", SVT_EQUIP_EVENT_REWARD = "svtEquipEventReward", SVT_EQUIP_RARITY_LEVEL_NUM_MISSION = "svtEquipRarityLevelNumMission", NORMAL = "normal", GOETIA = "goetia", MAT_DROP_RATE_UP_CE = "matDropRateUpCe", UNKNOWN = "unknown" } export declare enum EntityFlagOriginal { ONLY_USE_FOR_NPC = "onlyUseForNpc", SVT_EQUIP_FRIEND_SHIP = "svtEquipFriendShip", IGNORE_COMBINE_LIMIT_SPECIAL = "ignoreCombineLimitSpecial", SVT_EQUIP_EXP = "svtEquipExp", SVT_EQUIP_CHOCOLATE = "svtEquipChocolate", SVT_EQUIP_MANA_EXCHANGE = "svtEquipManaExchange", SVT_EQUIP_CAMPAIGN = "svtEquipCampaign", SVT_EQUIP_EVENT = "svtEquipEvent", SVT_EQUIP_EVENT_REWARD = "svtEquipEventReward", SVT_EQUIP_RARITY_LEVEL_NUM_MISSION = "svtEquipRarityLevelNumMission" } export declare enum Gender { MALE = "male", FEMALE = "female", UNKNOWN = "unknown" } export interface EntityAssetMap { ascension?: { [key: number]: string; }; story?: { [key: number]: string; }; costume?: { [key: number]: string; }; equip?: { [key: number]: string; }; cc?: { [key: number]: string; }; } export interface EntityAssets { charaFigure: EntityAssetMap; charaFigureForm: { [key: string]: EntityAssetMap; }; charaFigureMulti: { [key: string]: EntityAssetMap; }; charaFigureMultiCombine: { [key: string]: EntityAssetMap; }; charaFigureMultiLimitUp: { [key: string]: EntityAssetMap; }; charaGraph: EntityAssetMap; charaGraphEx: EntityAssetMap; commands: EntityAssetMap; equipFace: EntityAssetMap; faces: EntityAssetMap; narrowFigure: EntityAssetMap; status: EntityAssetMap; image: EntityAssetMap; spriteModel: EntityAssetMap; charaGraphChange: EntityAssetMap; narrowFigureChange: EntityAssetMap; facesChange: EntityAssetMap; } export interface CardDetail { hitsDistribution: number[]; attackIndividuality: Trait[]; attackType: AttackType; damageRate?: number; attackNpRate?: number; defenseNpRate?: number; dropStarRate?: number; } export interface EntityLevelUpMaterials { items: ItemAmount[]; qp: number; } export interface EntityLevelUpMaterialProgression { [key: string]: EntityLevelUpMaterials; } export interface ValentineScript { scriptId: string; script: string; scriptName: string; } interface ServantAscensionAdditionDetails { ascension: { [key: number]: T; }; costume: { [key: number]: T; }; } export interface EntityCoin { summonNum: number; item: Item; } export interface ServantAscensionAdditions { attribute: ServantAscensionAdditionDetails; individuality: ServantAscensionAdditionDetails; voicePrefix: ServantAscensionAdditionDetails; overWriteServantName: ServantAscensionAdditionDetails; originalOverWriteServantName: ServantAscensionAdditionDetails; overWriteServantBattleName: ServantAscensionAdditionDetails; originalOverWriteServantBattleName: ServantAscensionAdditionDetails; overWriteTDName: ServantAscensionAdditionDetails; originalOverWriteTDName: ServantAscensionAdditionDetails; overWriteTDRuby: ServantAscensionAdditionDetails; overWriteTDFileName: ServantAscensionAdditionDetails; overWriteTDRank: ServantAscensionAdditionDetails; overWriteTDTypeText: ServantAscensionAdditionDetails; overwriteAtkBase: ServantAscensionAdditionDetails; overwriteAtkMax: ServantAscensionAdditionDetails; overwriteClassPassive: ServantAscensionAdditionDetails; overwriteCost: ServantAscensionAdditionDetails; overwriteExpType: ServantAscensionAdditionDetails; overwriteHpBase: ServantAscensionAdditionDetails; overwriteHpMax: ServantAscensionAdditionDetails; overwriteRarity: ServantAscensionAdditionDetails; lvMax: ServantAscensionAdditionDetails; rarity: ServantAscensionAdditionDetails; charaGraphChange: ServantAscensionAdditionDetails; charaGraphChangeCommonRelease: ServantAscensionAdditionDetails; faceChange: ServantAscensionAdditionDetails; faceChangeCommonRelease: ServantAscensionAdditionDetails; } export interface AppendPassive { num: number; priority: number; skill: Skill; unlockMaterials: ItemAmount[]; } export interface EntityTraitAdd { idx: number; trait: Trait[]; limitCount: number; condType?: CondType; condId?: number; condNum?: number; } export interface EntityChange { beforeTreasureDeviceIds: number[]; afterTreasureDeviceIds: number[]; svtId: number; priority: number; condType: CondType; condTargetId: number; condValue: number; name: string; ruby: string; battleName: string; svtVoiceId: number; limitCount: number; flag: number; battleSvtId: number; } export interface EntityLimitImage { limitCount: number; priority: number; defaultLimitCount: number; condType: CondType; condTargetId: number; condNum: number; } export interface EntityScript { SkillRankUp?: { [key: number]: number[]; }; svtBuffTurnExtend?: boolean; maleImage?: EntityAssets; } export declare enum EntityOverwriteType { TREASURE_DEVICE = "treasureDevice" } export interface EntityOverwriteValue { overwriteNoblePhantasm?: NoblePhantasm; } export interface EntityOverwrite { type: EntityOverwriteType; priority: number; condType: CondType; condTargetId: number; condValue: number; overwriteValue: EntityOverwriteValue; } export interface Entity { id: number; collectionNo: number; name: string; originalName: string; ruby: string; battleName: string; classId: number; className: ClassName; type: EntityType; flag: EntityFlag; flags: EntityFlagOriginal[]; rarity: number; cost: number; lvMax: number; extraAssets: EntityAssets; gender: Gender; attribute: Attribute; traits: Trait[]; starAbsorb: number; starGen: number; instantDeathChance: number; cards: string[]; hitsDistribution: Record; cardDetails: Record; atkBase: number; atkMax: number; hpBase: number; hpMax: number; relateQuestIds: number[]; trialQuestIds: number[]; growthCurve: number; atkGrowth: number[]; hpGrowth: number[]; expGrowth: number[]; expFeed: number[]; bondGifts: Record; bondGrowth: number[]; bondEquip: number; valentineEquip: number[]; valentineScript: ValentineScript[]; ascensionAdd: ServantAscensionAdditions; traitAdd: EntityTraitAdd[]; svtChange: EntityChange[]; ascensionImage: EntityLimitImage[]; overwrites: EntityOverwrite[]; ascensionMaterials: EntityLevelUpMaterialProgression; skillMaterials: EntityLevelUpMaterialProgression; appendSkillMaterials: EntityLevelUpMaterialProgression; costumeMaterials: EntityLevelUpMaterialProgression; coin?: EntityCoin; charaScripts: SvtScript[]; battlePoints: BattlePoint[]; script: EntityScript; skills: Skill[]; classPassive: Skill[]; extraPassive: Skill[]; appendPassive: AppendPassive[]; noblePhantasms: NoblePhantasm[]; } export interface CostumeDetailBasic { id: number; costumeCollectionNo: number; battleCharaId: number; shortName: string; } export interface EntityBasic { id: number; collectionNo: number; name: string; originalName: string; overwriteName?: string; originalOverwriteName?: string; type: EntityType; flag: EntityFlag; classId: number; className: ClassName; attribute: Attribute; traits: Trait[]; rarity: number; atkMax: number; hpMax: number; face: string; costume: { [key: string]: CostumeDetailBasic; }; } export type EntitySearchOptions = { name?: string; excludeCollectionNo?: number[]; type?: EntityType[]; flag?: EntityFlag[]; rarity?: number[]; className?: ClassName[]; gender?: Gender[]; attribute?: Attribute[]; trait?: number[]; notTrait?: number[]; voiceCondSvt?: number[]; illustrator?: string; cv?: string; profileContains?: string; }; export {}; //# sourceMappingURL=Entity.d.ts.map