1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-14 10:12:59 +02:00
Commit Graph

1812 Commits

Author SHA1 Message Date
Xilmi
c10c04779f Adaptive Build-order
When not threatened by nearby enemies the AI adds missing gold-income-buildings towards gold-pressure. This impacts the build-order in a way that they try to rush these more and get up a good economy more quickly.
2024-08-14 22:52:19 +02:00
Xilmi
6bd442e6f1 BattleAI: Fix endless loop
Fixed an issue where the part of a 2-tile-unit that is outside of the map was considered a target and caused an endless-loop in the pathfinding being unable to get there.
2024-08-13 23:43:56 +02:00
Xilmi
068e3bdc59 Fix endless loop
Fixed an endless-loop caused by someone removing this ", turn++".
2024-08-12 19:47:15 +02:00
Xilmi
a7b26e237f Fix crash
Fixed a crash due to improperly trying to access "cb".
2024-08-11 21:59:06 +02: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
ed059393ec No more prio 3 tasks
The AI no longer performs prio 3 tasks, when no prio 0-2 tasks were found.
2024-08-11 18:23:02 +02:00
Xilmi
958aeb3a60 AI improvements
Deliberately defending towns in danger will now only be performed when the town has at least a citatel.

The AI will now count the buildings per town-type and add a score-bonus to dwellings of towns it already has a lot of buildings of. This shall help with getting a stronger army with less morale-issues.

Scoring for mage-guild now increased the bigger the existing armies are.

AI is less afraid of enemy-heros than previously.
2024-08-11 18:21:24 +02:00
Xilmi
5907aae057 Fixed AI not taking hero-strength into account when hero is garrisoned.
When evaluating their fighting-chance against towns with a garrisoned hero the AI didn't consider the attribute-boosts of the defending hero.
Now it does.
2024-08-11 17:59:10 +02:00
Xilmi
730e574bef Fixed AI ignoring garrisioned heroes when it comes to danger-analysis.
AI now considers garrisoned heros a potential threat for their heroes too.
2024-08-11 12:44:07 +02:00
Xilmi
99e4052dc0 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-11 11:37:10 +02:00
Andrii Danylchenko
78dea24017 Visual logger colored text 2024-08-10 19:13:09 +03:00
Andrii Danylchenko
47c77826c3 Visual logger map texts 2024-08-10 13:04:35 +03:00
Xilmi
a454ecfe38 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-10 11:05:28 +02:00
Andrii Danylchenko
9ffd6368d4 Add visual logger for battle interface 2024-08-10 10:54:20 +03:00
Xilmi
ea4e412f9a Update Nullkiller.cpp
Only actual heroes and not nullptrs will exculde each other in comparison.
2024-08-07 01:37:15 +02:00
Xilmi
ec5da0e6b3 Update PriorityEvaluator.cpp
Further working towards heroes avoiding danger.
2024-08-07 01:36:27 +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
f4c0bee003 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-05 21:53:59 +02:00
Andrii Danylchenko
51b8bc9fc3 BattleAI: fix shhoters waiting and reduce strength of our loss affecting decissions 2024-08-04 17:50:19 +03:00
Andrii Danylchenko
801e919e7e BattleAI: fix ap calculation in exchange variant 2024-08-03 20:35:20 +03:00
Andrii Danylchenko
3d856bfa9d Merge remote-tracking branch 'origin/develop' into battle-ai-fixes 2024-08-03 12:54:25 +03:00
Andrii Danylchenko
9edb0afff8 BattleAI: fix dragonbreath retaliation 2024-07-28 14:41:32 +03:00
Xilmi
07108ce03d Update PriorityEvaluator.cpp
Allow defending in priority 2.
2024-07-25 21:49:17 +02:00
Xilmi
183ce82b99 Update Nullkiller.cpp
Readded prio-3 tasks for heroes when no prio 0-2 tasks were found. It's anything that doesn't lose more than the loss-threshold.
2024-07-25 21:48:44 +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
Laserlicht
bfd1e8a7c8 calculate income 2024-07-25 02:51:00 +02:00
Xilmi
909c308614 Update Nullkiller.cpp
Removed unused variable.
2024-07-24 21:46:18 +02:00
Xilmi
1e2021fb6d Update RecruitHero.h
Fix warning.
2024-07-24 21:41:49 +02:00
Xilmi
8152b003fe Update Nullkiller.cpp
Fixed a bug that caused tasks that are generated with an initial priority not being executed.
Fixed an error-message wrongfully claiming a hero was locked by STARTUP, when infact the hero was locked by something else (usually a hero-chain).
Recruiting-heros is now handled alongside buying army and buildings.
2024-07-24 21:26:53 +02:00
Xilmi
e2e3cd281c Update RecruitHero.h
Multiple orders for the same hero by different towns are now handled properly instead of trying to buy the same hero several times.
2024-07-24 21:23:20 +02:00
Xilmi
19b969406c Update PriorityEvaluator.cpp
Delivering troops to mains is now considered a priority 0 task that should immediately be fulfilled.
Defending nearby towns against nearby enemies is now also considered a priority 0 task.
Priority 0 tasks are now exclusively scored by distance and armyloss has only a cut-off-point instead of lowering the score.

Building-cost now has more impact on their score.
2024-07-24 21:22:14 +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
aade79720f Update BuildAnalyzer.cpp
Allow queuing citadels and castles on other days than satur- and sunday.
2024-07-24 21:14:27 +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
dbcd7677ac
Merge pull request #4313 from vcmi/nkai-whirlpool
NKAI: whirlpool
2024-07-24 00:03:11 +03:00
Xilmi
69efe9cfda Merge remote-tracking branch 'upstream/develop' into develop 2024-07-22 20:15:40 +02:00
Andrii Danylchenko
da46d5d01b BattleAI: take into account defender dragon breath and other mutitarget attacks 2024-07-22 20:39:33 +03:00
Andrii Danylchenko
4e83deca92 BattleAI: fix waited attack calculation 2024-07-22 20:39:33 +03:00
Andrii Danylchenko
33e0eeaa8a BattleAI: fix dragon breath 2024-07-22 20:39:32 +03:00
Ivan Savenko
37cf788079
Merge pull request #4317 from IvanSavenko/split_townhandler
Split CTownHandler into smaller chunks
2024-07-22 17:42:48 +03:00
Ivan Savenko
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00:00
Xilmi
6f9309696d Merge remote-tracking branch 'upstream/develop' into develop 2024-07-21 19:06:14 +02:00
Andrii Danylchenko
683c363946 NKAI: whirlpool 2024-07-21 17:20:54 +03:00
Ivan Savenko
550540f8ab
Merge pull request #4316 from IvanSavenko/crashfixes
Crashfixes
2024-07-21 16:15:28 +03:00
Xilmi
945de7c369 More warnings
Removed unused code
2024-07-20 21:12:43 +02:00
Xilmi
ed82e2bf4a Warnings
Removed unused variable.
2024-07-20 21:02:39 +02:00
Ivan Savenko
1c522c49b6 Fix possible crash on trying to move to invalid battlefield hexes 2024-07-20 18:28:13 +00:00
Ivan Savenko
1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00