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
456525109e
Replaced undescriptive bool true/false with more clear enum for
...
absolute/relative change via netpacks
2025-05-16 17:21:39 +03:00
4d4da0454f
map objects hierarchy now uses IGameInfoCallback
2025-05-14 18:33:20 +03:00
6f20235d07
Merge CPrivilegedInfoCallback into CGameInfoCallback
2025-05-14 13:42:20 +03:00
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
35644da2b7
Reogranize callback-related classes on 1 file = 1 class basis
2025-05-12 22:07:09 +03:00
6859ab7c36
Fix discovered issues, remove not implemented ideas
2025-05-09 17:26:23 +03:00
6b6199d3a4
Implemented giving bonuses to commanders
2025-05-07 22:49:22 +03:00
0e2ea99283
Implemented option to emulate H3 seer hut full-army quest bug
2025-05-07 19:16:58 +03:00
f1d9d8479f
Extend rewards & limiters functionality
2025-05-06 17:28:12 +03:00
0212b6e37d
Remove artifact from slot as reward
2025-05-06 17:28:12 +03:00
6688d28198
Taking artifacts as a reward
2025-05-06 17:28:12 +03:00
5dec3efa2f
Spell scrolls as a reward
2025-05-06 17:28:12 +03:00
62e774c91e
Add new rewards for configurable objects
2025-05-06 17:28:11 +03:00
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
4d57a8ed36
Prefer to pass CGameState as reference instead of pointer
2025-04-27 14:57:31 +03:00
9e6397d1f9
Remove pointer to boat from CGHeroInstance
2025-04-27 14:57:30 +03:00
63d00b080e
Removed pointer to army from StackInstance
2025-04-27 14:57:30 +03:00
c02a8a84fd
Stacks of armed instance are now unique_ptr
2025-04-27 14:57:30 +03:00
4609a83fc1
ArtInfoWindow on client. Lib side
2025-04-05 18:02:04 +02:00
82506d5eff
Removed ConstTransitivePtr from StackLocation
2025-03-08 14:04:51 +00:00
645b95ba02
Renamed LibClasses * VLC
to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
291c5e1027
Do not send empty packets changing primary skills by 0 points
2024-12-21 14:43:09 +00:00
0e1f8f99bc
Reduce excessive logging
2024-12-21 14:43:08 +00:00
d3af9f1c67
Removed pointer to VLC entity from CStackBasicDescriptor
2024-10-30 16:47:02 +00:00
08fbcd5239
TerrainTile now uses identifiers instead of pointers to VLC
2024-10-30 16:22:11 +00:00
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
c55a75cc4e
Remove copy-pasted code in rewardable town building leading to hero not
...
registered as visitor
2024-10-11 15:02:48 +00:00
f2c20b54d0
Unify rewardable map object and town building code
2024-09-27 15:41:24 +00:00
7466d7452d
vcmiscrolls
2024-09-05 15:51:45 +03:00
6b8f94e6e7
Merge remote-tracking branch 'vcmi/master' into develop
2024-07-11 17:43:44 +00:00
77e827c51e
Fix leveling up secondary skills via Scholar (map object) visit
2024-06-27 09:58:53 +00:00
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
9e81c53547
Do not give spells as reward if hero can't learn them
2024-04-12 00:25:02 +03:00
edb2ecd751
Fix possible overflow errors on leveling up beyond int64_t limit
...
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
abad4b01ce
Remove explicit convesion to int in operators
2023-11-15 15:55:19 +02:00
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
f201e3019a
Fix crash on right-clicking rewardable objects with no hero selected
2023-11-02 12:00:05 +02:00
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
901fd77699
Fix Cover of Darkness
2023-10-18 18:04:01 +03:00
dd841bdaa7
Use enum instead of mix of bool's and int's for tile reveal
2023-10-16 00:12:38 +03:00
98fd939ed6
Cartographer/Observatory is now configurable object
2023-10-16 00:12:38 +03:00
06f01c3b82
Seerhut works as rewardable object
2023-09-15 10:06:06 +02:00
e8453916cf
Merge remote-tracking branch 'vcmi/beta' into develop
2023-09-08 18:49:06 +03:00
f92af94f19
Fix crash on removing object during visit
2023-09-06 12:32:26 +03:00
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +03:00
0250e6fb92
Merge branch 'develop-upstream' into town-buildings
...
# Conflicts:
# client/CPlayerInterface.cpp
# client/windows/CTradeWindow.cpp
# config/objects/generic.json
# lib/mapObjects/CGMarket.cpp
# lib/mapObjects/CGMarket.h
# lib/mapObjects/CGTownInstance.cpp
# lib/mapObjects/CommonConstructors.cpp
# lib/mapObjects/CommonConstructors.h
2023-05-02 01:48:13 +04:00
6fc3bb6690
Attempt to fix msvs build 1
2023-05-01 01:15:48 +04:00
e9279cfbc4
Blocking dialogs supported
2023-05-01 00:14:53 +04:00