homm3-parsers
Version:
Collection of binary parsers able to parse various file formats related to Heroes of Might and Magic III
62 lines (61 loc) • 1.49 kB
TypeScript
import { Hero } from './enums/Hero';
import { FlaggedProp, Omit } from '../../../helpers/types';
import { Behavior } from '../constants';
export declare type StartingHero = {
isRandom: boolean;
hero: Hero.NONE;
face: number;
name: string;
} | {
isRandom: boolean;
hero: Hero;
face: number;
name: string;
additionaInfo: {
heroesCount: number;
heroes: {
hero: Hero;
name: string;
}[];
};
};
export declare type StartingHeroRoE = {
isRandom: boolean;
hero: Hero.NONE;
} | {
isRandom: boolean;
hero: Hero;
face: number;
name: string;
};
export declare type MainTown = FlaggedProp<'hasMainTown', 'mainTown', {
createHero: number;
type: number;
x: number;
y: number;
z: number;
}>;
export declare type MainTownRoE = FlaggedProp<'hasMainTown', 'mainTown', {
x: number;
y: number;
z: number;
}>;
export declare type PlayerData = {
canBeHuman: boolean;
canBeComputer: boolean;
behavior: Behavior;
allowedAlignments: number;
townTypes: number;
townConflux: number;
hasRandomTown: boolean;
startingHero: StartingHero;
} & MainTown;
export declare type PlayerDataRoE = {
canBeHuman: boolean;
canBeComputer: boolean;
behavior: Behavior;
townTypes: number;
hasRandomTown: boolean;
startingHero: StartingHeroRoE;
} & MainTownRoE;
export declare type PlayerDataAb = Omit<PlayerData, 'allowedAlignments'>;