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

1786 Commits

Author SHA1 Message Date
Andrii Danylchenko
07ae33b8f4 BattleAI: missing lock 2024-09-03 13:02:58 +03: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
0fd9dbf240 Unified income handling, added IOwnableObject interface 2024-08-28 12:40:44 +00:00
Ivan Savenko
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
Ivan Savenko
b84af1a6de Significantly simplify packs applying
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
IMarket refactoring
2024-08-26 22:48:23 +03: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
01b6828df6 BattleAI: fix init env 2024-08-22 21:20:22 +03: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
SoundSSGood
2e3e6b1553 market->getObjInstanceID() 2024-08-21 01:01:23 +03:00
SoundSSGood
58bb2b58e3 IMarket suggestions
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
fd45b5144d IMarket serializeable 2024-08-20 18:49:47 +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
ac717d57ea
Merge pull request #4445 from IvanSavenko/fix_ranged_attack
Do not try to shoot at 2nd hex of wide creatures
2024-08-14 17:05:12 +03:00
Ivan Savenko
38311244a4
Merge pull request #4402 from Laserlicht/8th_creature
support for 8th creature (Factory)
2024-08-14 17:04:32 +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
78dea24017 Visual logger colored text 2024-08-10 19:13:09 +03:00
Andrii Danylchenko
47c77826c3 Visual logger map texts 2024-08-10 13:04:35 +03:00
Andrii Danylchenko
9ffd6368d4 Add visual logger for battle interface 2024-08-10 10:54:20 +03:00
Laserlicht
170f375179 code review 2024-08-10 00:29:30 +02:00
Laserlicht
475b769eef fix ToW 2024-08-07 01:35:50 +02:00
Laserlicht
14bcfad7b0 fix upgrade 2024-08-06 23:28:45 +02:00
Laserlicht
ebeeff5aa3 abstraction layer 2024-08-05 23:51:07 +02:00
Laserlicht
3afddbbf29 replaced constant 2024-08-05 23:03:19 +02:00
Laserlicht
1a06a2cc44 basic 8th creature support 2024-08-05 21:15:47 +02: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
3d856bfa9d Merge remote-tracking branch 'origin/develop' into battle-ai-fixes 2024-08-03 12:54:25 +03:00
Andrii Danylchenko
9edb0afff8 BattleAI: fix dragonbreath retaliation 2024-07-28 14:41:32 +03:00
Laserlicht
bfd1e8a7c8 calculate income 2024-07-25 02:51:00 +02:00