1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Commit Graph

2252 Commits

Author SHA1 Message Date
Andrej Dudenhefner
497995c11f add BattleEnded pack which happens after BattleResultsApplied and losing heroes are removed 2025-11-14 12:48:46 +01:00
Andrej Dudenhefner
6253e8321b Fix division by zero in RewardEvaluator::getArmyReward 2025-11-06 12:24:30 +01:00
Laserlicht
5a8f75f11d convert to vector 2025-09-16 22:58:05 +02:00
Laserlicht
8ef97abc7d replace hardcoded 2025-09-16 10:34:38 +02:00
Laserlicht
134c145b98 convert ResourceSet to std::map 2025-09-15 23:48:55 +02:00
Laserlicht
d808bd6412 introduce toResourceType 2025-09-15 00:08:18 +02:00
Laserlicht
f034584dfa replace RESOURCE_QUANTITY where possible 2025-09-14 21:12:51 +02:00
Laserlicht
a54a1f8b8d replace RESOURCE_NAMES where possible 2025-09-14 20:43:53 +02:00
Laserlicht
75f965c93a remove allresources 2025-09-14 15:29:14 +02:00
Laserlicht
ded1a70dd7 fix prices 2025-09-14 15:04:02 +02:00
Ivan Savenko
589c5a8989 Merge pull request #5563 from kambala-decapitator/conan-v2
migrate to Conan v2
2025-08-30 21:09:18 +03:00
Andrey Filipenkov
a3f08c2217 [conan] add MSVC support
also removes all mentions of vcpkg and cross-building from Linux
2025-08-28 16:05:11 +03:00
Opuszek
10a4a3adee Fixes build warning in Potential Targets 2025-08-24 14:42:42 +02:00
Mircea TheHonestCTO
423eb70e2e Merge branch 'develop' into fix/monthly-random-monsters-hiding-nearby-danger 2025-08-14 23:21:20 +02:00
Mircea TheHonestCTO
ce4016706e make the code easier to understand and debug 2025-08-11 21:47:25 +02:00
Mircea TheHonestCTO
1a79478196 added one comment regarding the spawning issue, good for remembering later on 2025-08-11 21:27:21 +02:00
Mircea TheHonestCTO
77a8b0f8e6 fix: monthly monsters aren't linked with other map objects at creation, leaving Nullkiller unable to see the next danger after killing a monthly monster;
2 minor log trace renaming to make them easier to spot in logs when debugging
2025-08-11 21:02:27 +02:00
Ivan Savenko
bc96515cec Simplify blukMoveArmy logic, fix army transfer bugs 2025-08-01 18:21:02 +03:00
Ivan Savenko
b4693a9d7f Merge pull request #5859 from IvanSavenko/antilag
Lag compensation for multiplayer
2025-07-30 12:02:36 +03:00
Ivan Savenko
00e0173f18 Merge pull request #5920 from Opuszek/fix_berserk
Implement berserk behavior if no unit in melee range or unit can shoot.
2025-07-30 12:01:58 +03:00
Opuszek
500fb3c134 Fixes segmentation fault when getting magic strength of a hero 2025-07-25 00:24:55 +02:00
Opuszek
6b97fc306d fix berserk 2025-07-22 23:28:53 +02:00
Ivan Savenko
241da5937d First semi-working version of antilag for hero movement 2025-07-19 18:04:20 +03:00
Ivan Savenko
a0a99d7311 Fix build, fix sonar 2025-07-13 23:03:45 +03:00
Ivan Savenko
b1aff17e82 Remove hardcoded checks for town portal from AI code 2025-07-11 18:03:18 +03:00
Ivan Savenko
f51c7c5c28 Removed hardcoded AI logic for Water Walk and Fly spell 2025-07-11 17:38:03 +03:00
Ivan Savenko
b0c511149d Removed hardcoded checks for Summon Boat spell 2025-07-11 17:11:01 +03:00
Ivan Savenko
2ad186130f Split MapDefines file on .h per class basis 2025-07-07 18:16:42 +03:00
Ivan Savenko
6ac57a7cfc Improvements to bonus system node types / propagators
- Node type is now set on construction and never changes
- Added army propagator that also checks for TOWN and HERO
- Renamed existing propagators to be in sync with enumeration
2025-06-25 17:34:20 +03:00
Ivan Savenko
1e3e2f665c Remove strange & unused double-selector logic 2025-06-24 12:06:23 +03:00
Laserlicht
cfc09389fa Merge branch 'develop' into cheats 2025-06-19 19:05:31 +02:00
Laserlicht
b0f5c4dd7b allow more than 8 skills 2025-06-19 19:02:39 +02:00
Ivan Savenko
3b6f93c365 Remove boarded boat as a separate call to player interfaces 2025-06-17 14:37:58 +03:00
Ivan Savenko
c279da0798 Minimize hardcoded logic for campaigns. Support for hota h3c's 2025-06-15 17:01:29 +03:00
Ivan Savenko
ce5ee6e1df Merge pull request #5769 from IvanSavenko/mysticism
Percentage-based mana regeneration
2025-06-04 21:11:45 +03:00
Ivan Savenko
07dcdc1f85 Percentage-based mana regeneration
Hota-like mysticism.

Bonus FULL_MANA_REGENERATION (Wizard well) has been replaced with
MANA_PERCENTAGE_REGENERATION bonus. Wizard well now has new bonus with
100% value.
2025-06-03 19:38:54 +03:00
Ivan Savenko
139f41c9b2 Implement STACK_EXPERIENCE_GAIN_PERCENT bonus
Suggested on Discord

- implements STACK_EXPERIENCE_GAIN_PERCENT that modifies stack
experience received by units after combat
- removed "EXPERIENCE" primary skill. Changes to experience are now
applied through separate netpack
2025-06-02 21:21:20 +03:00
Ivan Savenko
5c4ce61d57 Fix handling of double-wide creatures by BattleAI
One of recently added sanity checks was causing crashes during BattleAI
decision-making.

Actual reason turned out to be due to invalid requests generated by
BattleAI when attempting to attack enemy unit from behind with double-
wide unit.

This change should make BattleAI correctly estimate such attacks
2025-05-23 14:00:47 +03:00
Ivan Savenko
cc274c4d34 GameRandomizer is now in lib, add implementation 2025-05-19 18:51:42 +03:00
Ivan Savenko
9dfef773e2 Remove unnecessary includes 2025-05-19 17:56:46 +03:00
Ivan Savenko
c0850f41b3 Pathfinder now uses IGameInfoCallback instead of CGameState 2025-05-19 17:53:15 +03:00
Ivan Savenko
fe2f5f9217 Pathfinder now uses CGameState directly instead of inheriting callback 2025-05-19 17:53:15 +03:00
Ivan Savenko
4d4da0454f map objects hierarchy now uses IGameInfoCallback 2025-05-14 18:33:20 +03:00
Ivan Savenko
6f20235d07 Merge CPrivilegedInfoCallback into CGameInfoCallback 2025-05-14 13:42:20 +03:00
Ivan Savenko
716da918f8 Completely remove IGameCallback class
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +03:00
Ivan Savenko
f7d08a7288 Merge pull request #5700 from IvanSavenko/gamestate_pack_visitor
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-14 11:53:15 +03:00
Ivan Savenko
1f15a7faa4 Fix build 2025-05-12 22:07:10 +03:00
Ivan Savenko
2c17c2d5b7 Rework CCallback <-> CClient interaction
- callback is now part of lib instead of weird class that is shared by
client and AI while being part of client
- callback interacts with client class via minimal interface class
- removed no longer used unlockGsWhileWaiting field
2025-05-12 22:07:10 +03:00
Ivan Savenko
35644da2b7 Reogranize callback-related classes on 1 file = 1 class basis 2025-05-12 22:07:09 +03:00
Ivan Savenko
4b30336d03 Fix issues detected by Sonar 2025-05-11 19:50:57 +03:00