UNPKG

warscript

Version:

A typescript library for Warcraft III using Warpack.

219 lines (218 loc) 10.5 kB
/// <reference types="warpack-types/warpack" /> /** @noSelfInFile */ import { TupleOf } from "../../../utility/types"; import { ArmorSoundType } from "../auxiliary/armor-sound-type"; import { CombatClassifications } from "../auxiliary/combat-classification"; import { MovementType } from "../auxiliary/movement-type"; import { Race } from "../auxiliary/race"; import { SoundSetName } from "../auxiliary/sound-set-name"; import { UnitClassifications } from "../auxiliary/unit-classification"; import { WeaponSoundType } from "../auxiliary/weapon-sound-type"; import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry"; import { ObjectDataEntryIdGenerator } from "../utility/object-data-entry-id-generator"; import type { AbilityTypeId } from "./ability-type"; import type { UpgradeId } from "./upgrade"; import { AnimationQualifier } from "../auxiliary/animation-qualifier"; export type UnitTypeId = ObjectDataEntryId & { readonly __unitTypeId: unique symbol; }; export type StandardUnitTypeId = UnitTypeId & { readonly __standardUnitTypeId: unique symbol; }; export declare class UnitTypeWeapon { private readonly unitType; private readonly index; private constructor(); get backSwingDuration(): number; set backSwingDuration(backSwingDuration: number); get impactDelay(): number; set impactDelay(impactDelay: number); get missileModelPath(): string; set missileModelPath(missileModelPath: string); get soundType(): WeaponSoundType; set soundType(soundType: WeaponSoundType); get soundTypeSD(): WeaponSoundType; set soundTypeSD(soundTypeSD: WeaponSoundType); get soundTypeHD(): WeaponSoundType; set soundTypeHD(soundTypeHD: WeaponSoundType); } export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> extends ObjectDataEntry<Id> { static readonly [id: StandardUnitTypeId]: ObjectDataEntryConstructor<UnitType>; protected static readonly idGenerator: ObjectDataEntryIdGenerator; protected static generateId(): number; protected static getObjectData(map: WarMap): WarObjects; get abilityTypeIds(): AbilityTypeId[]; set abilityTypeIds(abilityTypeIds: AbilityTypeId[]); get defaultActiveAbilityTypeId(): AbilityTypeId | undefined; set defaultActiveAbilityTypeId(abilityTypeId: AbilityTypeId | undefined); get abilityBackSwingDuration(): number; set abilityBackSwingDuration(abilityBackSwingDuration: number); get abilityImpactDelay(): number; set abilityImpactDelay(castImpactDelay: number); get animationQualifiers(): AnimationQualifier[]; set animationQualifiers(animationQualifiers: AnimationQualifier[]); get buttonPositionX(): number; set buttonPositionX(buttonPositionX: number); get buttonPositionY(): number; set buttonPositionY(buttonPositionY: number); get casterUpgradeIconPath(): string; set casterUpgradeIconPath(casterUpgradeIconPath: string); get deathDuration(): number; set deathDuration(deathDuration: number); get iconPath(): string; set iconPath(iconPath: string); get iconPathSD(): string; set iconPathSD(iconPathSD: string); get iconPathHD(): string; set iconPathHD(iconPathHD: string); get isMissileScalingEnabled(): boolean; set isMissileScalingEnabled(isMissileScalingEnabled: boolean); get maximumPitchAngleDegrees(): number; set maximumPitchAngleDegrees(maximumPitchAngleDegrees: number); get maximumRollAngleDegrees(): number; set maximumRollAngleDegrees(maximumRollAngleDegrees: number); get missileLaunchOffsetX(): number; set missileLaunchOffsetX(missileLaunchOffsetX: number); get missileLaunchOffsetY(): number; set missileLaunchOffsetY(missileLaunchOffsetY: number); get missileLaunchOffsetZ(): number; set missileLaunchOffsetZ(missileLaunchOffsetZ: number); get missileLaunchOffsetZSD(): number; set missileLaunchOffsetZSD(missileLaunchOffsetZSD: number); get missileLaunchOffsetZHD(): number; set missileLaunchOffsetZHD(missileLaunchOffsetZHD: number); get missileLaunchSwimmingOffsetZ(): number; set missileLaunchSwimmingOffsetZ(missileLaunchOffsetZ: number); get missileLaunchSwimmingOffsetZSD(): number; set missileLaunchSwimmingOffsetZSD(missileLaunchSwimmingOffsetZSD: number); get missileLaunchSwimmingOffsetZHD(): number; set missileLaunchSwimmingOffsetZHD(missileLaunchSwimmingOffsetZHD: number); get missileLaunchVisualOffsetX(): number; set missileLaunchVisualOffsetX(missileLaunchVisualOffsetX: number); get missileLaunchVisualOffsetXSD(): number; set missileLaunchVisualOffsetXSD(missileLaunchVisualOffsetXSD: number); get missileLaunchVisualOffsetXHD(): number; set missileLaunchVisualOffsetXHD(missileLaunchVisualOffsetXHD: number); get missileLaunchVisualOffsetY(): number; set missileLaunchVisualOffsetY(missileLaunchVisualOffsetY: number); get missileLaunchVisualOffsetYSD(): number; set missileLaunchVisualOffsetYSD(missileLaunchVisualOffsetYSD: number); get missileLaunchVisualOffsetYHD(): number; set missileLaunchVisualOffsetYHD(missileLaunchVisualOffsetYHD: number); get missileImpactOffsetZ(): number; set missileImpactOffsetZ(missileImpactOffsetZ: number); get missileImpactOffsetZSD(): number; set missileImpactOffsetZSD(missileImpactOffsetZSD: number); get missileImpactOffsetZHD(): number; set missileImpactOffsetZHD(missileImpactOffsetZHD: number); get missileImpactSwimmingOffsetZ(): number; set missileImpactSwimmingOffsetZ(missileImpactSwimmingOffsetZ: number); get missileImpactSwimmingOffsetZSD(): number; set missileImpactSwimmingOffsetZSD(missileImpactSwimmingOffsetZSD: number); get missileImpactSwimmingOffsetZHD(): number; set missileImpactSwimmingOffsetZHD(missileImpactSwimmingOffsetZHD: number); get modelPath(): string; set modelPath(modelPath: string); get modelPathSD(): string; set modelPathSD(modelPathSD: string); get modelPathHD(): string; set modelPathHD(modelPathHD: string); get selectionCircleScale(): number; set selectionCircleScale(selectionCircleScale: number); get selectionCircleScaleSD(): number; set selectionCircleScaleSD(selectionCircleScaleSD: number); get selectionCircleScaleHD(): number; set selectionCircleScaleHD(selectionCircleScaleHD: number); get scale(): number; set scale(scale: number); get scaleSD(): number; set scaleSD(scaleSD: number); get scaleHD(): number; set scaleHD(scaleHD: number); get scoreScreenIconPath(): string; set scoreScreenIconPath(scoreScreenIconPath: string); get scoreScreenIconPathSD(): string; set scoreScreenIconPathSD(scoreScreenIconPathSD: string); get scoreScreenIconPathHD(): string; set scoreScreenIconPathHD(scoreScreenIconPathHD: string); get specialEffectModelPath(): string; set specialEffectModelPath(specialEffectModelPath: string); get specialEffectModelPathSD(): string; set specialEffectModelPathSD(specialEffectModelPathSD: string); get specialEffectModelPathHD(): string; set specialEffectModelPathHD(specialEffectModelPathHD: string); get shadowImageHeight(): number; set shadowImageHeight(shadowImageHeight: number); get shadowImageWidth(): number; set shadowImageWidth(shadowImageWidth: number); get shadowImageXOffset(): number; set shadowImageXOffset(shadowImageXOffset: number); get shadowImageYOffset(): number; set shadowImageYOffset(shadowImageYOffset: number); get armorSoundType(): ArmorSoundType; set armorSoundType(armorSoundType: ArmorSoundType); get armorSoundTypeSD(): ArmorSoundType; set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType); get armorSoundTypeHD(): ArmorSoundType; set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType); get combatClassifications(): CombatClassifications; set combatClassifications(combatClassifications: CombatClassifications); get unitClassifications(): UnitClassifications; set unitClassifications(unitClassifications: UnitClassifications); get firstWeapon(): UnitTypeWeapon; get secondWeapon(): UnitTypeWeapon; get weapons(): TupleOf<UnitTypeWeapon, 2>; get flyHeight(): number; set flyHeight(flyHeight: number); get flyHeightMinimum(): number; set flyHeightMinimum(flyHeightMinimum: number); get movementSpeed(): number; set movementSpeed(movementSpeed: number); get movementSpeedMaximum(): number; set movementSpeedMaximum(movementSpeedMaximum: number); get movementSpeedMinimum(): number; set movementSpeedMinimum(movementSpeedMinimum: number); get movementType(): MovementType; set movementType(movementType: MovementType); get collisionSize(): number; set collisionSize(collisionSize: number); get pathingTexturePath(): string; set pathingTexturePath(pathingTexturePath: string); get soundSetName(): SoundSetName; set soundSetName(soundSetName: SoundSetName); get buildingDuration(): number; set buildingDuration(buildingDuration: number); get foodCost(): number; set foodCost(foodCost: number); get foodProduced(): number; set foodProduced(foodProduced: number); get formationRank(): number; set formationRank(formationRank: number); get goldCost(): number; set goldCost(goldCost: number); get isStructure(): boolean; set isStructure(isStructure: boolean); get race(): Race; set race(race: Race); get affectingUpgradeIds(): UpgradeId[]; set affectingUpgradeIds(affectingUpgradeIds: UpgradeId[]); get description(): string; set description(description: string); get name(): string; set name(name: string); get tooltipText(): string; set tooltipText(tooltipText: string); get tooltipExtendedText(): string; set tooltipExtendedText(tooltipExtendedText: string); } export type HeroUnitTypeId = UnitTypeId & { readonly __heroUnitTypeId: unique symbol; }; export type StandardHeroUnitTypeId = StandardUnitTypeId & HeroUnitTypeId; export declare abstract class HeroUnitType<Id extends HeroUnitTypeId = HeroUnitTypeId> extends UnitType<Id> { static readonly [id: StandardUnitTypeId]: ObjectDataEntryConstructor<HeroUnitType>; protected static readonly idGenerator: ObjectDataEntryIdGenerator; protected static generateId(): number; get heroAbilityTypeIds(): AbilityTypeId[]; set heroAbilityTypeIds(heroAbilityTypeIds: AbilityTypeId[]); }