Dydzio
3e6cdb28bc
Promote no AI value message to error, shouldn't happen without mods
2018-11-03 13:03:31 +01:00
Dydzio
8ec558a2ae
Fix AI value handling for heroes
2018-11-03 12:46:02 +01:00
Dydzio
9f3d718e3b
Allow AI to be aware of invisible heroes deletion
2018-11-02 16:35:25 +01:00
Dydzio
90c7daccc5
Fix path ( #510 )
2018-10-31 00:55:34 +03:00
Alexander Shishkin
e26f6ff15f
Merge pull request #505 from janisozaur/catch-by-ref
...
Catch exceptions by const-ref, not by value
2018-10-30 05:08:30 +03:00
Michał Janiszewski
7be9aa4868
Prevent shadowing of function arguments by local vars
2018-10-29 16:56:14 +01:00
Michał Janiszewski
9822a8f2df
Catch exceptions by const-ref, not by value
2018-10-29 16:41:54 +01:00
Andrii Danylchenko
d5b26d9592
AI pathfinding: fix getPathsToTile for water tiles
2018-10-28 15:03:40 +02:00
Alexander Shishkin
bd0f8f840a
Merge pull request #497 from nullkiller/ai-pathfinder-boat
...
AI pathfinding: buy boat
2018-10-28 14:29:09 +03:00
Andrii Danylchenko
72aff02418
AI pathfinding: buy boat
2018-10-21 14:17:55 +03:00
Dydzio
1a05e41aac
BuildingManager refactoring: C++11 vector usage without helper array
2018-10-16 19:52:36 +02:00
Dydzio
e13e88bf5c
ResourceManager-compliant money saving for income buildings
2018-10-16 19:52:36 +02:00
Dydzio
b69c316409
Add possible income utility function, make capitol building errorproof
2018-10-16 19:52:36 +02:00
Dydzio
12e1e5b315
Disable building from army goals, re-fix building capitol prereqs
2018-10-16 19:52:35 +02:00
Dydzio
8c763253d2
Build fort unconditionally with high priority, no fort=no dwellings
2018-10-16 19:52:35 +02:00
Dydzio
c04bb9387f
New rule: Cannot build upgrades without fort
2018-10-16 19:52:35 +02:00
Dydzio
a00a7762b5
Fix for new pathfinder code - generate proper goals
2018-10-15 21:17:14 +02:00
Alexander Shishkin
6958f2cddf
Merge pull request #493 from dydzio0614/FuzzyEvaluationFixes
...
Fuzzy evaluation fixes
2018-10-10 22:00:14 +03:00
Dydzio
a1c0b9268e
Create artifact AI value handling
2018-10-10 15:22:15 +02:00
Dydzio
9ef0481610
object value terms rework
2018-10-10 15:18:34 +02:00
Dydzio
71a3852be4
Fix some flaws of old fuzzy engines
2018-10-10 15:18:33 +02:00
Dydzio
69e142c2b9
Change fuzzy engines activation method
2018-10-10 15:18:33 +02:00
AlexVinS
be45c8cb43
Updated C::B projects, fixed a few warnings
2018-10-10 16:07:28 +03:00
Dydzio
2a299e52a8
Add AI pathfinding to VS files
2018-10-09 12:39:57 +02:00
Andrii Danylchenko
f327c46fa3
AI pathfinding: rename and add const to functions
2018-10-07 14:51:27 +03:00
Andrii Danylchenko
cf213a5acf
#2983б #2910 and a few other bugs fixed
2018-10-06 16:35:31 +03:00
Andrii Danylchenko
49c872e4ec
AI: replace SectorMap with new PathfinderManager
2018-10-06 16:35:31 +03:00
Andrii Danylchenko
6ac987794c
AI: first rule extracted for pathfinder
2018-09-23 15:26:53 +03:00
AlexVinS
99f167a44c
AIhelper should be owned by AI instance.
2018-09-02 18:04:38 +03:00
Arseniy Shestakov
edcaaf036a
MSVC: fixes for compatibility with latest Vcpkg packages
2018-08-27 22:19:11 +03:00
AlexVinS
690b3caff0
[c::b] Updated projects
2018-08-26 19:42:41 +03:00
Dydzio
0edac2e124
update missing VS .h files
2018-08-23 17:02:09 +03:00
Dydzio
1471043cae
Update visual studio project files
2018-08-22 17:31:48 +03:00
DJWarmonger
346796f4f8
Possible fix for evaluate VisitHero (compiler optimization?)
2018-08-22 12:32:48 +02:00
DjWarmonger
5f39e92eb4
Merge branch 'develop' into VCAI_fixes
2018-08-22 08:06:13 +02:00
DJWarmonger
383c9a20af
A bunch of fixes for recent branch.
2018-08-22 07:51:35 +02:00
DjWarmonger
f484baea9f
Merge pull request #474 from vcmi/FuzzyHelperRework
...
FuzzyHelper refactoring + Ai Map Object Evaluation improvements
2018-08-22 07:33:09 +02:00
DJWarmonger
6503830bde
Important fixes:
...
- AI will not always trade resources if it has better options
- Do not use reserved objects for CollectRes
2018-08-21 13:48:19 +02:00
DJWarmonger
2f4b463459
- Fixed major bugs with building dwellings. ResourceManager doesn't support building in future turns.
...
- Tweaks for trading
2018-08-21 12:55:31 +02:00
DJWarmonger
a44c792b7c
Important fix for ClearWayTo in new branch.
2018-08-21 08:40:47 +02:00
DJWarmonger
35d2af2e7d
Simplified CollectRes - rely on VisitObj now
2018-08-20 21:31:58 +02:00
Dydzio
243ce7370a
This fixes crash... idk why
2018-08-20 15:20:47 +02:00
Dydzio
158b3c0b80
Initial implementation of invalid VisitObj removal
2018-08-20 14:43:51 +02:00
Dydzio
d41741251f
Fix VisitObj bugs / logic flaws
2018-08-19 20:41:29 +02:00
Dydzio
b1651d716f
Stupid typo fix
2018-08-19 17:11:06 +02:00
Dydzio
e197d22e68
Improve dwelling value evaluation
2018-08-16 21:17:45 +02:00
AlexVinS
de5f1461ba
Fixed https://bugs.vcmi.eu/view.php?id=2998
2018-08-12 15:02:10 +03:00
Dydzio
a7c2d03c87
Fixes
2018-08-10 20:36:42 +02:00
Dydzio
72b206347f
Split Fuzzy.cpp/h
2018-08-10 18:27:57 +02:00
Dydzio
bd3d27c79b
Leftover stuff: rename GET_OBJ
2018-08-10 16:48:42 +02:00
Dydzio
3961b4ac93
Rename GetObj->VisitObj to reflect new functionality
2018-08-10 16:45:00 +02:00
Dydzio
f2ba500e90
Autocalculate default AI value for dwellings
2018-08-10 16:36:45 +02:00
Dydzio
787f4032b4
fulfillsMe change revert, tweaks
2018-08-10 13:42:15 +02:00
AlexVinS
c4af306ceb
[c::b] Updated projects
2018-08-10 08:14:10 +03:00
Dydzio
f91c85a900
Crash fix
2018-08-10 01:04:31 +02:00
Dydzio
5065f5a104
Fixes
2018-08-10 00:33:18 +02:00
Dydzio
c0821495e5
GetObj tweak
2018-08-09 22:07:02 +02:00
Dydzio
4b776db1a2
Set destination tile in GetObj - needed for priority evaluation
2018-08-09 20:24:19 +02:00
Dydzio
fa97940b4f
Improve wander logging
2018-08-09 18:24:04 +02:00
Dydzio
ff2ac5b34b
Minor fixes
2018-08-09 18:04:49 +02:00
Dydzio
1377338a41
Restore old code line
2018-08-09 17:45:58 +02:00
Dydzio
616a6bbdf7
New object target handling in wander
2018-08-09 16:28:15 +02:00
Dydzio
41df9d8283
Move away subgoal collection logic for GetObj
2018-08-09 13:17:58 +02:00
Dydzio
2365946b62
Elementar GetObj - first attempt
2018-08-09 13:17:58 +02:00
Dydzio
e89c7eeba4
Remove incorrect destructors - fl::Engine is responsible for these
2018-08-09 13:17:57 +02:00
Dydzio
2079ae6190
Revert "use smart pointers for fl variables"
...
This reverts commit d30b76bd7b47d1bfd197e80a7b0675bd7815db03.
2018-08-09 13:17:57 +02:00
Dydzio
67439bdd36
use smart pointers for fl variables
2018-08-09 13:17:57 +02:00
Dydzio
12d750a767
Accessibility tweaks + fix some compile errors
2018-08-09 13:17:57 +02:00
Dydzio
b29d5bb001
finished FuzzyHelper logic separation
2018-08-09 13:17:57 +02:00
Dydzio
64b7c9f036
VisitTile fuzzy logic separated from FuzzyHelper
2018-08-09 13:17:57 +02:00
Dydzio
37b2dbcbba
Finish moving init functions to goal engine constructors
2018-08-09 13:17:57 +02:00
Dydzio
e33ef71882
FuzzyHelper is on diet... gotta get thinner
2018-08-09 13:17:57 +02:00
Dydzio
a8f5882a77
Initial split of classes
2018-08-09 13:17:57 +02:00
DjWarmonger
a0909468de
Merge pull request #477 from vcmi/VCAI_Rework
...
VCAI main loop rework + lots of discovered bugs and caveats fixed
2018-08-08 22:19:17 +02:00
DJWarmonger
8ec762f858
Fixed possible (?) crash in ResourceManager
2018-08-08 15:43:42 +02:00
DJWarmonger
4b602c42ff
Fix for fix, ugh.
2018-08-08 14:26:21 +02:00
DJWarmonger
d07a77f34b
- Tweaks for GatherArmy
...
- Tweaks for exploration
- Increased default priority of BuyArmy, SIGNIFICANT improvement!
2018-08-08 12:38:32 +02:00
DJWarmonger
a9ef8fe32f
- Fixed Border Gates logic
...
- VCAI may now walk onto removable objects when exploring
2018-08-08 10:52:52 +02:00
DJWarmonger
6fd403d7cf
Remove Capitol-related code, it's redundant now.
2018-08-07 18:44:03 +02:00
DJWarmonger
a827c083d8
Remove useless code
2018-08-06 21:54:17 +02:00
DJWarmonger
4d701736f9
Important changes:
...
- Fixed goal completion logic
- WIN can't be completed
2018-08-06 20:25:39 +02:00
DJWarmonger
8eec7d71ad
Little tweak - prioritize instant buildings over ones we can't afford. May be useful with multiple towns.
2018-08-06 17:42:58 +02:00
DJWarmonger
36e44adc8c
rebase
2018-08-06 10:02:59 +02:00
KasyanDiGris
46b4dcf459
Update fuzzylite because of https://github.com/fuzzylite/fuzzylite/issues/77 ( #478 )
2018-08-06 06:47:51 +03:00
DjWarmonger
2afe36ebf7
Merge pull request #476 from vcmi/SectorMapRefactor
...
Morning!
2018-08-05 06:56:24 +02:00
AlexVinS
bd23c7d909
[c::b] Updated projects
2018-08-05 06:45:07 +03:00
DJWarmonger
580fed34bb
Updated CMakeLists.txt
2018-08-04 22:00:28 +02:00
DJWarmonger
f5ba181173
Refactoring: Move SectorMap to separate file
2018-08-04 21:59:30 +02:00
DjWarmonger
f2db64af94
Merge pull request #471 from vcmi/BuildingManager
...
Building manager
2018-08-04 21:07:40 +02:00
DJWarmonger
976eeb3578
Sweet Jesus
2018-08-04 16:22:24 +02:00
DJWarmonger
4a85559d4b
Merge branch 'develop' of https://github.com/vcmi/vcmi into BuildingManager
...
# Conflicts:
# AI/VCAI/CMakeLists.txt
2018-08-04 16:09:02 +02:00
DJWarmonger
6615870045
Rebase
2018-08-04 15:59:59 +02:00
Dydzio
8a862347c4
Update VCAI VS file
2018-08-04 15:45:22 +02:00
DjWarmonger
b0e1b8c5ec
Merge pull request #465 from vcmi/AIMapObjectEvaluation
...
Okay let's see where this gets us.
2018-08-04 15:07:08 +02:00
DJWarmonger
aa9c6d3716
Cleanup
2018-08-04 13:18:05 +02:00
DJWarmonger
9e34ef5534
AI will not try to sell reserved resources.
2018-08-04 11:51:19 +02:00
DJWarmonger
2aa0a6fe2f
More fixes for trading. Seems to work now.
2018-08-04 10:20:40 +02:00
DJWarmonger
a5ca32ad38
Some checks and log for CollectRes goal.
2018-08-04 09:24:43 +02:00
Andrii Danylchenko
4141e8e7b0
[2982] AI: unexpected error in AI logic when take resource on adjasent tile
2018-08-01 21:49:15 +03:00
Dydzio
22b02ecc78
Use boost::optional "better way"
2018-07-30 15:32:55 +02:00
Dydzio
0786bd915a
remove C++17 insert_or_assign usage
2018-07-30 14:07:39 +02:00
Dydzio
123ca6c417
Update CMakeLists.txt
2018-07-30 01:39:47 +02:00
Dydzio
2288e9b8aa
Merge branch 'develop' into AIMapObjectEvaluation
2018-07-30 01:33:49 +02:00
AlexVinS
f17783cfb5
[c::b] Updated projects, applied fixes
2018-07-29 22:07:40 +03:00
Dydzio
393b25eb7f
Minor tweaks/fixes
2018-07-29 19:31:01 +02:00
Dydzio
f906d98fe5
Bugfix...
2018-07-29 16:02:18 +02:00
DJWarmonger
30f99e7cc1
Fix for Travis
2018-07-28 16:02:59 +02:00
Dydzio
d3e53bea2f
Add aiValue handling for MapObjectsEvaluator
2018-07-28 12:58:18 +02:00
DJWarmonger
70549197b6
Naah, revert my changes.
2018-07-28 09:08:53 +02:00
DJWarmonger
e7cb8d7d17
Fixed GetObj (TRADING_POST) incorrectly set to elementar.
2018-07-28 06:47:37 +02:00
DJWarmonger
a8696a9957
formatting
2018-07-27 09:22:07 +02:00
DJWarmonger
6abebeeb9f
Fixed non-const reference issue.
2018-07-27 08:10:21 +02:00
DJWarmonger
ea19716fb9
Fix for wander - AI sitting at town will buy troops.
2018-07-27 07:20:08 +02:00
DJWarmonger
301565b315
Updated CMake
2018-07-27 06:44:10 +02:00
Dydzio
df00ced204
Create fuzzy logic map object evaluation fundamentals
2018-07-27 02:28:12 +02:00
Dydzio
27541a72f5
Extract FuzzyHelper distance calculation
2018-07-27 02:21:51 +02:00
DJWarmonger
feb3459bd7
Oops restore.
2018-07-26 21:34:52 +02:00
DJWarmonger
5ce4e784c9
Final tweaks. Not going to add anything more to this PR.
2018-07-26 18:02:15 +02:00
DJWarmonger
e5b979d4ad
- ResourceManager now returns abstract goal so it can be decomposed many times
2018-07-26 16:15:37 +02:00
DJWarmonger
1450d408a2
Wandering heroes may now travel to town even if it has no army in garrison.
2018-07-26 14:37:39 +02:00
DJWarmonger
b687688f5a
Do not add duplicate objectives to GatherArmy pool (or any other, if it ever exist)
2018-07-26 13:29:46 +02:00
DJWarmonger
273802c92c
I have no idea what I'm doing
2018-07-26 12:14:29 +02:00
Dydzio
b6a171f858
Add code comments for VCAI::makeTurnInternal
2018-07-23 20:48:38 +02:00
Dydzio
13cca972d6
Add visual studio file changes in advance
2018-07-23 19:47:07 +02:00
Dydzio
1a78ea15bb
Tweaks
2018-07-22 19:53:06 +02:00
Dydzio
21c1f47a78
Fixes
2018-07-22 19:12:11 +02:00
Dydzio
2c1d91e2ff
Move object ID struct to lib
2018-07-22 18:38:45 +02:00
Dydzio
08a66abdcc
Singleton implementation fix
2018-07-21 15:42:17 +02:00
Dydzio
82da82fbeb
Polish object database, add data operations
2018-07-21 14:30:38 +02:00
Dydzio
36f501ebf3
Implement MapObjectsEvaluator as singleton utility
2018-07-21 11:28:55 +02:00
Dydzio
6a9e91b99b
Added basic interface for AI to evaluate objects
2018-07-20 21:14:57 +02:00
DJWarmonger
cae8acc56a
Clearing up the code as requested by FeniksFire
2018-07-19 20:39:37 +02:00
DJWarmonger
3d59420bb5
Minor optimisations. Also, shoter code.
2018-07-19 17:36:10 +02:00
Andrii Danylchenko
12a3c7ed33
AI - code styles and remove redundant performance optimization for explore
2018-06-24 13:30:17 +03:00
Andrii Danylchenko
2466489e13
AI - improve exploration, cancel deadends
2018-06-21 22:29:26 +03:00
Johannes 'josch' Schauer
a54e8c88a9
AI/VCAI/VCAI.cpp: Remove unused variable introduced in 2014
2018-04-19 15:15:22 +02:00
Arseniy Shestakov
25dea1a599
Code style: formatting and refactoring of VCAI code
2018-04-08 17:43:20 +07:00
Alexander Shishkin
5c09f751b3
Gui cleanup3 - UI refactoring to use smart pointers ( #440 )
...
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
AlexVinS
03cfd2cb78
Do not use StackLocation in netpacks
2018-03-17 13:24:12 +08:00
AlexVinS
386805c4e0
[BattleAI] Battle magic fixes
...
* should fix https://bugs.vcmi.eu/view.php?id=2901
2018-03-01 22:18:01 +03:00
AlexVinS
166c04e2e0
Hack fixed serializer assertion by completely disabling AI goals serialization
2018-02-28 15:00:38 +08:00
AlexVinS
080a81db3a
Fixed summoned units not being removed after battle
2018-02-23 21:58:05 +03:00
Nikolay Shalakin
3795985de9
Eliminate warnings / errors. Pull request #388
2018-02-11 15:17:14 +03:00
Arseniy Shestakov
324717acbe
Spelling fixes: privilaged -> privileged, retreive -> retrieve
2018-02-10 21:52:23 +03:00
AlexVinS
0a2b04709f
Fixed https://bugs.vcmi.eu/view.php?id=2873
2018-02-09 22:12:21 +03:00
Dydzio
d4958ff5f8
update VS files to match spellrefactoring9 changes
2018-02-09 18:53:07 +01:00
AlexVinS
0b70baa95e
Spells configuration version 2 (effect-based)
...
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +03:00
Dydzio
38d836d1a5
Update project files to Visual Studio 2017
2018-01-13 16:33:49 +01:00
Arseniy Shestakov
da117e9255
Code style: remove void from constructors without arguments
2018-01-13 11:51:47 +03:00
Michał Kalinowski
26a222ac62
Change JsonType to enum class ( #393 )
...
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00