BeamEmitter

From Cosmoteer Wiki
< Modding‎ | ComponentsModding/Components/BeamEmitter
Jump to navigation Jump to search
Code location (what's this?): Cosmoteer.Ships.Parts.Weapons.BeamEmitter

A weapon emitter that emits a straight beam.

This component creates a hitscan (no projectile, hits instantly & can't be dodged) straight beam.

Inherits from Emitter.

Used by all beam weapons and equipment, e.g. ion_beam or resource_collector, but also all hitscan weapons like chaingun and flak.

Parameters (Complete list)
Name Type Required? Buffable? Default value Description
Range Float Yes Yes - How far it goes.
StretchRange Float? - Yes -
IdealRange Range<Float>? - Yes - Distance the AI will try to use it from.
IdealRadius Range<Float> - Yes - Influences IdealRange based on the target's radius.
ClipRangeToTarget bool - - - Effect unknown.

Only collector_beam and flak_large have "true".

RandomOffsetRadius Range<Float>? - Yes -
Width Float - - - How wide it is. The effect itself, not the visuals.
ShieldCollisions

(ReadContentOnly)

EffectFilter - - new EffectFilter(EffectFilter.Defaults.Enemy)

   {

     TargetedFriendlies = new bool?(true),

     Self = new bool?(false)

   }

CrewCollisions

(ReadContentOnly)

EffectFilter - - new EffectFilter(EffectFilter.Defaults.CollisionsOff) ion_beam has {Enemies=true; Junk=true} .
FriendlyShipLowCollisions

alias

SourceShipLowCollisions

bool - - true Presumably allows the beam to ignore and go over parts from its own ship and friendlies, but not tall parts.

Useful for roof-mounted equipment. tractor_beam_emitter, bullet_deck (not a beam, I know), collector_beam, and mining_beam have "false".

FriendlyShipHighCollisions

alias

SourceShipHighCollisions

bool - - true Apparently allows the beam to ignore and go over tall parts from its own ship and friendlies.

Useful for roof-mounted equipment. Only collector_beam has "false".

NonFriendlyShipLowCollisions bool - - true May be used to have a beam act like enemies aren't even there.

tractor_beam_emitter, bullet_deck (not a beam, I know), collector_beam, and mining_beam have "false".

NonFriendlyShipHighCollisions bool - - true May be used to have a beam act like enemies aren't even there.

Only collector_beam has "false".

PenetratesStructure bool - - true Only mining_beam_small and tractor_beam have "false".
HitOperational HitRules? - - - What happens when "operational" things are hit.

Is that parts that use power, or just parts that have active components? Please edit if you know.

HitShield HitRules? - - - What happens when shield arcs are hit.
HitStructural HitRules? - - - What happens when (presumably) structures are hit.

It could mean any non-"operational" parts. Often = &HitOperational in the base game.

HitCrew HitRules? - - - What happens when crew is hit.

Always = &HitOperational in the base game.

HitNothing HitRules? - - - What happens when nothing that can be hit is encountered, and max range is reached.
Duration Time - Yes -
HitInterval Time - Yes - How often the beam hits and consumes power.

You shouldn't modify this, but if you do, exercise caution because it can lead to strange results, especially with prisms.

KeepLengthWhenHitNothing bool - - -
ResourceUsageScaleOverRange Range<float> - - 1
HitEffectsScaleOverRange Range<float> - - 1
ValueOverRange Range<float> - - 1
MediaEffectsScaleOverRange Range<float> - - 1
ResourceUsageScaleOverRampUp Range<float> - - Range<float>(0.0f, 1f)
HitEffectsScaleOverRampUp Range<float> - - Range<float>(0.0f, 1f)
ValueOverRampUp Range<float> - - Range<float>(0.0f, 1f)
MediaEffectsScaleOverRampUp Range<float> - - Range<float>(0.0f, 1f)
InvertRangeScaling bool - - -
EffectsScaleFactor ID<PartComponentRules>? - - -
ValueScaleFactor ID<PartComponentRules>? - - -
UpdateScaleFactorsPerEmit bool - - -
RampUpTime Time - Yes -
RequireHitForRampUp bool - - -
InitHitLengthResetDelay Time - - -
BeamMediaEffects MultiMediaEffectRules? - - -
BeamMediaEffectsOffset Vector2 - - -
BeamMediaEffectsLengthOffset float - - -
Spread Angle - Yes -

Notes

  • BeamEmitter has many fields, because it also has fields (like Range) that normally belong to the projectile a weapon would shoot, but there is no real projectile for it.
  • It's impossible to have beams pierce any parts. They can be made to pass below enemy ships entirely, but that's not very useful.
  • Likewise, beams can't hit crew through parts.[1]

Example mods

Nothing yet.