1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-05-22 09:55:17 +02:00
Commit Graph

55 Commits

Author SHA1 Message Date
Xilmi d679ee72b9 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-22 12:21:20 +02:00
Laserlicht a1384bf47f defending, when not possible to attack invincible 2024-09-19 20:54:50 +02: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
Xilmi 5999c6d891 Update BattleEvaluator.cpp
Removed now unnecessary additional check for dead units.
2024-09-09 19:54:20 +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
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
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 987a51cccb Merge remote-tracking branch 'upstream/develop' into develop 2024-08-30 16:45:06 +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
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
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 bfd6ee2b09 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-24 12:25:03 +02:00
Andrii Danylchenko ff8a745a50 BattleAI: optional simulation depth 2024-08-21 23:27:42 +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
Xilmi e6d907af55 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-18 09:52:59 +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 a454ecfe38 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-10 11:05:28 +02:00
Andrii Danylchenko 33e0eeaa8a BattleAI: fix dragon breath 2024-07-22 20:39:32 +03:00
Xilmi 6f9309696d Merge remote-tracking branch 'upstream/develop' into develop 2024-07-21 19:06:14 +02:00
Ivan Savenko 1c522c49b6 Fix possible crash on trying to move to invalid battlefield hexes 2024-07-20 18:28:13 +00:00
Xilmi a821978d4e Merge remote-tracking branch 'upstream/develop' into develop 2024-07-12 17:43:04 +02:00
Ivan Savenko 6b8f94e6e7 Merge remote-tracking branch 'vcmi/master' into develop 2024-07-11 17:43:44 +00:00
Xilmi 98415e98da Spellcasting-bug-fix
Fixed a bug that prevented the AI from using spells when attacking an enemy settlement that has towers.
The bug was caused by noticing how greatly effective spells would be against towers but not being able to actually target them.
By skipping invalid targets, this no longer is an issue.
2024-07-10 14:36:35 +00:00
Xilmi 073c5bee45 Spellcasting fixes
Allowed the AI to cast spells that are aimed at a location instead of a unit. For example meteor shower.
Fixed an issue that caused the AI to not kill unit-stacks with spells due to only considering stacks where at least one unit survives in it's score-calculations.
2024-07-10 02:40:42 +02:00
Xilmi 13bbb573bd Spellcasting-bug-fix
Fixed a bug that prevented the AI from using spells when attacking an enemy settlement that has towers.
The bug was caused by noticing how greatly effective spells would be against towers but not being able to actually target them.
By skipping invalid targets, this no longer is an issue.
2024-07-09 22:55:39 +02:00
Alexander Wilms 02e429e973 Fix typos using https://github.com/crate-ci/typos
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko a9cf322f61 Merge pull request #4161 from vcmi/fix-4142
#4142 - sometimes Battle AI wants to attack unit which is behind a lo…
2024-06-19 21:28:58 +03:00
Andrii Danylchenko fc32078a3a #4142 - sometimes Battle AI wants to attack unit which is behind a lot of obstackles and other units 2024-06-18 20:03:07 +03:00
Ivan Savenko b7efa6c8cc Fixed potential thread races in Battle AI 2024-06-17 16:15:19 +00:00
Andrii Danylchenko 0935f931fa BattleAI: fix bypassing 2-hex moat 2024-04-20 15:28:57 +03:00
Ivan Savenko a9866bb5c6 Added RandomGeneratorUtil::nextItemWeighted convenience method 2024-01-31 00:17:40 +02:00
Ivan Savenko d5c4478816 Remove most of non-const access to VLC entities 2024-01-19 13:54:49 +02:00
Ivan Savenko a582cb554e Merge pull request #3500 from IvanSavenko/fix_dendroid_bind
[1.4.3] Fix handling of Dendroid's Bind ability
2024-01-15 12:02:06 +02:00
Ivan Savenko 0d0d3d8c80 Renamed speed -> getMovementRange, remove misleading default parameter 2024-01-14 17:14:36 +02:00
Andrii Danylchenko 3602be5eab BattleAI: remove adjustPositions method as it gives more troubles than usefulness 2024-01-14 10:23:44 +02:00
Andrii Danylchenko 1a1ae5cd8b BattleAI: fixes 2024-01-02 17:35:10 +02:00
Ivan Savenko 85de3143ff Fixed Genie spellcasting logic to account for spell immunities 2023-12-24 01:13:19 +02:00
Dydzio fe39faf36c Add UNTIL_OWN_ATTACK bonus duration and use for berserk 2023-12-19 19:52:40 +01:00
Alexander Wilms 5cbc75d3b7 Merge remote-tracking branch 'upstream/develop' into develop 2023-10-29 13:35:37 +00:00
Alexander Wilms 0232ae5327 AI/BattleAI/BattleEvaluator.cpp: Convert this integer literal to a bool literal.
Integer literals should not be cast to bool
2023-10-29 13:34:19 +00:00
Alexander Wilms af330ff038 AI/BattleAI/BattleEvaluator.cpp: Remove this redundant cast.
Redundant casts should not be used
2023-10-27 18:19:17 +00:00
Andrii Danylchenko 870fbd50e3 BattleAI: bigger reachability map 2023-10-22 21:37:55 +03:00
Andrii Danylchenko 9eb9404f28 BattleAI: divide only positive part of score onto turns count 2023-10-22 21:37:54 +03:00