> For the complete documentation index, see [llms.txt](https://docs.moddingofisaac.com/ab_p/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.moddingofisaac.com/ab_p/beta/docs/entitylaser.md).

# Class "EntityLaser"

## Functions

### CalculateEndPoint () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .static .tooltip .badge } [ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### static [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) CalculateEndPoint ( [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) Start, [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) Dir, [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) PositionOffset, [Entity](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Entity/README.md) Parent, float Margin ) {: .copyable aria-label='Functions' }

### GetEndPoint () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) GetEndPoint ( ) {: .copyable aria-label='Functions' }

### GetNonOptimizedSamples () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### HomingLaser::SampleList GetNonOptimizedSamples ( ) {: .copyable aria-label='Functions' }

### GetRenderZ () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### int GetRenderZ ( ) {: .copyable aria-label='Functions' }

### GetSamples () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### HomingLaser::SampleList GetSamples ( ) {: .copyable aria-label='Functions' }

### IsCircleLaser () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean IsCircleLaser ( ) {: .copyable aria-label='Functions' }

### IsSampleLaser () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean IsSampleLaser ( ) {: .copyable aria-label='Functions' }

### SetActiveRotation () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetActiveRotation ( int Delay, float AngleDegrees, float RotationSpd, boolean TimeoutComplete ) {: .copyable aria-label='Functions' }

### SetBlackHpDropChance () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetBlackHpDropChance ( float Chance ) {: .copyable aria-label='Functions' }

### SetHomingType () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetHomingType ( LaserHomingType Type ) {: .copyable aria-label='Functions' }

### SetMaxDistance () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetMaxDistance ( float Distance ) {: .copyable aria-label='Functions' }

### SetMultidimensionalTouched () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetMultidimensionalTouched ( boolean Value ) {: .copyable aria-label='Functions' }

### SetOneHit () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetOneHit ( boolean Value ) {: .copyable aria-label='Functions' }

### SetTimeout () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### void SetTimeout ( int Value ) {: .copyable aria-label='Functions' }

### ShootAngle () {: aria-label='Functions' }

[ ](/ab_p/beta/docs/entitylaser.md){: .static .tooltip .badge } [ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### static [EntityLaser](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/EntityLaser/README.md) ShootAngle ( int Variant, [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) SourcePos, float AngleDegrees, int Timeout, [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) PosOffset, [Entity](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Entity/README.md) Source ) {: .copyable aria-label='Functions' }

static helper to simplify spawning lasers

## Variables

### Angle {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float Angle  {: .copyable aria-label='Variables' }

### AngleDegrees {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float AngleDegrees  {: .copyable aria-label='Variables' }

### BlackHpDropChance {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float BlackHpDropChance  {: .copyable aria-label='Variables' }

For maw of void.

### BounceLaser {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### [Entity](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Entity/README.md) BounceLaser  {: .copyable aria-label='Variables' }

### CurveStrength {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float CurveStrength  {: .copyable aria-label='Variables' }

My Reflection.

### DisableFollowParent {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean DisableFollowParent  {: .copyable aria-label='Variables' }

Set on children of other lasers, for instance Rubber Cement reflections. Disables m\_ParentOffset.

### EndPoint {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) EndPoint  {: .copyable aria-label='Variables' }

Will hold the endpoint so it will not need to be recalculated when accessed from extern.

### FirstUpdate {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean FirstUpdate  {: .copyable aria-label='Variables' }

### GridHit {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean GridHit  {: .copyable aria-label='Variables' }

true if laser can be clipped by grid entities and it was clipped at that frame.

### HomingLaser {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### HomingLaser HomingLaser  {: .copyable aria-label='Variables' }

### HomingType {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### LaserHomingType HomingType  {: .copyable aria-label='Variables' }

### IsActiveRotating {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean IsActiveRotating  {: .copyable aria-label='Variables' }

### LaserLength {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float LaserLength  {: .copyable aria-label='Variables' }

### LastAngleDegrees {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float LastAngleDegrees  {: .copyable aria-label='Variables' }

### MaxDistance {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float MaxDistance  {: .copyable aria-label='Variables' }

Used to trim brimstone for Azazel (0 - off)

### OneHit {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean OneHit  {: .copyable aria-label='Variables' }

Laser hits only once.

### ParentOffset {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### [Vector](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/Vector/README.md) ParentOffset  {: .copyable aria-label='Variables' }

### Radius {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float Radius  {: .copyable aria-label='Variables' }

### RotationDegrees {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float RotationDegrees  {: .copyable aria-label='Variables' }

### RotationDelay {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### int RotationDelay  {: .copyable aria-label='Variables' }

### RotationSpd {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float RotationSpd  {: .copyable aria-label='Variables' }

### SampleLaser {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean SampleLaser  {: .copyable aria-label='Variables' }

### Shrink {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### boolean Shrink  {: .copyable aria-label='Variables' }

### StartAngleDegrees {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### float StartAngleDegrees  {: .copyable aria-label='Variables' }

Some lasers have a bit of random variation in rotation so they need to remember their starting point.

### [TearFlags](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/enums/TearFlags/README.md) {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### int [TearFlags](https://github.com/wofsauge/IsaacDocs/tree/420a6aaa54ea230461fb26e61297c068492684de/beta/enums/TearFlags/README.md)  {: .copyable aria-label='Variables' }

float m\_DepthOffset; float GetDepthOffset(void) const { return m\_DepthOffset; } void SetDepthOffset(float Value) { m\_DepthOffset = Value; }

### Timeout {: aria-label='Variables' }

[ ](/ab_p/beta/docs/entitylaser.md){: .abp .tooltip .badge }

#### int Timeout  {: .copyable aria-label='Variables' }
