Paul Chote
d967c564a2
Remove TargetActor and TargetLocation from order issuing.
2017-10-15 19:07:46 +02:00
reaperrr
28e1f391e0
Make ITick require explicit implementation
2017-09-16 15:51:37 +02:00
abcdefg30
d99a472456
Fix HackyAI trying to deploy undeployable actors
2017-09-16 11:01:53 +01:00
Forcecore
8027bed6b2
Separated ship squad from ground unit squad
...
Just like aircrafts are independent from ground squads.
2017-09-13 23:31:26 +02:00
Paul Chote
afd8b9ab86
Rework harvester resource claiming:
...
* Maintains lists of claims, and only restricts
reservations for friendly units.
* Removes OnNotifyResourceClaimLost; it's not
clear whether that is still useful, and it
prevents future necessary cleanups.
* Moves other code without changing behaviour.
This fixed stale claims from dead units and enemy
claims from preventing otherwise valid harvest
activities.
2017-07-18 01:09:19 +02:00
Paul Chote
b0906e1836
Add a bot type identifier.
2017-07-07 21:31:45 +01:00
Zimmermann Gyula
0d2d17d2fb
Fix the AI acting the same at game restart.
2017-05-13 19:08:20 +01:00
Forcecore
7588d6708b
HackyAI now builds refinery near ore.
2017-03-09 09:42:56 -06:00
Paul Chote
572c1cb89f
Implement subterranean units.
2017-01-29 18:58:33 +00:00
Taryn Hill
43317e0f5d
Update copyright notice year to 2017
2016-12-31 23:46:13 -06:00
Zimmermann Gyula
35b1949a61
Use MPos during AI coarse support power targeting.
2016-12-05 15:08:00 +01:00
Zimmermann Gyula
f927d54db7
Fix AI unable to activate AllowMultiple support powers.
2016-12-05 15:08:00 +01:00
Oliver Brakmann
3e9bf7aa4d
Turn Actor.GetCurrentActivity into a property
2016-10-31 18:46:27 +01:00
RoosterDragon
eb3f8c945c
Make sure AI can deploy an MCV when it lacks a base.
2016-10-11 20:42:15 +01:00
Taryn Hill
852f0f790f
Fix CanBeViewedByPlayer query in
...
HackyAI.GetVisibleActorsBelongingToPlayer
2016-08-13 07:42:15 -05:00
RoosterDragon
cc4ef736b0
Ensure HackyAI tries to attack and capture as frequently as it should.
...
Returning early in AssignRolesToIdleUnits would skip ticking down the counters that trigger new attack and capture attempts. This means they would be attempted far less often than intended.
2016-08-12 18:08:58 +01:00
Taryn Hill
c5e76a67dd
HackyAI: Add basic capturing
2016-08-10 19:06:24 -05:00
reaperrr
abaa0f4da5
Allow to customize which terrain types are considered water by HackyAI
...
For naval structure placement.
2016-07-30 13:19:32 +02:00
reaperrr
8493b1deda
Merge pull request #11512 from Nelax/ai-squadexclude
...
Added Squad Exclusion to HackyAI
2016-06-30 15:21:22 +02:00
reaperrr
e647af3dd1
Allow modders to choose AI MCV deployment base restriction
...
For some mods, a random map location might be a better choice for the AI than deploying the MCV inside the base, so we allow modders to customize it.
2016-06-27 18:17:51 +02:00
Bynnar18
dace814829
Added ExcludeFromSquads to HackyAI
2016-06-24 09:18:43 -05:00
reaperrr
8ba833777c
Make AI deploy MCVs in the vincinity of existing construction yards
...
While the general idea of AIs building distant secondary bases might be tempting, in reality the AI would way too often send the MCV close to some enemy base, wasting the cash and potentially increased build speed/additional build queue.
Deploying MCVs close to the existing base ensures that the AI will actually have some benefit from building an MCV.
2016-06-20 20:52:04 +02:00
reaperrr
5992530655
Fix AI giving orders to MCVs that already have orders
...
Checking for IsMoving is a flawed approach no matter how you look at it. The MCV might just have temporarily stopped due to an obstacle, or about to be deployed.
Checking for IsIdle instead ensures that the MCV really isn't already in the process of doing something.
2016-06-20 20:52:04 +02:00
reaperrr
099c44f6f9
Remove ActorExtensionsForMove
...
And use IMove.IsMoving instead.
2016-06-04 16:34:47 +02:00
reaperrr
adc6095f9c
Remove the rest of the unused AI Aggro left-overs
2016-06-01 22:48:50 +02:00
reaperrr
f1b8cf117a
Remove dead code from HackyAI
...
Has been unused for three years...
2016-06-01 22:48:50 +02:00
Matthias Mailänder
15c2df2c69
Merge pull request #10943 from pchote/map-grid-tile-range
...
Move Map.TilesByDistance to MapGrid and un-static it.
2016-03-21 20:05:08 +01:00
Paul Chote
4052da3ea6
Move Map.TilesByDistance to MapGrid and make non-static.
2016-03-20 21:41:04 +00:00
Paul Chote
5741e53fe2
Fix AI stalling after losing its conyard and ref.
2016-03-18 18:16:24 +00:00
Paul Chote
602acabe47
Remove World.TileSet.
2016-03-12 19:47:07 +00:00
Paul Chote
e71225496b
Clarify GPL version.
2016-02-21 16:30:48 +00:00
Paul Chote
b396965fd9
Update licence header year.
2016-02-21 16:27:31 +00:00
Oliver Brakmann
426bf0d975
Merge pull request #10731 from RoosterDragon/fuzzy-singletons
...
Create singletons for AttackOrFleeFuzzy rulesets
2016-02-17 21:25:03 +01:00
RoosterDragon
3b480ea4bb
Create singletons for AttackOrFleeFuzzy rulesets.
...
This avoids the cost of recreating the engines and rules for every AI and AI squad.
2016-02-10 20:17:27 +00:00
reaperrr
ed3c0799d3
Do not consider waiting harvesters to be idle
2016-01-29 16:08:29 +01:00
Matthias Mailänder
922217271c
don't actively attack nor defend with armed harvesters
2016-01-24 14:05:00 +01:00
Matthias Mailänder
03590b13cc
check the cheap bool before expensive trait lookups
2016-01-24 13:52:44 +01:00
RoosterDragon
8e89a6a696
Simplify names, remove unused usings, remove redundant casts.
2016-01-17 21:35:36 +00:00
Paul Chote
bee77db1e3
Rename variables for clarity.
2016-01-17 00:02:49 +00:00
Paul Chote
bec059a3c7
Remove unnecessary assumption about non-mobile.
2016-01-17 00:02:49 +00:00
Paul Chote
d4815407f2
Remove hardcoded trait assumptions from MCV and ConYards.
2016-01-17 00:02:49 +00:00
Paul Chote
e026a0f00f
Create proper data structures for hardcoded AI classes.
2016-01-17 00:02:49 +00:00
Pavel Penev
c51bad6050
Expose HackyAI's Squads and IsEnabled fields
2015-12-07 01:41:16 +02:00
atlimit8
b6f17df260
Add ActorsHavingTrait<TTrait>([Func<TTrait, bool])
2015-10-28 16:36:45 -05:00
atlimit8
7de98ad6d8
Merge pull request #9635 from RoosterDragon/occupy-space-perf
...
Speed up checks for IOccupySpace trait
2015-10-22 18:28:57 -05:00
RoosterDragon
a4338d9350
Remove a redundant check in FindAndDeployBackupMcv.
...
This avoids enumerating the mcvs twice.
2015-10-14 21:06:37 +01:00
RoosterDragon
262ab408b5
Speed up checks for IOccupySpace trait.
...
Eagerly load the trait (if it exists) in Actor, and use this reference to avoid having to perform self.Info.HasTraitInfo<IOccupySpaceInfo>() checks.
2015-10-14 20:46:15 +01:00
abcdefg30
b0c1f95ef2
Merge pull request #9486 from reaperrr/fix-9403
...
Fix AI queueing structure build orders twice at higher game speeds due to lag
2015-10-11 13:51:02 +02:00
reaperrr
3711ef8eb5
Fix AI queueing build orders twice at higher game speeds due to lag
...
Fixes #9403 .
2015-10-11 01:53:25 +02:00
Paul Chote
8954ac585c
Merge pull request #9442 from Mailaender/ai-world-check
...
Fixed AI bots trying to assign orders to units not in the world
2015-10-10 20:21:10 +01:00