Ivan Savenko
a8e84c55f6
Fix some of the new warnings from sonarcloud
2024-10-11 10:45:29 +00:00
Ivan Savenko
c0f5c7c0ea
Replace pointer with reference in pack apply functions
2024-10-07 14:59:46 +00:00
MichalZr6
259fcedc85
Fix flying units move into damaging obstacles
2024-10-03 23:03:36 +02:00
Ivan Savenko
76e3ca4afe
Fix potential access to destroyed variable on stack
2024-09-22 20:32:20 +00:00
Ivan Savenko
6832a5c4be
Merge pull request #4599 from MichalZr6/fix_hero_access_check
...
Fix error "hero access check" flooding console during quick-battle
2024-09-20 13:01:49 +03:00
Laserlicht
a1384bf47f
defending, when not possible to attack invincible
2024-09-19 20:54:50 +02:00
MichalZr6
cb9070fb5b
Fix unnecesarry error log in console from CBattleInfoEssentials::battleGetFightingHero
2024-09-15 08:51:05 +02:00
Ivan Savenko
39a2c29c97
Removed creatureBank flag from battle, battles now receive BattleLayout
...
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
Ivan Savenko
48b0a222a0
Merge pull request #4570 from kdmcser/crash_fix
...
fix Ballista Bank Mod auto combat crash
2024-09-12 14:16:41 +03:00
kdmcser
312403962b
Update BattleExchangeVariant.cpp
...
fix.compile error
2024-09-11 11:39:03 +08:00
kdmcser
bb759dc2b8
fix compile error
2024-09-11 01:43:30 +08:00
kdmcser
58cdbccf21
Update AI/BattleAI/BattleExchangeVariant.cpp
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-09-10 15:29:11 +08:00
kdmcser
c5b598b277
fix Ballista Bank Mod auto combat crash
2024-09-08 01:05:03 +08:00
Andrii Danylchenko
f9442208da
BattleAI: avoid standing in moat
2024-09-03 13:02:58 +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
Ivan Savenko
c3e76f19e1
Add workaround for very common crash in BattleAI
2024-08-30 12:25:55 +00:00
Ivan Savenko
644d6f4529
Merge pull request #4507 from vcmi/fix-battle-ai
...
Battle AI: fix firewall, fix haste spellcast evaluation for waits and…
2024-08-30 14:36:05 +03: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
Ivan Savenko
897bc65e64
Merge pull request #4508 from kaja47/dead-code-must-die
...
remove never used code in CBonusSystemNode
2024-08-26 19:11:03 +03:00
Ivan Savenko
3d39963a1c
Merge branch 'master' into 'develop'
2024-08-26 14:01:00 +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
K
462c79e190
remove never used code in CBonusSystemNode
...
Method CBonusSystemNode::getAllBonuses have 'root' parameter which is never
set to anythig else than nullptr. This patch removes the parameter and all
code that depends on it as preparatory work for further bonus system
optimization.
2024-08-25 14:15:21 +02:00
Andrii Danylchenko
ff8a745a50
BattleAI: optional simulation depth
2024-08-21 23:27:42 +03:00
Andrii Danylchenko
22de88ad68
BattleAI: count wait correctly for fast creatures
2024-08-21 22:18:41 +03:00
Andrii Danylchenko
337f99942b
BattleAI: remove boost for archers while moving as actual stack may be small
2024-08-21 22:18:41 +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
Andrii Danylchenko
b3fc6743d9
BattleAI: better retaliation calculation
2024-08-21 22:18:40 +03:00
Ivan Savenko
f0448acaa3
TBB is now a dependency of lib. Implemented multithreaded xBRZ scale
2024-08-17 15:25:26 +00:00
Ivan Savenko
d09fb07362
Use throwing ::at to prevent undefined behavior
2024-08-15 13:14:51 +00:00
Ivan Savenko
fe115c6917
Fix possible crash on trying to move to invalid battlefield hexes
2024-08-15 13:13:59 +00:00
Ivan Savenko
49c5f650f7
Merge pull request #4437 from IvanSavenko/battle_sides
...
Unified handling of battle sides ID's
2024-08-14 18:37:05 +03:00
Ivan Savenko
5c7c4a7810
Merge pull request #4443 from IvanSavenko/fix_sonar
...
Fix miscellaneous issues discovered by Sonar
2024-08-14 17:12:27 +03:00
Ivan Savenko
cd6d55fe75
Do not try to shoot at 2nd hex of wide creatures
2024-08-14 10:38:59 +00:00
Ivan Savenko
97f1a310df
Fix miscellaneous issues discovered by Sonar
2024-08-12 18:26:30 +00: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
Andrii Danylchenko
9ffd6368d4
Add visual logger for battle interface
2024-08-10 10:54:20 +03:00
Andrii Danylchenko
51b8bc9fc3
BattleAI: fix shhoters waiting and reduce strength of our loss affecting decissions
2024-08-04 17:50:19 +03:00
Andrii Danylchenko
801e919e7e
BattleAI: fix ap calculation in exchange variant
2024-08-03 20:35:20 +03:00
Andrii Danylchenko
9edb0afff8
BattleAI: fix dragonbreath retaliation
2024-07-28 14:41:32 +03:00
Andrii Danylchenko
da46d5d01b
BattleAI: take into account defender dragon breath and other mutitarget attacks
2024-07-22 20:39:33 +03:00
Andrii Danylchenko
4e83deca92
BattleAI: fix waited attack calculation
2024-07-22 20:39:33 +03:00
Andrii Danylchenko
33e0eeaa8a
BattleAI: fix dragon breath
2024-07-22 20:39:32 +03:00
Ivan Savenko
1c522c49b6
Fix possible crash on trying to move to invalid battlefield hexes
2024-07-20 18:28:13 +00:00
Ivan Savenko
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
Ivan Savenko
60a51e98de
Remove usage of std::function from CRandomGenerator
2024-07-16 13:13:07 +00: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