UNPKG

isaac-typescript-definitions

Version:

TypeScript definitions for The Binding of Isaac: Repentance.

81 lines (71 loc) 2.7 kB
import type { FamiliarVariant } from "../../enums/collections/variants"; import type { Direction } from "../../enums/Direction"; import type { TargetFlag } from "../../enums/flags/TargetFlag"; declare global { interface EntityFamiliar extends Entity { AddCoins: (value: int) => void; AddHearts: (hearts: int) => void; AddKeys: (keys: int) => void; AddToDelayed: () => void; AddToFollowers: () => void; AddToOrbit: (layer: int) => void; FireProjectile: (direction: Vector) => EntityTear; FollowParent: () => void; FollowPosition: (position: Vector) => void; GetOrbitPosition: (position: Vector) => Vector; IsDelayed: () => boolean; IsFollower: () => boolean; MoveDelayed: (numFrames: int) => void; MoveDiagonally: (speed: float) => void; /** * @param maxDistance * @param frameInterval Default is 13. * @param flags Default is 0. See the `TargetFlag` enum for more information. * @param coneDir Default is `Vector(0, 0)`. If not equal to a zero vector, the function will * search for targets in a cone pointing in this direction. * @param coneAngle Default is 15. If `coneDir` is not a zero vector, the function will set the * half angle of the search cone in degrees. (For example, 45 results in a * search angle of 90 degrees.) */ PickEnemyTarget: ( maxDistance: float, frameInterval?: int, flags?: TargetFlag | BitFlags<TargetFlag>, coneDir?: Vector, coneAngle?: float, ) => void; PlayChargeAnim: (direction: Direction) => void; PlayFloatAnim: (direction: Direction) => void; PlayShootAnim: (direction: Direction) => void; RecalculateOrbitOffset: (layer: int, add: boolean) => int; RemoveFromDelayed: () => void; RemoveFromFollowers: () => void; RemoveFromOrbit: () => void; Shoot: () => void; Coins: int; FireCooldown: int; HeadFrameDelay: int; Hearts: int; Keys: int; LastDirection: Direction; MoveDirection: Direction; OrbitAngleOffset: float; OrbitDistance: Vector; /** -1 by default. Has values >= 0 for familiars that are orbitals. */ OrbitLayer: int; OrbitSpeed: float; /** * This is the player object that "owns" this familiar. All familiars are associated with an * `EntityPlayer`. If the `Player` attribute is set to undefined, the game will crash. */ Player: EntityPlayer; RoomClearCount: int; ShootDirection: Direction; State: int; Variant: FamiliarVariant; } /** @noSelf */ namespace EntityFamiliar { function GetOrbitDistance(layer: int): Vector; } }