Commit Graph

5016 Commits

Author SHA1 Message Date
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
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
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
atlimit8
4976f9fec9 Add StartSequence to WithIdleOverlay & change V19.Husk 2015-07-26 12:53:09 -05: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
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
Pavel Penev
cccf5c5931 Check if the inner activity is null before trying to cancel it 2015-07-26 02:15:38 +03:00
deniz1a
ac6e915839 Simplifies Start button logic in lobby. 2015-07-25 23:03:14 +03:00
Oliver Brakmann
b749548e76 Re-enable replays for missions 2015-07-25 20:51:39 +02:00
Oliver Brakmann
4de03e991c Remove revealing views from observer mode in missions 2015-07-25 20:51:39 +02:00
Oliver Brakmann
a77e9c0d87 Delay loading the observer UI until the game is actually over 2015-07-25 18:56:25 +03:00
Oliver Brakmann
a725d63b0c Remove World.ObserveAfterWinOrLose
Fixes RenderPlayer for "All Players" view.
2015-07-25 18:56:24 +03:00
deniz1a
5546298866 Merges LeaveMapLogic into GameInfoLogic.
Opens options menu when game ends.

Closes settings or music window before opening options menu.

Moves game end video playback logic from GameInfoLogic to
LoadIngamePlayerOrObserverUILogic.

Improves menu buttons.

Stop video from playing on fatal lua script error
2015-07-25 18:56:24 +03:00
deniz1a
ef143e5f8a Freezes map after game ends.
Adds newline.

Disables keyboard hotkeys for units after game ends.
2015-07-25 18:56:23 +03:00
Pavel Penev
ea3a680eda Merge pull request #8725 from reaperrr/bye-rendersimple-pr1
Step towards removing RenderSimple and its derivatives (Part 1)
2015-07-25 18:43:13 +03:00
Oliver Brakmann
8c766a4a79 Merge pull request #8721 from penev92/bleed_rename
Some more Country -> Faction renaming
2015-07-25 17:10:35 +02:00
reaperrr
65c95eb2ee Adapted WithHarvestAnimation to account for damage stages 2015-07-25 16:17:08 +02:00
penev92
4616828b28 Deprecate PlayerProperties.Race 2015-07-25 16:43:34 +03:00
bryanwilbur
031109d766 The 'Jump to base' hotkey is useless if the Construction Yard is destroyed #3318
Now works like original Red Alert.  When there are no more Construction Yards the 'Jump to base' hotkey goes to the oldest undestroyed building.
2015-07-25 10:04:14 +01:00
Paul Chote
c70ebfab74 Create the user map directory if required.
Fixes #8772.
2015-07-25 09:36:29 +01:00
reaperrr
2e9a4b78a3 Refactor RenderEditorOnly into RenderSpritesEditorOnly + WithSpriteBody 2015-07-25 10:28:07 +02:00
reaperrr
74b948342e Fix WithSpriteBody PlayCustomAnimationRepeating
Lacked damage stage awareness.
2015-07-25 10:28:05 +02:00
Pavel Penev
ded5a2b16a Merge pull request #8742 from abcdefg30/withpalettedeath
Support multiple WithDeathAnimation traits
2015-07-25 03:10:43 +03:00
penev92
7c1ef2231d Rename RaceInit to FactionInit 2015-07-25 00:39:31 +03:00
penev92
b34810c1d3 Rename AddRaceSuffixLogic to AddFactionSuffixLogic 2015-07-25 00:39:29 +03:00
penev92
9a36bf6bcd Rename CountryTooltipLogic to FactionTooltipLogic 2015-07-25 00:20:59 +03:00
penev92
dc30e5a46d Rename LobbyCountry to LobbyFaction 2015-07-25 00:20:58 +03:00
RoosterDragon
6b9dd9670a Avoid multiple AIs all issuing orders in exactly the same tick.
Randomize the initial tick used for each AI so they don't cause lag but all flooding the same tick with orders, but instead (try) and use a different tick for each AI. Order processing is expensive due to the need to sync world state, so it is best to spread out the performance cost of issuing these orders over different ticks.
2015-07-24 21:29:11 +01:00
deniz1a
f5b4befc75 Resets chat text field in lobby when Esc is pressed. 2015-07-24 23:21:37 +03:00
deniz1a
7337afcfeb Improves player name text field in game lobby.
Esc key resets text field to unmodified value and yields focus.
2015-07-24 23:13:17 +03:00
deniz1a
a51cc27fb5 Improves frame limit and player name text fields in settings menu.
Esc key resets text field to unedited value and yields focus.
2015-07-24 23:09:16 +03:00
deniz1a
4fcf73921f Improves filter text field in asset browser.
Text field takes keyboard focus by default.
Esc key resets filter or closes window if text field is empty.
2015-07-24 23:09:15 +03:00
deniz1a
d8c996f74a Fixes spelling in comment. 2015-07-24 23:09:15 +03:00
Paul Chote
34ffb3772f Merge pull request #8728 from reaperrr/wgb
Replaced RenderGunboat with WithGunboatBody
2015-07-24 20:54:55 +01:00
Oliver Brakmann
1e7da8514a Merge pull request #8735 from reaperrr/safe-pf-changes
Minor pathfinder-related changes (preparation for mobile refactor)
2015-07-22 14:42:52 +02:00
Oliver Brakmann
5a1b6bb644 Merge pull request #8622 from reaperrr/hv-refactor2
Refactored harvester resource search
2015-07-22 14:26:31 +02:00
reaperrr
711ec0c600 Minor pathfinder changes 2015-07-22 06:36:00 +02: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
reaperrr
bd73783cef Merge pull request #8685 from Mailaender/lint-projectile-sprites
Added projectile sprite testing to the CheckYaml lint rules
2015-07-21 01:56:58 +02:00