UNPKG

maestrale

Version:
241 lines (240 loc) 8.51 kB
import * as _maestrale_data7 from "@maestrale/data"; import { Attributes, ShareCfg, ShipType } from "@maestrale/data"; import * as _vue_reactivity18 from "@vue/reactivity"; import { ComputedRef, Ref, WritableComputedRef } from "@vue/reactivity"; export * from "@maestrale/data"; //#region src/core/attributes.d.ts declare function createAttributes(options?: Partial<Attributes>): Attributes; //#endregion //#region src/core/commander.d.ts declare class Commander { id: number; private template; level: Ref<number>; name: Ref<string>; constructor(id: number); get originalName(): string; get nationality(): _maestrale_data7.Nationality; get rarity(): number; get painting(): string; get maxLevel(): number; private getAbility; support: _vue_reactivity18.ComputedRef<number>; command: _vue_reactivity18.ComputedRef<number>; tactic: _vue_reactivity18.ComputedRef<number>; attrRates: _vue_reactivity18.ComputedRef<Attributes>; abilities: _vue_reactivity18.ShallowReactive<(CommanderAbility | undefined)[]>; } declare function createCommander(id: number): Commander | null; interface CommanderAbilityEffect { type: number; nationalities: number[]; shipTypes: number[]; key: number; value: number; } declare class CommanderAbility { id: number; private template; effects: CommanderAbilityEffect[]; constructor(id: number); get name(): string; get desc(): string; get icon(): string; get worth(): number; } declare function createCommanderAbility(id: number): CommanderAbility | null; //#endregion //#region src/core/equip.d.ts declare class Equip { id: number; private statistics; private templates; level: Ref<number>; constructor(id: number); private curStat; get name(): string; get icon(): string; get nationality(): _maestrale_data7.Nationality; get rarity(): number; get type(): _maestrale_data7.EquipType; get maxLevel(): number; attrs: _vue_reactivity18.ComputedRef<Partial<Attributes>>; } declare function createEquip(id: number): Equip | null; //#endregion //#region src/types.d.ts declare enum StrengthenType { General = 0, Meta = 1, Blueprint = 2, } declare enum Favor { Disappointed = 0, Stranger = 1, Friendly = 2, Like = 3, Love = 4, Pledge = 5, PledgePlus = 6, } //#endregion //#region src/utils.d.ts declare const ShipFleetKey: unique symbol; //#endregion //#region src/core/spweapon.d.ts declare class SPWeapon { id: number; private statistics; level: Ref<number>; constructor(id: number); private curStat; get name(): string; get icon(): string; get rarity(): number; get maxLevel(): number; attrs: _vue_reactivity18.ComputedRef<Partial<Attributes>>; } declare function createSPWeapon(id: number): SPWeapon | null; //#endregion //#region src/core/technology.d.ts type TechnologyAttributes = Omit<Attributes, "speed" | "luck">; interface ITechnology { attrs: Record<ShipType, TechnologyAttributes>; get: (type: ShipType, attr: keyof Attributes) => number; } declare function useTechnology(): ITechnology; declare function createTechnologyAttributes(): Record<ShipType, TechnologyAttributes>; //#endregion //#region src/core/ship.d.ts interface Strengthen { attrs: ComputedRef<Attributes>; } interface StrengthenGeneral extends Strengthen { type: StrengthenType.General | StrengthenType.Meta; adjustedAttrs: Ref<Attributes>; maxAttrs: Attributes; } interface StrengthenBlueprint extends Strengthen { type: StrengthenType.Blueprint; blueprint: Ref<number>; blueprint1: WritableComputedRef<number>; blueprint2: WritableComputedRef<number>; blueprintMax1: number; blueprintMax2: number; blueprintLevel: WritableComputedRef<number>; } interface TransformMatrixItem { template: ShareCfg.TransformDataTemplate; isEnabled: Ref<boolean>; nextIds: number[]; } interface Transform { matrix: [TransformMatrixItem[], TransformMatrixItem[], TransformMatrixItem[]][]; isModernized: Ref<boolean>; modernizedId: Ref<number>; } declare class Ship { id: number; technology: ITechnology; breakout: Ref<number>; maxBreakout: number; strengthen: StrengthenGeneral | StrengthenBlueprint; transform?: Transform; constructor(id: number, technology: ITechnology); private get curStat(); private get curTemp(); private get curSkin(); private curId; level: Ref<number, number>; favor: Ref<Favor, Favor>; name: ComputedRef<string>; armor: ComputedRef<_maestrale_data7.Armor>; nationality: ComputedRef<_maestrale_data7.Nationality>; rarity: ComputedRef<number>; type: ComputedRef<_maestrale_data7.ShipType>; painting: ComputedRef<string>; star: ComputedRef<number>; maxStar: ComputedRef<number>; private getAttr; transAttrs: ComputedRef<Attributes>; equipAttrs: ComputedRef<Attributes>; techAttrs: ComputedRef<Attributes>; commanderAttrs: ComputedRef<Attributes>; durability: ComputedRef<number>; cannon: ComputedRef<number>; torpedo: ComputedRef<number>; antiaircraft: ComputedRef<number>; air: ComputedRef<number>; reload: ComputedRef<number>; hit: ComputedRef<number>; dodge: ComputedRef<number>; speed: ComputedRef<number>; luck: ComputedRef<number>; antisub: ComputedRef<number>; oxy_max: ComputedRef<number>; ammo: ComputedRef<number>; oil: ComputedRef<number>; power: ComputedRef<number>; equipSlotTypes: ComputedRef<readonly [_maestrale_data7.EquipType[], _maestrale_data7.EquipType[], _maestrale_data7.EquipType[], _maestrale_data7.EquipType[], _maestrale_data7.EquipType[]]>; equip1: _vue_reactivity18.ShallowRef<Equip | null, Equip | null>; equip2: _vue_reactivity18.ShallowRef<Equip | null, Equip | null>; equip3: _vue_reactivity18.ShallowRef<Equip | null, Equip | null>; equip4: _vue_reactivity18.ShallowRef<Equip | null, Equip | null>; equip5: _vue_reactivity18.ShallowRef<Equip | null, Equip | null>; equips: ComputedRef<(Equip | null)[]>; spweapon: _vue_reactivity18.ShallowRef<SPWeapon | null, SPWeapon | null>; [ShipFleetKey]: _vue_reactivity18.ShallowRef<Fleet | null, Fleet | null>; fleet: ComputedRef<Fleet | null>; } interface CreateShipOptions { level?: number; breakout?: number; favor?: Favor; equips?: (Equip | number | null)[]; spweapon?: SPWeapon | number | null; technology: ITechnology; } declare function createShip(id: number, options: CreateShipOptions): Ship | null; //#endregion //#region src/core/fleet.d.ts declare abstract class Fleet { name: Ref<string>; abstract ships: ComputedRef<(Ship | null)[]>; constructor(name: string); commander1: _vue_reactivity18.ShallowRef<Commander | null, Commander | null>; commander2: _vue_reactivity18.ShallowRef<Commander | null, Commander | null>; commanders: ComputedRef<(Commander | null)[]>; } declare class SurfaceFleet extends Fleet { constructor(name: string); ships: ComputedRef<(Ship | null)[]>; main1: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; main2: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; main3: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; vanguard1: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; vanguard2: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; vanguard3: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; } declare class SubmarineFleet extends Fleet { constructor(name: string); ships: ComputedRef<(Ship | null)[]>; submarine1: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; submarine2: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; submarine3: _vue_reactivity18.ShallowRef<Ship | null, Ship | null>; } declare function createFleet(type: "surface" | "submarine", name?: string): SurfaceFleet | SubmarineFleet; //#endregion //#region src/serialize/index.d.ts interface CreateSerializerOptions { technology: ITechnology; mapping?: Record<string, object>; } declare function createSerializer(options: CreateSerializerOptions): { mapping: Record<string, object>; serialize: (source: object) => unknown; deserialize: (raw: unknown) => unknown; cleanup: (raw: unknown) => void; }; //#endregion export { Commander, CommanderAbility, CommanderAbilityEffect, CreateSerializerOptions, CreateShipOptions, Equip, Favor, Fleet, ITechnology, SPWeapon, Ship, StrengthenType, SubmarineFleet, SurfaceFleet, TechnologyAttributes, Transform, TransformMatrixItem, createAttributes, createCommander, createCommanderAbility, createEquip, createFleet, createSPWeapon, createSerializer, createShip, createTechnologyAttributes, useTechnology };