Ivan Savenko
3ab30dbb4d
Merge branch 'vcmi/beta' into 'vcmi/develop'
2026-04-30 16:43:21 +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
George King
1d0a6198ff
[1.7.4] Add Reinforcements spell support ( #7217 )
...
* Reinforcements spell support
* Fix build
* Add forgotten change to allow moving creatures between hero and garrison
* Extract findNearestTown into TownRelatedSpellUtils
* Fix for exchange when exist garrisoned hero in destination town
* Improve handling when garrisoned hero exist in destination town
* Fix portrait position
* Update GUIClasses.cpp
* Fix flag position
* Update GUIClasses.cpp
* Update ReinforcementsEffect.cpp
* Rework to reflect latest advices
* Delete lib/spells/adventure/TownRelatedSpellUtils.cpp
* Delete lib/spells/adventure/TownRelatedSpellUtils.h
* Custom title text for Garrison dialog
* Add forgotten change
* ReRun CI
2026-04-19 12:10:24 +03:00
Ivan Savenko
20a379f740
Fixes for issues reported by Sonar
2026-02-01 15:31:36 +02:00
Ivan Savenko
b9368f8406
Merge branch 'beta' into fix_levelup_queries2
2026-01-27 20:09:04 +02:00
Ivan Savenko
fa2ab0e024
Merge pull request #6783 from Laserlicht/tactics
...
[1.7.2] implement disabling of tactics
2026-01-27 17:13:20 +02:00
Laserlicht
7e7ced8ec1
save successful
2026-01-25 15:27:54 +01:00
Laserlicht
1a5eaee157
implement disabling of tactics
2026-01-25 14:18:20 +01:00
Michał Zaremba
24b987174a
Fix level up dialogs (queries) on the very first turn
2026-01-24 13:18:00 +01:00
Andrej Dudenhefner
8bddd8f4e3
add quick save (F8) / quick load (F9) functionality for single player and hotseat games on adventure map and in combat
...
- add LobbyQuickLoad pack
- add hotkeys F8, F9 to adventure map and battle
- check whether quick save matches current settings
- ask before quick load
- notify about quick save
- use CResourceHandler for file existence test
- update localization
- externalize buttons to vcmi-extras
2025-12-04 09:16:35 +01: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
Laserlicht
afb045ef14
show statistics ingame
2025-11-22 16:46:10 +01:00
Mircea TheHonestCTO
5c6f2faebb
Merge branch 'develop' into feature/nullkiller2
2025-11-19 17:47:18 +01:00
Mircea TheHonestCTO
0ee10c9213
Merge branch 'develop' into feature/nullkiller2
2025-11-15 17:15:46 +01:00
Andrej Dudenhefner
497995c11f
add BattleEnded pack which happens after BattleResultsApplied and losing heroes are removed
2025-11-14 12:48:46 +01:00
Mircea TheHonestCTO
00c93c7b6a
Merge branch 'develop' into feature/nullkiller2
2025-10-28 22:30:39 +01:00
Laserlicht
a6ea9be489
Merge branch 'develop' into battleonly
2025-10-28 14:42:27 +01:00
Laserlicht
66f377f14e
netpackages
2025-10-25 20:41:39 +02:00
Laserlicht
fcdc100761
introduce BattleOnlyModeStartInfo for multiplayer
2025-10-25 19:06:28 +02:00
Laserlicht
4d37fe631b
battle only basic implementation
2025-10-24 00:54:22 +02:00
Laserlicht
120213509d
netpacks for renaming
2025-10-05 02:46:19 +02:00
Mircea TheHonestCTO
d43accfd95
Merge branch 'develop' into feature/nullkiller2
2025-10-01 17:56:58 +02:00
Opuszek
568fa41d72
Fix battle draw scenario
2025-09-01 17:11:44 +02:00
Mircea TheHonestCTO
ac6b9da68b
PacksForClient.h info->trace verbose log
2025-08-17 16:31:42 +02:00
Ivan Savenko
241da5937d
First semi-working version of antilag for hero movement
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
58de180083
Split CConnection into GameConnection and IGameConnection classes
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
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
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
Ivan Savenko
ae22de3ccf
Implemented configurable FEAR ability
2025-06-15 14:36:29 +03:00
Ivan Savenko
139f41c9b2
Implement STACK_EXPERIENCE_GAIN_PERCENT bonus
...
Suggested on Discord
- implements STACK_EXPERIENCE_GAIN_PERCENT that modifies stack
experience received by units after combat
- removed "EXPERIENCE" primary skill. Changes to experience are now
applied through separate netpack
2025-06-02 21:21:20 +03:00
Ivan Savenko
cc6f65d8da
Resolve Sonar issues in server code
2025-05-27 22:02:13 +03:00
Laserlicht
9f937e9791
code review
2025-05-23 20:26:17 +02:00
Laserlicht
263ba46da6
Merge branch 'develop' into cheats
2025-05-22 21:33:29 +02:00
Ivan Savenko
3f83ad1b40
Merge pull request #5726 from IvanSavenko/breath
...
Configurable multi-hex attacks
2025-05-21 17:10:59 +03:00
Ivan Savenko
07662a070f
Merge pull request #5724 from IvanSavenko/randomization
...
Better randomization logic
2025-05-21 13:50:28 +03:00
Ivan Savenko
323231fc30
Merge pull request #5720 from SoundSSGood/artifact-charges
...
Charged artifacts
2025-05-21 13:49:14 +03:00
Ivan Savenko
e90d8c318d
Configurable multi-hex attacks
...
- Added bonus type MULTIHEX_UNIT_ATTACK - configurable version of Dragon
Breath.
- Added bonus type MULTIHEX_ENEMY_ATTACK - configurable version of
Cerberi multi-headed attack that only hits enemies
- Added bonus type MULTIHEX_ANIMATION - optional bonus that does not
affects gameplay, but allows to define in which cases game should use
alternative attack animation.
- All existing multi-hex attack bonuses other than ATTACKS_ALL_ADJACENT
are presumable deprecated, but will be supported for now.
- It is now possible to precisely configure which hexes are targeted by
MULTIHEX_XXX bonuses. See docs for details.
- Unified logic of all multi-hex attacks, all existing bonuses are now
implemented as specific case of MULTIHEX_XXX bonus
- Added tests to cover Cerberi attack logic, and fixed incorrect edge
case of Dragon Breath
2025-05-20 15:08:59 +03:00
Ivan Savenko
cc274c4d34
GameRandomizer is now in lib, add implementation
2025-05-19 18:51:42 +03:00
Ivan Savenko
9ae4a72f4c
Merge pull request #5721 from IvanSavenko/stackexp_fix
...
Fix game not awarding stack experience after combat
2025-05-19 14:44:20 +03:00
Laserlicht
d102f660a0
color filter cheats
2025-05-19 02:48:13 +02:00
SoundSSGood
e85b1d4c1c
suggested changes
2025-05-17 19:01:04 +02:00
Ivan Savenko
45a587bc5b
Fix game not awarding stack experience after combat
...
- Added missing `visitTyped` overloads.
- Throw runtime error if `visitTyped` is called on raw CPack, to avoid
such silent errors in future
2025-05-17 18:03:44 +03:00
SoundSSGood
f614a8a7f5
Discharging conditions
2025-05-16 23:26:42 +02:00
SoundSSGood
fcc9b8ecfa
Artifacts discharging
2025-05-16 23:24:36 +02:00
SoundSSGood
9bbebd62e9
GrowUpArtifact pack
2025-05-16 23:20:09 +02:00
Ivan Savenko
456525109e
Replaced undescriptive bool true/false with more clear enum for
...
absolute/relative change via netpacks
2025-05-16 17:21:39 +03:00
Ivan Savenko
f7d08a7288
Merge pull request #5700 from IvanSavenko/gamestate_pack_visitor
...
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-14 11:53:15 +03:00