michaeldgg2
433d69af7a
Make Voiced trait conditional
2023-07-10 18:05:56 +03:00
michaeldgg2
22b39f35aa
Mine + related classes are public
2023-07-04 23:52:25 +02:00
michaeldgg2
5ab3276a2d
Moved Minelaying related traits and activity to Common
2023-07-04 23:52:25 +02:00
Gustas
99226c3df5
Always have ActorReference string on optional arrays instantiated
2023-07-01 18:29:59 +02:00
dnqbob
628cc837ef
Fix a crash when RallyPoint creates RallyPointIndicator
2023-07-01 12:51:54 +02:00
RoosterDragon
231bf01f18
Fix CA1854
2023-06-20 17:57:40 +02:00
RoosterDragon
0958197df2
Fix CA1052
2023-06-20 17:57:40 +02:00
RoosterDragon
f336a956cf
Fix CA1012
2023-06-20 17:57:40 +02:00
michaeldgg2
fd2b14f464
DrawLineToTarget: made palette for rendering sprites customizable (and thus optional too)
2023-06-12 21:10:52 +03:00
RoosterDragon
f4af5c1764
Fix CA1852
2023-06-06 11:51:47 +03:00
RoosterDragon
277699cbd5
Fix CA1822
2023-06-06 11:51:47 +03:00
Vapre
7c0f6ead3a
ActorMap, avoid IPositionable trait lookup.
2023-06-03 13:41:14 +02:00
Vapre
d72b1ffd49
ActorMap, do not look up influence node up to three times in cell layer.
2023-06-03 13:06:38 +02:00
michaeldgg2
dac35a60ad
WithDecoration: fixed crash when Palette is null
2023-06-02 11:49:59 +02:00
abcdefg30
74ed202b29
Support enabling and disabling the low power notification via Lua
2023-06-01 20:42:39 +03:00
Matthias Mailänder
c9dddc342c
Extract editor brush texts.
2023-05-23 19:45:15 +02:00
dnqbob
6af14c16c9
Fix a rare crash when actor in IBotRespondToAttack is dead
2023-05-21 10:40:21 +02:00
dnqbob
e8dd85419f
add Autocrusher for baby visc
2023-05-20 12:53:29 +02:00
dnqbob
69441a4fee
Add TurnsWhileMoving to Mobile
2023-05-11 17:27:18 +02:00
dnqbob
a65bb17d68
Cache the notifyAttacks in AttackGarrisoned
2023-05-09 22:49:41 +02:00
RoosterDragon
0b4a54ab54
TechTree.GatherOwnedPrerequisites performance improvements.
...
- Consuming methods cared only about the count and not the actual actors, so only counts the actors rather that creating lists.
- ProvidesPrerequisites implementations return cached objects rather then allocating new enumerables on each call.
2023-05-06 20:07:35 +03:00
Matthias Mailänder
65c0cf1065
Deprecate string format shorthand.
2023-05-05 19:03:09 +02:00
Matthias Mailänder
1c2ce0dcc0
Deprecate string format log shorthand.
2023-05-05 19:03:09 +02:00
Gustas
44f1af7059
Move TileScale to MapGrid
2023-05-02 16:37:30 +03:00
Matthias Mailänder
4f7a01a291
Localize difficulty settings.
2023-04-25 21:33:02 +03:00
Matthias Mailänder
0d36bc19c6
Document radar appear trait and fields.
2023-04-22 23:24:24 +02:00
Matthias Mailänder
68eec52cef
Add TranslationProvider
2023-04-22 19:23:41 +02:00
Gustas
a065e6a47c
Fix map level lobby options not being translated
2023-04-22 19:23:41 +02:00
Gustas
dc390a7301
Add IMove.MoveOntoTarget interface
...
In `TraitsInterfaces` we expose offset as WPos instead of CPos. In an upcoming PR we'll translate the same change to yaml.
2023-04-21 18:29:43 +02:00
Gustas
1c2eaa2654
Use nameof for ContrailEndColor description
2023-04-21 17:58:42 +02:00
Gustas
7ef1dccdcf
Add ContrailEndWidth
2023-04-21 17:58:42 +02:00
Gustas
3ca2bb1d23
Fix IDE0074, SA1316 and followup CS8141
2023-04-09 10:26:04 +01:00
Gustas
d838d08570
Add IColorPickerManagerInfo interface
2023-04-08 18:05:20 +03:00
darkademic
265f915442
Resurrected old colour picker.
2023-04-08 18:05:20 +03:00
RoosterDragon
14c0d011ea
Fix SA1414
2023-04-08 16:51:51 +03:00
RoosterDragon
a167f9680f
Fix SA1316
2023-04-08 16:51:51 +03:00
RoosterDragon
8a285f9b19
Fix IDE0090
2023-04-08 16:51:51 +03:00
RoosterDragon
164abfdae1
Fix IDE0083
2023-04-08 16:51:51 +03:00
RoosterDragon
bd2b3d9793
Fix IDE0074
2023-04-08 16:51:51 +03:00
RoosterDragon
023d80b94d
Fix IDE0057
2023-04-08 16:51:51 +03:00
RoosterDragon
5254348819
Fix IDE0056
2023-04-08 16:51:51 +03:00
RoosterDragon
4ec5a4b34a
Fix reversed path searches from inaccessible locations.
...
The Harvester trait and MoveAdjacentTo activity called the pathfinder but had a single source and multiple targets. The pathfinder interface only allows for the opposite: multiple sources and a single target. To work around this they would swap the inputs. This works in most cases but not all cases. One aspect of asymmetry is that an actor may move out of an inaccessible source cell, but not onto an inaccessible target cell.
Searches that involved an inaccessible source cell and that applied this swapping method would therefore fail to return a path, when a valid path was possible. Although a rare case, once good way to reproduce is to use a production building that spawns actors on inaccessible cells around it, such as the RA naval yard. A move order uses the pathfinder correctly and the unit will move out. Using a force attack causes the unit to use the broken "swapped" mechanism in MoveAdjacentTo and it will be stuck.
This asymmetry has been longstanding but the pathfinding infrastructure only sporadically accounted for it. It is now documented and applied consistently. Create a new overload on the pathfinder trait that allows a single source and multiple targets, so callers have an overload that does what they need and won't be tempted to swap the positions and run into this issue.
Internally, this requires us to teach Locomotor to ignore the self actor when performing movement cost checks for these "in reverse" searches so the unit doesn't consider the cell blocked by itself.
2023-04-07 16:38:37 +01:00
RoosterDragon
83561d639d
Update LangVersion to C# 9.
...
mono was the bottleneck restricting our ability to use a newer C# version. mono 6.12 is currently available. Although poorly documented on their website, this supports C# 9. https://www.mono-project.com/docs/about-mono/versioning/#mono-source-versioning indicates mono 6.12 uses Roslyn 3.9.0. https://github.com/dotnet/roslyn/blob/main/docs/wiki/NuGet-packages.md#versioning indicates Roslyn 3.9.0 supports C# 9.
This unlocks C# 8 and C# 9 features previously unavailable to us.
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-80
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-9
A newer version of StyleCop is required to avoid rules tripping up on the new syntax. Currently only prerelease versions are available but their use is encouraged https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3420#issuecomment-994899135
Fix style rule violations on existing rules where the newer language version makes some existing casts redundant or allows use of the null coalescing assignment operator.
2023-04-05 15:27:41 +03:00
dnqbob
27f780c5d1
Using support power can uncloak actor
2023-04-04 18:26:11 +03:00
Thomas Christlieb
9e081763ad
fix stance icon not updating when selecting units
2023-03-28 22:09:07 +03:00
penev92
7a4ac01348
Changed SequenceReferenceAttributes to use nameof
2023-03-24 18:51:36 +01:00
penev92
6dda4fa9f7
Fixed BuildableTerrainOverlay ignoring scale
2023-03-24 18:51:36 +01:00
Matthias Mailänder
af2b32e7ba
Add particle smoke effects.
2023-03-23 12:15:16 +02:00
michaeldgg2
069b7c5500
RepairableBuilding: play/display notification when repair process is aborted.
2023-03-23 10:28:12 +01:00
michaeldgg2
ae1983faba
ProductionQueue: make PauseProduction, CancelProduction virtual, CancelProductionInner protected
2023-03-20 12:17:55 +02:00