Flag
Functions
addFlag
▸ addFlag<T
>(flags
, ...flagsToAdd
): BitFlags
<T
>
Helper function to add a bit flag to an existing set of bit flags.
This is a variadic function, so pass as many flags as you want to add.
Example 1:
// Give the player spectral tears
const player = Isaac.GetPlayer();
player.TearFlags = addFlag(player.TearFlags, TearFlags.TEAR_SPECTRAL);
Example 2:
// Give the player spectral and homing tears
const player = Isaac.GetPlayer();
player.TearFlags = addFlag(player.TearFlags, TearFlags.TEAR_SPECTRAL, TearFlags.TEAR_HOMING);
Type parameters
Name | Type |
---|---|
T | extends BitFlag | BitFlag128 |
Parameters
Name | Type | Description |
---|---|---|
flags | T | BitFlags <T > | The existing set of bit flags. |
...flagsToAdd | readonly T [] | One or more bit flags to add, each as a separate argument. |
Returns
BitFlags
<T
>
The combined bit flags.
Defined in
packages/isaacscript-common/src/functions/flag.ts:29
bitFlags
▸ bitFlags<T
>(flag
): BitFlags
<T
>
Helper function for casting a flag enum value to a BitFlags
object.
This is useful because the compiler will prevent you from assigning a specific flag to a
BitFlags
field. (It does this to ensure type safety, since BitFlags
can represent a zero
value or a composition of N flags.)
For example:
player.TearFlags = bitFlags(TearFlag.SPECTRAL);
Type parameters
Name | Type |
---|---|
T | extends BitFlag | BitFlag128 |
Parameters
Name | Type |
---|---|
flag | T |
Returns
BitFlags
<T
>
Defined in
packages/isaacscript-common/src/functions/flag.ts:55
getFlagName
▸ getFlagName<T
>(flag
, flagEnum
): string
| undefined
Helper function to get the key associated with a particular flag.
(Since bit flags are represented by custom objects instead of normal TypeScript enums, you cannot use the reverse mapping to find the associated key of a given enum value. Use this helper function instead of indexing the enum directly.)
Type parameters
Name | Type |
---|---|
T | extends BitFlag | BitFlag128 |
Parameters
Name | Type |
---|---|
flag | BitFlag |
flagEnum | Readonly <Record <string , T >> |
Returns
string
| undefined
Defined in
packages/isaacscript-common/src/functions/flag.ts:66
hasFlag
▸ hasFlag<T
>(flags
, ...flagsToCheck
): boolean
Helper function to determine if a particular bit flag is set to true.
This is a variadic function, so pass as many flags as you want to check for. If passed multiple flags, it will only return true if all of the flags are set.
For example:
const player = Isaac.GetPlayer();
if (hasFlag(player.TearFlags, TearFlags.TEAR_SPECTRAL) {
// The player currently has spectral tears
}
Type parameters
Name | Type |
---|---|
T | extends BitFlag | BitFlag128 |
Parameters
Name | Type | Description |
---|---|---|
flags | T | BitFlags <T > | The existing set of bit flags. |
...flagsToCheck | readonly T [] | One or more bit flags to check for, each as a separate argument. |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/flag.ts:97
isEmptyFlag
▸ isEmptyFlag(flag
): boolean
Helper function to check if every bit in the flag is turned off.
(This is equivalent to checking if the flag is equal to 0, but this is not possible without casting the flag to a number.)
Parameters
Name | Type |
---|---|
flag | BitFlag | BitFlag128 |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/flag.ts:118
isSelfDamage
▸ isSelfDamage(damageFlags
): boolean
Helper function to determine whether damage to a player in the ENTITY_TAKE_DMG
callback was
self-inflicted. For example, damage from a Curse Room door, a Razor, or a Blood Donation Machine
would count as self-inflicted damage.
Parameters
Name | Type |
---|---|
damageFlags | DamageFlagValue | BitFlags <DamageFlagValue > |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/flag.ts:127
removeFlag
▸ removeFlag<T
>(flags
, ...flagsToRemove
): BitFlags
<T
>
Helper function to remove a bit flag from an existing set of bit flags.
This is a variadic function, so pass as many flags as you want to remove.
For example:
// Remove spectral tears from the player, if present
const player = Isaac.GetPlayer();
player.TearFlags = removeFlag(player.TearFlags, TearFlags.TEAR_SPECTRAL);
Type parameters
Name | Type |
---|---|
T | extends BitFlag | BitFlag128 |
Parameters
Name | Type | Description |
---|---|---|
flags | T | BitFlags <T > | The existing set of bit flags. |
...flagsToRemove | readonly T [] | One or more bit flags to remove, each as a separate argument. |
Returns
BitFlags
<T
>
The combined bit flags.