1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-04-24 19:54:52 +02:00

165 Commits

Author SHA1 Message Date
Yury Zhurikhin ab6c1390c2 add DLL_LINKAGE + out-of-line dtor for all exceptions
(cherry picked from commit 138eb51618)
2026-03-23 10:53:12 +03:00
Ivan Savenko e0c13bfb1d Fix compilation of lobby package
Fixes compilation when vcmilobby is enabled alongside with minimal
library. Added cmake preset & CI job to prevent breakage in future
2026-03-11 12:21:32 +02:00
Ivan Savenko 10e9d8e3ef Fix loading of spell mastery for combat trigger bonus 2026-02-20 12:53:58 +02:00
Ivan Savenko d754aedb16 Fix crash on mod conflict detection, add tests 2026-02-17 13:48:04 +02:00
Ivan Savenko eb7f7b5f62 Fix possible crash on spell before/after attack bonus 2026-02-12 13:20:48 +02:00
Ivan Savenko 7ac619dfba Fix crashes on accessing bonus addInfo/parameters 2026-02-09 17:46:40 +02:00
Ivan Savenko 09b144d383 Merge pull request #6802 from IvanSavenko/bonus_trigger
Support for executing actions on combat events (aka hota runes support)
2026-02-01 13:03:53 +02:00
Opuszek e3b5df9d91 Fixes TIMES_STACK_SIZE updater 2026-01-31 23:24:20 +01:00
Ivan Savenko b194856dad Implemented ON_COMBAT_EVENT bonus
Bonus allows giving unit bonuses or casting spells on multiple events in
battle, such as waiting, defending, before or after attac, etc
2026-01-27 18:25:33 +00:00
Ivan Savenko bdebf6ab8b Reworked bonus addInfo into more extensible and type-safe form
- addInfo is now named parameters internally
- CAddInfo class renamed to BonusParameters
- parameters are now stored as const shared_ptr in bonus
- parameters now contain variant of all possible types instead of just
integer array
- no changes to existing mods
2026-01-27 18:25:33 +00:00
Ivan Savenko e96fa4b9f1 Add support for testing bonus value via has another bonus limiter 2026-01-27 18:25:07 +00:00
Ivan Savenko 749f96f6e1 Allow chaining updaters or propagation updaters 2026-01-27 18:23:09 +00:00
Ivan Savenko b4581bd729 Fix on-map configuration of hota-only objects 2026-01-19 19:25:43 +00:00
Ivan Savenko 42cbfd3e04 Merge pull request #6608 from IvanSavenko/hota_mapsupport
[1.7.2?] More improvements for hota h3m support
2026-01-18 00:52:25 +02:00
Laserlicht 4f0e930f97 move DEITYOFFIRE to bonus 2026-01-17 14:46:15 +01:00
Ivan Savenko 825c60552c Fix issues with map support discovered after testing 2026-01-17 11:51:07 +00:00
Ivan Savenko 519005d5af Implement UNIT_ADJACENT limiter to allow aura-like effects 2026-01-08 19:00:47 +00:00
Ivan Savenko fcb80377c6 Fix loading of heroes and hero classes for rewardables 2026-01-08 19:00:47 +00:00
Laserlicht 8a3a3abaf4 fix copy paste error? 2026-01-05 22:47:35 +01:00
Dydzio eec9845536 Rename bonus to ADJACENT_SPELLCASTER - more logical name 2025-12-28 17:23:55 +01:00
Dydzio bb182416fd Working basic logic 2025-12-27 23:25:06 +01:00
Ivan Savenko dc021055e4 Fixes and workarounds for crashes from Google Play
- Added more detailed error message for crash due to potential load of
mod with missing dependencies?
- Fix crash on shutting down server when playing through online lobby
- Log instead of crash when player (somehow) presses update button
without mod selected
2025-12-21 11:35:21 +02:00
Ivan Savenko 6367614f91 Merge pull request #6428 from kdmcser/neutral_enemy_stack_bonus
Add bonus FORCE_NEUTRAL_ENCOUNTER_STACK_COUNT for neutral stack splitting
2025-12-18 21:00:45 +02:00
kdmcser 8fd44a9651 merge develop 2025-12-17 00:33:12 +08:00
Ivan Savenko 6129adef7b Respect 'special' flag when rolling for skills 2025-12-16 16:36:13 +02:00
Simeon Manolov 9d6ec17f48 MMAI: an ML-powered combat AI 2025-12-15 02:50:32 +02:00
kdmcser 99136ee96b fix compile 2025-12-12 00:25:55 +08:00
kdmcser 960ed73ec6 add bonus FORCE_NEUTRAL_ENCOUNTER_STACK_COUNT 2025-12-11 23:21:37 +08:00
Opuszek 8675e6e91f Allow to add terrain limiter for hero and town instances 2025-12-09 15:50:10 +01:00
Ivan Savenko 1ef7969fd5 Fixed issues with object customization in RMG
Regression / incomplete code from my previous PR
2025-12-07 08:46:10 +00:00
Ivan Savenko 2191e51d48 Implemeted HATES_TRAIT bonus, similar to HATE, but targets any unit with
specific bonus
2025-11-02 11:09:42 +02:00
Laserlicht 7314bb2d06 remove todo 2025-09-29 01:15:04 +02:00
Laserlicht 6c6350ad8b code review 2025-09-21 22:07:57 +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
Michał Zaremba be736eb1b2 fix for insert@/modify@ in JsonUtils::merge; minor typo fixes 2025-08-22 15:53:00 +02:00
Ivan Savenko 6328e4b4f8 Merge pull request #6002 from kdmcser/opening_battle_spells
Add addInfo support for OPENING_BATTLE_SPELL to set spell level
2025-08-14 11:19:53 +03:00
kdmcser 594ae27cb5 support setting spell master level in OPENING_BATTLE_SPELLS 2025-08-11 02:13:36 +08:00
Ivan Savenko 78b39688c5 Improvements for json validation for mods
- Implemented validation for `targetCondition` in spells
- Implemented validation for `mapObject` in towns/heroes
- Fixed validation of zone connections in RMG
- Added workarounds to prevent assertions triggering on invalid mods
- Erase 'base' entries from json before validation (but after applying
them to derived keys)

Should have no effect on mod behavior/support, but may cause new
detections for mods that were broken in either 1.6 or 1.7
2025-08-05 19:40:18 +03:00
Michał Zaremba c419a3c41a Fix typo in error message 2025-08-01 00:59:15 +02:00
Ivan Savenko aeddeb2612 Fix loading of subtypes for HAS_ANOTHER_BONUS limiter 2025-07-14 21:04:46 +03:00
Ivan Savenko c4cb794760 Add workaround for mods that use "true" (string) instead of real bool 2025-07-14 21:04:26 +03:00
Ivan Savenko 5caf43a63c Merge pull request #5900 from IvanSavenko/bonus_limiters
Bonus limiters refactoring
2025-07-09 11:12:11 +03:00
Ivan Savenko 09ac0f1806 Merge pull request #5851 from Laserlicht/max_range_spell
max range for spell cast
2025-07-09 11:05:37 +03:00
Ivan Savenko 4af7949571 Bonus limiters refactoring
- Split massive `parseLimiter` method in smaller chunks
- Added alternative format for limiters with named parameters instead of
unclear `parameters` entry that often leads to bugs in mods. Old format
is still available.
- Added detailed validation for limiter format
- Converted vcmi json's to use new format
- Removed parameter-less `CREATURE_FACTION` and `SAME_FACTION` limiter.
They are unused in mods and have unclear use-case that can be replaced
by other limiters
- Expanded documentation on limiter types

All mods that were supported before should still be supported
2025-07-08 13:01:08 +03:00
Laserlicht cf32f00472 hide bonus 2025-07-08 11:59:16 +02:00
Laserlicht ca8cfaf0ad Merge branch 'develop' into max_range_spell 2025-07-08 11:36:23 +02:00
Ivan Savenko 8721bdd728 Split CCreatureSet file on .h/.cpp per class basis 2025-07-07 19:12:31 +03:00
Laserlicht 13a2b8781e Merge branch 'vcmi:develop' into max_range_spell 2025-07-03 23:25:06 +02:00