1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-05-15 22:16:37 +02:00

2697 Commits

Author SHA1 Message Date
Ivan Savenko
b09152d62a Fix commander levelups
- Fixes commander not receiving experience if stack experience is off
- Fixes commander not leveling up when hero fill his secondary skills
2025-05-14 21:51:32 +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
Ivan Savenko
35644da2b7 Reogranize callback-related classes on 1 file = 1 class basis 2025-05-12 22:07:09 +03:00
Ivan Savenko
4b30336d03 Fix issues detected by Sonar 2025-05-11 19:50:57 +03:00
Ivan Savenko
86b832be67 Remove CPack::applyGs method in favor of GameStatePackVisitor class 2025-05-10 17:51:35 +03:00
Ivan Savenko
700eeb6bd4 Implemented HERO_SPELL_CASTS_PER_COMBAT_TURN bonus 2025-05-08 00:25:07 +03:00
Ivan Savenko
0e2ea99283 Implemented option to emulate H3 seer hut full-army quest bug 2025-05-07 19:16:58 +03:00
Ivan Savenko
283adc37d7 Unit stack rebalancing rework
- CStackInstance::count is now private with accessor methods
- CStackInstance::experience renamed to totalExperience and now stores
total stack experience (multiplied by stack size) to reduce rounding
errors
- CStackInstance::totalExperience is now private with accessors methods
- stack experience is now automatically reallocated on stack management
- Removed buggy BulkSmartRebalanceStacks pack, that mostly duplicates
BulkRebalanceStacks
- Renamed BulkSmartSplitStack to BulkSplitAndRebalanceStack to drop
unclear "smart" in name
- Reworked split-and-rebalance logic to correctly reallocate stack
experience
2025-05-01 18:18:30 +03:00
Ivan Savenko
279d89f971
Merge pull request #5659 from IvanSavenko/artifact_split
Reorganized artifact-related classes
2025-04-30 13:23:41 +03:00
Ivan Savenko
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
eaae6270b2 Fix crash on AI evaluating hero pool after retreating from combat 2025-04-29 12:15:03 +03:00
Ivan Savenko
71d742ab19 Fix handling of campaign bonus where player can select color to play 2025-04-29 12:14:14 +03:00
Ivan Savenko
5550edeb9a Fix inability of unit to cast spell after receiving morale 2025-04-29 12:12:51 +03:00
Ivan Savenko
04c9e27ccd Fix discovered bugs from develop branch 2025-04-27 15:53:03 +03:00
Ivan Savenko
4e8e85e3e4 Fix issues reported by Sonar, review fixes 2025-04-27 14:57:31 +03:00
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
4d57a8ed36 Prefer to pass CGameState as reference instead of pointer 2025-04-27 14:57:31 +03:00
Ivan Savenko
ce436bd63e Fix regressions in combat 2025-04-27 14:57:31 +03:00
Ivan Savenko
966468f3fa Fix and simplify game saving / loading 2025-04-27 14:57:31 +03:00
Ivan Savenko
f5f8ed192b Fix random map generation 2025-04-27 14:57:31 +03:00
Ivan Savenko
912c2eae94 Fix regressions 2025-04-27 14:57:31 +03:00
Ivan Savenko
f9989d9152 Cleanup serializer/deserializer code 2025-04-27 14:57:31 +03:00
Ivan Savenko
93b18ee94b Fix some issues detected by Sonar & code review, fix build 2025-04-27 14:57:31 +03:00
Ivan Savenko
586620a290 Basic code review, remove unused code from serializers 2025-04-27 14:57:31 +03:00
Ivan Savenko
d1d2cf4189 Fix crashes on game start, gamestate now derives from GameCallbackHolder 2025-04-27 14:57:31 +03:00
Ivan Savenko
d34b47bb20 Remove pointers from artifacts 2025-04-27 14:57:31 +03:00
Ivan Savenko
4ed13409c2 Remove serialization of raw pointers from serialization 2025-04-27 14:57:31 +03:00
Ivan Savenko
f03cc06176 Battle Info uses ObjectInstanceID's instead of pointers 2025-04-27 14:57:31 +03:00
Ivan Savenko
9e6397d1f9 Remove pointer to boat from CGHeroInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
6d65641a43 Gamestate is now passed as shared pointer 2025-04-27 14:57:30 +03:00
Ivan Savenko
cd7732456a Remove pointer to objects from TerrainTile 2025-04-27 14:57:30 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
c02a8a84fd Stacks of armed instance are now unique_ptr 2025-04-27 14:57:30 +03:00
Ivan Savenko
bdae7285ae Objects list is now private member of CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko
745040def3 Access to heroes storage in CMap is now done via public methods 2025-04-27 14:57:30 +03:00
Ivan Savenko
1f502c0548 CMap towns and heroes on map fields are now private 2025-04-27 14:57:30 +03:00
Ivan Savenko
0ada2a5ebd Map objects now use shared_ptr (game) 2025-04-27 14:57:30 +03:00
Ivan Savenko
417ea6451a Remove ConstTransitivePtr from hero and town instances 2025-04-27 14:57:30 +03:00
SoundSSGood
c72c7b6dfa battle query fix 2025-04-16 17:13:20 +02:00
Ivan Savenko
ce89a0d21b
Merge pull request #5609 from SoundSSGood/end-of-battle-infowindows
End of battle infowindows refactoring
2025-04-15 22:50:35 +03:00
Ivan Savenko
975d9aedc9 Merge branch 'vcmi/beta' into 'vcmi/develop' 2025-04-13 18:53:54 +03:00
Ivan Savenko
9f07c13c1e
Merge pull request #5618 from IvanSavenko/battle_fix
Fixes for recently reported combat issues
2025-04-12 10:49:48 +03:00
Ivan Savenko
dcb7a9e9f3 Fixes to locale/unicode handling
- Fixes crash on opening spellbook (recent regression)
- Fix crash if `haystack` string is shorter than `needle`
- Levenstein distance computation is now case-insensitive
- Text similarity computation now assumes utf-8 strings, not ascii
- Fix corruption of utf-8 string on life drain
2025-04-11 16:27:26 +03:00
Ivan Savenko
d150b3907d Fix crash on using life drain with area attacks, like magog w life drain 2025-04-11 00:34:39 +03:00
SoundSSGood
60afbbe20f Necromancy & Eagle eye infowindows 2025-04-09 10:13:10 +02:00
SoundSSGood
603672ff51 revert some changes 2025-04-07 17:00:24 +02:00
Ivan Savenko
cbfaefd805 Fix rare crash if player selects maximum movement speed and moves hero
across event that grants enough XP to level up
2025-04-06 18:43:55 +03:00
SoundSSGood
f0a9c95075 ArtInfoWindow on client. Client side 2025-04-06 13:47:32 +02:00
SoundSSGood
7b89521179 ArtInfoWindow on client. Server side 2025-04-05 19:12:19 +02:00
SoundSSGood
4609a83fc1 ArtInfoWindow on client. Lib side 2025-04-05 18:02:04 +02:00