maestrale
Version:
Maestrale Kit for Azurlane
241 lines (240 loc) • 8.51 kB
text/typescript
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 };