Commit Graph
21746 Commits
Author SHA1 Message Date
Andrew HammondandClaude a5a572c811 Fix crash when recruiting heroes from tavern
Generate unique instance name for heroes before adding them to the map
during recruitment. This prevents the "Object instance name missing"
error that occurred when clicking the buy button in taverns.

The issue was in visitHeroRecruited() where the hero object was being
added to the map without first setting its instanceName property, which
is required by CMap::addNewObject().

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 09:52:59 -08:00
Laserlicht 9a369d1cc2 add title 2025-11-26 11:38:41 +01:00
Ivan Savenko 615f4b720e Merge pull request #6360 from Laserlicht/camp
fix campaign format regression
2025-11-26 12:02:53 +02:00
Ivan Savenko 34d353a739 Merge pull request #6345 from IvanSavenko/changelog_november
Update changelog
2025-11-26 11:54:29 +02:00
Ivan Savenko ab9496c511 Merge pull request #6343 from IvanSavenko/remove_vcai
Remove VCAI & use NKAI2 as default
2025-11-26 11:53:34 +02:00
Andrew HammondandClaude 951e19beb3 Fix assertion crash in hero recruitment
Move ID validation assertion after addNewObject() call to ensure the hero has an ID assigned before checking. Add comprehensive tests validating hero recruitment ID assignment behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:34:17 -08:00
Laserlicht 154a074506 add template description as popup if available 2025-11-26 00:57:59 +01:00
Laserlicht bc1563b19c fix campaign format regression 2025-11-25 23:17:19 +01:00
Tomasz Zieliński 1cd5a71e64 SonarQube 2025-11-25 21:52:49 +01:00
Tomasz Zieliński a52ff92344 Bend path close to Bezier curve 2025-11-25 21:34:27 +01:00
Tomasz Zieliński 8bc286e530 Improve Dwarven Tunnels template 2025-11-25 09:42:37 +01:00
Tomasz Zieliński 1b4564eec8 SonarQube improvements 2025-11-24 20:32:18 +01:00
Tomasz Zieliński 20cadc9703 Also modify example template 2025-11-24 19:02:43 +01:00
Tomasz Zieliński 0006f73bb7 Add option to configure zone layer 2025-11-24 18:56:22 +01:00
Tomasz Zieliński da68263ca5 Prune roads that don't end it towns 2025-11-24 18:27:02 +01:00
Ivan Savenko a655661a2e Fix issues with object customization in rmg
Fixed several issues with resolving identifiers of map objects when
banning or overriding rmg properties of map objects.

Syntax should now be way simple and more readable, e.g:
```json
"bannedObjects" : {
	"randomArtifactRelic" : true,
	"hota.mapobjects:townGate" : true,
	"cartographer" : {
		"cartographerLand" : true
	}
}
```

Objects with customized rmg properties are not implicitly banned - to
prevent default rmg properties from having an effect.

In addition, it is now possible to ban or customize objects even without
explicit mod dependency, similar to how object bans work in 1.7. If
corresponding mod is not active, object ban/customization will be
ignored.

See changes in docs in this PR for docs.

Resolved issues:

- Fixes #5554
- Fixes #5556

NOTE: old (1.6) rmg templates will work as before, however changed
format will be reported by validation - please update mods either before
or after 1.7 release
2025-11-24 18:25:15 +02:00
Ivan Savenko 870e44cd04 Changes according to review 2025-11-24 10:40:27 +02:00
Ivan Savenko 045251bdc2 Merge pull request #6344 from Laserlicht/crashfix
fix crash if second level does not exists
2025-11-24 10:14:16 +02:00
Ivan Savenko b16a4e4033 Update changelog 2025-11-24 09:16:23 +02:00
Laserlicht 4ea3a26f8f fix crash if second level does not exists 2025-11-24 01:44:48 +01:00
Ivan Savenko fb41b48787 Add AI configuration validation 2025-11-23 23:34:17 +02:00
Ivan Savenko a5816b0fe4 Removed VCAI 2025-11-23 22:48:34 +02:00
Ivan Savenko e4497284a1 Compilation of most of AI's is now optional 2025-11-23 22:48:34 +02:00
Ivan Savenko 5356511a93 Merge pull request #6342 from vcmi/ci_fix
Fix CI failures after recent merges
2025-11-23 22:48:16 +02:00
Ivan Savenko c42f72a0f4 Add workaround for failing tests 2025-11-23 21:23:49 +02:00
Ivan Savenko d1028bfa05 Remove workaround - NDK used for build is already available on runners 2025-11-23 21:23:30 +02:00
Ivan Savenko 1c746a840c Merge pull request #6033 from thehonestcto/feature/nullkiller2
WIP feature/nullkiller2 cloned, restructured, tested and with additional improvements
2025-11-23 20:55:24 +02:00
Ivan Savenko a0ade44ebf Merge pull request #6327 from vcmi/dependabot/github_actions/DavidAnson/markdownlint-cli2-action-21
Bump DavidAnson/markdownlint-cli2-action from 20 to 21
2025-11-23 20:53:20 +02:00
Ivan Savenko ef6ac2ee95 Fix .md formatting for newer version of linter 2025-11-23 20:34:50 +02:00
Ivan Savenko 1cf1284635 Merge pull request #6326 from vcmi/docs-rpm-qtsvg
[docs] add Qt 5 SVG package to RPM-based distros
2025-11-23 20:19:29 +02:00
Ivan Savenko a3a38d9a60 Merge pull request #6340 from Laserlicht/stat_show
show statistics ingame
2025-11-23 18:55:22 +02:00
Ivan Savenko 4e7f084dd1 Merge pull request #6335 from vcmi/dependabot/github_actions/actions/checkout-6
Bump actions/checkout from 5 to 6
2025-11-23 18:45:51 +02:00
Ivan Savenko 423c49d465 Merge pull request #6313 from Laserlicht/custom_map_size
Custom map size in RMG
2025-11-23 18:44:41 +02:00
Ivan Savenko 3e63f4ea21 Merge pull request #6297 from IvanSavenko/android_ndk_bump
Use latest (r29) NDK for Android builds
2025-11-23 18:43:14 +02:00
Ivan Savenko 9ef0646aaf Merge pull request #6278 from IvanSavenko/cpp20
Migrate codebase to C++20
2025-11-23 18:42:44 +02:00
Ivan Savenko 36f2794857 Merge pull request #6341 from kdmcser/spell_like_attack
fix limiter is invalid in SPELL_LIKE_ATTACK bonus
2025-11-23 18:40:33 +02:00
kdmcser 4222f7e01f fix limiter is invalid in SPELL_LIKE_ATTACK bonus 2025-11-23 19:04:26 +08:00
Laserlicht afb045ef14 show statistics ingame 2025-11-22 16:46:10 +01:00
dependabot[bot] c28e8d79d9 Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:12:25 +00:00
Mircea TheHonestCTO acd62e86d5 nullkiller2: Add battleEnded() callback and also clean from battleResultsApplied() to fully mirror what was added in NK1 2025-11-20 19:28:09 +01:00
Ivan Savenko f3fd5c05af Merge pull request #6329 from Laserlicht/graphical_fixes
Content aware sliders
2025-11-20 18:25:31 +02:00
Ivan Savenko ee0c2c0741 Merge pull request #6333 from Olegmods/patch-8
Fixed golems' level
2025-11-20 18:22:32 +02:00
Ivan Savenko 443c24e71b Merge pull request #6332 from Laserlicht/romanian_cp
fix romanian
2025-11-20 18:21:42 +02:00
Olegmods 744be1d4a6 Fixed golems' level
Gold and Diamond golems' level changed from 4 and 5 to 5 and 6.
https://heroes.thelazy.net/index.php/Diamond_Golem and some other source I found state that the ones from that PR are correct
2025-11-19 22:34:52 +03:00
Laserlicht e68d2ad775 fix romanian 2025-11-19 19:58:47 +01:00
Mircea TheHonestCTO 45e3e48fba nullkiller2: Add battleEnded() callback to AIGateway for NK2 AI but leave it deactivated because it crashes NK during computer turns if it fights 2025-11-19 18:01:34 +01:00
Mircea TheHonestCTO 19ced296dc nullkiller2: Reduce pathfinder bucket size in NK2AI settings for higher speed until further improvements 2025-11-19 17:52:31 +01:00
Mircea TheHonestCTO 5c6f2faebb Merge branch 'develop' into feature/nullkiller2 2025-11-19 17:47:18 +01:00
Laserlicht 2089ab1f85 check enableUiEnhancements flag 2025-11-19 00:55:09 +01:00
Laserlicht 3b1d5a7b1b shorten text 2025-11-19 00:05:31 +01:00