Ivan Savenko
d326c53b9a
AI will now respect current value of "Use spells in autocombat" setting
2023-11-28 15:48:35 +02:00
Ivan Savenko
b58301849b
Pass functor via reference to avoid costly copies
2023-11-18 19:43:11 +02:00
Ivan Savenko
9b8145f522
Compute creature speed only once during evaluation
2023-11-18 19:41:29 +02:00
Alexander Wilms
5cbc75d3b7
Merge remote-tracking branch 'upstream/develop' into develop
2023-10-29 13:35:37 +00:00
Alexander Wilms
ed86a917eb
AI/BattleAI/BattleAI.cpp: Use Class template argument deduction for wallParts array
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-10-29 13:34:19 +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
bfddc90ff4
AI/BattleAI.cpp: Use "std::array" or "std::vector" instead of a C-style array.
...
Variables of array type should not be declared cpp:M23_356
2023-10-29 13:34:19 +00:00
Ivan Savenko
0169c65937
Merge pull request #3100 from IvanSavenko/split_net_packs
...
Split netpacks.h into multiple files
2023-10-29 13:46:40 +02:00
Alexander Wilms
457e73ed12
AI/BattleAI/BattleExchangeVariant.cpp: Do not assign data members in a constructor. Initialize members in an initialization list.
...
Member data should be initialized in-class or in a constructor initialization list
2023-10-27 23:34:11 +00:00
Alexander Wilms
b10b1a5444
AI/BattleAI/BattleExchangeVariant.cpp: This function should be declared "const".
...
Member functions that don't mutate their objects should be declared "const"
2023-10-27 23:34:11 +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
Ivan Savenko
5cbf5031ea
move SetStackEffect to a separate file
2023-10-24 01:27:52 +03:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Andrii Danylchenko
f74daa2e1f
BattleAI: fix health bounty calculation
2023-10-22 22:06:42 +03: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
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
...
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.
This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.
Files that are Windows specific like *.vcxproj and *.props files were
not converted.
Closes : #3073
2023-10-19 16:23:21 +02:00
Ivan Savenko
ef94e7a78a
Fix build
2023-09-06 16:03:47 +03:00
Ivan Savenko
9fa7a93fb0
Properly pass battleID in all battle netpack's
2023-09-06 16:03:47 +03:00
Ivan Savenko
036df2e0ad
Support multiple battles in AI
2023-09-06 16:03:46 +03:00
Ivan Savenko
3a88180494
Separated game and battle callback (server & client only)
2023-09-06 16:03:39 +03:00
Ivan Savenko
86a7f5f5cd
Removed getStr(bool), replaced with similar toString()
2023-09-04 22:21:02 +03:00
Ivan Savenko
f6a4a1ae0c
Merge pull request #2686 from vcmi/fix-battle-freeze
...
BattleAI: fix freeze
2023-08-31 01:06:47 +03:00
Ivan Savenko
695a51d8c8
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-28 21:19:53 +03:00
Andrii Danylchenko
4b807e01f1
BattleAI: fix freeze
2023-08-27 21:03:55 +03:00
Andrii Danylchenko
5f13a0bbda
BattleAI: spellcast fixes and floating point score
2023-08-26 14:17:33 +03:00
Andrii Danylchenko
dc88f14e0b
BattleAI: positive/negative effect multiplier
2023-08-26 13:06:51 +03:00
Andrii Danylchenko
03395a3d8a
TBB for battle AI spellcast an fixes
2023-08-26 13:06:51 +03:00
Andrii Danylchenko
274bf739b8
BattleAI: damage cache and switch to different model of spells evaluation
2023-08-26 13:06:51 +03:00
Ivan Savenko
0240ee886d
Converted (almost) all namespace enum's to enum classes
2023-08-25 13:38:02 +03:00
Ivan Savenko
2be9664d26
Remove no longer used code
2023-08-21 17:55:49 +03:00
Ivan Savenko
013417fb7e
Code cleanup
2023-08-21 17:55:49 +03:00
Ivan Savenko
a1d3181a98
Unified spellcasting handling with other actions
2023-08-21 17:55:49 +03:00
Ivan Savenko
6297140bf5
Start of stabilization - battles now start correctly
2023-08-21 17:55:49 +03:00
Dydzio
6bfbe80cc9
Allow toggling quick combat spells usage
2023-08-19 17:23:55 +02:00
Andrii Danylchenko
ba9998ac66
BattleAI: fast targets optimization
2023-08-08 20:10:29 +03:00
Andrii Danylchenko
e7394ad20c
BattleAI: log time to make a decission
2023-08-08 18:54:49 +03:00
Andrii Danylchenko
f1a9ae99ee
NKAI: various behavior fixes, undo max_gold_preasure
2023-07-31 22:01:12 +03:00
Ivan Savenko
aed8c411fc
Minor rework & cleanup of combat replays
2023-07-27 19:25:55 +03:00
Ivan Savenko
e23166df88
Fix locking of mutexes by StupidAI
2023-07-24 23:01:18 +03:00
Ivan Savenko
639880a426
Fix handling of tactics by AI
2023-07-23 14:03:22 +03:00
Ivan Savenko
58dd87d727
Fix AI spellcasting
2023-07-19 12:54:23 +03:00
Ivan Savenko
556763fb7b
Fixed handling of tactics
2023-07-18 22:02:35 +03:00
Ivan Savenko
1bf6bbd9b6
Significantly simplified threading model in battles
2023-07-18 19:55:59 +03:00
Ivan Savenko
f27f5ebc7c
Split BattleAI::activeStack into several smaller methods
2023-07-18 17:35:19 +03:00
Andrii Danylchenko
fe65edd55d
BattleAI: stacks should not measure damage against turret
2023-05-10 09:22:13 +03:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Konstantin
fbc05c70ac
vcmi: camelCase methods of new classes
...
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00