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
Konstantin
6c5f5dba75
BattleAI: check negative obstacles instead of moat.
...
This will work for fire walls too (and if someone will summon elementals
after placing land mines). But will not work for Tower's landmines.
2023-03-31 01:01:25 +03:00
Ivan Savenko
970981cfc9
Show information on potential kills in attack tooltip
2023-03-24 17:18:47 +02:00
Ivan Savenko
31147ac83b
refactoring: TDmgRange pair -> DamageRange struct
2023-03-23 17:49:33 +02:00
Andrey Filipenkov
3602645a30
improve iterating over EPathfindingLayer
2023-03-20 11:35:19 +03:00
Konstantin
bbbbfe00f0
Modernize resourceSet
2023-03-17 02:26:54 +03:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Konstantin
c4a3216288
NKAI: evaluate speciality correctly
...
With removal of SECONDARY_SKILL_PREMY, we need to
evaluate speciality by using TargetSourceType.
Just do it.
2023-03-16 16:46:41 +03:00
Konstantin
95503d0623
vcmi: unify movement
...
1. Now there is only one bonus: MOVEMENT, with 2 subtypes: 0 is sea, 1 is land
For movement value on land depends on creature speed we use a new
ARMY_MOVEMENT updater with global bonus. If we does not like such
dependency, we can just remove this updater from json.
2. All specialities and secondary skills for movement moved to new
system AFAIK
2023-03-16 16:46:41 +03:00
Andrii Danylchenko
fa9e1d2d83
NKAI: fix crash
2023-03-12 16:31:15 +02:00
Andrii Danylchenko
4bf570763a
NKAI: improve neutral town priority handling, reduce priority of objects like star axis
2023-03-12 16:31:15 +02:00
Andrii Danylchenko
87638aafc0
NKAI: improve build behavior
2023-03-12 16:31:15 +02:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Andrii Danylchenko
148c3436df
NKAI: improve army gathering
2023-03-08 11:53:26 +02:00
Andrii Danylchenko
8b0c7b6601
NKAI improve defence and some fixes
2023-03-07 20:10:58 +02:00
Ivan Savenko
144ddba97d
Replaced AI assertion failure with error in log
2023-03-07 00:06:58 +02:00
Ivan Savenko
aeb653c919
Fix typos
2023-03-07 00:06:58 +02:00
Ivan Savenko
11e4d84749
Implemented View Earth / View Air spells
2023-03-05 17:48:02 +02:00