Ivan Savenko
10e9d8e3ef
Fix loading of spell mastery for combat trigger bonus
2026-02-20 12:53:58 +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
Laserlicht
4f0e930f97
move DEITYOFFIRE to bonus
2026-01-17 14:46:15 +01:00
Ivan Savenko
519005d5af
Implement UNIT_ADJACENT limiter to allow aura-like effects
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
kdmcser
8fd44a9651
merge develop
2025-12-17 00:33:12 +08: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
2191e51d48
Implemeted HATES_TRAIT bonus, similar to HATE, but targets any unit with
...
specific bonus
2025-11-02 11:09:42 +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
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
13a2b8781e
Merge branch 'vcmi:develop' into max_range_spell
2025-07-03 23:25:06 +02:00
SoundSSGood
6752ab3a75
HAS_CHARGES_LIMITER
2025-06-30 18:39:57 +02:00
Ivan Savenko
135768e763
Added TIMES_ARMY_SIZE updater
2025-06-26 15:10:55 +03:00
Laserlicht
9bfe3a8195
max range for spellcaster
2025-06-25 15:50:31 +02:00
Ivan Savenko
2d24c28996
Fix potential edge cases in TIMES_STACK_SIZE updater
2025-06-24 11:31:38 +03:00
Ivan Savenko
da0841dc9c
Fix parsing of HAS_ANOTHER_BONUS_LIMITER parameters
2025-06-17 16:58:23 +03:00
Ivan Savenko
464865f20d
Fix possible crashes on attempt to parse bonus
2025-06-15 23:54:43 +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
a842dfb3c4
Support for defining new campaign regions in mods, for hota h3c
2025-06-15 17:01:29 +03:00
Ivan Savenko
2b43d415a9
Fix docs, update spell immunity usage of addinfo, fix sonar
2025-06-15 14:37:18 +03:00
Ivan Savenko
f5c037137b
Fix translations, fix Sonar
2025-06-15 14:37:17 +03:00
Ivan Savenko
bc48337445
Implement async requests for bonus types
2025-06-15 14:36:29 +03:00
Ivan Savenko
022b0f731c
Fix configs, update docs, resolve discovered regressions
2025-06-15 14:36:29 +03:00
Ivan Savenko
bbe6c415c2
Add TIMES_STACK_SIZE updater
2025-06-15 14:36:29 +03:00
Ivan Savenko
d2178f8831
Simplify Necromancy code, update docs
2025-06-15 14:36:29 +03:00
Ivan Savenko
e0de65d56c
Reworked & fixed DARKNESS bonuses and lookout tower / skyship logic
2025-06-15 14:36:29 +03:00
Ivan Savenko
51832c4fb9
Preparation for user-defined bonus types
2025-06-15 14:36:29 +03:00
Ivan Savenko
342705921d
remove old bonus conversion logic
2025-06-15 14:36:29 +03:00
Ivan Savenko
20f0b51912
Make bonus limiters/updaters/propagators const
...
All pointers held by bonus itself are now const.
To support OppositeSideLimiter (the only stateful limiter) bonuses now
hold their player owner instead.
No changes in functionality or mods
2025-06-03 19:39:28 +03:00
Ivan Savenko
0945654672
Give custom descriptions to unclear H3 abilities and artifacts
2025-05-25 11:56:54 +03:00
Ivan Savenko
25e57542be
Merge pull request #5725 from IvanSavenko/bonus_description
...
Custom descriptions and icons for creature abilities
2025-05-23 14:02:34 +03:00
Ivan Savenko
6fe3666abb
Fix validation of addInfo of bonuses
...
- Added missing docs on addInfo of some bonuses
- Unified naming in docs to match json keys
- Removed addInfo from bonuses that don't actually support it
- Added loading of addInfo to bonuses that support it
2025-05-22 19:00:18 +03:00