isaac-typescript-definitions
Version:
TypeScript definitions for The Binding of Isaac: Repentance.
236 lines • 7.14 kB
TypeScript
/**
* This is represented as an object instead of an enum due to limitations with TypeScript enums. (We
* want this type to be a child of the `BitFlag` type.)
*
* @enum
* @notExported
* @rename EntityFlag
*/
declare const EntityFlagInternal: {
/**
* Prevents status effects from applying to the entity (e.g. freeze, poison, slow, charm,
* confusion, fear, burn, etc.).
*
* 1 << 0 (1)
*/
readonly NO_STATUS_EFFECTS: number;
/**
* Do not interpolate the position.
*
* 1 << 1 (2)
*/
readonly NO_INTERPOLATE: number;
/**
* The "Appear" animation will be played after the entity is initialized.
*
* 1 << 2 (4)
*/
readonly APPEAR: number;
/**
* Meant for entities that have a sprite loaded that represent a floor texture. Entities with this
* flag will be removed after their first render. (Removing the entity is desirable because we
* would not want it to override other things that render to the floor, like bomb explosions.) You
* can use `EntityFlag.NO_REMOVE_ON_TEX_RENDER` to disable this behavior.
*
* 1 << 3 (8)
*/
readonly RENDER_FLOOR: number;
/**
* Will not be a target of NPCs or familiars.
*
* 1 << 4 (16)
*/
readonly NO_TARGET: number;
/** 1 << 5 (32) */
readonly FREEZE: number;
/** 1 << 6 (64) */
readonly POISON: number;
/** 1 << 7 (128) */
readonly SLOW: number;
/** 1 << 8 (256) */
readonly CHARM: number;
/** 1 << 9 (512) */
readonly CONFUSION: number;
/** 1 << 10 (1024) */
readonly MIDAS_FREEZE: number;
/**
* Fleeing in fear (from e.g. Mom's Pad).
*
* 1 << 11 (2048)
*/
readonly FEAR: number;
/**
* Caused by Fire Mind tears. Works like poison except with a red color effect.
*
* 1 << 12 (4096)
*/
readonly BURN: number;
/**
* Meant for entities that have a sprite loaded that represent a wall texture. Entities with this
* flag will be removed after their first render. (Removing the entity is desirable because we
* would not want it to override other things that render to the wall, like bomb explosions.) You
* can use `EntityFlag.NO_REMOVE_ON_TEX_RENDER` to disable this behavior.
*
* 1 << 13 (8192)
*/
readonly RENDER_WALL: number;
/**
* The entity is updating at 60 frames per second and this is an odd frame.
*
* 1 << 14 (16384)
*/
readonly INTERPOLATION_UPDATE: number;
/**
* Indicates that the entity is in a side-scrolling room and is within a gravity zone.
*
* 1 << 15 (32768)
*/
readonly APPLY_GRAVITY: number;
/** 1 << 16 (65536) */
readonly NO_BLOOD_SPLASH: number;
/**
* See `EntityFlag.FLAG_RENDER_FLOOR` and `EntityFlag.FLAG_RENDER_WALL`.
*
* 1 << 17 (131072)
*/
readonly NO_REMOVE_ON_TEX_RENDER: number;
/** 1 << 18 (262144) */
readonly NO_DEATH_TRIGGER: number;
/**
* This shares the same value as `FLAG_LASER_POP` and `FLAG_ITEM_SHOULD_DUPLICATE`, but has a
* different meaning depending on the entity type.
*
* 1 << 19 (524288)
*/
readonly NO_SPIKE_DAMAGE: number;
/**
* This shares the same value as `FLAG_NO_SPIKE_DAMAGE` and `FLAG_ITEM_SHOULD_DUPLICATE`, but has
* a different meaning depending on the entity type.
*
* 1 << 19 (524288)
*/
readonly LASER_POP: number;
/**
* A collectible affected by Damocles. The flag indicates that it will be duplicated at the end of
* the current frame.
*
* This shares the same value as `FLAG_NO_SPIKE_DAMAGE` and `FLAG_LASER_POP`, but has a different
* meaning depending on the entity type.
*
* 1 << 19 (524288)
*/
readonly ITEM_SHOULD_DUPLICATE: number;
/**
* Some bosses (like Lamb or Mother) can die but they will still appear to be active in the room
* (`IsActiveEnemy`). You can check this flag in those cases.
*
* 1 << 20 (1048576)
*/
readonly BOSS_DEATH_TRIGGERED: number;
/** 1 << 21 (2097152) */
readonly DONT_OVERWRITE: number;
/** 1 << 22 (4194304) */
readonly SPAWN_STICKY_SPIDERS: number;
/** 1 << 23 (8388608) */
readonly SPAWN_BLACK_HP: number;
/** 1 << 24 (16777216) */
readonly SHRINK: number;
/** 1 << 25 (33554432) */
readonly NO_FLASH_ON_DAMAGE: number;
/** 1 << 26 (67108864) */
readonly NO_KNOCKBACK: number;
/** 1 << 27 (134217728) */
readonly SLIPPERY_PHYSICS: number;
/** 1 << 28 (268435456) */
readonly ADD_JAR_FLY: number;
/** 1 << 29 (536870912) */
readonly FRIENDLY: number;
/** 1 << 30 (1073741824) */
readonly NO_PHYSICS_KNOCKBACK: number;
/** 1 << 31 (2147483648) */
readonly DONT_COUNT_BOSS_HP: number;
/** 1 << 32 (4294967296) */
readonly NO_SPRITE_UPDATE: number;
/** 1 << 33 */
readonly CONTAGIOUS: number;
/**
* Used by the Mom's Razor collectible.
*
* 1 << 34
*/
readonly BLEED_OUT: number;
/**
* Hides the HP bar generated by the Spider Mod collectible.
*
* 1 << 35
*/
readonly HIDE_HP_BAR: number;
/** 1 << 36 */
readonly NO_DAMAGE_BLINK: number;
/**
* The entity will persist between rooms.
*
* 1 << 37
*/
readonly PERSISTENT: number;
/** 1 << 38 */
readonly BACKDROP_DETAIL: number;
/** 1 << 39 */
readonly AMBUSH: number;
/** 1 << 40 */
readonly GLITCH: number;
/** 1 << 41 */
readonly SPIN: number;
/** 1 << 42 */
readonly NO_REWARD: number;
/** 1 << 43 */
readonly REDUCE_GIBS: number;
/** 1 << 44 */
readonly TRANSITION_UPDATE: number;
/** 1 << 45 */
readonly NO_PLAYER_CONTROL: number;
/**
* Makes the entity excluded from the results of the `Isaac.FindByType` method. Additionally, the
* entity will not fire the `ENTITY_TAKE_DMG` callback.
*
* 1 << 46
*/
readonly NO_QUERY: number;
/** 1 << 47 */
readonly KNOCKED_BACK: number;
/** 1 << 48 */
readonly APPLY_IMPACT_DAMAGE: number;
/** 1 << 49 */
readonly ICE_FROZEN: number;
/** 1 << 50 */
readonly ICE: number;
/** 1 << 51 */
readonly MAGNETIZED: number;
/** 1 << 52 */
readonly BAITED: number;
/** 1 << 53 */
readonly KILL_SWITCH: number;
/** 1 << 54 */
readonly WEAKNESS: number;
/** 1 << 55 */
readonly EXTRA_GORE: number;
/** 1 << 56 */
readonly BRIMSTONE_MARKED: number;
/** 1 << 57 */
readonly HELD: number;
/** 1 << 58 */
readonly THROWN: number;
/** 1 << 59 */
readonly FRIENDLY_BALL: number;
};
type EntityFlagValue = BitFlag & {
readonly __entityFlagBrand: symbol;
};
type EntityFlagType = {
readonly [K in keyof typeof EntityFlagInternal]: EntityFlagValue;
};
export declare const EntityFlag: EntityFlagType;
export type EntityFlag = EntityFlagType[keyof EntityFlagType];
export declare const EntityFlagZero: BitFlags<EntityFlagValue>;
export {};
//# sourceMappingURL=EntityFlag.d.ts.map