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

628 Commits

Author SHA1 Message Date
Ivan Savenko
152e7ed74b Fix missing descriptions for creature abilities spells 2025-11-01 23:20:16 +02:00
Ivan Savenko
b3943b917b Use town portal configuration instead of direct spell level check 2025-10-27 19:34:22 +02: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
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
Ivan Savenko
1f9a1dbf37 Fix artifacts providing hero with banned spells
Tomes of X Spells and Spellbinder's Hat (and any other sources for such
bonuses from mods) will no longer provide spells that are banned on map.

Option is only active for random maps and for HotA h3m's. RoE-SoD .h3m's
work as before.

If needed, behavior can be changed in config
2025-07-26 19:44:00 +03:00
Opuszek
ac3991b899 Rename a misleading method 2025-07-22 21:33:46 +02:00
Ivan Savenko
afb71f72a7 Merge pull request #5910 from Opuszek/fix_mirror_shield
Make a blind/berserk spells activate immediately if reflected on an active unit
2025-07-17 16:12:20 +03:00
Ivan Savenko
6720289682 Merge pull request #5919 from IvanSavenko/rmg_banned_entities
Support for banned game entities in random map templates
2025-07-17 16:03:08 +03:00
Ivan Savenko
f58d08e563 Support for banned game entities in random map templates
The following entities can now be banned in a random map template
definition:
- Hero
- Artifact
- Spell
- Secondary skill

The ban follows the same rules as banning via the map settings in the
map editor.

It is also now possible to bypass dependencies and access identifiers
from mods that are not dependencies when defining:
- Banned entities in random map templates
- the chance of a hero class appearing in a tavern of a specific faction
- the chance of a spell appearing in a mage guild of a specific faction
- the chance of a hero class receiving a secondary skill

For this to work, the identifier must be specified in full, e.g.
`modName:objectName`. If the specified mod is not active, the game will
silently ignore this entry.

This behaviour is not affected by mod load order. It is possible to use
this format to access a mod that has not yet been loaded.
2025-07-14 00:18:11 +03:00
Ivan Savenko
a0a99d7311 Fix build, fix sonar 2025-07-13 23:03:45 +03:00
Ivan Savenko
246010c13e Update docs, fix inconsistencies between config & code 2025-07-11 19:20:53 +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
7a1ede1e38 Adventure spell API refactoring to ease use by AI 2025-07-11 16:47:37 +03:00
Ivan Savenko
55bd4bc8bf Support for custom cursors for adventure map spells 2025-07-11 16:06:21 +03:00
Ivan Savenko
5ada2d19e1 UI now shows spell range from config 2025-07-11 12:06:01 +03:00
Opuszek
709f456ef5 Fixes mirror spell reflecting berserk 2025-07-10 18:02:39 +02:00
Ivan Savenko
79f3126c63 (somewhat) configurable adventure map spells
- All adventure map spells have most of their parameters in json.
- Parameters of adventure map spells can now be defined separately per
each mastery level.
- It is now possible to add a new spell that will have effect similar to
H3 adventure map spell
2025-07-10 15:55:41 +03:00
Ivan Savenko
d3263a9a26 Merge pull request #5905 from IvanSavenko/sonar
Fix some sonar warnings and convert formatting from spaces to tabs
2025-07-10 15:54:40 +03:00
Ivan Savenko
e12765dca0 Fix sonar warnings, convert spaces -> tabs 2025-07-09 17:52:51 +03:00
Ivan Savenko
ac06f3d557 Merge pull request #5897 from Opuszek/fix_magic_mirror_spell
Fix magic_mirror spell
2025-07-09 12:37:33 +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
e3be6cc513 Merge pull request #5892 from Laserlicht/spell_school
custom spell schools in spell book
2025-07-09 11:04:27 +03:00
Opuszek
7135005d89 fix problems 2025-07-08 16:20:09 +02:00
Laserlicht
ca8cfaf0ad Merge branch 'develop' into max_range_spell 2025-07-08 11:36:23 +02:00
Laserlicht
b6e8731329 code review 2025-07-08 10:34:11 +02:00
Opuszek
00d5c3bca1 Update lib/spells/BattleSpellMechanics.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-08 10:04:36 +02:00
Opuszek
c78e8aa69f Update lib/spells/BattleSpellMechanics.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-08 10:04:23 +02:00
Opuszek
1393ac0420 Update lib/spells/BattleSpellMechanics.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-08 10:02:48 +02:00
Opuszek
7fc25319ee Update lib/spells/BattleSpellMechanics.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-08 10:02:37 +02:00
Opuszek
4eaa337eb3 Update lib/spells/BattleSpellMechanics.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-08 10:00:27 +02:00
Opuszek
94ad9d536b Update lib/spells/BattleSpellMechanics.cpp
Fixes a lambda's captured values in BattleSpellMechanics.

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-07 21:11:57 +02:00
Opuszek
f7bd9de59f fixes formatting 2025-07-07 21:00:42 +02:00
Opuszek
c472427d8c Fix magic_mirror spell 2025-07-07 18:09:23 +02:00
Ivan Savenko
2ad186130f Split MapDefines file on .h per class basis 2025-07-07 18:16:42 +03:00
Ivan Savenko
ddff11184a Split AdventureSpellMechanics file on .h+.cpp per class basis 2025-07-07 17:28:16 +03:00
Laserlicht
23301b99dd fix 2025-07-07 03:47:29 +02:00
Laserlicht
3e6162a37a custom spell schools in spell book 2025-07-07 03:29:27 +02:00
Laserlicht
547ebbd08e fix doublewide 2025-07-04 00:37:14 +02:00
Laserlicht
13a2b8781e Merge branch 'vcmi:develop' into max_range_spell 2025-07-03 23:25:06 +02:00
Laserlicht
9bfe3a8195 max range for spellcaster 2025-06-25 15:50:31 +02:00
Ivan Savenko
1e3e2f665c Remove strange & unused double-selector logic 2025-06-24 12:06:23 +03:00
Ivan Savenko
3c6aa9085c Mana channeling no longer activates if unit is dead 2025-06-16 13:23:41 +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
0979f409c7 Fix build 2025-06-15 14:36:29 +03:00
Ivan Savenko
4e47894e7a Somewhat configurable spell schools 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