Skip to content

Energy shield projection logic #119

Description

@ThePredatorBG

The original method to implement energy shields was to have them fire an anti-projectile weapon. AcceptableAimDelta allows to limit shield coverage (2nd image). However, due to lasers/beams being hitscan weapons, they could penetrate the shields.

If the laser weapon logic is kept unchanged, I imagine a possible solution would be to have a condition which checks start and end point of beam, and cancel the damage if it is within shield weapon's radius. Sounds complicated, though.

Maybe a laser beam logic extension or variant that makes them behave like destroyable projectiles. I imagine hitscan being delayed by one frame, which would be used for the shield zap logic where also the beam would visually get cut off at.

I've titled the issue as "Energy shield projection logic" since it may be done as a new energy shield field behavior, taking future changes in account and wrapping them into it.

Here's code reference and images of the shields (sshots are from old versions):

  Behavior = FireWeaponUpdate ModuleTag_23
    Weapon = EnergyShieldWeapon
    ExclusiveWeaponDelay = 0
  End
Weapon EnergyShieldWeapon
  PrimaryDamage = 1
  PrimaryDamageRadius = 174
  SecondaryDamage = 250
  SecondaryDamageRadius = 209
  AttackRange = 200
  DamageType = LASER
  DeathType = LASERED
  RadiusDamageAffects = ENEMIES NEUTRALS
  DelayBetweenShots = 30
  AcceptableAimDelta = 180
End

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions