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
Ivan Savenko
86b832be67
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-10 17:51:35 +03:00
Ivan Savenko
f1d9d8479f
Extend rewards & limiters functionality
2025-05-06 17:28:12 +03:00