Commit Graph

199 Commits

Author SHA1 Message Date
Matthias Mailänder
a8a1fafbc9 unhardcode ChronoShift palettes and sequences 2016-01-18 21:31:06 +01:00
Oliver Brakmann
a04223fcd2 Merge pull request #10143 from Phrohdoh/interface-reflection
Implement a utility command to check for explicit interface implementation violations.
2016-01-18 20:23:43 +01:00
Taryn Hill
25eddb9567 Explicitly implement ISelectionBar 2016-01-17 22:33:41 -06:00
RoosterDragon
8e89a6a696 Simplify names, remove unused usings, remove redundant casts. 2016-01-17 21:35:36 +00:00
Oliver Brakmann
aaeb715006 Merge pull request #10246 from penev92/terrainPalettes
Allow tile templates to define their own palette
2016-01-17 21:39:28 +01:00
Pavel Penev
861d1368a4 Unhardcode internal terrain palette name from all over the codebase 2016-01-17 19:02:16 +02:00
RoosterDragon
3c930c3ef9 Introduce FrozenUnderFogUpdatedByGps and IOnGpsRefreshed.
This trait uses the new interface to register with the GpsWatcher to get notified when the GPS state changes. It needs to register as if the actor is destroyed, the GpsWatcher can no longer query actors in the world to get the trait. This is no good as the trait needs to perform actions after the death of its parent actor.

When the GPS is enabled, the trait will track ownership changes and update the frozen actor (just like if there was only a GPS dot, it would change colour) and it will also remove frozen actors if the real actor dies or is sold.
2016-01-17 00:13:06 +00:00
RoosterDragon
a232eff7fd Replace IRemoveFrozenActor with FrozenActorLayer.Remove.
The IRemoveFrozenActor interface is replaced with a Remove method on FrozenActorLayer. IRemoveFrozenActor is a performance problem for FrozenActorLayer.Tick as it incurs a large cache miss penalty in order to load and enumerate the array of these interfaces for every frozen actor. Instead, we invert control and allow traits to remove frozen actors directly which eliminates the performance penalty.
2016-01-17 00:13:06 +00:00
Matthias Mailänder
6900e4bad3 rename DemoTruck to AttackSuicides
generalize move to add Aircraft support
give it a description
don't require Explodes as it is just a soft dependency
use a regular self kill
2016-01-16 19:38:23 +01:00
Paul Chote
1959820bc8 Implement enter behaviour for Infiltrates plus other cleanups. 2015-12-30 19:53:51 +00:00
Oliver Brakmann
3cd708d2bb Merge pull request #10302 from Phrohdoh/attrib-require-traits
Allow ActorReferenceAttribute to list required traits
2015-12-28 14:30:01 +01:00
Taryn Hill
5b5a45b0a4 Place constraints on ActorReferences in ParatroopersPower to improve linting 2015-12-27 11:24:16 -06:00
Paul Chote
ef2f9cbafa Remove "Fake" tag. 2015-12-26 12:38:27 +00:00
atlimit8
b07cd683e8 Easier actor selection in game by actor bounds center 2015-12-23 12:09:08 -06:00
Oliver Brakmann
71478aa2b8 Merge pull request #9734 from RoosterDragon/auto-target-perf
Improve AutoTarget performance
2015-12-20 19:53:17 +01:00
RoosterDragon
dcf375a412 Store Targetables in Actor.
This can be used to avoid several lookups for these traits, as well as allow Actor to provide specialised methods to deal with target types efficiently. This also reduces some code duplication.
2015-12-12 20:55:17 +00:00
RoosterDragon
62a932272c Fix GPS refreshing for incorrect player.
GpsWatcher.RefreshGps was wrongly using the render player in simulation code.
2015-12-12 19:57:08 +00:00
RoosterDragon
bfe1804bf6 Fix some spellings. 2015-11-27 16:19:59 +00:00
abcdefg30
921d3b9278 Fix the description of ReturnToOrigin in Chronoshiftable.cs 2015-11-22 21:52:23 +01:00
Matthias Mailänder
3727fccd1b Merge pull request #9982 from abcdefg30/chronodesc
Unhardcode and document things in Chronoshiftable
2015-11-22 16:05:36 +01:00
Oliver Brakmann
16de21d41c Merge pull request #10018 from pchote/fix-spy-cursor
Restore targeting cursor when mousing over a disguised enemy spy.
2015-11-21 20:57:12 +01:00
Pavel Penev
78e2eabd17 Remove byPlayer parameter from IFogVisibilityModifier.HasFogVisibility() 2015-11-21 01:11:38 +02:00
Pavel Penev
217c3881c6 Add IFogVisibilityModifier.IsVisible(Actor) 2015-11-21 01:11:37 +02:00
abcdefg30
9b2391cf0c Unhardcode and document things in Chronoshiftable 2015-11-18 21:16:57 +01:00
Paul Chote
124c0ea041 Make CanTarget modifiers a ref parameter. 2015-11-16 20:38:53 +00:00
Paul Chote
a9f2fc962e Merge pull request #9984 from cjshmyr/spypowerdrain
Lower Spy's InfiltrateForPowerOutage time from 30->20sec
2015-11-14 19:33:03 +00:00
Curtis Shmyr
bac98acce7 lower InfiltrateForPowerOutage time from 30->20sec 2015-11-14 01:42:13 -07:00
atlimit8
7352290c94 Move SpawnActorOnDeath to OpenRA.Mods.Common & fix spawned death actor teleportation 2015-11-05 00:55:29 -06:00
Oliver Brakmann
177d983728 Merge pull request #9759 from atlimit8/ActorsHavingTrait
Add ActorsHavingTrait<TTrait>()
2015-11-04 22:26:10 +01:00
Oliver Brakmann
17370c9e2e Fix viceroids being spawned by crushed infantry 2015-11-02 21:30:31 +01:00
Oliver Brakmann
88c20a6654 Merge pull request #9414 from atlimit8/TurretFacingsInit
Support loading multiple turret facings
2015-11-01 13:18:17 +01:00
atlimit8
b6f17df260 Add ActorsHavingTrait<TTrait>([Func<TTrait, bool]) 2015-10-28 16:36:45 -05:00
abcdefg30
f6d1e51050 Merge pull request #9708 from r34ch/chronotank-extra-bar
Charge now using ticks and fixed extra bar time formula.
2015-10-23 23:29:20 +02:00
atlimit8
1e890a921f Merge pull request #9709 from reaperrr/unitsat-actorsat
Rename ActorMap *UnitsAt* occurences to *ActorsAt*
2015-10-21 09:56:41 -05:00
DArcy Rush
0111f0d750 Charge now using ticks and fixed extra bar time formula.
ChargeTime has been changed to ChargeDelay and is
measured in ticks rather than seconds.

The formula for working out the extra bar time has
been fixed to work properly at different charge delays.
2015-10-21 12:08:44 +01:00
atlimit8
5f3d735864 Merge pull request #9700 from r34ch/chronotank-extra-bar
Use support power like charge bar for Chronotank instead of pips.
2015-10-21 03:32:59 -05:00
DArcy Rush
ecccc8bc68 Chronotank uses extra bar when charging.
The two blue pips have been replaced by
a magenta charge bar.
2015-10-20 23:14:08 +01:00
reaperrr
2f69711341 Rename ActorMap *UnitsAt* occurences to *ActorsAt*
These enumerate actors in general, not just mobile actors (which the term 'unit' usually refers to).
2015-10-16 00:07:06 +02:00
Huw Pascoe
c95fc793e4 Moved Health trait to OpenRA.Mods.Common
In preparation for custom hitboxes.
2015-10-12 01:56:00 +01:00
Pavel Penev
50679cd6c4 Merge pull request #9576 from obrakmann/fix-broken-infiltration
Fix inverted TargetTypes test in Infiltrates order resolution logic
2015-10-09 01:37:32 +03:00
Oliver Brakmann
6274f2a47e Merge pull request #8768 from matija-hustic/attackbase_refactor
Some work on Attack*
2015-10-08 21:56:22 +02:00
Oliver Brakmann
784f2425bf Fix inverted TargetTypes test in Infiltrates order resolution logic 2015-10-08 21:21:15 +02:00
Matija Hustić
d94c645046 First step in the attack mechanism's refactor.
Enabled firing multiple armaments at a target simultaneously.
Each armament defines own cursor for targeting.
The force attack modifier influences armament choice for target.
Autotargeting modified to handle firing multiple armaments simultaneously.
As a consequence, healers (medics) no longer require separate Heal
activity and AttackMedic and AutoHeal traits.
2015-10-06 01:46:55 +02:00
Paul Chote
9b6dba02a8 Improve customisation of support power targeting. 2015-10-05 22:05:01 +01:00
atlimit8
49d7604bd9 Cache WeaponInfo look-ups 2015-10-03 22:29:40 -05:00
atlimit8
54b03c92d8 Support loading multiple turret facings 2015-10-02 21:58:02 -05:00
Pavel Penev
8a44366667 Merge Plane and Helicopter into Aircraft 2015-10-01 20:15:41 +03:00
atlimit8
74a9dc6793 Added IRangeMultiplier 2015-09-24 16:37:43 -05:00
atlimit8
9acf121eb1 Replace ActorInfo.Traits.WithInterface with ActorInfo.TraitInfos<T>() 2015-09-21 15:50:57 -05:00
Paul Chote
ef55d646f7 Unstatic the Sound class. 2015-09-20 14:11:06 +01:00