Xilmi
751f3b0e7d
Update BuildingBehavior.cpp
...
Fixed an issue that prevented generating more building-tasks when there already were tasks.
2024-09-01 13:46:44 +02:00
Xilmi
72597b549b
hero spread
...
Prefer hiring heroes at towns that don't have heroes nearby.
2024-08-31 23:00:27 +02:00
Xilmi
8cf99616d0
Update BuildingBehavior.cpp
...
Fixed a warning which, in this case, was actually also a logical error! :o
2024-08-19 21:21:56 +02:00
Xilmi
e86ca49c37
Update BuildingBehavior.cpp
...
Fixed warning
2024-08-19 21:15:25 +02:00
Xilmi
e6d907af55
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-18 09:52:59 +02:00
Xilmi
af7d5c7f7f
Update RecruitHeroBehavior.cpp
...
Don't hire a hero in a town where another hero is currently defending against a threat. This would mean one of them has to stay outside and be exposed.
2024-08-18 09:50:32 +02:00
Xilmi
bdbb9d02fc
Update DefenceBehavior.cpp
...
Fixed an issue where heroes that were leaving towns were still considered as defending the town.
2024-08-18 09:49:38 +02:00
Xilmi
65b8576687
Update BuyArmyBehavior.cpp
...
Allow building army in threatened town even when it wants to save for a building.
2024-08-18 09:49:02 +02:00
Xilmi
ea5ee039ca
Update BuildingBehavior.cpp
...
Prioritize defensive buildings in threatened towns.
2024-08-18 09:48:16 +02:00
Ivan Savenko
97f1a310df
Fix miscellaneous issues discovered by Sonar
2024-08-12 18:26:30 +00:00
Xilmi
fba34a743e
Update DefenceBehavior.cpp
...
Reverted previous change to defense-behavior.
Both approaches have pros and cons and neither really works as I want. This still needs work.
2024-08-11 18:23:52 +02:00
Xilmi
b0e4551dbf
Update BuyArmyBehavior.cpp
...
No longer saving money for city-halls when city-halls cannot be built.
2024-08-07 01:35:17 +02:00
Xilmi
38da53135b
Update DefenceBehavior.cpp
...
A town will no longer communitcate that it doesn't need defenses, when it currently has a garrisioned hero. Because otherwise the garrisoned hero would just leave and let the town undefended.
2024-07-25 21:47:56 +02:00
Xilmi
bbb5157f74
Update RecruitHeroBehavior.cpp
...
Reworked recruit-behavior to be a bit more conservative and avoid recruiting-sprees. Stuff like buying several heros in a row because the next one is always slightly better than the last but using up the whole starting-bank for that.
2024-07-24 21:17:04 +02:00
Xilmi
69b64a3241
Update ExplorationBehavior.cpp
...
Added missing bracked and changed indenting to make it less confusing.
2024-07-24 15:40:20 +02:00
Xilmi
34e4ab45ee
Fixed what merge-conflict-handling had broken.
...
Restored exploration-without relying on memory but with included whirlpool
2024-07-24 15:21:17 +02:00
Xilmi
b83a214763
Merge remote-tracking branch 'upstream/develop' into develop
2024-07-24 14:59:24 +02:00
Andrii Danylchenko
683c363946
NKAI: whirlpool
2024-07-21 17:20:54 +03:00
Xilmi
945de7c369
More warnings
...
Removed unused code
2024-07-20 21:12:43 +02:00
Xilmi
9c6d8762c5
Lowered restrictions from hero-hiring.
...
Removed two restrictions from hero-hiring, that prevented AI from hiring heros in certain scenarios.
2024-07-19 15:18:02 +02:00
Xilmi
455ad648ae
More warning fixes
...
heroRole is no longer needed here.
2024-07-15 20:09:11 +02:00
Xilmi
fbe1e171fe
Merge remote-tracking branch 'upstream/develop' into develop
2024-07-15 18:36:19 +02:00
Andrii Danylchenko
6f5710e809
Merge pull request #4110 from vcmi/rewardables
...
NKAI: rewardables
2024-07-14 09:02:37 +03:00
Xilmi
a821978d4e
Merge remote-tracking branch 'upstream/develop' into develop
2024-07-12 17:43:04 +02:00
Xilmi
638c1350b8
Path-safety
...
No longer excluding paths for exposing a hero to an enemy in the behaviors. There definitely are reasons for doing something anyways, even if threatened. The logic for that should be done in the PriorityEvaluator.
2024-07-12 15:43:40 +02:00
Xilmi
663ca23f6f
Army-hiring
...
Supressing hiring army on turn one seems just bad. Starting the main-hero as strong as possible seems like a good idea to me and hiring the available troops outright will help achieve that goal.
However, if there's a hero for hire, who has army with him that is a better deal, we hire that one first.
2024-07-12 15:41:55 +02:00
Xilmi
fdaac9d3c3
Hero-hiring
...
When we have no hero, we will definitely want to hire one.
We will also want to hire heroes who already pay for more than themselves by coming with an army that has more value than the hero costs.
2024-07-12 15:39:50 +02:00
Ivan Savenko
6b8f94e6e7
Merge remote-tracking branch 'vcmi/master' into develop
2024-07-11 17:43:44 +00:00
Xilmi
e0a81b3e69
Fixed AI-exploration-data being lost after loading savegame
...
The information of whether objects like a redwood-observatory or subterranian gates have been interacted with by the AI will now be retrieved from the game-state instead of using an AI-internal memory that won't survive loading a save-game.
2024-07-07 22:08:19 +02:00
Andrii Danylchenko
1be36e1ad4
NKAI: rewardables
2024-07-07 21:58:39 +03:00
Ivan Savenko
41ed7e2e10
Added TODO's for potential optimizations that I've discovered
2024-07-04 07:59:50 +00:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Andrii Danylchenko
02ea497951
NKAI: speedup exploration a bit
2024-05-22 22:49:11 +03:00
Andrii Danylchenko
820f0e0c1a
NKAI: port exploration from VCAI
2024-05-20 23:50:13 +03:00
Andrii Danylchenko
98a78b3386
#3930 - fix usage of wrong variable
2024-05-12 18:04:23 +03:00
Andrii Danylchenko
afa766c763
#3824 - fix cluster unlock
2024-04-27 10:57:30 +03:00
Andrii Danylchenko
70fad45316
Merge pull request #3770 from vcmi/nkai-multitask
...
NKAI: allow multiple tasks to be executed from one calculation
2024-04-20 15:21:11 +03:00
Alexander Wilms
7d925b3689
Fix typo: Preasure -> Pressure
2024-04-16 21:10:15 +00:00
Andrii Danylchenko
ed76d8a652
NKAI: allow multiple tasks to be executed from one calculation
2024-04-14 16:46:05 +03:00
Andrii Danylchenko
728f673763
NKAI: remove static ai field
2024-03-31 21:11:25 +03:00
Andrii Danylchenko
d6f1a5c2b3
NKAI: parallel capture objects
2024-03-29 20:39:03 +02:00
Andrii Danylchenko
30d9daf62c
NKAI: improve boat handling by object graph, a set of fixes
2024-03-28 13:39:15 +02:00
Andrii Danylchenko
adfcb650e2
NKAI: object graph fixes
2024-03-25 21:04:08 +02:00
Andrii Danylchenko
419d6a648b
NKAI: optimize clusterization and pathfinding for object graph
2024-03-24 09:32:54 +02:00
Andrii Danylchenko
e66ceff154
NKAI: object graph improved and optimized
2024-03-21 12:13:36 +02:00
Andrii Danylchenko
6245adb9a4
NKAI: configurable object graph
2024-03-08 14:39:16 +02:00
Andrii Danylchenko
376a17409f
NKAI: initial implementation of object graph
2024-03-02 15:52:45 +02:00
Andrii Danylchenko
35429eab52
NKAI: moddable configuration
2024-03-01 22:03:07 +02:00
Alexander Wilms
678cacbd25
Remove more redundant virtual
specifiers
...
`grep -nr "virtual " | grep -v googletest | grep " override" | grep -v overriden > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":",2)
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-13 15:21:30 +01:00
Alexander Wilms
522cb571b3
Remove redundant virtual
specifiers
...
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":")
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-10 20:46:13 +01:00