Skip to content

Electronic Warfare System

BDCarrillo edited this page Dec 16, 2022 · 21 revisions

Electronic Warfare System

IF ANY EWAR SETTING IS USED, BASE OR AOE DAMAGE WILL NOT BE APPLIED!

Ewar = new EwarDef
            {
                Enable = false, // Enables EWAR effects AND DISABLES BASE DAMAGE AND AOE DAMAGE!!
                Type = EnergySink, // EnergySink, Emp, Offense, Nav, Dot, AntiSmart, JumpNull, Anchor, Tractor, Pull, Push, 
                Mode = Effect, // Effect , Field
                Strength = 100f,
                Radius = 5f, // Meters
                Duration = 100, // In Ticks
                StackDuration = true, // Combined Durations
                Depletable = true,
                MaxStacks = 10, // Max Debuffs at once
                NoHitParticle = false,
                /*
                EnergySink : Targets & Shutdowns Power Supplies, such as Batteries & Reactor
                Emp : Targets & Shutdown any Block capable of being powered
                Offense : Targets & Shutdowns Weaponry
                Nav : Targets & Shutdown Gyros or Locks them down
                Dot : Deals Damage to Blocks in radius
                AntiSmart : Effects & Scrambles the Targeting List of Affected Missiles
                JumpNull : Shutdown & Stops any Active Jumps, or JumpDrive Units in radius
                Tractor : Affects target with Physics
                Pull : Affects target with Physics
                Push : Affects target with Physics
                Anchor : Targets & Shutdowns Thrusters
                
                */
                Force = new PushPullDef
                {
                    ForceFrom = ProjectileLastPosition, // ProjectileLastPosition, ProjectileOrigin, HitPosition, TargetCenter, TargetCenterOfMass
                    ForceTo = HitPosition, // ProjectileLastPosition, ProjectileOrigin, HitPosition, TargetCenter, TargetCenterOfMass
                    Position = TargetCenterOfMass, // ProjectileLastPosition, ProjectileOrigin, HitPosition, TargetCenter, TargetCenterOfMass
                    DisableRelativeMass = false,
                    TractorRange = 0,
                    ShooterFeelsForce = false,
                },
                Field = new FieldDef
                {
                    Interval = 0, // Time between each pulse, in game ticks (60 == 1 second).
                    PulseChance = 0, // Chance from 0 - 100 that an entity in the field will be hit by any given pulse.
                    GrowTime = 0, // How many ticks it should take the field to grow to full size.
                    HideModel = false, // Hide the default bubble, or other model if specified.
                    ShowParticle = true, // Show Block damage effect.
                    TriggerRange = 250f, //range at which fields are triggered
                    Particle = new ParticleDef // Particle effect to generate at the field's position.
                    {
                        Name = "", // SubtypeId of field particle effect.
                        Extras = new ParticleOptionDef
                        {
                            Scale = 1, // Scale of effect.
                        },
                    },
                },
            },

Types

Block Shutdown

  • EnergySink - targets batteries and reactors
  • Emp - targets any block capable of being powered
  • Offense - target weapons
  • Nav - targets gyros
  • Anchor - targets thrusters

Specialized

  • Dot - raw damage over time
  • AntiSmart - projectiles using Smart guidance will target the projectile that's using EMP
  • JumpNull - stop any active jumps or shutdown jumpdrives

Physics Effects (Uses Force = new PushPullDef values)

  • Tractor - pins target in place by applying forces
  • Pull - pulls target by applying forces
  • Push - pushes target by applying forces

Mode

  • Effect - Effects apply energy (from "strength") to their point of impact and grows as more hits come in. It would find the closest target block type to the point of impact and begin applying EWAR type up to the block integrity * max stacks. The effect would move to the next closest target block type until all are affected by EWAR type or the projectile runs out of energy. Normally effects are used for higher fire rate weapons/beams, to generate a cumulative EWAR type.

  • Field - Applies EWAR type to all blocks within a bubble. Field bubbles can grow in size over time to the specified radius. Additionally, fields reapply their EWAR type in pulses at a set rate, for a set maximum time.

EWAR & Shield Interactions (verify)

EMP & DOT EWAR Field Effects, require the target Shields to be offline, to begin effecting the target grid.

All Other EWAR Effects, ignore shielding, and begin affecting the target grid through shields.

An Exception, is EWAR Beams, which bypass shields regardless of type.


EWAR Resistance Value

Every Functional Block has an EWAR Resistance value, that is generated from the Block's real HP.

This Resistance, is a fake HP, that is 'damaged' by most EWAR Fields, and until depleted, prevents those Fields from creating their Debuffs on themselves.

Strength Values, are the direct numbers, that deplete this resistance per successful pulse (Pulse Chance can allow misses)

As Resistance is generated from Block HP, this will be variable between Blocks, and will be in the hundreds.

  • Damage , for reference; 100 HP per Steel Plate, a Light Armor block is 25 steel Plates, for 2.5k HP, 100 Damage is required to destroy 1 Steel Plate.
  • Damage is Per pulse Trigger, when used for DOT, a quick pulse, at 100 damage is 100(x)PulseRate, check your Math to ensure you don't over-do it.

EWAR Duration \ Debuff Timers

When an EWAR has depleted Resistance on a Block, this section (EWARFields), comes into play, it controls how long after the last incoming source of EWAR, that the effect lingers, hence "Debuff".

  •                 Duration = 0, // Duration in Ticks (60 per Second) , per Stack of Debuff.
    
  •                 StackDuration = false, // if each Pulse, stacks their Debuff, combining duration.
    
  •                 Depletable = false, // If Stacks deplete
    
  •                 MaxStacks = 0, // Max Number of Stacking Effects
    
  •                 TriggerRange = 0f, // Trigger Range of AOE Pulse
    

If the duration Stacks, each Source (Of the same type, not same weapon), will combine their respectful durations together , which if Depletable is false, will combine their effects as well; If you slam them for 3 stacks, it will do 3x the effects for 3x the duration.

Max Stacks, controls how many of these Debuffs can merge, or exist on the target; If they don't stack duration, and they do Deplete, this will cause a stack of debuffs, that weakens over time.

In the inverse case, it will be growing Debuff, that grows in strength, and will remain at that strength until the full combined duration ends.

If you have StackDuration set to True, ensure to account for your Max Stack value.

Clone this wiki locally