Commit Graph

17547 Commits

Author SHA1 Message Date
reaperrr
91178d6f62 Improved naval placement check
Moved water checks before --waitTicks.
Use Water enum instead of multiple booleans.
Check for BaseProvider rather than BaseBuilding.
Move expensive ClosEnoughToWater check to last position for naval
production override.
2015-07-28 22:03:52 +02:00
Matthias Mailänder
b9c52acefc Merge pull request #8809 from reaperrr/ra-ai
Improved RA mod AI (yaml tweaks)
2015-07-28 21:25:33 +02:00
Matthias Mailänder
e127e55792 Merge pull request #8777 from pchote/base-key
Fall back to oldest building if no BaseBuildings exist.
2015-07-28 20:35:12 +02:00
reaperrr
ed1a55df83 Fixed AI soviet paratrooper target evaluation so it doesn't always fail 2015-07-28 19:26:43 +02:00
Pavel Penev
fb2a4265bd Merge pull request #8811 from abcdefg30/die3
Use HeadshotDeath instead of BulletDeath for Umagon's rifle
2015-07-28 19:16:24 +03:00
Pavel Penev
2a166edb72 Merge pull request #8820 from obrakmann/fix8722-allies03-jail-breakage
Revert "Allies 03 Cloak->TargetableUnit"
2015-07-28 18:23:48 +03:00
reaperrr
5f9834d250 Shifted Turtle AI priority more from adv. power plants to defenses
This will work better once #8759 is merged (due to improved low power check).
2015-07-28 17:05:20 +02:00
reaperrr
793a9e4f20 Disable dog kennels for AI
I saw the AI build kennels early and waste cash on an army of dogs quite a
few times, putting that AI at severe disadvantage.
2015-07-28 17:04:05 +02:00
Oliver Brakmann
b7c444713e Revert "Allies 03 Cloak->TargetableUnit"
This reverts commit acc4b307b6.
2015-07-28 15:42:18 +02:00
Oliver Brakmann
dff56f6c20 Merge pull request #8781 from pchote/heightmap-shroud
Add plumbing for heighmap-aware shroud and map bounds checks.
2015-07-28 15:35:51 +02:00
Pavel Penev
9801d89e75 Merge pull request #8813 from pchote/fix-bounds-checks
Replace map.Contains with proper array bounds checks.
2015-07-28 04:27:53 +03:00
deniz1a
e3c2dced36 Removes unnecessary code from IngameChatLogic.cs.
Cleanup after #8105.
2015-07-27 23:22:30 +03:00
Matthias Mailänder
9fefc1f7b7 Merge pull request #8816 from reaperrr/common-armor
Moved Armor trait to Mods.Common
2015-07-27 22:04:29 +02:00
Paul Chote
4bc75f1ed6 Temporarily work around RadarWidget corruption. 2015-07-27 20:20:01 +01:00
reaperrr
89f3718aa7 Move Armor trait to Mods.Common 2015-07-27 21:12:03 +02:00
Paul Chote
86ba26e013 Convert shroud calculations and rendering to PPos. 2015-07-27 19:34:50 +01:00
Paul Chote
e8794032e0 Introduce initial PPos plumbing.
PPos is best thought of as a cell grid applied in
screen space.  Multiple cells with different
terrain heights may be projected to the same PPos,
or to multiple PPos if they do not align with the
screen grid.

PPos coordinates are used primarily for map edge
checks and shroud / visibility queries.
2015-07-27 19:34:49 +01:00
Paul Chote
fb5bcd3889 Extract MapCoordsRegion from CellRegion. 2015-07-27 19:34:39 +01:00
Paul Chote
a8c6a1aa97 Correct Contains check in DomainIndex. 2015-07-27 19:06:20 +01:00
Paul Chote
3a7300810c Correct Contains check in BridgeLayer. 2015-07-27 19:06:20 +01:00
Paul Chote
0b5b612757 Correct Contains check in BuildingInfluence. 2015-07-27 18:43:51 +01:00
Paul Chote
2b3c65334d Correct Contains check in ActorMap. 2015-07-27 18:43:51 +01:00
Matthias Mailänder
3b25a2029a Merge pull request #8805 from obrakmann/fix8802_enemy-unit-selection
Fix not being able to select enemy units
2015-07-27 19:38:37 +02:00
abcdefg30
adfa2af4bc Merge pull request #8800 from Mailaender/ts-deployed-units
Fixed deployed vehicles being treated as buildings
2015-07-27 18:53:48 +02:00
abcdefg30
7c14f54ca3 Added soviet04a and soviet04b 2015-07-27 18:10:09 +02:00
abcdefg30
88466473dd Use HeadshotDeath instead of BulletDeath for Umagon's rifle 2015-07-27 17:34:12 +02:00
reaperrr
e1ef6967f6 Sniper isn't buildable anymore 2015-07-27 16:00:53 +02:00
Oliver Brakmann
a2a0059f7f Fix chronoshift duration being visible to enemy players 2015-07-27 13:32:51 +02:00
reaperrr
76f2145db2 Added random factor to building production delay
Early game AI usually follows the same build order (power plant first, then refinery), which also means they all start producing them at the same tick. This adds a random factor to the production delay, so not all AIs produce on the same tick.
2015-07-27 13:28:07 +02:00
reaperrr
c7af9c180e Further improved building placement failure check
Since naval structures have their own safety measures now and therefore shouldn't count towards failCount under normal circumstances, we can now assume that 3 consecutive placement failures mean lack of space. Therefore, rather than unconditionally resetting the failCount and retry every N ticks, we now cache the number of buildings and construction yards at the time of the 3rd consecutive failure and if the number of buildings hasn't decreased and number of construction yards not increased, we assume there is still not enough space and reset the retry delay instead.
2015-07-27 13:28:06 +02:00
reaperrr
65a6489ef1 Avoid consecutive attempts to build naval structures
If not enough water space can be found inside the base perimeter, stop the AI from trying to build naval production buildings permanently until it deploys another construction yard.

If enough water is available within the base perimeter, check whether any
building that provides buildable area (for adjacency) is close enough to
water, otherwise don't even start producing this naval structure.
2015-07-27 13:28:05 +02:00
reaperrr
0a5b812bb7 Check for consecutive failures to place a structure.
After 3 consecutive failed attempts, wait one minute before resetting the counter and trying again.
2015-07-27 13:21:58 +02:00
Oliver Brakmann
618ba6342c Fix not being able to select enemy units 2015-07-27 13:07:07 +02:00
reaperrr
6ff394991d Fixed AI BaseBuilder low power check.
This was extremely borked:
The priority overrides for refinery, production and silo ignored power completely and never checked whether the structure might drive the AI into low power state; whereas the check for regular building checked whether the structure's power -exceeded- MinimumExcessPower (previously just 0). The catch is that power draw is represented by negative numbers, so the only buildings that would trigger this were - power plants.
Now it checks whether the sum of building power draw (negative) and AI's current power level are lower than MinimumExcessPower, if not, build the structure, if yes, build a power plant instead.
Additionally, this check is now performed for the early-game priority overrides as well.

Last but not least the AI would not(!) give power plants priority if it was already low on power. This has been fixed as well.
2015-07-27 13:06:18 +02:00
Matthias Mailänder
a3eac88e36 Merge pull request #8774 from atlimit8/v19husk_noRenderBuilding
Add StartSequence to WithIdleOverlay & change V19.Husk
2015-07-27 07:50:18 +02:00
Matthias Mailänder
00017a9b4e Merge pull request #8770 from RoosterDragon/ai-order-throttle
Throttle AI order speed to prevent lag spikes
2015-07-27 07:37:01 +02:00
Matthias Mailänder
5800c07602 don't define deployed vehicles as buildings 2015-07-26 21:17:25 +02:00
atlimit8
4976f9fec9 Add StartSequence to WithIdleOverlay & change V19.Husk 2015-07-26 12:53:09 -05:00
Matthias Mailänder
1748588ec8 remove redundant push/pop with nothing in between 2015-07-26 14:05:22 +02:00
RoosterDragon
942ce6b5a6 Throttle the issuing of orders by the AI.
To prevent the AI generating lag spikes by issuing too many orders in a single tick, it is now limited in how many orders can be issued per tick. Extra orders are queued. This allows the performance hit of issuing multiple orders to be spread out over several ticks.
2015-07-26 12:57:19 +01:00
Matthias Mailänder
f3490dd8e4 double quote to prevent globbing and word splitting
detected by http://www.shellcheck.net/
2015-07-26 13:03:01 +02:00
Matthias Mailänder
0c2934a536 switch to the new container based infrastructure 2015-07-26 13:02:14 +02:00
Matthias Mailänder
03ace48031 remove the thirdparty nsProcess plugin 2015-07-26 12:33:02 +02:00
Paul Chote
d9d37d54c8 Merge pull request #8782 from Mailaender/ts-tmpl
Added the Tiberian Sun Temple of Nod
2015-07-26 11:07:29 +01:00
Paul Chote
3dfd6360ac Merge pull request #8793 from atlimit8/SandwormNoLzay
Remove unnecessary Lazy<>s from Sandworm.cs
2015-07-26 11:06:44 +01:00
Oliver Brakmann
bb40d57944 Merge pull request #8791 from penev92/bleed_cancelActivity
Fix an NRE when cancelling repair orders on units at the wrong time
2015-07-26 11:09:56 +02:00
Matthias Mailänder
4d81cc262c Merge pull request #8783 from obrakmann/reenable-mission-replays
Re-enable mission replays
2015-07-26 09:44:19 +02:00
Matthias Mailänder
2119b26e18 Merge pull request #8790 from pchote/restore-aircraft-height
Revert "Lower aircraft altitude"
2015-07-26 08:51:31 +02:00
atlimit8
cc3b286fa6 Remove unnecessary Lazy<>s from Sandworm.cs 2015-07-25 23:10:42 -05:00
Pavel Penev
cccf5c5931 Check if the inner activity is null before trying to cancel it 2015-07-26 02:15:38 +03:00