Commit Graph

54 Commits

Author SHA1 Message Date
reaperrr
41dd7ca428 Fix NukeLaunch being displayed too early
Adding it to ScreenMap from the ctor unconditionally didn't mesh well with potentially being added to world with a delay.
2017-12-22 04:17:18 +02:00
Paul Chote
b898b5001a Rename AttackBase.IsAttacking to IsAiming to make its uses and assumptions clear. 2017-11-26 15:58:00 +01:00
reaperrr
be370cb855 Spatially partition NukeLaunch effect 2017-09-17 12:52:04 +01:00
Forcecore
0573f52a37 Add Railgun projectile 2017-07-21 23:18:38 +01:00
reaperrr
7e8f920bc1 Allow disabling terrain height checks in Missile
This saves a good deal of performance for mods with no real height levels, including RA, TD and D2k.
2017-07-15 17:36:20 +02:00
reaperrr
1d2361cdd3 Change default and auto-calc of victim scans to -1
For all projectiles and warheads.

Not really a must for everything else, but for CreateEffectWarhead, the
ImpactTypes refactor (separate PR) makes it a bit harder to make the
warhead valid in every situation, so setting the victim scan to zero is the easiest way to disable scanning for actors completely.
2017-06-25 22:40:12 +02:00
reaperrr
ca475fe133 Projectile style fixes 2017-06-25 22:40:12 +02:00
reaperrr
edffaa4987 Introduce Weapon.TargetActorCenter and adapt projectiles
This also fixes issues with attackers that don't have their own Attack
trait.
2017-06-24 11:24:17 +01:00
reaperrr
7eab278711 Adapt tracking projectiles to support targeting CenterPosition
Instead of closest targetable position.
2017-06-15 01:32:37 +02:00
reaperrr
7acc6dacbc Fix armaments/projectiles to aim at closest Target.Positions
Instead of CenterPosition.
TargetablePositions were already used for targeting/attack decisions, but not armaments/projectiles.
2017-06-05 14:22:47 +02:00
reaperrr
43b55ae333 Move Shape from Health to new HitShape trait
Renamed Shape to Type
2017-06-04 00:07:08 +02:00
reaperrr
033268a7ba Make projectiles use most sensible blocker scan radius
By default, but allow custom overrides.
2017-05-13 11:15:38 -07:00
abcdefg30
e37667efb6 Merge pull request #12606 from reaperrr/forward-bombs2
Add forward movement support to GravityBomb
2017-04-11 13:07:15 +02:00
reaperrr
edc1753e22 Update GravityBomb velocity after position
Otherwise launch velocity would already be Velocity + Acceleration.
2017-03-29 19:30:55 +02:00
reaperrr
5b617cf6e5 Refactor GravityBomb velocity/acceleration 2017-03-29 19:30:51 +02:00
Zimmermann Gyula
902d2a0016 Implement airburst support to Bullet. 2017-03-18 15:05:06 +01:00
reaperrr
e2b0c5bce4 Return empty Enumerable immediately in InstantHit
...rather than allocating a compiler generated enumerable via 'yield'.
2017-01-30 21:22:12 +01:00
reaperrr
090c015b27 Pass InstantHit target directly if inaccuracy is zero
This is required to make the TargetDamage warhead deal damage only to a specific target.
2017-01-30 21:22:04 +01:00
reaperrr
2f0b1a16d0 Upgrade Bullet bounce logic with target checking 2017-01-20 00:55:00 +01:00
reaperrr
bf47affd2e Add bounce logic to Bullet
Allows Bullet projectiles to bounce off ground.
2017-01-20 00:54:59 +01:00
reaperrr
adfe78fca5 Add simple, invisible instant-hit projectile
For melee attacks, machine guns and so on.
2017-01-07 15:12:16 +01:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
Oliver Brakmann
189c25431b Merge pull request #12158 from reaperrr/areabeam-tracking
Add AreaBeam target tracking
2016-12-23 14:44:11 +01:00
Paul Chote
9ddfdc45b3 Introduce SoundType enum. 2016-12-23 11:34:23 +00:00
reaperrr
9abfce97fa Rename LaserZap.TracksTarget to TrackTarget
And fix engineVersion of older Duration upgrade rule.
2016-12-17 15:28:28 +01:00
reaperrr
046f857409 Add target tracking support to AreaBeam
Closes #10181.
2016-12-17 15:28:25 +01:00
Zimmermann Gyula
51db12467d Allow the missile to snap at the target at reach. 2016-11-28 17:14:30 +01:00
reaperrr
f6388c198d Sync less bullet aspects
`length` is calculated from `pos` and `target` which are both synced.
`SourceActor`, `ticks` and `smokeTicks` work no different from `Missile`, where they're not synced, either.
2016-10-22 18:00:38 +02:00
reaperrr
20cd2aa4ab Rename Bullet Angle to LaunchAngle 2016-10-22 17:57:32 +02:00
reaperrr
8ba9afdb16 Cache Missile LaunchAngles in constructor
To have one central place for the info look-ups. Makes it a little easier to rename the properties or merge them into a single Angle[] property.
2016-10-22 17:57:32 +02:00
reaperrr
0b7fdc411b Cache Missile speed infos in constructor
The primary reason is to have one central location for the look-ups, so we'll only have to change up to 3 lines if we rename or merge the speed properties.
2016-10-22 17:57:32 +02:00
Oliver Brakmann
d0493bb10c Merge pull request #12068 from reaperrr/laser-features1
Add several features to LaserZap
2016-10-09 15:24:55 +02:00
reaperrr
e69ad1cb2d Add support for being blockable to LaserZap 2016-10-09 15:04:45 +02:00
reaperrr
2a00a606d2 Add support for inaccuracy to LaserZap 2016-10-09 15:04:43 +02:00
reaperrr
38b10511c3 Allow disabling target-tracking of lasers
This is necessary for features like inaccuracy.
2016-10-09 15:04:41 +02:00
reaperrr
6b3c3cd127 Add SecondaryBeam to LaserZap for TS-like laser glow effect 2016-10-09 15:04:38 +02:00
reaperrr
a98818ef47 Rename LaserZap.BeamDuration to Duration 2016-10-09 15:04:36 +02:00
reaperrr
d080770828 Fix LaserZap not being removed if HitAnim is not defined
This avoids degrading performance over time as well as an (albeit unlikely) OutOfMemoryException.
2016-09-26 01:36:02 +02:00
reaperrr
5463176fa3 Adapt LaserZap Color description and Args structure
To match AreaBeam.
2016-09-20 17:25:28 +02:00
reaperrr
b7f35cb5e2 Merge pull request #11912 from Mailaender/laser-transparency
Fixed transparency for LaserZap
2016-09-08 19:14:37 +02:00
abc013
464eae8bc4 Fixed enemy missiles not being deflected by Radar Jammers 2016-09-05 19:52:13 +02:00
Matthias Mailänder
fc7e149401 The color definition changed to hex notation. 2016-08-28 12:23:40 +02:00
Matthias Mailänder
e4491a7957 Remove hard-coded LaserZap transparency. 2016-08-28 12:22:45 +02:00
abc013
c2f21a21ef Replaced the AlliedMissiles boolean on JamsMissiles by a Stances field (DeflectionStances). 2016-08-27 22:09:12 +02:00
Matthias Mailänder
fa864f55bf Move IonCannon and NukeLaunch into Projectiles folders. 2016-06-13 14:35:32 +02:00
Matthias Mailänder
71743b3b4a Only sync projectiles and future synced effects. 2016-06-13 14:35:28 +02:00
reaperrr
2e94a23d9e Make LaserZap classes public 2016-05-31 15:05:36 +02:00
reaperrr
af8e81a99d Add random Sequences support to GravityBomb 2016-05-31 15:05:35 +02:00
reaperrr
a320ca89a6 Rename GravityBomb Velocity to Speed
Mostly to make switching between projectiles a little easier for modders, and to potentially save some upgrade rule overhead if sprite projectiles are refactored to share a common code base.
2016-05-31 15:05:33 +02:00
reaperrr
386b142913 Add random sequences support to Missile 2016-05-31 15:05:30 +02:00