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
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
3bea383b59
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-06-21 12:58:36 +00:00
Ivan Savenko
0e4be8c776
Fix crash on sieging Citadel or Castle
2024-06-19 19:59:06 +00: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
Ivan Savenko
eb67e04ccb
Remove old and unmaintained codeblocks project
2024-05-17 10:44:57 +00:00
Ivan Savenko
3f6eb13ee0
Delete old and unmaintained msvc project files
2024-05-17 10:44:11 +00:00
Andrii Danylchenko
0935f931fa
BattleAI: fix bypassing 2-hex moat
2024-04-20 15:28:57 +03:00
Ivan Savenko
ced0bbe526
Remove "catch everything and silently ignore" block
2024-04-16 18:54:51 +03:00
Ivan Savenko
9e49587749
Replace bonus string description with metastring that can properly
...
handle translations
2024-04-09 16:13:30 +03:00
Ivan Savenko
7359b66f99
Do not use floating point equality checks
2024-02-14 12:07:07 +02:00
Ivan Savenko
9ebd194ab1
Merge pull request #3609 from IvanSavenko/single_process
...
Allow running server as part of client process
2024-02-14 12:06:22 +02:00
Ivan Savenko
4c70abbeb5
Reduced usage of global variables - removed or made const / constexpr
2024-02-12 13:49:45 +02:00
Ivan Savenko
a909d7ddde
Removed cmake_modules/VCMI_lib macro, use it directly in place
2024-02-11 20:38:24 +02:00
Ivan Savenko
f08c9f4d59
Renamed ENABLE_STATIC_AI_LIBS option to match its actual effect
2024-02-11 17:55:02 +02:00
Andrii Danylchenko
ec5c44bb92
Merge pull request #3594 from vcmi/fix-3550
...
#3550 - fix case when unit is in reachability map but only next turn
2024-02-04 10:07:44 +02:00
Andrii Danylchenko
c66de29550
#3550 - fix case when unit is in reachability map but only next turn
2024-02-03 17:48:52 +02: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
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Alexander Wilms
73019c204d
Replace redundant types with auto
for the lvalues of template factory functions for smart pointers
...
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = ":".join(line.split(":")[1:]).strip()
print()
print(path)
print(original_code)
prefix = "auto "
if original_code.startswith("static"):
static = True
else:
static = False
cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
print(cpp_type)
if static:
new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
else:
new_code = "auto "+ " ".join(original_code.split(" ")[1:])
print(new_code)
if True:
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-17 12:50:00 +00: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
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00: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
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