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
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
503b87561e
Converted all h3 banks to rewardable, remove most of hardcoded checks
2024-09-12 12:11:18 +00:00
Xilmi
df119370c7
Exploration
...
Slightly adjust the value of exploring within the hunter-gather-prirority.
2024-09-10 00:23:17 +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
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
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
Xilmi
dafc9cd8a8
Update PriorityEvaluator.cpp
...
Replace float-comparisons with zero by vstd::isAlmostZero
2024-09-05 16:40:06 +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
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
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
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
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
b92862c04d
New priorities
...
Added more priority-tiers
2024-08-24 14:55:26 +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
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
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
b7e4219fde
More purposeful defending
...
Avoid defending towns that are out of reach for the enemy.
2024-08-14 22:53:48 +02:00
Ivan Savenko
97f1a310df
Fix miscellaneous issues discovered by Sonar
2024-08-12 18:26:30 +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
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
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
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
909c308614
Update Nullkiller.cpp
...
Removed unused variable.
2024-07-24 21:46:18 +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