arx-level-generator
Version:
A tool for creating Arx Fatalis maps
59 lines (58 loc) • 1.78 kB
TypeScript
import { Expand } from 'arx-convert/utils';
import { Entity, EntityConstructorProps } from '../../Entity.js';
import { Variable } from '../../scripting/properties/Variable.js';
export type DoorConstructorProps = Expand<EntityConstructorProps & {
/**
* default value is false
*/
isOpen?: boolean;
/**
* default value is false
*/
isLocked?: boolean;
lockpickDifficulty?: number;
}>;
export type DoorConstructorPropsWithFixSrc = Expand<Omit<DoorConstructorProps, 'src'>>;
export declare abstract class Door extends Entity {
protected propIsOpen: Variable<boolean>;
protected propIsUnlocked: Variable<boolean>;
protected propLockpickability: Variable<number>;
constructor(props: DoorConstructorProps);
get isOpen(): boolean;
set isOpen(value: boolean);
get isLocked(): boolean;
set isLocked(value: boolean);
get lockpickDifficulty(): number;
set lockpickDifficulty(value: number);
}
export declare class Portcullis extends Door {
constructor(props?: DoorConstructorPropsWithFixSrc);
}
/**
* 150 wide / 220 high
*/
export declare class LightDoor extends Door {
protected propType: Variable<string>;
protected propKey: Variable<string>;
constructor(props?: DoorConstructorPropsWithFixSrc);
setKey(key: Entity): void;
removeKey(): void;
}
/**
* 150 wide / 200 high
*/
export declare class CatacombHeavyDoor extends LightDoor {
constructor(props?: DoorConstructorPropsWithFixSrc);
}
/**
* 150 wide / 250 high
*/
export declare class YlsideDoor extends LightDoor {
constructor(props?: DoorConstructorPropsWithFixSrc);
}
/**
* ? wide / ? high
*/
export declare class GoblinVeryLightDoor extends LightDoor {
constructor(props?: DoorConstructorPropsWithFixSrc);
}