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

8441 Commits

Author SHA1 Message Date
Ivan Savenko
283230eb4e Add description for University using H3 string 2025-07-26 21:09:16 +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
8807b442a6 Fixes crash on uncheck customize spell 2025-07-25 22:57:55 +02:00
Laserlicht
2894297b36 sort skills 2025-07-24 22:51:42 +02:00
Laserlicht
c8f06b17f5 gui extension 2025-07-24 22:22:21 +02:00
Laserlicht
1316389e9d possibility to adjust skill selection 2025-07-24 19:39:06 +02:00
Laserlicht
d9ac7755d6 campaign unlock to gamesettings 2025-07-24 17:55:30 +02:00
Opuszek
6b97fc306d fix berserk 2025-07-22 23:28:53 +02:00
Opuszek
ac3991b899 Rename a misleading method 2025-07-22 21:33:46 +02:00
Ivan Savenko
b223393048 Merge pull request #5941 from IvanSavenko/fix_regressions
Fix regressions
2025-07-22 12:38:58 +03:00
Ivan Savenko
b3167a44ee Move MarketInstanceConstructor class to a separate file 2025-07-21 19:38:24 +03:00
Ivan Savenko
fe2a981ddf Show skill that can be learned in university on right click
As in title. Now if player has already visited university before, game
will show list of skills that can be learned in this university on right
click
2025-07-20 16:25:50 +03:00
Ivan Savenko
aab628c5d4 Fix crash on using JsonDeserializer on JsonNode without valid mod scope 2025-07-20 16:22:35 +03:00
Ivan Savenko
81d09aee14 Add workaround & logging for mods that use incorrect building ID's 2025-07-20 16:21:53 +03:00
Laserlicht
3975cc3ada case insensitive cheat identifier 2025-07-20 13:56:14 +02:00
Laserlicht
dea441899a searchbox color 2025-07-20 02:44:09 +02:00
Ivan Savenko
241da5937d First semi-working version of antilag for hero movement 2025-07-19 18:04:20 +03:00
Ivan Savenko
3ea2c8bff0 Cleanup, remove unnecessary changes 2025-07-19 18:04:20 +03:00
Ivan Savenko
52da332640 GameHandler now uses GameConnectionID instead of connection pointers 2025-07-19 18:04:20 +03:00
Ivan Savenko
3576efc3f3 Initial version of antilag support 2025-07-19 18:04:20 +03:00
Ivan Savenko
58de180083 Split CConnection into GameConnection and IGameConnection classes 2025-07-19 18:04:20 +03:00
Ivan Savenko
3d63284c51 Extracted interface through which GameHandler interacts with VCMIServer 2025-07-19 18:04:20 +03:00
Ivan Savenko
6b382a979a Added PackageReceived message to show when server starts pack processing 2025-07-19 18:04:20 +03:00
Laserlicht
802788b89f rename to key binding 2025-07-19 16:46:22 +02:00
Laserlicht
48fb680795 fix 2025-07-19 16:05:04 +02:00
Laserlicht
72e60c6600 writing shortcuts 2025-07-19 15:19:09 +02:00
Laserlicht
c40e1bae19 capturing keys 2025-07-19 13:59:55 +02:00
Ivan Savenko
7fcb0246fb Merge pull request #5909 from Laserlicht/template_editor_object
Template editor - object & townHints selection
2025-07-18 23:08:53 +03:00
Ivan Savenko
34f74fcec9 Merge pull request #5931 from Opuszek/fix_sanctuary
fixes sanctuary behavior
2025-07-18 22:37:53 +03:00
Opuszek
6a983e16df Update lib/pathfinder/PathfinderUtil.h
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-07-17 19:10:20 +02:00
Ivan Savenko
163c95ffb0 Merge pull request #5926 from IvanSavenko/commander_fixes
Fixes for commanders logic
2025-07-17 16:12:42 +03:00
Ivan Savenko
abd43e77cf Merge pull request #5922 from IvanSavenko/simple_building_config
Simplify town buildings configuration
2025-07-17 16:12:29 +03: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
George King
045dd3de11 Inno Setup + AMR64 preparation 2025-07-15 19:21:12 +02:00
Opuszek
69e3134c21 fixes sanctuary behavior 2025-07-15 10:28:23 +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
ae284e9c16 Simplify town buildings configuration
Goal is to minimize amount of copy-pasted parts of town building
configuration and to reduce chance of modders accidentally breaking it.

For example, Grail in any town produces 5k gold and requires artifact to
be built. No need to copy-paste this in any town. And if modder wants to
more unique Grail, he provide custom parameters that will override
default properties.

As a bonus, since all building ID's are now in config, modders can use
it for reference instead of searching for examples

Changes:

- All H3 buildings now have entry in buildingsLibrary.json.
- Moved all common parameters of town buildings to buildingsLibrary.json
- Added all new building ID's to buildingsLibrary.json - level 8
dwelling, additional upgrades of dwellings & hordes
- Removed hardcoded mapping of strings to building ID's from code.

Should not break any existing mods, or cause them to fail validation
2025-07-14 15:31:01 +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