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
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
atlimit8
49d7604bd9
Cache WeaponInfo look-ups
2015-10-03 22:29:40 -05:00
Pavel Penev
0ee38de4bb
Rename HeliReturn
...
Rename HeliReturn to HeliReturnToBase to keep somewhat with the convention established for Plane- against Heli- oriented traits.
2015-10-01 20:15:50 +03:00
Pavel Penev
8a44366667
Merge Plane and Helicopter into Aircraft
2015-10-01 20:15:41 +03:00
Pavel Penev
0ee1ad3fa4
Add a default value to ReturnToBase's constructor for non-Lua usages
2015-10-01 20:09:16 +03:00
atlimit8
74a9dc6793
Added IRangeMultiplier
2015-09-24 16:37:43 -05:00
atlimit8
527675db8d
Attack activities use armaments directly through constructor
2015-09-24 16:17:06 -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
atlimit8
09984683a7
Add ActorInfo.TraitInfo[OrDefault]<T>() requiring ITraitIfo types
2015-09-19 09:56:14 -05:00
atlimit8
6970959ef1
.Trait[OrDefault]<Trait> => .Info.Traits.Get[OrDefault]<TraitInfo> where applicable
2015-09-19 09:49:24 -05:00
atlimit8
8162fa27ab
Add ActorInfo.HasTraitInfo<T>() requiring ITraitInfo types
2015-09-19 09:49:24 -05:00
atlimit8
85fab45451
Remove Actor.HasTrait<T>()
2015-09-19 09:49:23 -05:00
RoosterDragon
519be4374c
Fixed pooling of layers used for pathfinding.
...
The previous implementation:
- Was failing to dispose of pooled layers.
- Was using a finalizer to allow undisposed layers to be reused.
This means all pooled layers are kept alive indefinitely until the map changes. If the finalizer is slow for any reason then the pathfiinder will allocate new layers when the pool runs out. Since these new layers are eventually stuffed back into the pool when the finalizer does run, this can theoretically leak unbounded memory until the pool goes out of scope. In practice it would leak tens of megabytes.
The new implementation ensures layers are disposed and pooled correctly to allow proper memory reuse. It also introduces some safeguards against memory leaks:
- A cap is set on the number of pooled layers. If more concurrent layers are needed than this, then the excess layers will not be pooled but instead be allowed to be garbage collected.
- No finalizer. An implementation that fails to call dispose simply allows the layer to be garbage collected instead.
2015-09-16 21:25:46 +01:00
Matthias Mailänder
0df8b3ba39
bring back AI search for new resource patches avoiding enemies
2015-09-06 12:56:23 +02:00
Pavel Penev
27e16d0730
Don't try to play a rearming animation if it doesn't exist
2015-09-03 15:55:20 +03:00
atlimit8
f5c3575c5a
Support multiple ITargetable traits
2015-09-02 23:14:40 -05:00
Pavel Penev
2042fccefd
Merge pull request #9189 from reaperrr/bye-rendersimple3
...
Remove RenderBuilding
2015-09-02 19:21:01 +03:00
Pavel Penev
cdedfe6931
Don't get stuck in deployed mode because of an impossible move order
2015-09-01 20:19:29 +03:00
reaperrr
9da56f51e2
Remove RenderBuilding
2015-08-30 15:44:59 +02:00
Matthias Mailänder
7108344501
bail out early before trying impossible paths
2015-08-24 21:03:46 +02:00
Pavel Penev
71c5d69dc5
Merge pull request #8938 from abcdefg30/heliheigth
...
Have flying actors account for terrain height
2015-08-17 13:53:39 +03:00
abcdefg30
15f22c32b3
Merge pull request #8886 from atimoschenkow/fly-queue
...
Fix queue commands for Plane/Heli
2015-08-12 00:50:43 +02:00
atimoschenkow
b1c51cc910
Fix for #6161 queue commands for Plane/Heli (do not ignore Order.Queued in ResolveOrder())
2015-08-07 23:41:03 +02:00
Pavel Penev
10aee9ffa9
Rid Transforms and Transform of "race"
2015-08-05 18:15:11 +03:00
abcdefg30
a94e35163a
Have flying actors account for terrain height
2015-08-04 15:48:03 +02:00
Matthias Mailänder
25ee5f7287
add the takeoff and landing sound
2015-08-01 22:46:06 +02:00
Pavel Penev
cccf5c5931
Check if the inner activity is null before trying to cancel it
2015-07-26 02:15:38 +03:00
penev92
7c1ef2231d
Rename RaceInit to FactionInit
2015-07-25 00:39:31 +03:00
reaperrr
61c0b5d59b
Make refinery unblock cell customisable
2015-07-22 02:31:29 +02:00
reaperrr
62e05cf618
Fix for potential infinite loop freeze
2015-07-22 02:31:28 +02:00
David Jiménez
787609d51e
Improved the performance and intelligence of resource harvesting by
...
refactoring the Harvesters' pathfinding. Now they in first place assess
which is the closest resource inside their search area and then a path is
calculated
Changed the way harvesters find resources by always trying to find the
closest resource to their refinery.
Changed the strategy of finding to find resources in Annulus.
2015-07-22 02:31:26 +02:00
penev92
bb648decc3
Rename Player.Country to Player.Faction
2015-07-15 04:06:52 +03:00
Matija Hustić
72e8e08f48
Step in the direction of RA2 paratroopers.
2015-07-14 20:39:06 +01:00
penev92
2e04fb5ddd
Rename Faction trait members
...
Rename Faction.Race to Faction.InternalName
2015-07-14 18:50:39 +03:00
reaperrr
ba2181e523
Make delay for re-checking for available refinery customisable and increase default
2015-07-12 23:36:58 +02:00
reaperrr
8fdeb04569
Extract HarvestResource into own file and cache trait lookups in
...
constructor
2015-07-12 23:36:57 +02:00
reaperrr
c8661ca2f9
Cache FindResources trait lookups in constructor
2015-07-12 23:36:56 +02:00
reaperrr
8253573ced
Cache lookups in DeliverResources constructor
...
Only re-check for refinery every 5 seconds instead of every second.
2015-07-12 22:36:24 +02:00
Matthias Mailänder
56e9bcd96e
rename RangeSquard to LengthSquared
2015-07-09 21:16:01 +02:00
Matthias Mailänder
413baf9d8b
rename WDist.Range to WDist.Length
2015-07-09 10:55:38 +02:00
Matthias Mailänder
7447e0bf93
rename WRange to WDist
2015-07-09 10:55:38 +02:00
reaperrr
76aaafe37c
Added WithHarvestAnimation + WithDockingAnimation
...
Removed RenderHarvester.
2015-07-04 22:08:06 +02:00
Matthias Mailänder
e86b8d0dde
avoid an unneccessary and frequent trait lookup
2015-07-02 20:22:36 +02:00
pevers
6ed0273656
Actors will lose targets and AI won't follow indefinitely
2015-06-28 19:11:53 +02:00
Paul Chote
0677c309f3
Move Shroud.IsTargetable to Player.
2015-06-19 22:02:08 +01:00
Oliver Brakmann
206c33ed41
Merge pull request #8226 from pchote/actor-disposal
...
Dispose traits when destroying an actor.
2015-06-02 19:33:22 +02:00
Matthias Mailänder
ea5003cd2d
add new long WRange.RangeSquared to avoid integer overflows
2015-05-31 23:51:30 +02:00
Matthias Mailänder
723c2d82c8
fix a possible NRE
2015-05-31 15:58:55 +02:00