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
3576efc3f3
Initial version of antilag support
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
SoundSSGood
6752ab3a75
HAS_CHARGES_LIMITER
2025-06-30 18:39:57 +02: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
0ad4e80c7d
Rework and simplify logic of attaching heroes to bonus system
2025-06-17 14:37:25 +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
Ivan Savenko
1666a5a7e5
Prefer dynamic_cast to unsafe static_cast, fix Sonar
2025-05-23 14:17:43 +03:00
Ivan Savenko
aa9b13b66a
Statistics is now managed as part of CGameHandler
2025-05-23 14:17:42 +03:00
Ivan Savenko
af20b39fe6
Reduce non-const access to gamestate on server
2025-05-23 14:17:25 +03:00
Ivan Savenko
8255a4b9ae
CGameHandler no longer inherits CGameInfoCallback, reduce direct access
...
to gamestate
2025-05-23 14:17:25 +03:00
Ivan Savenko
550d4d76eb
Merge pull request #5730 from IvanSavenko/rewardable_creature_fix
...
Fix handling of creatures in configurable town buildings
2025-05-21 13:51:43 +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
95ce9ce509
Fix handling of creatures in configurable town buildings
...
- Fixed removal of partial stacks of creatures
- It is now possible to give units via town building, but only if
visitor has slots to take them
2025-05-20 22:36:20 +03:00
Ivan Savenko
cc274c4d34
GameRandomizer is now in lib, add implementation
2025-05-19 18:51:42 +03:00
Ivan Savenko
54a46b77a9
Extract library entity randomization logic to separate class
2025-05-19 18:51:42 +03:00
Ivan Savenko
ed8ba52ed8
Merge pull request #5722 from IvanSavenko/wandering_month_fix
...
Fix crash on spawning wandering monsters on new month
2025-05-19 14:44:58 +03:00
Ivan Savenko
57f0c5f50c
Fix crash on spawning wandering monsters on new month
2025-05-18 11:05:13 +03:00
SoundSSGood
e85b1d4c1c
suggested changes
2025-05-17 19:01:04 +02:00
SoundSSGood
051381d4db
Docs
2025-05-17 15:06: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
a13806a0df
Fix build
2025-05-15 16:58:16 +03:00
Ivan Savenko
4d4da0454f
map objects hierarchy now uses IGameInfoCallback
2025-05-14 18:33:20 +03:00
Ivan Savenko
6f20235d07
Merge CPrivilegedInfoCallback into CGameInfoCallback
2025-05-14 13:42:20 +03:00
Ivan Savenko
716da918f8
Completely remove IGameCallback class
...
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +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
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
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
6d65641a43
Gamestate is now passed as shared pointer
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
SoundSSGood
4609a83fc1
ArtInfoWindow on client. Lib side
2025-04-05 18:02:04 +02:00
Ivan Savenko
2b286378e8
Remove logic for banks in 1.5 format
2025-03-19 08:02:39 +00:00
Ivan Savenko
2fdf40e7a9
Remove connection pointer from CPack
2025-03-03 10:46:00 +00:00
Ivan Savenko
a8e84c55f6
Fix some of the new warnings from sonarcloud
2024-10-11 10:45:29 +00:00
Ivan Savenko
c0f5c7c0ea
Replace pointer with reference in pack apply functions
2024-10-07 14:59:46 +00:00
Ivan Savenko
48fb58e7a0
Replace few more pointers with references, remove manual delete call
2024-10-07 14:59:14 +00:00
Ivan Savenko
ee831c06e7
Reduced usage of CPack, replaced with CPackForServer where applicable
2024-10-07 14:59:14 +00:00
Ivan Savenko
f6f6f98580
Merge pull request #4699 from SoundSSGood/backpack-arts-sorting
...
Backpack artifacts sorting
2024-10-07 17:55:42 +03:00
Laserlicht
a826b88641
Merge branch 'develop' into spell
2024-10-07 12:55:23 +02:00
SoundSSGood
e22d15b1d8
manageBackpackArtifacts
2024-10-02 12:45:50 +03:00
Laserlicht
d929bfb9d1
rename; introduce factor
2024-09-28 15:05:13 +02:00
Laserlicht
5b2aa4dc71
swapping spells
2024-09-28 00:34:25 +02:00
Laserlicht
857b2e9a35
spell replacement works
2024-09-27 23:52:33 +02:00
Laserlicht
a9327b3fa3
netpacks
2024-09-27 22:47:22 +02:00