UNPKG

patchwork-mapconverter

Version:

Executable wrapper for https://github.com/ChiefOfGxBxL/WC3MapTranslator

176 lines (175 loc) 4.16 kB
interface Map { name: string; author: string; description: string; recommendedPlayers: string; playableArea: PlayableMapArea; flags: MapFlags; mainTileType: string; } interface GameVersion { major: number; minor: number; patch: number; build: number; } interface PlayableCamera { bounds: number[]; complements: number[]; } interface MapFlags { hideMinimapInPreview: boolean; modifyAllyPriorities: boolean; isMeleeMap: boolean; nonDefaultTilesetMapSizeLargeNeverBeenReducedToMedium: boolean; maskedPartiallyVisible: boolean; fixedPlayerSetting: boolean; useCustomForces: boolean; useCustomTechtree: boolean; useCustomAbilities: boolean; useCustomUpgrades: boolean; mapPropertiesMenuOpenedAtLeastOnce: boolean; waterWavesOnCliffShores: boolean; waterWavesOnRollingShores: boolean; useTerrainFog: boolean; tftRequired: boolean; useItemClassificationSystem: boolean; enableWaterTinting: boolean; useAccurateProbabilityForCalculations: boolean; useCustomAbilitySkins: boolean; disableDenyIcon: boolean; forceDefaultCameraZoom: boolean; forceMaxCameraZoom: boolean; forceMinCameraZoom: boolean; } interface LoadingScreen { background: number; path: string; text: string; title: string; subtitle: string; } declare enum FogType { Linear = 0, Exponential1 = 1, Exponential2 = 2 } interface Fog { type: FogType; startHeight: number; endHeight: number; density: number; color: number[]; } interface PlayableMapArea { width: number; height: number; } interface Prologue { path: string; text: string; title: string; subtitle: string; } interface Info { saves: number; gameVersion: GameVersion; editorVersion: number; scriptLanguage: ScriptLanguage; supportedModes: SupportedModes; gameDataVersion: number; forcedDefaultCamDistance: number; forcedMaxCamDistance: number; forcedMinCamDistance: number; map: Map; camera: PlayableCamera; gameDataSet: number; prologue: Prologue; loadingScreen: LoadingScreen; fog: Fog; globalWeather: number; customSoundEnvironment: string; customLightEnv: number; water: number[]; players: Player[]; forces: Force[]; upgrades: UpgradeAvailable[]; techBlacklist: TechUnavailable[]; randomUnitTables: RandomUnitTable[]; randomItemTables: RandomTable[]; } interface PlayerStartingPosition { x: number; y: number; fixed: boolean; } interface Player { playerNum: number; type: number; race: number; name: string; startingPos: PlayerStartingPosition; allyLowPriorities: number; allyHighPriorities: number; enemyLowPriorities: number; enermyHighPriorities: number; } interface ForceFlags { allied: boolean; alliedVictory: boolean; shareVision: boolean; shareUnitControl: boolean; shareAdvUnitControl: boolean; } interface Force { flags: ForceFlags; players: number; name: string; } interface UpgradeAvailable { playerFlags: number; upgradeId: string; level: number; availability: Availability; } interface TechUnavailable { playerFlags: number; techId: string; } interface RandomTable { id: number; name: string; rows: ObjectPool[]; } interface ObjectPool { type: number; objects: RandomObject[]; } interface RandomObject { objectId: string; chance: number; } interface RandomUnitTable { id: number; name: string; positions: number[]; chances: Array<{ chance: number; unitIds: string[]; }>; } declare enum ScriptLanguage { JASS = 0, Lua = 1 } declare enum SupportedModes { SD = 1, HD = 2, Both = 3 } declare enum Availability { UNAVAILABLE = 0, AVAILABLE = 1, RESEARCHED = 2 } export { type Map, type GameVersion, type PlayableCamera, type MapFlags, type LoadingScreen, FogType, type PlayableMapArea, type Prologue, type Info, type PlayerStartingPosition, type Player, type ForceFlags, type Force, ScriptLanguage, SupportedModes };