Commit Graph
238 Commits
Author SHA1 Message Date
Ivan Savenko 4b57a168d5 Fix reliability issues from Sonar 2026-06-19 12:50:53 +03:00
Michał Zaremba 2ac4942dd1 Schedule turn-start hero visits on towns; fixes multiple hero level-ups on map start with more than 2 towns with built War Academies 2026-06-07 19:22:48 +02:00
Ivan Savenko de4395f1f7 Added Calendar class to replace getDate() method
Calendar wraps all game date management, including week & month
duration.

Temporarily removed unused Lua bindings to getDate
2026-06-02 20:07:11 +03:00
Ivan Savenko 03d7d15348 Merge pull request #7283 from IvanSavenko/sonar
[1.8] Fix new Sonar warnings
2026-04-30 17:42:14 +03:00
Ivan Savenko 3ab30dbb4d Merge branch 'vcmi/beta' into 'vcmi/develop' 2026-04-30 16:43:21 +03:00
Ivan Savenko 9d27acbc27 Fix new Sonar warnings 2026-04-30 15:38:57 +03:00
Ivan Savenko f2f303879b Exclude war machines from mods from vcmiartifacts cheat 2026-04-23 17:25:06 +03:00
Andrej Dudenhefner 410d2c0623 add aviation
- add EPathfindingLayer `AVIATE` (different from `AIR`, can hover over free land and water)
- add transitions: `LAND` <-> `AVIATE` <-> `AIR` (cannot stop over obstacle)
- add layer specification to `MoveHero` destination handling
- add path finder `AVIATE` rules
- add node storage `AVIATE` specifications
- add adventure map aviation interactions
- add EAdventureState `DISEMBARKING`
- add disembark shortcut Shift+D for `ADVENTURE_DISEMBARK`
- add cursor icons for aviation under CC-BY-SA license
- correct move point generation / consumption
- can buy an airship from Airship Yard on land and coast at fixed cost
- add localization
2026-04-21 10:47:10 +02:00
Ivan Savenko 1a0c8bf8d9 Merge branch 'vcmi/beta' into 'vcmi/develop' 2026-03-31 23:05:13 +03:00
Boris Nagaev 38bfd1c7e5 Fix broken relative local include paths
Many quoted local includes had an incorrect ../ depth and resolved to
non-existent files from the including file's directory.

This was easy to miss because normal target include directories and PCH
usage masked some failures, and several stale paths lived in files that
are only compiled in optional test configurations. As a result, the
problem mostly surfaced in stricter or broader fresh builds.

Audit all C++ and header local includes, keep them relative, and adjust
paths so each include resolves to an existing in-tree header. For
headers that were renamed or moved, update includes to their current
relative location instead of switching to include-root form.

A few legacy ERM tests also used dynamic_ptr_cast at call sites where we
had to replace stale headers. The helper/header path they relied on is
no longer present after 81af66d35b, so
those downcasts are now explicit dynamic_cast calls with the same intent.
2026-03-26 20:14:59 -05:00
Laserlicht ff2946c22c code review 2026-02-21 14:40:36 +01:00
Laserlicht 4297425be3 configurable days 2026-02-21 01:11:46 +01:00
Ivan Savenko eac93ff7ea Try to fix strange freeze on AI receiving turn pause query 2026-02-01 17:37:49 +02:00
Ivan Savenko b9368f8406 Merge branch 'beta' into fix_levelup_queries2 2026-01-27 20:09:04 +02:00
Laserlicht 7e7ced8ec1 save successful 2026-01-25 15:27:54 +01:00
Michał Zaremba 24b987174a Fix level up dialogs (queries) on the very first turn 2026-01-24 13:18:00 +01:00
Laserlicht 4317ba5e49 code review 2026-01-17 20:46:15 +01:00
Laserlicht d56d8f4806 move hardcoded stuff to config 2026-01-17 15:21:56 +01:00
Laserlicht 4f0e930f97 move DEITYOFFIRE to bonus 2026-01-17 14:46:15 +01:00
Laserlicht 7d8916bd61 remove commanders in battle mode 2026-01-10 16:00:34 +01:00
Laserlicht 2bb34fd884 HotA 1.8 cheat 2026-01-02 21:23:36 +01:00
Ivan Savenko 7672bea319 Merge pull request #6485 from IvanSavenko/ai_optimize_2
[1.7.2] AI optimizations
2025-12-31 00:14:22 +02:00
Ivan Savenko 4f0e383680 Optimized storage for map tiles 2025-12-30 17:50:53 +02:00
Ivan Savenko 8014b05399 Improvements for HotA h3m support
Mostly based on the mysterious island map test results

Added support for:
- Pandoras or map events can now grant movement points
- Pandoras or map events can now specify map difficulties on which these
objects are present
- Timed events and town events can now specify map difficulties on which
these objects are present
- Creature banks now support selection of difficulty preset (number of
guards/reward) instead of random-selection
- Wandering monsters "joins only for money" flag is now supported
- Wandering monsters presence of upgraded stack can now be configured in
map
- Pyramid can now grant specific spell configured in map
- Treasure Chest, Corpse, Sea Chest, Flotsam, Tree of Knowledge can now
grant specific reward instead of randomly selected one
- Treasure Chest, Corpse, Warrior's Tomb, Shipwreck Survivor and Sea
Chest can now grant specific artifact configured in map
2025-12-23 12:38:29 +02:00
Andrej Dudenhefner b1ad3df598 refactor onPlayerEndsGame into removePlayer and resumeTurnOrder for separation of concerns 2025-12-05 14:47:31 +01:00
Andrej Dudenhefner 85824770db remove WINNER and LOSER players from turnOrder 2025-12-05 14:26:01 +01:00
Andrej Dudenhefner dec72aa5e1 postpone next turn logic after victory / loss status is settled 2025-12-05 14:15:12 +01:00
Laserlicht 50bfe46d1e move cheat alias to config 2025-12-02 22:24:56 +01:00
Laserlicht 5cecfdcd8f fix gold amount (cheat) 2025-12-02 20:26:18 +01:00
Laserlicht 4c0b652320 add teleport cheat 2025-11-16 13:47:27 +01:00
Ivan Savenko 7cabae89e3 Merge pull request #6243 from Laserlicht/battleonly
Battleonly mode
2025-11-06 14:33:44 +02:00
Ivan Savenko 8e74797650 Remove hardcoded checks for Conflux and Inferno Grails 2025-11-01 23:20:16 +02:00
Laserlicht 5a650a8f2f Merge branch 'develop' into battleonly 2025-10-24 01:01:42 +02:00
Laserlicht ed562e42ba battleonly gui 2025-10-24 00:56:20 +02:00
Laserlicht 4d37fe631b battle only basic implementation 2025-10-24 00:54:22 +02:00
Laserlicht 850617afb0 show income 2025-10-11 22:01:40 +02:00
Laserlicht 8ef97abc7d replace hardcoded 2025-09-16 10:34:38 +02:00
Laserlicht d808bd6412 introduce toResourceType 2025-09-15 00:08:18 +02:00
Laserlicht a54a1f8b8d replace RESOURCE_NAMES where possible 2025-09-14 20:43:53 +02:00
Laserlicht 75f965c93a remove allresources 2025-09-14 15:29:14 +02:00
Ivan Savenko c737b8bea3 Merge pull request #5940 from Laserlicht/case_insensitive
case insensitive cheat identifier
2025-07-31 17:05:26 +03:00
Laserlicht 70c84910bd code review 2025-07-31 00:46:43 +02:00
Laserlicht 3975cc3ada case insensitive cheat identifier 2025-07-20 13:56:14 +02:00
Ivan Savenko 52da332640 GameHandler now uses GameConnectionID instead of connection pointers 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 2ad186130f Split MapDefines file on .h per class basis 2025-07-07 18:16:42 +03:00
Ivan Savenko 4181514c3f Fix incorrect movement gain from objects like Rally Flag
Checked all possible places that can change move points - looks like all
of them expect absolute values
2025-06-24 16:25:15 +03:00
Laserlicht 7d8db1bd98 support all skills at once 2025-06-19 17:20:52 +02:00
Laserlicht 1659b225c6 add skill cheat 2025-06-19 16:52:19 +02:00