1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-04-30 20:35:54 +02:00

296 Commits

Author SHA1 Message Date
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