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