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

88 Commits

Author SHA1 Message Date
Andrii Danylchenko
ade84699b0 found a bug in code where AI can change client gamestate directly causing sorting crash 2021-01-30 17:29:49 +02:00
Andrii Danylchenko
3614330b3d moat bypass when no targets to attack 2020-12-02 19:40:24 +02:00
Andrii Danylchenko
ea073c81d3 2184 - fix battlefield corners unreachable for 2 hex units 2020-11-28 14:14:13 +02:00
Andrii Danylchenko
211a993c44 Fix obstacles escaping for twohex creatures 2020-11-22 08:57:28 +02:00
Andrii Danylchenko
af192b8efe Try fix bypassing destroyed fort drawbridge 2020-11-21 22:09:27 +02:00
Dmitry Orlov
39de2f6435 Fix: Morale bonus should be shown correctly 2020-11-11 22:43:40 +03:00
Dmitry Orlov
f4816b0824 Mod system improvement Part I : Special buildings should work in the modders towns 2020-10-07 12:35:11 +03:00
John Bolton
c61bae4060 Fixed RETURN_IF_BATTLE(). Undid disabled warnings. Fixed indentation. 2020-10-05 16:28:28 -07:00
John Bolton
a05ae78e67 Fixed lots of warnings.
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.

4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
John Bolton
6d8f1e4530 Fixed incorrect usage of const std::shared_ptr. Resolves 0003142.
Replaced const TBonusListPtr with TConstBonusListPtr where necessary
Replaced const std::shared_ptr<T> with std::shared_ptr<const T> where necessary.
Removed superfluous use of const.
Replaced const std::shared_ptr<T> with const std::shared_ptr<T> & in function parameters and ranged for-loops.
2020-09-30 22:56:28 -07:00
Andrii Danylchenko
d782ee39df hacks to optimize a few bonus requests 2020-07-04 17:52:22 +03:00
Alexander Shishkin
cc75b859d4
Merge pull request #609 from viciious/improve_battleai
Improve battle AI
2020-05-25 05:50:40 +03:00
Victor Luchits
b4025fa1d6 More formatting 2020-05-16 16:14:58 +03:00
Victor Luchits
618d521407 Fix CMP_stack to follow strict weak ordering of elements 2020-05-11 18:14:36 +03:00
Victor Luchits
be10694b73 Some changes to make the battle AI smarter
- the AI will now consider attacking multiple units
- the preferred strategy now is to minimize collateral damage rather than to maximize damage to enemy units alone
- attacks that block enemy shooters will be prioritized over other attacks in cases when shooters have weaker melee attacks
2020-05-05 17:53:03 +03:00
Toney Sui
dca5d86e7a
Fix bug: LandMine is not exploding to enemies. (#630)
* The reason is,

the mine has attribute hidden=true;
when enemy unit moves, the code in BattleInfo.cpp MoveUnit() (line 817) will update the revealed to true;
then in the CGameHandler.cpp handleDamageFromObstacle() (line 4846) is checking , and the condition battleIsObstacleVisibleForSide() will return true, so the effect will not be triggerred.

Resolution:
1. Remove the "revealed=true" in moveUnit(), and in handleDamageFromObstacle, remove the "const" restrict for obstacle, and then update revealed to true;
2. After the takeDamage function, add a pack "BattleObstaclesChanged" to update the obstacle to be "revealed=true".
2020-02-12 20:12:12 +03:00
Alexander Shishkin
21f74a9968
Merge pull request #590 from Ewilhan/fixCombatOrder
Fixed Battle Creature Ordering
2019-05-29 17:51:52 +03:00
Dydzio
cd78779d9c Remove false warning indicating something is wrong 2019-05-19 12:22:41 +02:00
Ewilhan
cba94f8bb3
Code style
Co-Authored-By: Alexander Shishkin <alexvins@users.noreply.github.com>
2019-05-18 18:37:02 +02:00
Ewilhan
023d6c88fd Code style and improved readability 2019-05-17 09:34:59 +01:00
Ewilhan
ab1c598d4e Fixed Battle Creature Order
Fixed the messy creature order. It now follows correctly all creature ordering rules.
2019-05-16 14:41:02 +01:00
Dydzio
e50efdc279 Creature spellcast refactor (#569)
* Move some logic to lib
* Mouse action priority queue enhancement
* Get rid of siegehandler dependency
* Improve AI offensive spellcasting
* CBattleInterface cleanup
2019-05-04 06:42:55 +03:00
Michał Kalinowski
ac6b477aa2 Simplify statements
-Simplify return statements across the code
2019-03-31 09:43:14 +03:00
Dydzio
9e4619c08d Fix lack of unit action with morale+wait 2019-03-23 23:51:50 +01:00
Mikko
eba4f1b514
Update CBattleInfoEssentials.cpp 2019-01-24 14:48:38 +00:00
Karlis Senko
69330de89c Avoid integer overflow and conversion related UB. 2018-05-01 00:02:07 +03:00
godric3
d9d01f0b68 Exposed more of existing limiters for modders (#449)
* Exposed alignment, faction and terrain limiters
* Limiters toString() use now boost:format
2018-04-17 19:59:30 +07:00
Henning Koehler
7f76648a7c Extend Bonus.addInfo to integer vector (#427)
* changed Bonus::additionalInfo to integer vector

* fixed deserialization for old savegames

* removed newline from JsonNode::toJson()

* updated bonus schema; SPELL_AFTER_ATTACK and SPELL_BEFORE_ATTACK use new addInfo format

* removed unnecessary init in Bonus constructor
2018-03-12 08:20:18 +03:00
Henning Koehler
d3e4fc6e7a renamed CBonusSystemNode::popBonuses to removeBonusesRecursive 2018-03-05 22:13:23 +08:00
AlexVinS
f126a34a5e Fixed https://bugs.vcmi.eu/view.php?id=2904 2018-03-04 11:15:24 +03:00
Alexander Shishkin
8b002ad774
Issue2888 (#421)
Fixed issue 2888
* Merged AFTER_ATTACK & BEFORE_ATTACK cast modes.
* Introduced new caster class for creature ability usage
* Added few tests
2018-03-02 13:22:51 +03:00
ArseniyShestakov
7fd090786c
Merge pull request #379 from henningkoehlernz/hero_specialty_scaling
Hero specialty scaling
2018-02-28 15:03:24 +08:00
AlexVinS
080a81db3a Fixed summoned units not being removed after battle 2018-02-23 21:58:05 +03:00
Henning Koehler
f1fd00f005 renamed & reused CBonusSystemNode::updateBonuses; tweaked updater signature 2018-02-18 16:55:15 +13:00
ArseniyShestakov
e11e69750a
Merge pull request #411 from drizt/fallthrough
Hide "this statement may fall through" warnings
2018-02-10 22:34:39 +03:00
Arseniy Shestakov
324717acbe Spelling fixes: privilaged -> privileged, retreive -> retrieve 2018-02-10 21:52:23 +03:00
Ivan Romanov
eea50a044c Hide "this statement may fall through" warnings 2018-02-10 22:27:00 +05: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
DjWarmonger
c2a0b13332
Merge pull request #371 from dydzio0614/NewAbilities
Tested and approved. Congrats!
2017-12-29 14:19:05 +01:00
Dydzio
6df536bb31 Siege tower handling improvements (#392)
* Fix bug #2581 - siege tower damage
* Improved siege tower damage calculation a bit
2017-11-18 12:41:07 +03:00
Dydzio
c6731f3b90 Fix code formatting 2017-11-13 14:18:38 +01:00
godric3
2a22d9ec12 Add terrain overlays morale and luck bonuses description, fix #2740 2017-10-05 14:53:39 +02:00
Henning Koehler
feba7e1979 tactics distance increased to 1 + bonus (#375) 2017-09-10 00:26:56 +03:00
Dydzio
14c07afd3c Merge branch 'develop' into NewAbilities 2017-09-09 21:04:40 +02:00
Dydzio
3eef689005 Add TERMINATOR ability support, small fixes 2017-09-09 21:01:12 +02:00
Dydzio
7cbd9acd67 Add BLOCK_MAGIC_BELOW bonus 2017-09-06 00:03:32 +02:00
Dydzio
59764d8349 Implemented SHOOTS_ALL_ADJACENT 2017-09-05 23:45:31 +02:00
Dydzio
5c17e172b6 Revert some changes, update WIDE_BREATH 2017-09-05 22:29:31 +02:00
Dydzio
4cab76900f Add SYNERGY_TARGET and [wip]-SHOOTS_ALL_ADJACENT 2017-09-04 23:32:24 +02:00
Henning Koehler
91fac7755a made tactics skill configurable 2017-08-26 10:08:06 +12:00