Ivan Savenko
5332ad59a4
Remove copy-pasted code
2024-11-26 19:13:10 +00:00
Xilmi
c838f5d0c2
Update BattleEvaluator.cpp
...
Restored spell-damage-calculations for units that would die from spells.
2024-10-11 20:27:18 +02:00
Xilmi
9a40577994
Merge remote-tracking branch 'upstream/develop' into develop
2024-10-08 16:15:22 +02:00
MichalZr6
259fcedc85
Fix flying units move into damaging obstacles
2024-10-03 23:03:36 +02:00
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