Class "EntityLaser"⚓︎
Info
You can get this class by using the following function:
- Entity.ToLaser()
- EntityPlayer.FireBrimstone()
- EntityPlayer.FireDelayedBrimstone()
- EntityPlayer.FireTechLaser()
- EntityPlayer.FireTechXLaser()
Example Code
local brimstoneEntity = Isaac.GetPlayer():FireBrimstone(Vector(1, 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·Tear·Flags ()⚓︎
void AddTearFlags ( TearFlags Flags )⚓︎
Calculate·End·Point ()⚓︎
static Vector CalculateEndPoint ( Vector Start, Vector Dir, Vector PositionOffset, Entity Parent, float Margin )⚓︎
Clear·Tear·Flags ()⚓︎
void ClearTearFlags ( TearFlags Flags )⚓︎
Get·End·Point ()⚓︎
const Vector GetEndPoint ( )⚓︎
Get·Non·Optimized·Samples ()⚓︎
const VectorList GetNonOptimizedSamples ( )⚓︎
Returns a VectorList representing the path of the laser. Seems to typically return 51 evenly-spaced points along the laser's path, as opposed to GetSamples()
which only returns the minimum needed points to represent the path of the laser.
Example Usage
1 2 3 4 5 6 |
|
Get·Render·Z ()⚓︎
int GetRenderZ ( )⚓︎
Get·Samples ()⚓︎
const VectorList GetSamples ( )⚓︎
Returns a VectorList representing the path of the laser. Unlike GetNonOptimizedSamples()
, this function returns as few points as possible, while still correctly representing the path of the laser.
For example, for a completely straight laser, GetNonOptimizedSamples()
will still return 51 points as always, but this function only only return 2.
Example Usage
1 2 3 4 5 6 |
|
Has·Tear·Flags ()⚓︎
boolean HasTearFlags ( TearFlags Flags )⚓︎
Is·Circle·Laser ()⚓︎
boolean IsCircleLaser ( )⚓︎
Note
This function cannot differentiate between different types of Circle Laser, however these may be identified by their SubType:
- 0 - Linear Laser (Typical laser with a start and end point)
- 1 - Ring Ludovico (Controlled laser ring for Ludo synergies)
- 2 - Ring Projectile (Tech X)
- 3 - Ring Follow Parent (Maw of the Void)
- 4 - No Impact (No impact splash, e.g. Tech Zero)
Is·Sample·Laser ()⚓︎
boolean IsSampleLaser ( )⚓︎
Set·Active·Rotation ()⚓︎
void SetActiveRotation ( int Delay, float AngleDegrees, float RotationSpd, boolean TimeoutComplete )⚓︎
Set·Black·Hp·Drop·Chance ()⚓︎
void SetBlackHpDropChance ( float Chance )⚓︎
Set·Homing·Type ()⚓︎
void SetHomingType ( LaserHomingType Type )⚓︎
Set·Max·Distance ()⚓︎
void SetMaxDistance ( float Distance )⚓︎
Set·Multidimensional·Touched ()⚓︎
void SetMultidimensionalTouched ( boolean Value )⚓︎
Set·One·Hit ()⚓︎
void SetOneHit ( boolean Value )⚓︎
Set·Timeout ()⚓︎
void SetTimeout ( int Value )⚓︎
Shoot·Angle ()⚓︎
static EntityLaser ShootAngle ( int Variant, Vector SourcePos, float AngleDegrees, int Timeout, Vector PosOffset, Entity Source )⚓︎
static helper to simplify spawning lasers
Variables⚓︎
Angle⚓︎
float Angle⚓︎
Angle·Degrees⚓︎
float AngleDegrees⚓︎
Black·Hp·Drop·Chance⚓︎
float BlackHpDropChance⚓︎
For maw of void.
Bounce·Laser⚓︎
Entity BounceLaser⚓︎
Curve·Strength⚓︎
float CurveStrength⚓︎
My Reflection.
Disable·Follow·Parent⚓︎
boolean DisableFollowParent⚓︎
Set on children of other lasers, for instance Rubber Cement reflections. Disables m_ParentOffset.
End·Point⚓︎
Vector EndPoint⚓︎
Will hold the endpoint so it will not need to be recalculated when accessed from extern.
First·Update⚓︎
boolean FirstUpdate⚓︎
Grid·Hit⚓︎
boolean GridHit⚓︎
true if laser can be clipped by grid entities and it was clipped at that frame.
Homing·Laser⚓︎
HomingLaser HomingLaser⚓︎
Homing·Type⚓︎
LaserHomingType HomingType⚓︎
Is·Active·Rotating⚓︎
boolean IsActiveRotating⚓︎
Laser·Length⚓︎
float LaserLength⚓︎
Last·Angle·Degrees⚓︎
float LastAngleDegrees⚓︎
Max·Distance⚓︎
float MaxDistance⚓︎
Used to trim brimstone for Azazel (0 - off)
One·Hit⚓︎
boolean OneHit⚓︎
Laser hits only once.
Parent·Offset⚓︎
Vector ParentOffset⚓︎
Radius⚓︎
float Radius⚓︎
Rotation·Degrees⚓︎
float RotationDegrees⚓︎
Rotation·Delay⚓︎
int RotationDelay⚓︎
Rotation·Spd⚓︎
float RotationSpd⚓︎
Sample·Laser⚓︎
boolean SampleLaser⚓︎
Shrink⚓︎
boolean Shrink⚓︎
Start·Angle·Degrees⚓︎
float StartAngleDegrees⚓︎
Some lasers have a bit of random variation in rotation so they need to remember their starting point.