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

1578 Commits

Author SHA1 Message Date
Evgeniy Meshcheryakov
ecf9b1aa2f Fix NKAI compilation with NKAI_PATHFINDER_TRACE_LEVEL>=2 2023-09-04 10:08:56 +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
nordsoft
98f7ed9dfd Implement player start turn query 2023-08-28 18:56:36 +04:00
Andrii Danylchenko
4b807e01f1 BattleAI: fix freeze 2023-08-27 21:03:55 +03:00
Ivan Savenko
ce20d913e0 Fix checking PlayerColor's for validness 2023-08-27 01:35:38 +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
e54287ea5d Converted remaining identifier to new system 2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d Converted (almost) all namespace enum's to enum classes 2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4 Converted several namespace enums to enum class 2023-08-25 13:38:02 +03:00
Ivan Savenko
17d3d663ee Converted creature ID and spell ID to new form 2023-08-25 13:38:02 +03:00
Ivan Savenko
ec8d31bbfc First step at unifying game identifiers code 2023-08-25 13:38:01 +03:00
Ivan Savenko
d83aa828f6 Fix turn ending 2023-08-24 23:34:33 +03:00
Ivan Savenko
44d16b32fe Use API identical to std classes where possible 2023-08-23 16:32:29 +03:00
Ivan Savenko
87957e74c1 Replaced boost::thread_specific_ptr with thread_local 2023-08-23 16:32:29 +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
d8eef4905a Implement new callback in stupidAI 2023-08-20 13:53:25 +02:00
Dydzio
6bfbe80cc9 Allow toggling quick combat spells usage 2023-08-19 17:23:55 +02:00
Andrii Danylchenko
1eabb738dc NKAI: fix heroes not recruited 2023-08-13 09:08:30 +03:00
Ivan Savenko
92ce97bbc7 Merge remote-tracking branch 'vcmi/master' into beta 2023-08-12 16:20:06 +03:00
DjWarmonger
654489d5d3
Merge pull request #2525 from vcmi/battle-fast-targets
Battle fast targets
2023-08-12 09:22:25 +02:00
Ivan Savenko
67b7c39761 Fix possible nullptr dereference 2023-08-11 18:50:39 +03: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
Ivan Savenko
e57f8742cd Rename ambiguos 'clear' to 'clearSlots'
A lot of map objects inherit from CCreatureSet and as result - get
clean() method that resets object army
2023-08-07 19:13:02 +03:00
Andrii Danylchenko
1eb58bcc32 NKAI: fix potential concurrency and town treat calculation 2023-08-07 17:29:27 +03:00
Andrii Danylchenko
04fe78d31c NKAI: fix freeze on army gathering 2023-08-07 17:29:17 +03:00
Ivan Savenko
3f6cbc6312
Merge pull request #2484 from vcmi/nkai-fix-freeze
NKAI: fix freeze on army gathering
2023-08-07 16:52:59 +03:00
Andrii Danylchenko
60f0a4553a NKAI: fix freeze on army gathering 2023-08-06 09:03:29 +03:00
Andrii Danylchenko
a4297ebdf6 NKAI: fix potential concurrency and town treat calculation 2023-08-06 08:57:14 +03:00
Tomasz Zieliński
3b238ff15e Fix weekly visitable check 2023-08-01 17:30:47 +03:00
Andrii Danylchenko
4c0aae6fbd NKAI: fix crash for specific map 2023-07-31 22:01:12 +03:00
Andrii Danylchenko
ccfc6f5716 NKAI: increase towns priority, buy heroes more often 2023-07-31 22:01:12 +03:00
Andrii Danylchenko
ec0596f3dd NKAI: fix error message can not take away last stack 2023-07-31 22:01:12 +03:00
Andrii Danylchenko
f1a9ae99ee NKAI: various behavior fixes, undo max_gold_preasure 2023-07-31 22:01:12 +03:00
Andrii Danylchenko
fb7477047a NKAI: loosen gold presure on build system. 2023-07-31 22:01:12 +03:00
Andrii Danylchenko
6490c65490 nkai: fix freezes 2023-07-31 22:01:12 +03:00
Andrii Danylchenko
c93bb0a502 nkai: fixes and skill rewards 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
202e13ce2e NKAI: log paths scan depth 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
5083100d3b NKA: fix accessing removed hero and heroExchangeCount 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
db2be3ee05 Anoother unused variable 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
850da65f80 Another build fix 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
88178567b1 Remove unused variable 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
e483f06e0f Remove unused variable 2023-07-31 22:01:11 +03:00
Tomasz Zieliński
5bffea0aac Use new interface 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
69ceee5dd6 NKAI: penalty for extra chains 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
0fd118d3ce NKAI: gold reward 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
6ba74f02bc NKAI: playing around with defence 2023-07-31 22:01:11 +03:00
Andrii Danylchenko
b19ac01bf9 Fuzzy rework, added more defence and gather army routines 2023-07-31 22:01:10 +03:00
Andrii Danylchenko
b1ca663eb6 Fuzzy rework 2023-07-31 22:01:10 +03:00
Andrii Danylchenko
38a98387e4 Temp fix for blocked in garrison ai. 2023-07-31 22:01:10 +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
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Andrii Danylchenko
b1ef0f6301 #1912 Some logging and fix for allied garrison 2023-07-09 10:21:58 +03:00
SoundSSGood
9b5f6ec7cf CArtifact getters setters 2023-07-05 15:48:08 +03:00
Ivan Savenko
1cbc6457ce Fix possible assertion failure on removing non-owned town 2023-07-04 20:28:02 +03:00
Ivan Savenko
85262cf4f5 Moved CGameState files into a separate directory 2023-06-26 17:15:59 +03:00
Ivan Savenko
e0ea994656 Moved some pathfinding options to game settings 2023-06-25 17:42:36 +03:00
Ivan Savenko
08cfbe79cf Added encapsulation for movement points access 2023-06-25 17:42:36 +03:00
Ivan Savenko
f7b27da00e Implemented support for "coast visitable" objects:
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
ebc7a82c2e Converted pathfinder enum's to enum class 2023-06-21 15:38:57 +03:00
Ivan Savenko
f78470a301 Fix build 2023-06-21 14:55:25 +03:00
Ivan Savenko
bd4d2788ed Split pathfinder into multiple smaller files 2023-06-21 13:46:09 +03:00
Ivan Savenko
87fcfa4add Removed excessive pathfinder includes 2023-06-21 12:00:44 +03:00
Ivan Savenko
d51fe62804 Win/loss condition texts use MetaString 2023-06-20 19:37:27 +03:00
Ivan Savenko
6f743916db Moved CGCreature to a new file 2023-06-20 19:37:27 +03:00
Ivan Savenko
6aedb99117 Cleaned up IShipyard interface 2023-06-16 17:59:10 +03:00
Ivan Savenko
5cfbdd2967 Partially split CommonConstructors.cpp into few separate files 2023-06-16 17:59:10 +03:00
Evgeniy Meshcheryakov
6591508618 Fix crash in VCAI 2023-06-15 14:22:33 +03:00
Ivan Savenko
97b3b2e147 Fix build 2023-06-03 00:48:32 +03:00
Ivan Savenko
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Andrii Danylchenko
fe65edd55d BattleAI: stacks should not measure damage against turret 2023-05-10 09:22:13 +03:00
Andrii Danylchenko
0829593356 NKAI: composite pathfinder actions and fix for guarded bordergate 2023-05-07 09:15:37 +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
1d34c73c2d vcmi: split CBonusSystemNode, BonusParams and prop
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
713e3004df vcmi: rename updater and limiter files 2023-05-02 00:53:51 +03:00
Konstantin
e37f798a68 vcmi: split bonus updaters 2023-05-02 00:53:50 +03:00
Konstantin
416faf521e vcmi: move limiters outside of HeroBonus.cpp
This will help for recompilation.
2023-05-02 00:53:50 +03:00
Konstantin
6fa1b2b19f vcmi: move bonuses to its own folder 2023-05-02 00:53:50 +03:00
Konstantin
af25ad0866 vcmi: split creatures and faction members 2023-05-02 00:53:50 +03:00
Nordsoft91
c9b59735cf
Merge pull request #2101 from Nordsoft91/rewardable-expand
Part 2: refactoring for rewardable object
2023-05-02 01:19:57 +04:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
97a1758e8e Merge remote-tracking branch 'upstream/develop' into rewardable-expand 2023-05-01 21:51:10 +04:00
nordsoft
eb577a03b5 Deprecating enum constants 2023-05-01 21:49:37 +04:00
nordsoft
4b1b58b617 Change Callback to abstract 2023-05-01 21:49:37 +04:00
nordsoft
59bc9326e9 Remove excess pointer from market interface 2023-05-01 21:49:37 +04:00
Ivan Savenko
a654cc2391 Removed vstd::advance. Added vstd::next to handle similar cases. 2023-05-01 17:58:18 +03:00
nordsoft
203d0a4f91 Merge remote-tracking branch 'upstream/develop' into rewardable-expand
# Conflicts:
#	lib/JsonRandom.cpp
2023-05-01 02:07:20 +04:00
nordsoft
1b4d117790 deeper decoupling 2023-04-30 17:13:07 +04:00
Konstantin
86f5d6de69 vcmi: modernize headers 2023-04-30 13:35:54 +03:00
nordsoft
e47bb3f1f9 Separate configuration and object 2023-04-30 00:59:02 +04:00
Ivan Savenko
346b8a4619
Merge pull request #2079 from rilian-la-te/cstack-some-private
vcmi: make some CStack properties private
2023-04-28 22:18:20 +03:00
Konstantin
cf2304d8c7 vcmi: new commits in submodules 2023-04-27 20:59:55 +03:00
Konstantin P
b472c89276 vcmi: make some CStack properties private
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
krs
e348193f7e Tactics movement is limited to movement range 2023-04-26 21:56:20 +04:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Andrii Danylchenko
fbc9a32ad8 #2018 - fix shipyard usage for NKAI, allied shipyard should work now 2023-04-22 18:42:36 +03:00
Andrii Danylchenko
d347db4c16 Fix hero count calculation for resourceful ai mod 2023-04-22 14:47:31 +03:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats 2023-04-22 03:27:00 +04:00
Ivan Savenko
7db67a3101 int3 now has proper hasher function 2023-04-20 22:04:24 +03:00
nordsoft
de159df481 Rename boats 2023-04-20 21:20:51 +04:00
Ivan Savenko
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
nordsoft
0a28262c15 Merge remote-tracking branch 'upstream/develop' into boats
# Conflicts:
#	AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
37027ad17f Fix AI boat logic 2023-04-18 18:33:44 +04:00
nordsoft
ed798b06da Prepare transport enum 2023-04-18 13:04:49 +04:00
Konstantin
54eb550eb9 vcmi: remove unused functions now 2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
Ivan Savenko
3738171b21 Refactoring of H3M loader to make HotA format support easier
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
SoundSSGood
9a838598a6 arts refactoring part1 2023-04-15 00:10:39 +03:00
Ivan Savenko
644f0f4b32 Removed ARRAY_COUNT in favor of std::size 2023-04-12 01:04:26 +03:00
Ivan Savenko
63b197b78a Converted attributes to use c++17 functionality 2023-04-12 01:03:14 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Ivan Savenko
dfa2e2a349 Merge beta into develop 2023-04-11 19:37:35 +03:00
nordsoft
8e77b833d9 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 15:54:08 +04:00
nordsoft
bfc75ccd39 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 02:22:42 +04:00
Konstantin
fedf7d377c vcmi: remove TFaction
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Andrii Danylchenko
737c34b8c6 BattleAI: avoid selfblocking on siege 2023-04-09 16:22:37 +03:00
krs
dab07bdef9 Now unit range is shown in Tactics phase as well
A new parameter: isActiveStack was needed in battleGetAvailableHexes, so that we show the propper Tactics range.
2023-04-08 20:39:59 +03:00
nordsoft
ce3028bd73 Intermediate commit 2023-04-06 19:34:07 +04:00
Konstantin
11b237a23c vcmi: massive refactoring v1 2023-04-05 22:33:12 +03:00
Konstantin
e0715a76c8 vcmi: reduce CStack usage a little bit 2023-04-04 23:02:54 +03:00
Konstantin
22dd97ad18 vcmi: use entilites when possible part 1 2023-04-04 23:02:54 +03:00
Ivan Savenko
307065a633 Merge beta into develop 2023-04-04 16:06:20 +03:00
Andrii Danylchenko
10bf9bc7a0
Merge pull request #1678 from vcmi/nkai-fix-build
NKAI: more fixes to defense and pandora
2023-04-03 22:39:11 +03:00
Ivan Savenko
c661419897
Merge pull request #1700 from rilian-la-te/resource-array
Modernize resourceSet.
2023-04-02 20:12:45 +03:00
Ivan Savenko
6dac15c5b2
Merge pull request #1706 from rilian-la-te/moats-landmines
Proper moats: mechanincs
2023-04-02 20:12:33 +03:00
Ivan Savenko
efbc5cf581
Merge pull request #1815 from IvanSavenko/beta_fixes
Beta fixes
2023-04-02 20:02:41 +03:00
Andrii Danylchenko
ab84cb9931 NKAI: fix defense tasks priority evaluation 2023-04-02 10:10:17 +03:00
Andrii Danylchenko
34abc9f82d NKAI: disallow using allied shipyard 2023-04-02 10:04:10 +03:00
Andrii Danylchenko
06fcbf891b Fix battle AI using Fire elementals (had score 0) 2023-04-02 10:02:33 +03:00
Andrii Danylchenko
88fb532d90 NKAI: more fixes to defense and pandora 2023-04-02 10:02:33 +03:00
Andrii Danylchenko
ebfebfd535 VCAI: hard limit on iterations per turn 2023-04-01 00:24:47 +03:00
Ivan Savenko
06b35ce533
Merge pull request #1595 from vcmi/vkai-hack-to-workaround-freezes
VCAI: hard limit on iterations per turn
2023-03-31 18:15:58 +03:00
Konstantin
d8a237ba46 vcmi: add getTrigger method to obstacles
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00