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

670 Commits

Author SHA1 Message Date
Xilmi
1495ec56f6 Update AINodeStorage.cpp
The node of a disembark-action can no longer be part of a hero-chain since sea-to-land-trade isn't possible and landing first eats up all movement-points.
2024-09-15 20:46:17 +02:00
Xilmi
c88165f900 Update PriorityEvaluator.cpp
Whirlpools are no longer explorePriority 1 as the AI would then try out all of it's 5 entries on both sides.
2024-09-14 13:41:14 +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
503b87561e Converted all h3 banks to rewardable, remove most of hardcoded checks 2024-09-12 12:11:18 +00:00
Xilmi
aefe2fda36 Update BuildingBehavior.cpp
No longer rush a fort in a threatened town.
2024-09-10 23:42:51 +02:00
Xilmi
065125e770 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-10 14:57:27 +02: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
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
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
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
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