Binding of Isaac - Afterbirth+ Lua Reference/Guide
ProjectileParams Class Reference

Public Member Functions

 ProjectileParams (void)
 

Public Attributes

boolean GridCollision
 
float HeightModifier
 
float FallingSpeedModifier
 
float FallingAccelModifier
 
float VelocityMulti
 
float Scale
 
float CircleAngle
 Angle offset used by fire_projectiles PROJECTILES_CIRCLE type emitter. Random by default. More...
 
float HomingStrength
 Multiplier on normal homing strength. Unused if SMART bullet flag is not set. More...
 
float CurvingStrength
 Use very small values for curving like 0.005. More...
 
float Acceleration
 
float Spread
 For quad/quint/etc spread shots. More...
 
Color Color
 
integer BulletFlags
 
Vector PositionOffset
 
Vector TargetPosition
 
Vector FireDirectionLimit
 
float DotProductLimit
 
integer WiggleFrameOffset
 Used to offset the wiggle wave. More...
 
integer ChangeFlags
 
float ChangeVelocity
 
integer ChangeTimeout
 
float DepthOffset
 
integer Variant
 

Constructor & Destructor Documentation

◆ ProjectileParams()

ProjectileParams::ProjectileParams ( void  )

Member Data Documentation

◆ Acceleration

float ProjectileParams::Acceleration

◆ BulletFlags

integer ProjectileParams::BulletFlags

◆ ChangeFlags

integer ProjectileParams::ChangeFlags

Uses ProjectileFlags to define the projectile attributes after the "Changed" state was activated.

The ProjectileFlag CHANGE_FLAGS_AFTER_TIMEOUT needs to be set to allow for this change to apply!


Informations about "Changed" State:
Projectiles can have two states: normal (default) and changed.
Changed state activates when projectile's frame count reaches the value set in ChangeTimeout. After that its flags get changed to what was set in ChangeFlags and velocity will be resized to length set in ChangeVelocity.


Also used in: EntityProjectile()

◆ ChangeTimeout

integer ProjectileParams::ChangeTimeout

Number of frames that need to elapse after spawn till the "Changed" state is activated.

The ProjectileFlags CHANGE_FLAGS_AFTER_TIMEOUT or CHANGE_VELOCITY_AFTER_TIMEOUT need to be set to allow for this change to apply!


Informations about "Changed" State:
Projectiles can have two states: normal (default) and changed.
Changed state activates when projectile's frame count reaches the value set in ChangeTimeout. After that its flags get changed to what was set in ChangeFlags and velocity will be resized to length set in ChangeVelocity.


Also used in: EntityProjectile()

◆ ChangeVelocity

float ProjectileParams::ChangeVelocity

Velocity value that gets applied when the "Changed" state is activated.

The ProjectileFlag CHANGE_VELOCITY_AFTER_TIMEOUT need to be set to allow for this change to apply!


Informations about "Changed" State:
Projectiles can have two states: normal (default) and changed.
Changed state activates when projectile's frame count reaches the value set in ChangeTimeout. After that its flags get changed to what was set in ChangeFlags and velocity will be resized to length set in ChangeVelocity.


Also used in: EntityProjectile()

◆ CircleAngle

float ProjectileParams::CircleAngle

Angle offset used by fire_projectiles PROJECTILES_CIRCLE type emitter. Random by default.

◆ CurvingStrength

float ProjectileParams::CurvingStrength

Use very small values for curving like 0.005.

◆ DepthOffset

float ProjectileParams::DepthOffset

◆ DotProductLimit

float ProjectileParams::DotProductLimit

Direction bullets are being fired in Dot product of FireDirectionLimit, bullet direction must be >= this value

◆ FallingAccelModifier

float ProjectileParams::FallingAccelModifier

◆ FallingSpeedModifier

float ProjectileParams::FallingSpeedModifier

◆ FireDirectionLimit

Vector ProjectileParams::FireDirectionLimit

◆ GridCollision

boolean ProjectileParams::GridCollision

◆ HeightModifier

float ProjectileParams::HeightModifier

◆ HomingStrength

float ProjectileParams::HomingStrength

Multiplier on normal homing strength. Unused if SMART bullet flag is not set.

◆ Color

Color ProjectileParams::Color

◆ PositionOffset

Vector ProjectileParams::PositionOffset

◆ Scale

float ProjectileParams::Scale

◆ Spread

float ProjectileParams::Spread

For quad/quint/etc spread shots.

◆ TargetPosition

Vector ProjectileParams::TargetPosition

◆ Variant

integer ProjectileParams::Variant

◆ VelocityMulti

float ProjectileParams::VelocityMulti

◆ WiggleFrameOffset

integer ProjectileParams::WiggleFrameOffset

Used to offset the wiggle wave.