Tomasz Zieliński
9591ce1ab4
Move CompoundMapObjectID to separate file
2024-09-14 08:55:28 +02:00
Xilmi
22222f0fba
Priorization-improvements
...
Manarecoveryreward now uses float instead of unsigned int in order to avoid extremely high instead of negative scores when the hero has more mana than his mana-limit for example due to mana-vortex.
Moved upgrading armies to a lower priority tier as otherwise the AI would go back to their cities all the time even though there were plenty of other things to do.
Improved exploration logic by putting different kinds of exploration to different priority-tiers.
Looking at the other side of a portal has high priority, visiting an observatory has medium priority and scouting by visiting nearby tiles has low priority.
2024-09-14 02:58:23 +02:00
Xilmi
9b9a50c0ae
Update StayAtTown.cpp
...
Showing mana-limit too for Stay At Town.
2024-09-14 02:51:33 +02:00
Xilmi
ab441d8e67
Update PriorityEvaluator.cpp
...
AI now should no longer ignore spell-scrolls and artifacts of the treasure-class.
2024-09-13 23:06:49 +02:00
Xilmi
af2df5763f
Update PriorityEvaluator.cpp
...
Only if there is a high gold-pressure a buildings' cost will deter from its score.
2024-09-12 22:53:45 +02:00
Xilmi
ab64edf7dd
Update RecruitHero.cpp
...
Remove code that, according to Ivan shouldn't do anything but cause errors.
No noticable regressing in playing-strength was observed.
2024-09-12 20:08:07 +02:00
Xilmi
5ed888b284
Update BuyArmyBehavior.cpp
...
Accomplish the same but with simpler code.
2024-09-12 20:07:22 +02:00
Xilmi
a1a03d4b74
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-12 14:54:39 +02:00
Ivan Savenko
29f393e024
Removed hardcoded checks for map objects in favor of analyzing
...
rewardable object content
2024-09-12 12:11:18 +00:00
Ivan Savenko
39a2c29c97
Removed creatureBank flag from battle, battles now receive BattleLayout
...
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
Ivan Savenko
503b87561e
Converted all h3 banks to rewardable, remove most of hardcoded checks
2024-09-12 12:11:18 +00:00
Ivan Savenko
785036836c
Rewardable objects may now define guards. Converted Crypt to rewardable.
2024-09-12 12:10:40 +00:00
Ivan Savenko
48b0a222a0
Merge pull request #4570 from kdmcser/crash_fix
...
fix Ballista Bank Mod auto combat crash
2024-09-12 14:16:41 +03:00
Xilmi
d4fd4ed670
Update BattleEvaluator.cpp
...
Make sure trace-message doesn't crash from accessing invalid element.
2024-09-11 16:05:53 +02:00
kdmcser
312403962b
Update BattleExchangeVariant.cpp
...
fix.compile error
2024-09-11 11:39:03 +08:00
Xilmi
aefe2fda36
Update BuildingBehavior.cpp
...
No longer rush a fort in a threatened town.
2024-09-10 23:42:51 +02:00
kdmcser
bb759dc2b8
fix compile error
2024-09-11 01:43:30 +08:00
Xilmi
065125e770
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-10 14:57:27 +02:00
kdmcser
58cdbccf21
Update AI/BattleAI/BattleExchangeVariant.cpp
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-09-10 15:29:11 +08:00
Xilmi
df119370c7
Exploration
...
Slightly adjust the value of exploring within the hunter-gather-prirority.
2024-09-10 00:23:17 +02:00
Xilmi
37f9f93948
Update RecruitHeroBehavior.cpp
...
Modified how to score what hero to hire to make it more likely to rehire fled heroes with high levels when the army-gain from the hero would be rather insignificant.
2024-09-09 23:38:28 +02:00
Xilmi
faa5a02659
Update RecruitHeroBehavior.cpp
...
Fix potential division by zero.
2024-09-09 23:25:09 +02:00
Xilmi
a329f607c9
Update Nullkiller.cpp
...
No more map-hack on 3rd difficulty-level. Only starting from the fourth.
2024-09-09 23:23:28 +02:00
Xilmi
f8e4aa1d25
Update Nullkiller.cpp
...
Use Enum for Gold.
2024-09-09 23:20:53 +02:00
Xilmi
e7e3f6dcbe
Update DefenceBehavior.cpp
...
Only hire heroes for defence if the enemy is already really close. (Otherwise AI hired too many heroes from defensebehavior)
2024-09-09 19:55:03 +02:00
Xilmi
5999c6d891
Update BattleEvaluator.cpp
...
Removed now unnecessary additional check for dead units.
2024-09-09 19:54:20 +02:00
Xilmi
8c3f6fc1e2
Update RecruitHeroBehavior.cpp
...
Fixed crash caused by mistakenly assuming that "pos" is the position of a hero on the map and not its bottom-right-corner that can be outside of the map.
2024-09-08 02:19:19 +02:00
kdmcser
c5b598b277
fix Ballista Bank Mod auto combat crash
2024-09-08 01:05:03 +08:00
Xilmi
0edc17b7d8
Going to town when nothing to do.
...
The StayAtTown-behavior now always creates tasks for all heroes to go and stay at a town. It will be treated differently than going to a town for mana in the sense that it is only considered at the lowest priority-tier. So it will only happen when the AI doesn't find anything else to do. It should resolve one of the two main-reasons for losing weak heros.
The hunter-gather-priority-tier now goes strictly by distance for all taks that are considered above 0 in value.
2024-09-06 22:14:59 +02:00
Xilmi
099341e143
Update Nullkiller.cpp
...
Fixed incorrect trace-message at end of turn.
2024-09-06 22:10:14 +02:00
Xilmi
06f894140c
Update BuildAnalyzer.cpp
...
Modified goldPressure-formula to no longer use completely arbitrary part of lockedresources/5000.
Lockedresources is now just divided by a factor of the free gold like everything else.
2024-09-06 21:42:15 +02:00
Xilmi
cf338e04ad
Update Nullkiller.cpp
...
AI can now also buy resources that it has income for.
2024-09-06 21:40:23 +02:00
Xilmi
35d8705fea
Update Nullkiller.cpp
...
prioOfTask-variable-usage bound to trace-level as otherwise a warning will ensue.
2024-09-06 17:20:12 +02:00
Xilmi
e43492d8b5
Update PriorityEvaluator.cpp
...
Fixed affordabilitycheck not being negated.
2024-09-06 00:12:44 +02:00
Xilmi
db2416cb6b
Update Nullkiller.cpp
...
Readded prioOfTask because it's needed in trace-messages.
2024-09-05 23:41:05 +02:00
Xilmi
5488a0a29c
Removed the "GATHER"-priorityTier
...
There was no real need for it to be a separated tier from Hunter_gather.
2024-09-05 19:35:47 +02:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Xilmi
d9fe8d7fa0
Update BuyArmyBehavior.cpp
...
Removed pointless check for hero-army being more valuable than buying army directly as it was never the case anyways.
2024-09-05 16:50:22 +02:00
Xilmi
b3115f65c5
Update BuildingBehavior.cpp
...
Use std::numeric_limits<uint8_t>::max(); instead of UINT8_MAX; and remove some leftover-trace-messages from debugging.
2024-09-05 16:45:45 +02:00
Xilmi
d5d9f3cb7d
Merge branch 'develop' of https://github.com/xilmi/vcmi into develop
2024-09-05 16:40:21 +02:00
Xilmi
dafc9cd8a8
Update PriorityEvaluator.cpp
...
Replace float-comparisons with zero by vstd::isAlmostZero
2024-09-05 16:40:06 +02:00
Xilmi
c186de2d52
Update AI/Nullkiller/Behaviors/RecruitHeroBehavior.cpp
...
Avoid checking float against an exact value.
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-09-05 16:36:07 +02:00
Xilmi
23cd54c998
Preparations for merge
...
No longer using FuzzyEngine just to create a log-message. It's now only used when isUseFuzzy is set.
Also:
Removed < operator and instead use already existing "canAfford"-Method.
2024-09-05 16:22:25 +02:00
Xilmi
b32c9615ed
Update Nullkiller.cpp
...
Removed unused variable.
2024-09-05 15:59:09 +02:00
Xilmi
db16a9d234
A bit of clean-up for merge
...
Set back trace level to 0
Removed EvaluationContexts that weren't used
Encapsulated many debug-messages behinde trace-levels
2024-09-04 16:41:47 +02:00
Xilmi
d0aefdfbe6
Update RecruitHero.cpp
...
Removed a A
2024-09-03 21:17:06 +02:00
Xilmi
9361278f81
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-03 21:16:01 +02:00
Xilmi
dfa992951b
Revert "Merge branch 'fix-battle-ai' into develop"
...
This reverts commit b489816d29
, reversing
changes made to 5ee7061ab7
.
2024-09-03 20:57:05 +02:00
Xilmi
64fad53532
Revert "Merge branch 'pr/4528' into develop"
...
This reverts commit f4578c6d3a
, reversing
changes made to ac8e5b3711
.
2024-09-03 20:51:13 +02:00
Andrii Danylchenko
07ae33b8f4
BattleAI: missing lock
2024-09-03 13:02:58 +03:00
Andrii Danylchenko
f9442208da
BattleAI: avoid standing in moat
2024-09-03 13:02:58 +03:00
Xilmi
b489816d29
Merge branch 'fix-battle-ai' into develop
2024-09-02 17:28:11 +02:00
Xilmi
5ee7061ab7
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-02 17:27:08 +02:00
Andrii Danylchenko
3f916ab543
BattleAI: avoid standing in moat
2024-09-02 15:31:36 +03:00
Xilmi
1176628a88
Update PriorityEvaluator.cpp
...
Workaround for weird -nan(ind) closestWayRatios.
2024-09-02 01:37:21 +02:00
Xilmi
09badeb5be
Enum for PriorityTiers
...
In order to not confuse PriorityTiers, especially after adding new ones, now using an enum to identify them.
2024-09-02 00:16:19 +02:00
Xilmi
c667ca46d1
Using correct priorityTier for Clusterization
...
Clusterizer now uses PriorityTier = 5 for evaluation, which is used to generate priority for guarded objects
2024-09-02 00:00:36 +02:00
Xilmi
64c3fbd519
Update ExecuteHeroChain.cpp
...
Now resetting the ObjectClusterizer as killing something might change the situation.
2024-09-01 23:58:47 +02:00
Xilmi
7c6f96344a
Update Nullkiller.cpp
...
Removed resetAiState from loop cause it has too many side-effects. Such as the loop going through all passes.
2024-09-01 19:33:43 +02:00
Xilmi
0e91f10bbc
Update Nullkiller.cpp
...
ResetAIState so that units realize what they can do after unlocking a cluster.
2024-09-01 17:21:53 +02:00
Xilmi
1ef5e8ab1b
Update PriorityEvaluator.cpp
...
Prevent building more buildings when we are saving for our favorite building.
2024-09-01 13:47:30 +02:00
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
be43c4d5f0
New hero-not acting
...
Fixed an issue that caused newly hired heroes to do nothing on the turn they were hired under certain circumstances.
2024-09-01 12:33:54 +02:00
Xilmi
0c488145b9
Update BuildAnalyzer.cpp
...
Revert unintentionally commited changes
2024-09-01 00:02:47 +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
Ivan Savenko
39e5ba32f6
Merge pull request #4530 from IvanSavenko/town_fortifications
...
Support for configurable town fortifications
2024-08-31 13:59:40 +03:00
Xilmi
f4578c6d3a
Merge branch 'pr/4528' into develop
2024-08-30 22:09:43 +02:00
Xilmi
ac8e5b3711
Update PriorityEvaluator.cpp
...
AI should score citadels and castles higher for better developed towns so that it focuses on finishing the main-town quicker as opposed to developing several smaller towns simultaneously.
2024-08-30 21:02:50 +02:00
Xilmi
56988e054a
New priority
...
1. Take / kill what is reachable in same turn
2. Defend
3. Take / kill what is further away
2024-08-30 18:05:47 +02:00
Xilmi
05d948b582
Priorities
...
Swapped priority of attacking and defending.
Troop-delivery-missions will check safety of the delivering hero.
2024-08-30 16:46:36 +02:00
Xilmi
987a51cccb
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-30 16:45:06 +02:00
Ivan Savenko
c3e76f19e1
Add workaround for very common crash in BattleAI
2024-08-30 12:25:55 +00:00
Ivan Savenko
644d6f4529
Merge pull request #4507 from vcmi/fix-battle-ai
...
Battle AI: fix firewall, fix haste spellcast evaluation for waits and…
2024-08-30 14:36:05 +03:00
MichalZ
e769e0a856
Merge branch 'vcmi:develop' into bug_fixes
2024-08-29 23:59:54 +02:00
Xilmi
dcec5637cd
Fix for defense-evaluation.
...
Defense-evaluation didn't fill armyInvolvement but it was what created the score for it. So there was only score if it also included a HeroExchange.
2024-08-29 21:01:06 +02:00
Xilmi
b8dacfc0be
Update Nullkiller.cpp
...
Fixed trade no longer working and changed log-output.
2024-08-29 20:49:01 +02:00
Xilmi
aea05b3fb8
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-29 14:42:37 +02:00
Ivan Savenko
36c1ed670f
Support for configurable town fortifications
...
Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.
It is now possible to define which parts of town fortifications are
provided by town buildings
Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".
Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
2024-08-28 19:42:14 +00:00
MichalZr6
ca3d81f047
fix crash on heroRoles.clear()
2024-08-28 15:22:00 +02:00
MichalZr6
7ae7c13964
drop setting reachability for turrets
2024-08-28 15:22:00 +02:00
Ivan Savenko
0fd9dbf240
Unified income handling, added IOwnableObject interface
2024-08-28 12:40:44 +00:00
Ivan Savenko
01396b62b7
Extracted handling of type ID's from serializer into a separate class
2024-08-26 19:48:46 +00:00
Ivan Savenko
b84af1a6de
Significantly simplify packs applying
...
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
...
IMarket refactoring
2024-08-26 22:48:23 +03:00
Ivan Savenko
897bc65e64
Merge pull request #4508 from kaja47/dead-code-must-die
...
remove never used code in CBonusSystemNode
2024-08-26 19:11:03 +03:00
Ivan Savenko
3d39963a1c
Merge branch 'master' into 'develop'
2024-08-26 14:01:00 +00:00
Andrii Danylchenko
ed36b1a882
Battle AI: fix casting Implosion when it kills target stack, fix casting summon elementals
2024-08-26 16:58:27 +03:00
Andrii Danylchenko
d55996cc46
Battle AI: fix firewall, fix haste spellcast evaluation for waits and movements, allow location spells
2024-08-26 11:31:00 +03:00
K
462c79e190
remove never used code in CBonusSystemNode
...
Method CBonusSystemNode::getAllBonuses have 'root' parameter which is never
set to anythig else than nullptr. This patch removes the parameter and all
code that depends on it as preparatory work for further bonus system
optimization.
2024-08-25 14:15:21 +02:00
Xilmi
69dc32a128
Don't cast spells with below 0 score.
...
The AI will no longer cast spells if the best spell's value is still below 0.
2024-08-24 17:15:15 +02:00
Xilmi
b92862c04d
New priorities
...
Added more priority-tiers
2024-08-24 14:55:26 +02:00
Xilmi
1d494f049d
Fix closest way ratio not initialized for ExecuteHeroChain
...
Fix closest way ratio not initialized for ExecuteHeroChain
2024-08-24 14:54:00 +02:00
Xilmi
bfd6ee2b09
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-24 12:25:03 +02:00
Andrii Danylchenko
01b6828df6
BattleAI: fix init env
2024-08-22 21:20:22 +03:00
Andrii Danylchenko
ff8a745a50
BattleAI: optional simulation depth
2024-08-21 23:27:42 +03:00
Andrii Danylchenko
22de88ad68
BattleAI: count wait correctly for fast creatures
2024-08-21 22:18:41 +03:00
Andrii Danylchenko
337f99942b
BattleAI: remove boost for archers while moving as actual stack may be small
2024-08-21 22:18:41 +03:00
Andrii Danylchenko
bc80532f29
BattleAI: improve movement towards unreachable
2024-08-21 22:18:40 +03:00
Andrii Danylchenko
26609d7a4f
BattleAI refactoring
2024-08-21 22:18:40 +03:00
Andrii Danylchenko
8cdfa26fb5
BattleAI: fix bait for archers when need to go long way
2024-08-21 22:18:40 +03:00
Andrii Danylchenko
b3fc6743d9
BattleAI: better retaliation calculation
2024-08-21 22:18:40 +03:00
SoundSSGood
2e3e6b1553
market->getObjInstanceID()
2024-08-21 01:01:23 +03:00
SoundSSGood
58bb2b58e3
IMarket suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
fd45b5144d
IMarket serializeable
2024-08-20 18:49:47 +03:00
Xilmi
11cec347f3
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-20 16:17:29 +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
00e5770aa3
Update PriorityEvaluator.cpp
...
Revert change that made AI too passive.
2024-08-18 21:22:05 +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
Xilmi
284f276108
Update Nullkiller.cpp
...
Don't trade away gold when the gold-pressure is high.
2024-08-18 09:47:37 +02:00
Xilmi
3be25d9414
Update PriorityEvaluator.cpp
...
Defend towns 1 turn earlier.
2024-08-18 09:47:05 +02:00
Ivan Savenko
f0448acaa3
TBB is now a dependency of lib. Implemented multithreaded xBRZ scale
2024-08-17 15:25:26 +00:00
Xilmi
8ad6d712c0
lowered aggression
...
Being less willing to rush across half the map to attack an enemy town only to find it too well defended when arriving there.
2024-08-15 18:16:23 +02:00
Xilmi
a79f76f32b
Update Nullkiller.cpp
...
Fix issue with selling/buying the same resources back and forth. But probably leads to not using the market early on. (needs more testing)
2024-08-15 18:15:29 +02:00
Xilmi
6193e6224f
Update FuzzyHelper.cpp
...
Added Multiplicative danger-modifier to citadels and castles.
2024-08-15 18:14:48 +02:00
Xilmi
f0ca1c6112
Update BuildAnalyzer.cpp
...
Removed the restrictions of the greedy-playstyle.
Only count forts as gold-producing prerequisites when no same- or higher-level fort exists somewhere else in the empire.
2024-08-15 18:13:44 +02:00
Ivan Savenko
d09fb07362
Use throwing ::at to prevent undefined behavior
2024-08-15 13:14:51 +00:00
Ivan Savenko
fe115c6917
Fix possible crash on trying to move to invalid battlefield hexes
2024-08-15 13:13:59 +00:00
Xilmi
b7e4219fde
More purposeful defending
...
Avoid defending towns that are out of reach for the enemy.
2024-08-14 22:53:48 +02:00
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
Ivan Savenko
49c5f650f7
Merge pull request #4437 from IvanSavenko/battle_sides
...
Unified handling of battle sides ID's
2024-08-14 18:37:05 +03:00
Ivan Savenko
5c7c4a7810
Merge pull request #4443 from IvanSavenko/fix_sonar
...
Fix miscellaneous issues discovered by Sonar
2024-08-14 17:12:27 +03:00
Ivan Savenko
ac717d57ea
Merge pull request #4445 from IvanSavenko/fix_ranged_attack
...
Do not try to shoot at 2nd hex of wide creatures
2024-08-14 17:05:12 +03:00
Ivan Savenko
38311244a4
Merge pull request #4402 from Laserlicht/8th_creature
...
support for 8th creature (Factory)
2024-08-14 17:04:32 +03:00
Ivan Savenko
cd6d55fe75
Do not try to shoot at 2nd hex of wide creatures
2024-08-14 10:38:59 +00: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
Ivan Savenko
97f1a310df
Fix miscellaneous issues discovered by Sonar
2024-08-12 18:26:30 +00:00
Xilmi
068e3bdc59
Fix endless loop
...
Fixed an endless-loop caused by someone removing this ", turn++".
2024-08-12 19:47:15 +02:00
Ivan Savenko
2a05fbdd50
Unified handling of battle sides ID's
...
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00: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
Laserlicht
170f375179
code review
2024-08-10 00:29:30 +02: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
Laserlicht
475b769eef
fix ToW
2024-08-07 01:35:50 +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
Laserlicht
14bcfad7b0
fix upgrade
2024-08-06 23:28:45 +02:00