Projectile (modding)
< Modding
Modding/Projectile
Projectiles are separate from parts in the code as well. They have their own components and possible behaviors. Part components won't work on them.
They are all referred to as "bullet" in the source code.
In fact they are defined by the Bullet
class :
Encapsulates a single bullet in the scene and all the components contained therein.
Below are the fields for their .rules
files. E.g. ion_beam.rules
or pd_shot.rules
.
List of Data Fields
Name | Type | Required | Buffable? | Description |
---|---|---|---|---|
ID |
Cosmoteer.Data.ID<BulletRules>
meaning : string |
Yes | No | Identifier that must be unique across the game. |
OtherIDs |
Cosmoteer.Data.ID<BulletRules>[]?
meaning : array of strings |
No | No | Legacy identifiers. You shouldn't need or use this. |
Range |
float | Yes | Yes | How far the target can be when the projectile is shot at it. |
IdealRange |
float
Or : [float, float] |
No | Yes | The game's AI will try to use that weapon from that range. Usually shorter than Range , to prevent the weapon from becoming out of range if the target moves backwards even a little. This can be a range of values (see Type column), not sure why.
Used by Ions. |
IdealRadius |
float
Or : [float, float] |
No | Yes | ?? |
Speed |
float | Yes | Yes | How fast the projectile moves forward when spawned. Acceleration components can completely alter the trajectory. |
ReceivableBuffIDsalias ReceivableBuffs |
HashSet<string>?
meaning : array of strings |
No | - | List of buffs this projectile can receive. |
ForgetTarget |
bool | No | No | ?? |
RandomRotation |
bool | No | No | Presumably whether or not the projectile is spawned looking in a random direction. |
Notes
FactorEffectsWith = Targetable
means "shrink with hp".