1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-15 00:05:02 +02:00
Commit Graph

559 Commits

Author SHA1 Message Date
cae8acc56a Clearing up the code as requested by FeniksFire 2018-07-19 20:39:37 +02:00
3d59420bb5 Minor optimisations. Also, shoter code. 2018-07-19 17:36:10 +02:00
12a3c7ed33 AI - code styles and remove redundant performance optimization for explore 2018-06-24 13:30:17 +03:00
2466489e13 AI - improve exploration, cancel deadends 2018-06-21 22:29:26 +03:00
a54e8c88a9 AI/VCAI/VCAI.cpp: Remove unused variable introduced in 2014 2018-04-19 15:15:22 +02:00
25dea1a599 Code style: formatting and refactoring of VCAI code 2018-04-08 17:43:20 +07:00
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
03cfd2cb78 Do not use StackLocation in netpacks 2018-03-17 13:24:12 +08:00
166c04e2e0 Hack fixed serializer assertion by completely disabling AI goals serialization 2018-02-28 15:00:38 +08:00
324717acbe Spelling fixes: privilaged -> privileged, retreive -> retrieve 2018-02-10 21:52:23 +03:00
0a2b04709f Fixed https://bugs.vcmi.eu/view.php?id=2873 2018-02-09 22:12:21 +03:00
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
da117e9255 Code style: remove void from constructors without arguments 2018-01-13 11:51:47 +03:00
26a222ac62 Change JsonType to enum class (#393)
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00
bf20b165ec Fix. Don't skip usual condition. 2017-11-04 22:50:11 +01:00
3eb5de9534 Fixed AI trying to visit tavern over and over.
TODO: AI still can't use it, anyway.
2017-11-04 22:45:19 +01:00
edc4c01805 Fixed a case when AI could spend all money on army and not build anything in secondary towns. 2017-11-04 22:14:56 +01:00
15138c23de Finished conversion to new logging API
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
143ff682bc Logging cleanup 2017-08-10 21:59:55 +03:00
85e952f25f Logging cleanup 3 2017-08-10 20:17:10 +03:00
61e241308d Logging cleanup 2017-08-10 19:52:05 +03:00
b2f74a93cf Code style: add empty parameter list to all lambda expressions (#345) 2017-07-17 15:35:57 +03:00
a4c0ad94b1 Code style: remove default value hints in definitions (#342)
Some are outdated and this is something IDE are useful for.
2017-07-15 14:08:20 +03:00
0cb6515ae8 VCAI tweaks (#311)
* Add extra priority support for town capture evaluation
* Improve building algorithm
* GatherArmy: check free gold instead of total for when hiring heroes
2017-07-15 01:15:08 +03:00
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
bc626c2446 Fixed race condition 2017-07-12 18:26:20 +03:00
3d1a84875e Queries refactoring
* Moved SUMMON_BOAT special case to mechanics
* Partially moved Town portal logic to mechanics class
* Added generic query reply to CCallback
* Redesigned Queries so that base API do not depends on CGameHandler
* Got rid of CGameHandler::castSpellRequest
* Removed CGameHandler::castSpell
* Added new Query type for town portal dialog (not used yet)
2017-07-03 21:43:04 +03:00
86f9df5f68 Made gamestate lock static 2017-06-14 07:59:41 +03:00
9623f7caf3 - Restored MSVS project files
- Fixed VCAI bu pointed out by Tow
2017-06-11 08:01:41 +02:00
3326bfc067 Naming fix 2017-02-18 21:10:59 +01:00
a4f375d9c0 Make AI able tobuy extra buildings. Fix bug #2640 2017-02-18 18:40:44 +01:00
4d39f652bf Making more detailed options when choosing AI in launcher: http://
bugs.vcmi.eu/view.php?id=2369
2017-01-17 12:34:28 +01:00
6848a52ce1 Fixed heroes not unreserving Teleports, which makes them wander around it endlessly and blocking path.
TODO: properly handle all Teleports as "visited" objects
2016-12-19 21:46:01 +01:00
01730ec98a A little TODO 2016-12-12 22:52:18 +01:00
27ff9efd4b Fixed #1713 2016-12-12 21:38:12 +01:00
4288bb88ae Fixed CID 1197622.
* Coverity says that this line actually unreachable
2016-12-05 03:02:52 +03:00
72a36b92d6 Fixed regression. 2016-11-29 18:11:52 +01:00
67d5cee05e Fixed CID 1366402 2016-11-29 17:19:41 +01:00
81e7164ef2 Fixed CID 1366401 2016-11-29 17:12:10 +01:00
ffc511054e Do not visit Eye of The Magi. 2016-11-28 21:45:41 +01:00
9b5af484b7 Fixed AI getting stuck at blockVisit objects (Tavern, Borderguards/gates etc). 2016-11-28 19:29:11 +01:00
76c4ef32c2 Re-evaluate goal after hero move to make AI more consistent. 2016-11-27 18:10:20 +01:00
86e33a4c45 [Refactoring] Unified SetResources NetPack API. 2016-11-26 15:14:43 +03:00
5b76c3f4eb Rebase of codebase changes for refactored serializer
Some of newer fixes not yet merged there and save compatibility a bit off.
2016-10-27 18:12:20 +03:00
4bcc43d3d0 Fix Mantis #2234
CPlayerInterface instances were removed from CClient::playerint with
clear() and finish() was not called on each. Added multiple insurance.
2016-10-22 16:22:00 +02:00
02a45007e7 VCAI::showGarrisonDialog: don't try to pick army from locked garrison 2016-09-19 03:30:55 +03:00
84137dcaa5 Add DLL_LINKAGE to getStr and fix player id logging in VCAI 2016-09-16 05:45:00 +03:00
30042cac3d VCAI::performTypicalActions: always check that hero is still available
It's weird why this only appear now so if you have ideas check issue 2479.
2016-09-16 04:52:17 +03:00
ca0fe8fdc4 VCAI: do not attempt artefact and army exchange with ally hero
While visits of ally heroes supposedly occur accidentally It's still nice to handle it's gracefully.
No reason to prevent visits completely as they useful if hero have skill like Scholar.
2016-09-14 13:34:22 +03:00
7ec9601acd VCAI: safety checks to avoid crashes with boat objects
Probably we should rewrite boat-related code to make AI boat handling easier.
2016-09-14 03:44:35 +03:00