Laserlicht
a6ea9be489
Merge branch 'develop' into battleonly
2025-10-28 14:42:27 +01:00
Laserlicht
134017a7cd
basic multiplayer support
2025-10-25 17:55:25 +02:00
Laserlicht
4d37fe631b
battle only basic implementation
2025-10-24 00:54:22 +02:00
Laserlicht
3e2a526140
correct update
2025-10-05 03:18:47 +02:00
Ivan Savenko
099a168158
Fix crash on AI capturing artifacts in battle while covered by FoW
2025-07-31 21:52:48 +03:00
Ivan Savenko
3ea2c8bff0
Cleanup, remove unnecessary changes
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
cf45a131e7
Try to fix crash on watching AI hero stepping into FoW
2025-06-21 15:04:52 +03:00
Ivan Savenko
d3dddb2600
Fix boat embarking animation
2025-06-18 12:08:10 +03:00
Ivan Savenko
3b6f93c365
Remove boarded boat as a separate call to player interfaces
2025-06-17 14:37:58 +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
Laserlicht
043075a719
Merge branch 'vcmi:develop' into cheats
2025-05-23 20:38:11 +02:00
Ivan Savenko
ff0f5290f7
CClient no longer inherits from CGameInfoCallback
2025-05-23 14:17:43 +03:00
Laserlicht
263ba46da6
Merge branch 'develop' into cheats
2025-05-22 21:33:29 +02:00
Laserlicht
d102f660a0
color filter cheats
2025-05-19 02:48:13 +02:00
SoundSSGood
9bbebd62e9
GrowUpArtifact pack
2025-05-16 23:20:09 +02:00
Ivan Savenko
4d4da0454f
map objects hierarchy now uses IGameInfoCallback
2025-05-14 18:33:20 +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
86b832be67
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-10 17:51:35 +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
5550edeb9a
Fix inability of unit to cast spell after receiving morale
2025-04-29 12:12:51 +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
912c2eae94
Fix regressions
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
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
71bc1054d0
BattleStart pack now uses unique_ptr
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
e847d3322d
Hotfix visitBattleResultsApplied
2025-04-15 23:10:04 +02:00
SoundSSGood
60afbbe20f
Necromancy & Eagle eye infowindows
2025-04-09 10:13:10 +02:00
SoundSSGood
f0a9c95075
ArtInfoWindow on client. Client side
2025-04-06 13:47:32 +02:00
SoundSSGood
4609a83fc1
ArtInfoWindow on client. Lib side
2025-04-05 18:02:04 +02:00
Ivan Savenko
9732d39c70
Moved shutdown request dialog handling to GameInstance
2025-03-12 13:33:12 +00:00
Ivan Savenko
62cb5412ff
CGameState::map is now a private, unique_ptr with accessors
2025-03-08 14:05:14 +00:00
Ivan Savenko
219eea86ff
Better handling of AI shutdown
2025-03-02 14:33:11 +00:00
Ivan Savenko
645b95ba02
Renamed LibClasses * VLC to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
Ivan Savenko
156de5b17e
Added GameInstance class
...
- available as global GAME
- integrates LOCPLINT (CPlayerInterface)
- integrates CGI->mh (CMapHandler)
- integrates CSH (CServerHandler)
2025-02-21 16:54:06 +00:00
Ivan Savenko
ffd37a8fa8
Removed CGI in favor of VLC. Map handle is for now global variable
2025-02-21 16:53:14 +00:00
Ivan Savenko
cacceda950
Renamed CGuiHandler to GameEngine
...
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
2025-02-21 16:53:13 +00:00
Ivan Savenko
32391dc7a9
Pathfinder cache is now stored separately per playerBlocked
...
- human player will now use pathfinder settings from config (as before)
- nullkiller AI will now use its own, modified settings
- added option to configure NKAI usage of monolith to config
- fixed pathfinder costs not updating on receiving levelup
2025-01-23 15:28:44 +00:00
Ivan Savenko
157d6d30c8
Move rest of commonly-accessed UnitState queries to bonus cache
2025-01-04 15:09:50 +00:00
Ivan Savenko
cf08b8bf50
Fix game not ending on victory of allied human players in hotseat
2024-12-10 12:02:07 +00:00
Ivan Savenko
10ad0fc760
Split CHeroHandler.cpp/.h into 1 file per class
...
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00