The projectile table contains bindings specific to projectiles which are available in addition to their common tables. --- #### `Json` projectile.getParameter(`String` parameter, `Json` default) Returns the value for the specified config parameter. If there is no value set, returns the default. --- #### `void` projectile.die() Destroys the projectile. --- #### `EntityId` projectile.sourceEntity() Returns the entity id of the projectile's source entity, or `nil` if no source entity is set. --- #### `float` projectile.powerMultiplier() Returns the projectile's power multiplier. --- #### `float` projectile.power() Returns the projectile's power (damage). --- #### `void` projectile.setPower(`float` power) Sets the projectile's power (damage). --- #### `float` projectile.timeToLive() Returns the projectile's current remaining time to live. --- #### `void` projectile.setTimeToLive(`float` timeToLive) Sets the projectile's current remaining time to live. Altering the time to live may cause visual disparity between the projectile's master and slave entities. --- #### `bool` projectile.collision() Returns `true` if the projectile has collided and `false` otherwise. --- #### `void` projectile.processAction(`Json` action) Immediately performs the specified action. Action should be specified in a format identical to a single entry in e.g. actionOnReap in the projectile's configuration. This function will not properly perform rendering actions as they will not be networked. --- #### 'void' projectile.setReferenceVelocity(Maybe<`Vec2F`> velocity) Sets the projectile's reference velocity (a base velocity to which movement is relative)