Ivan Savenko
c737b8bea3
Merge pull request #5940 from Laserlicht/case_insensitive
...
case insensitive cheat identifier
2025-07-31 17:05:26 +03:00
Ivan Savenko
c0644da408
Merge pull request #5947 from Laserlicht/skill
...
Setting to increase selectable skills on levelup
2025-07-31 17:00:24 +03:00
Ivan Savenko
b4693a9d7f
Merge pull request #5859 from IvanSavenko/antilag
...
Lag compensation for multiplayer
2025-07-30 12:02:36 +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
d8e6931284
Merge pull request #5937 from Laserlicht/shortcut
...
Add key binding menu
2025-07-30 11:58:23 +03:00
Ivan Savenko
5c4cbcb130
Merge pull request #5949 from Opuszek/add_filter_to_hero_spell_widget
...
Map Editor:Add filter to the herospell widget
2025-07-30 11:24:52 +03:00
Ivan Savenko
9b9dc85d7e
Merge pull request #5946 from Laserlicht/gamesettings
...
campaign unlock to gamesettings
2025-07-30 11:23:50 +03:00
Ivan Savenko
f84f76b37b
Merge pull request #5957 from Olegmods/patch-7
...
Fixes for commanders
2025-07-30 11:23:03 +03:00
Ivan Savenko
45f21c252b
Merge pull request #5958 from IvanSavenko/townportal_fix
...
Do not limit number of daily casts of town portal spell
2025-07-30 11:22:55 +03:00
Ivan Savenko
fda9e3ac37
Merge pull request #5955 from XCOM-HUB/patch-1
...
Update swedish.json
2025-07-28 18:54:22 +03:00
Ivan Savenko
747af469b5
Merge pull request #5954 from kdmcser/building_id
...
display lack id building
2025-07-28 18:54:10 +03:00
Ivan Savenko
97e6c5f395
Merge pull request #5952 from IvanSavenko/spell_ban_fix
...
Fix artifacts providing hero with banned spells
2025-07-28 18:53:50 +03:00
Ivan Savenko
99480ff9a4
Merge pull request #5951 from Opuszek/fix_crashing_hero_spell_widget
...
Fixes crash on uncheck customize spell
2025-07-28 18:53:42 +03:00
Ivan Savenko
6e60bdb78a
Merge pull request #5950 from kdmcser/chinese
...
update Chinese translation
2025-07-28 18:53:25 +03:00
Ivan Savenko
b7521450fb
Merge pull request #5942 from IvanSavenko/university_popup
...
Show skill that can be learned in university on right click
2025-07-28 18:53:08 +03:00
Ivan Savenko
76aa075d10
Merge pull request #5948 from Opuszek/fix_segmentation_fault
...
Fixes segmentation fault when getting magic strength of a hero
2025-07-28 18:51:52 +03:00
Ivan Savenko
7a0a3cd427
Remove logging, update docs
2025-07-28 18:38:07 +03:00
Ivan Savenko
226ce1e20c
Do not limit number of daily casts of town portal spell
2025-07-28 18:14:48 +03:00
Ivan Savenko
44cc3a0214
Add comments, rename entities to more logical names, reorganize code
2025-07-28 18:13:41 +03:00
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
Ivan Savenko
6a22b042ac
Partial support for antilag in army management
2025-07-26 19:42:47 +03:00
Ivan Savenko
25ba05cdab
Merge pull request #5935 from Laserlicht/entities_template_editor
...
banned entities in template editor
2025-07-22 13:24:37 +03:00
Ivan Savenko
b223393048
Merge pull request #5941 from IvanSavenko/fix_regressions
...
Fix regressions
2025-07-22 12:38:58 +03:00
Ivan Savenko
dc06e02383
Merge pull request #5939 from Laserlicht/search
...
Object search - allow searching all
2025-07-22 12:38:47 +03:00
Ivan Savenko
5d9450d9b5
Merge pull request #5938 from Laserlicht/patch-1
...
fix graphical regression
2025-07-22 12:38:06 +03:00
Ivan Savenko
b3167a44ee
Move MarketInstanceConstructor class to a separate file
2025-07-21 19:38:24 +03:00
Ivan Savenko
3d05644601
Create fake server on stack to instead of persistent member to eliminate
...
state
2025-07-20 23:57:58 +03:00
Ivan Savenko
2bcc2229c6
Failed prediction will now rollback all assumed changes
2025-07-20 23:54:39 +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
a5c6cfe922
Initialize mod scope of loaded rmg template in template editor
2025-07-20 16:23:01 +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
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
790c5cb455
Remove static variable
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
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
2877fa3301
Merge pull request #5927 from Laserlicht/fps_draw
...
optimized fps/battery box drawing
2025-07-18 23:08:42 +03:00
Ivan Savenko
e82b92aa17
Merge pull request #5936 from Laserlicht/kingdom
...
fix kingdom overview rendering
2025-07-18 22:38:17 +03:00
Ivan Savenko
34f74fcec9
Merge pull request #5931 from Opuszek/fix_sanctuary
...
fixes sanctuary behavior
2025-07-18 22:37:53 +03:00
Ivan Savenko
e02fc5ff3f
Merge pull request #5934 from MichalZr6/fix_schemas
...
Fix JSON schemas
2025-07-17 16:17:35 +03: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
Ivan Savenko
1727bff1e6
Limit commander experience level to map limit
2025-07-14 21:05:49 +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
173b658ee5
Fix commander skill icon not updating on deselection
2025-07-14 21:03:46 +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
2774502526
Merge pull request #5883 from IvanSavenko/opening_spell_freeze_fix
...
Fix freeze on battle opening spell & add debug logging
2025-07-14 13:32:29 +03:00
Ivan Savenko
3b36d74882
Merge pull request #5901 from IvanSavenko/adventure_spells
...
(somewhat) configurable adventure map spells
2025-07-14 13:31:19 +03:00
Ivan Savenko
8fbf9568d9
Merge pull request #5915 from Laserlicht/queue
...
fix glitch with small queue
2025-07-14 12:36:47 +03:00
Ivan Savenko
2199e90520
Merge pull request #5913 from Laserlicht/hd-settinh
...
Hd setting
2025-07-14 12:36:41 +03:00
Ivan Savenko
5aeb06c319
Try to fix freeze on battle opening spell
2025-07-14 12:34:55 +03:00
Ivan Savenko
87555c600d
Json validation for battle effects
2025-07-14 12:30:50 +03:00
Ivan Savenko
18a0a5a4d6
Updated schema to validate adventure map spells
2025-07-14 12:01:42 +03:00
Ivan Savenko
51408cccd8
Update docs
2025-07-14 11:26:41 +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
a53aadf53a
Remove unused default cursor
2025-07-11 12:25:40 +03:00
Ivan Savenko
5ada2d19e1
UI now shows spell range from config
2025-07-11 12:06:01 +03: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
0d9fd09a6d
Merge pull request #5908 from dydzio0614/commanders_fix
...
Fix commanders config
2025-07-10 15:55:05 +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
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
97db95a3ab
Merge pull request #5904 from Laserlicht/glitch
...
fix graphical glitch
2025-07-09 11:05:14 +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
Ivan Savenko
b3c20d30e5
Merge pull request #5903 from Laserlicht/bonus_hide
...
Hide bonus from creature window
2025-07-09 11:03:21 +03:00
Ivan Savenko
c0145bad58
Merge pull request #5898 from IvanSavenko/clang
...
Add clang-tidy and clang-format configuration
2025-07-09 11:02:40 +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
Ivan Savenko
46072a1d60
Merge pull request #5896 from IvanSavenko/code_reorganize
...
Split large source files into smaller files per 1 class
2025-07-08 10:47:13 +03:00
Ivan Savenko
fb8535d1cf
Merge pull request #5882 from Laserlicht/save_stat
...
Statistics in highscore screen
2025-07-08 10:21:02 +03:00
Ivan Savenko
40f7de1342
Merge pull request #5889 from IvanSavenko/bonus_fixes
...
Fixes for bonus system
2025-07-08 10:05:38 +03:00
Ivan Savenko
0c037c6992
Merge pull request #5890 from IvanSavenko/battle_layout_fix
...
Tweaks for adaptive battle window UI
2025-07-08 10:05:27 +03:00
Ivan Savenko
f76b2efee6
Merge pull request #5894 from IvanSavenko/army_swap_fix
...
Armies swap will now maintain unit ordering
2025-07-08 10:05:18 +03:00
Ivan Savenko
980ffa591e
Merge pull request #5893 from IvanSavenko/event_fix
...
Fix events on .vmap's not activating on hero visit
2025-07-08 10:05:10 +03:00
Ivan Savenko
95bc827f1b
Add clang-tidy and clang-format configuration
2025-07-07 21:37:27 +03:00
Ivan Savenko
4c2d67eb45
Fix build
2025-07-07 20:58:53 +03:00
Ivan Savenko
33431adb27
Apply formatting on changed files
2025-07-07 19:19:17 +03:00
Ivan Savenko
8721bdd728
Split CCreatureSet file on .h/.cpp per class basis
2025-07-07 19:12:31 +03: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
Ivan Savenko
5932e67568
Merge pull request #5875 from Laserlicht/patch-1
...
Fix AssetGenerator
2025-07-07 13:49:14 +03:00
Ivan Savenko
ce4e37f2d9
Armies swap will now maintain unit ordering
2025-07-07 13:45:34 +03:00
Ivan Savenko
4fc63427b9
Fix events on .vmap's not activating on hero visit
2025-07-07 12:41:45 +03:00