Skip to content

Class "EntityFamiliar"⚓︎

Info

You can get this class by using the following function:

Example Code

local familiarEntity = Isaac.GetPlayer():AddMinisaac(Vector(0,0))

Class Diagram⚓︎

    classDiagram
    class Entity:::diagramCurrentPage
    class EntityBomb
    class EntityEffect
    class EntityFamiliar
    class EntityKnife
    class EntityLaser
    class EntityNPC
    class EntityPickup
    class EntityPlayer
    class EntityProjectile
    class EntityTear
    Entity <|-- EntityBomb
    Entity <|-- EntityEffect
    Entity <|-- EntityFamiliar
    Entity <|-- EntityKnife
    Entity <|-- EntityLaser
    Entity <|-- EntityNPC
    Entity <|-- EntityPickup
    Entity <|-- EntityPlayer
    Entity <|-- EntityProjectile
    Entity <|-- EntityTear
    link Entity "Entity.html" "Go to page for 'Entity' class"
    link EntityBomb "EntityBomb.html" "Go to page for 'EntityBomb' class"
    link EntityEffect "EntityEffect.html" "Go to page for 'EntityEffect' class"
    link EntityFamiliar "EntityFamiliar.html" "Go to page for 'EntityFamiliar' class"
    link EntityKnife "EntityKnife.html" "Go to page for 'EntityKnife' class"
    link EntityLaser "EntityLaser.html" "Go to page for 'EntityLaser' class"
    link EntityNPC "EntityNPC.html" "Go to page for 'EntityNPC' class"
    link EntityPickup "EntityPickup.html" "Go to page for 'EntityPickup' class"
    link EntityPlayer "EntityPlayer.html" "Go to page for 'EntityPlayer' class"
    link EntityProjectile "EntityProjectile.html" "Go to page for 'EntityProjectile' class"
    link EntityTear "EntityTear.html" "Go to page for 'EntityTear' class"

Functions⚓︎

Add·Coins ()⚓︎

void AddCoins ( int Value )⚓︎


Add·Hearts ()⚓︎

void AddHearts ( int Hearts )⚓︎


Add·Keys ()⚓︎

void AddKeys ( int Keys )⚓︎


Add·To·Delayed ()⚓︎

void AddToDelayed ( )⚓︎

Adds to delayed. This doesn't remove other flags!


Add·To·Followers ()⚓︎

void AddToFollowers ( )⚓︎

Adds to followers. This doesn't remove other flags!


Add·To·Orbit ()⚓︎

void AddToOrbit ( int Layer )⚓︎

Adds to orbitals. This doesn't remove other flags!


Fire·Projectile ()⚓︎

EntityTear FireProjectile ( Vector Dir )⚓︎

Shoots a projectile from the center of the familiar in the direction you defined. If used on a familiar that shoots multiple projectiles (example: harlequin baby), this function will only return the left most projectile based on the direction. If used on familiars with special tears (example: Lil Brimstone,...), this will just shoot a regular tear. This function will not play the shoot animation of the familiar.


Follow·Parent ()⚓︎

void FollowParent ( )⚓︎


Follow·Position ()⚓︎

void FollowPosition ( Vector Pos )⚓︎


Get·Orbit·Distance ()⚓︎

static Vector GetOrbitDistance ( int Layer )⚓︎


Get·Orbit·Position ()⚓︎

Vector GetOrbitPosition ( Vector Pos )⚓︎

Returns the position of an orbiting familiar relative to the player's position. Returns Vector(0,0) if its a normal familiar. The "pos" argument is used as an offset.


Move·Delayed ()⚓︎

void MoveDelayed ( int NumFrames )⚓︎


Move·Diagonally ()⚓︎

void MoveDiagonally ( float Speed )⚓︎


Pick·Enemy·Target ()⚓︎

void PickEnemyTarget ( float MaxDistance, int FrameInterval = 13, int Flags = 0, Vector ConeDir = Vector.Zero, float ConeAngle = 15 )⚓︎

Flags: A combination of the following flags (none of these are set by default)

1
2
3
4
5
* 1: Allow switching to a better target even if we already have one
* 2: Don't prioritize enemies that are close to our owner
* 4: Prioritize enemies with higher HP
* 8: Prioritize enemies with lower HP
* 16: Give lower priority to our current target (this makes us more likely to switch between targets)

ConeDir: If ~= Vector.Zero, searches for targets in a cone pointing in this direction

ConeAngle: If ConeDir ~= Vector.Zero, sets the half angle of the search cone in degrees (45 results in a search angle of 90 degrees)


Play·Charge·Anim ()⚓︎

void PlayChargeAnim ( Direction Dir )⚓︎


Play·Float·Anim ()⚓︎

void PlayFloatAnim ( Direction Dir )⚓︎


Play·Shoot·Anim ()⚓︎

void PlayShootAnim ( Direction Dir )⚓︎


Recalculate·Orbit·Offset ()⚓︎

int RecalculateOrbitOffset ( int Layer, boolean Add )⚓︎

Returns the number of familiars in that layer.


Remove·From·Delayed ()⚓︎

void RemoveFromDelayed ( )⚓︎


Remove·From·Followers ()⚓︎

void RemoveFromFollowers ( )⚓︎


Remove·From·Orbit ()⚓︎

void RemoveFromOrbit ( )⚓︎


Shoot ()⚓︎

void Shoot ( )⚓︎

Bugs

This function does not seem to work.


Variables⚓︎

Coins⚓︎

int Coins⚓︎


Fire·Cooldown⚓︎

int FireCooldown⚓︎


Head·Frame·Delay⚓︎

int HeadFrameDelay⚓︎


Hearts⚓︎

int Hearts⚓︎


Is·Delayed⚓︎

boolean IsDelayed⚓︎


Is·Follower⚓︎

boolean IsFollower⚓︎


Keys⚓︎

int Keys⚓︎


Last·Direction⚓︎

Direction LastDirection⚓︎


Move·Direction⚓︎

Direction MoveDirection⚓︎


Orbit·Angle·Offset⚓︎

float OrbitAngleOffset⚓︎

Can be used to override the angular position of the familiar on its orbit based on the initial starting position of the orbit.

Example Code

This code will make all of your orbitals move as a tight wall around you.

1
2
3
4
5
for i,v in ipairs(Isaac.GetRoomEntities()) do
    if v.Type==3 then
        v:ToFamiliar().OrbitAngleOffset = 0.25*i
    end
end

Result: angle offset


Orbit·Distance⚓︎

Vector OrbitDistance⚓︎

Defines the orbit of the familiar, if its an orbital. The Vector is interpreted as the dimensions of the circle/oval orbit. Example: Vector(110,90) is the orbital of "Forever alone".


Orbit·Layer⚓︎

int OrbitLayer⚓︎

This value is -1 by default, and changes to whichever value is defined by EntityFamiliar:AddToOrbit().


Orbit·Speed⚓︎

float OrbitSpeed⚓︎


Player⚓︎

EntityPlayer Player⚓︎


Room·Clear·Count⚓︎

int RoomClearCount⚓︎


Shoot·Direction⚓︎

Direction ShootDirection⚓︎


State⚓︎

int State⚓︎



Last update: April 26, 2024