1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-01 00:45:26 +02:00
Commit Graph

23 Commits

Author SHA1 Message Date
f238d89601 NKAI - Prefer giving fast units to scouts
Nullkiller AI will now prefer giving its scout heroes faster units to
optimize their movement points on next turns.

Unit selection logic:
- AI prefers to give 'weak' units that won't affect army strength of main
hero. Unit is considered 'weak' if its level below 4 or if its AI value
is below 1% of total army strength. So AI can give high-tier unit to
scout, but only if main hero already has massive army.

- Within weak units, if hero is moving on terrain with penalty, AI will
always prefer units that are native to this terrain. So on snow AI will
always prefer unit from Tower even if its speed is lower than unit from
another faction.

- Within remaining candidates, AI will prefer unit that will give higher
movement points limit. This also means that in case of H3 rules, all
units with 11+ speed will be viewed as equally good

- If there are multiple units with same speed, AI will prefer unit with
lowest AI value
2025-02-11 16:37:54 +00:00
fac18d953e Fixed and improved disband-logic
The score for buying army now scales with the cost of that army.
The cost of the units that need to be disbanded in order to hire the new units is subtracted from the army-hiring-score so the AI will prefer hiring armies where the amount of troops to disband is low or non-existent.
Fixed a bug that also disbanded troops when there still were free slots available.
2024-12-13 00:09:10 +01:00
5ed888b284 Update BuyArmyBehavior.cpp
Accomplish the same but with simpler code.
2024-09-12 20:07:22 +02:00
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
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
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
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
7d925b3689 Fix typo: Preasure -> Pressure 2024-04-16 21:10:15 +00:00
728f673763 NKAI: remove static ai field 2024-03-31 21:11:25 +03:00
35429eab52 NKAI: moddable configuration 2024-03-01 22:03:07 +02:00
87957e74c1 Replaced boost::thread_specific_ptr with thread_local 2023-08-23 16:32:29 +03:00
87fcfa4add Removed excessive pathfinder includes 2023-06-21 12:00:44 +03:00
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
3676152644 #1102 - NKAI: one more freeze - no mains with strong army 2022-11-10 21:12:08 +02:00
eeea01d778 NKAI: namespace 2022-10-04 08:40:14 +03:00
b4241670ba Nullkiller: rename VCAI to AIGateway 2021-07-26 21:02:50 +03:00
1806dd8447 Nullkiller: remove AIhelper + refactoring 2021-07-26 21:02:50 +03:00
8f8c5ca255 Nullkiller: initial decomposition 2021-07-26 21:02:50 +03:00
223a52b3d1 Nullkiller: Try to join behavior and goal and see what come out of it. 2021-07-26 21:02:50 +03:00
17a960e850 Nullkiller: gold preasure and turn variables for priority evaluation. Tweaking building behavior 2021-07-26 21:02:50 +03:00
ada76a5603 Nullkiller: fix file headers, move fuzzy config to ai folder 2021-07-26 21:02:50 +03:00
e3c87fb58d Nullkiller: stabilisation and fixes 2021-07-26 21:02:50 +03:00
04bf6f536d Nullkiller: temporary hacks to allow army buying 2021-07-26 21:02:50 +03:00