mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 13:17:32 +00:00
597 lines
No EOL
12 KiB
TypeScript
597 lines
No EOL
12 KiB
TypeScript
import type { Client, segment as segmentSource } from 'icqq'
|
|
import type redisM from 'redis'
|
|
import type chalk from 'chalk'
|
|
|
|
declare global {
|
|
var Bot: typeof Client.prototype
|
|
var redis: redisM.RedisClientType
|
|
var segment: typeof segmentSource
|
|
var logger: {
|
|
chalk: typeof chalk
|
|
red: typeof chalk
|
|
yellow: typeof chalk
|
|
blue: typeof chalk
|
|
magenta: typeof chalk
|
|
cyan: typeof chalk
|
|
green: typeof chalk
|
|
trace: (...args: any[]) => void
|
|
debug: (...args: any[]) => void
|
|
info: (...args: any[]) => void
|
|
error: (...args: any[]) => void
|
|
warn: (...args: any[]) => void
|
|
fatal: (...args: any[]) => void
|
|
mark: (...args: any[]) => void
|
|
}
|
|
}
|
|
|
|
export namespace Mys {
|
|
|
|
export interface Avatar {
|
|
id: number
|
|
level: number
|
|
name_mi18n: string
|
|
full_name_mi18n: string
|
|
element_type: number
|
|
camp_name_mi18n: string
|
|
avatar_profession: number
|
|
rarity: string
|
|
group_icon_path: string
|
|
hollow_icon_path: string
|
|
equip: Equip[]
|
|
weapon: Weapon | null
|
|
properties: AvatarProperty[]
|
|
skills: Skill[]
|
|
rank: number
|
|
ranks: Rank[]
|
|
role_vertical_painting_url: string
|
|
equip_plan_info: EquipPlanInfo | null
|
|
us_full_name: string
|
|
vertical_painting_color: string
|
|
sub_element_type: number
|
|
skin_list: Skin[]
|
|
role_square_url: string
|
|
}
|
|
|
|
export interface Equip {
|
|
id: number
|
|
level: number
|
|
name: string
|
|
icon: string
|
|
rarity: string
|
|
properties: Property[]
|
|
main_properties: Property[]
|
|
equip_suit: EquipSuit
|
|
equipment_type: number
|
|
/** 未命中词条数 */
|
|
invalid_property_cnt: number
|
|
/** 词条全命中 */
|
|
all_hit: boolean
|
|
}
|
|
|
|
export interface EquipSuit {
|
|
suit_id: number
|
|
name: string
|
|
own: number
|
|
desc1: string
|
|
desc2: string
|
|
}
|
|
|
|
export interface Property {
|
|
property_name: string
|
|
property_id: number
|
|
base: string
|
|
level: number
|
|
/** 是否是有效词条 */
|
|
valid: boolean
|
|
system_id: number
|
|
add: number
|
|
}
|
|
|
|
export interface EquipPlanInfo {
|
|
type: number
|
|
game_default: CustomInfo
|
|
cultivate_info: CultivateInfo
|
|
custom_info: CustomInfo
|
|
valid_property_cnt: number
|
|
plan_only_special_property: boolean
|
|
equip_rating: string
|
|
plan_effective_property_list: PlanProperty[]
|
|
equip_rating_score: number
|
|
}
|
|
|
|
export interface CultivateInfo {
|
|
name: string
|
|
plan_id: string
|
|
is_delete: boolean
|
|
old_plan: boolean
|
|
}
|
|
|
|
export interface CustomInfo {
|
|
property_list: PlanProperty[]
|
|
}
|
|
|
|
export interface PlanProperty {
|
|
id: number
|
|
name: string
|
|
full_name: string
|
|
system_id: number
|
|
is_select: boolean
|
|
}
|
|
|
|
export interface AvatarProperty {
|
|
property_name: string
|
|
property_id: number
|
|
base: string
|
|
add: string
|
|
final: string
|
|
}
|
|
|
|
export interface Rank {
|
|
id: number
|
|
name: string
|
|
desc: string
|
|
pos: number
|
|
is_unlocked: boolean
|
|
}
|
|
|
|
export interface Skill {
|
|
level: number
|
|
skill_type: number
|
|
items: Item[]
|
|
}
|
|
|
|
export interface Item {
|
|
title: string
|
|
text: string
|
|
}
|
|
|
|
export interface Skin {
|
|
skin_id: number
|
|
skin_name: string
|
|
skin_vertical_painting_url: string
|
|
skin_square_url: string
|
|
skin_hollow_icon_path: string
|
|
skin_vertical_painting_color: string
|
|
unlocked: boolean
|
|
rarity: string
|
|
is_original: boolean
|
|
}
|
|
|
|
export interface Weapon {
|
|
id: number
|
|
level: number
|
|
name: string
|
|
star: number
|
|
icon: string
|
|
rarity: string
|
|
properties: Property[]
|
|
main_properties: Property[]
|
|
talent_title: string
|
|
talent_content: string
|
|
profession: number
|
|
}
|
|
|
|
}
|
|
|
|
export namespace Enka {
|
|
|
|
export interface Avatar {
|
|
TalentToggles: boolean[]
|
|
SkillLevelList: Skill[]
|
|
EquippedList: Equip[]
|
|
ClaimedRewards: number[]
|
|
WeaponEffectState: number
|
|
IsFavorite: boolean
|
|
Id: number
|
|
Level: number
|
|
/** 突破数 */
|
|
PromotionLevel: number
|
|
Exp: number
|
|
SkinId: number
|
|
/** 影画数 */
|
|
TalentLevel: number
|
|
/** 核心技等级 */
|
|
CoreSkillEnhancement: number
|
|
WeaponUid: number
|
|
ObtainmentTimestamp: number
|
|
Weapon: Weapon | null
|
|
}
|
|
|
|
export interface Equip {
|
|
Slot: number
|
|
Equipment: Equipment
|
|
}
|
|
|
|
export interface Equipment {
|
|
RandomPropertyList: Property[]
|
|
MainPropertyList: Property[]
|
|
IsAvailable: boolean
|
|
IsLocked: boolean
|
|
IsTrash: boolean
|
|
Id: number
|
|
Uid: number
|
|
Level: number
|
|
BreakLevel: number
|
|
Exp: number
|
|
}
|
|
|
|
export interface Property {
|
|
PropertyId: number
|
|
PropertyValue: number
|
|
PropertyLevel: number
|
|
}
|
|
|
|
export interface Skill {
|
|
Level: number
|
|
Index: number
|
|
}
|
|
|
|
export interface Weapon {
|
|
IsAvailable: boolean
|
|
IsLocked: boolean
|
|
Id: number
|
|
Uid: number
|
|
Level: number
|
|
BreakLevel: number
|
|
Exp: number
|
|
UpgradeLevel: number
|
|
}
|
|
|
|
}
|
|
|
|
export namespace Map {
|
|
|
|
export interface WeaponId2Data {
|
|
[id: string]: {
|
|
Id: number
|
|
CodeName: string
|
|
Name: string
|
|
Desc: string
|
|
Desc2: string
|
|
Desc3: string
|
|
Rarity: string
|
|
Icon: string
|
|
WeaponType: { [key: string]: string }
|
|
BaseProperty: {
|
|
Name: string
|
|
Name2: string
|
|
Format: string
|
|
Value: number
|
|
Id: number
|
|
}
|
|
RandProperty: {
|
|
Name: string
|
|
Name2: string
|
|
Format: string
|
|
Value: number
|
|
Id: number
|
|
}
|
|
Level: {
|
|
[key: string]: {
|
|
Exp: number
|
|
Rate: number
|
|
Rate2: number
|
|
}
|
|
}
|
|
Stars: {
|
|
[key: string]: {
|
|
StarRate: number
|
|
RandRate: number
|
|
}
|
|
}
|
|
Materials: string
|
|
Talents: {
|
|
[key: string]: {
|
|
Name: string
|
|
Desc: string
|
|
}
|
|
}
|
|
Profession: number
|
|
}
|
|
}
|
|
|
|
export interface PartnerId2Data {
|
|
[id: string]: {
|
|
sprite_id: string
|
|
name: string
|
|
full_name: string
|
|
en_name: string
|
|
WeaponType: string
|
|
ElementType: string
|
|
Camp: string
|
|
HitType: string
|
|
Rarity: string
|
|
Attack: number
|
|
AttackGrowth: number
|
|
BreakStun: number
|
|
Defence: number
|
|
DefenceGrowth: number
|
|
HpMax: number
|
|
HpGrowth: number
|
|
Crit: number
|
|
CritDamage: number
|
|
ElementAbnormalPower: number
|
|
ElementMystery: number
|
|
PenDelta: number
|
|
PenRate: number
|
|
SpRecover: number
|
|
/** 角色等级提升 */
|
|
Level: {
|
|
[level: string]: {
|
|
HpMax: number
|
|
Attack: number
|
|
Defence: number
|
|
LevelMax: number
|
|
LevelMin: number
|
|
Materials: { [key: string]: number }
|
|
}
|
|
}
|
|
/** 核心技等级提升 */
|
|
ExtraLevel: {
|
|
[level: string]: {
|
|
MaxLevel: number
|
|
Extra: {
|
|
[key: string]: {
|
|
Prop: number
|
|
Name: string
|
|
Format: string
|
|
Value: number
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
export interface EquipId2Data {
|
|
[id: string]: {
|
|
equip_id_list: number[]
|
|
sprite_file: string
|
|
equip_name: string
|
|
desc1: string
|
|
desc2: string
|
|
}
|
|
}
|
|
|
|
export interface SuitData {
|
|
[suit_id: string]: {
|
|
name: string
|
|
desc2: string
|
|
desc4: string
|
|
properties: Mys.Property[]
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
export namespace Hakush {
|
|
export interface PartnerData {
|
|
Id: number
|
|
Icon: string
|
|
Name: string
|
|
CodeName: string
|
|
Rarity: number
|
|
WeaponType: {
|
|
[profession_id: string]: string
|
|
}
|
|
ElementType: {
|
|
[element_id: string]: string
|
|
}
|
|
SpecialElementType: {
|
|
Name: string
|
|
Title: string
|
|
Desc: string
|
|
Icon: string
|
|
}
|
|
HitType: {
|
|
[hit_id: string]: string
|
|
}
|
|
Camp: {
|
|
[id: string]: string
|
|
}
|
|
Gender: number
|
|
PartnerInfo: {
|
|
Birthday: string
|
|
FullName: string
|
|
Gender: string
|
|
IconPath: string
|
|
ImpressionF: string
|
|
ImpressionM: string
|
|
Name: string
|
|
OutlookDesc: string
|
|
ProfileDesc: string
|
|
Race: string
|
|
RoleIcon: string
|
|
Stature: string
|
|
UnlockCondition: string[]
|
|
TrustLv: { [key: string]: string }
|
|
}
|
|
Skin: {
|
|
[skin_id: string]: {
|
|
Name: string
|
|
Desc: string
|
|
Image: string
|
|
}
|
|
}
|
|
Stats: {
|
|
Armor: number
|
|
ArmorGrowth: number
|
|
Attack: number
|
|
AttackGrowth: number
|
|
AvatarPieceId: number
|
|
BreakStun: number
|
|
Crit: number
|
|
CritDamage: number
|
|
CritDmgRes: number
|
|
CritRes: number
|
|
Defence: number
|
|
DefenceGrowth: number
|
|
ElementAbnormalPower: number
|
|
ElementMystery: number
|
|
Endurance: number
|
|
HpGrowth: number
|
|
HpMax: number
|
|
PenDelta: number
|
|
PenRate: number
|
|
Rbl: number
|
|
RblCorrectionFactor: number
|
|
RblProbability: number
|
|
Shield: number
|
|
ShieldGrowth: number
|
|
SpBarPoint: number
|
|
SpRecover: number
|
|
Stun: number
|
|
Tags: string[]
|
|
RpMax: number
|
|
RpRecover: number
|
|
}
|
|
Level: {
|
|
[key: string]: {
|
|
HpMax: number
|
|
Attack: number
|
|
Defence: number
|
|
LevelMax: number
|
|
LevelMin: number
|
|
Materials: { [key: string]: number }
|
|
}
|
|
}
|
|
ExtraLevel: {
|
|
[key: string]: {
|
|
MaxLevel: number
|
|
Extra: { [key: string]: Part4 }
|
|
}
|
|
}
|
|
LevelEXP: number[]
|
|
Skill: {
|
|
Basic: {
|
|
Description: AssistDescription[]
|
|
Material: { [key: string]: { [key: string]: number } }
|
|
}
|
|
Dodge: {
|
|
Description: AssistDescription[]
|
|
Material: { [key: string]: { [key: string]: number } }
|
|
}
|
|
Special: {
|
|
Description: {
|
|
Name: string
|
|
Desc?: string
|
|
Potential: any[]
|
|
Param?: {
|
|
Name: string
|
|
Desc: string
|
|
Param?: {
|
|
[key: string]: {
|
|
Main: number
|
|
Growth: number
|
|
Format: string
|
|
DamagePercentage: number
|
|
DamagePercentageGrowth: number
|
|
StunRatio: number
|
|
StunRatioGrowth: number
|
|
SpRecovery: number
|
|
SpRecoveryGrowth: number
|
|
FeverRecovery: number
|
|
FeverRecoveryGrowth: number
|
|
AttributeInfliction: number
|
|
SpConsume: number
|
|
AttackData: any[]
|
|
RpRecovery: number
|
|
RpRecoveryGrowth: number
|
|
}
|
|
}
|
|
Potential: any[]
|
|
}[]
|
|
}[]
|
|
Material: { [key: string]: { [key: string]: number } }
|
|
}
|
|
Chain: {
|
|
Description: AssistDescription[]
|
|
Material: { [key: string]: { [key: string]: number } }
|
|
}
|
|
Assist: {
|
|
Description: AssistDescription[]
|
|
Material: { [key: string]: { [key: string]: number } }
|
|
}
|
|
}
|
|
SkillList: {
|
|
[key: string]: {
|
|
Name: string
|
|
Desc: string
|
|
ElementType: number
|
|
HitType: number
|
|
Potential: any[]
|
|
}
|
|
}
|
|
Passive: {
|
|
Level: {
|
|
[key: string]: {
|
|
Level: number
|
|
Id: number
|
|
Name: string[]
|
|
Desc: string[]
|
|
ExtraProperty: {}
|
|
Potential: any[]
|
|
}
|
|
}
|
|
Materials: { [key: string]: { [key: string]: number } }
|
|
}
|
|
Talent: {
|
|
[key: string]: {
|
|
Level: number
|
|
Name: string
|
|
Desc: string
|
|
Desc2: string
|
|
}
|
|
}
|
|
FairyRecommend: {
|
|
Slot4: number
|
|
Slot2: number
|
|
SlotSub: number
|
|
Part4: Part4
|
|
Part5: Part4
|
|
Part6: Part4
|
|
PartSub: Part4
|
|
}
|
|
Potential: any[]
|
|
}
|
|
|
|
interface Part4 {
|
|
Prop: number
|
|
Name: string
|
|
Format: string
|
|
Value?: number
|
|
Icon?: string
|
|
}
|
|
|
|
interface AssistDescription {
|
|
Name: string
|
|
Desc?: string
|
|
Potential: any[]
|
|
Param?: {
|
|
Name: string
|
|
Desc: string
|
|
Param: {
|
|
[key: string]: {
|
|
Main: number
|
|
Growth: number
|
|
Format: string
|
|
DamagePercentage: number
|
|
DamagePercentageGrowth: number
|
|
StunRatio: number
|
|
StunRatioGrowth: number
|
|
SpRecovery: number
|
|
SpRecoveryGrowth: number
|
|
FeverRecovery: number
|
|
FeverRecoveryGrowth: number
|
|
AttributeInfliction: number
|
|
SpConsume: number
|
|
AttackData: any[]
|
|
RpRecovery: number
|
|
RpRecoveryGrowth: number
|
|
}
|
|
}
|
|
Potential: any[]
|
|
}[]
|
|
}
|
|
|
|
} |