54a46b77a9
Extract library entity randomization logic to separate class
2025-05-19 18:51:42 +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
c62e1d289e
Merge pull request #5706 from IvanSavenko/antagarich
...
Fix missing messages on events without guards on .vmap's (e.g. Antagarich Burning)
2025-05-14 11:52:52 +03:00
35644da2b7
Reogranize callback-related classes on 1 file = 1 class basis
2025-05-12 22:07:09 +03:00
79591ac587
Fix missing messages on events without guards on .vmap's
2025-05-12 15:42:59 +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
39a2c29c97
Removed creatureBank flag from battle, battles now receive BattleLayout
...
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
b09d9d501b
Pass pointer to actual caller in showBlockingDialog callWith
...
Fixes activation of all rewardable buildings in town on blocking dialog
answer
2024-09-04 15:14:56 +00:00
2a05fbdd50
Unified handling of battle sides ID's
...
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00:00
ffaaa7da15
blockingDialog functions: the answer
parameter can be negative
2024-08-09 00:28:28 +02:00
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
01f602ab92
Fixes warning about usage of unused variable
2023-12-27 22:25:29 +01:00
86a3806bec
MetaString refactor to eliminate integer usage for identifiers
...
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
8d5fa41a19
Minor fixes
2023-11-03 16:03:29 +02:00
5cbc75d3b7
Merge remote-tracking branch 'upstream/develop' into develop
2023-10-29 13:35:37 +00:00
03835236fb
lib/mapObjects/CGPandoraBox.cpp: Identical sub-expressions on both sides of operator "||".
...
Identical expressions should not be used on both sides of a binary operator
2023-10-27 23:40:55 +00:00
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
4f47555977
Split OBJECT bonus source into OBJECT_TYPE and OBJECT_INSTANCE
2023-10-22 16:55:19 +03:00
ac925bb786
Renamed new types for consistency with code style
2023-10-22 16:55:19 +03:00
b394158dc9
Bonus Source ID now uses metaidentifier
2023-10-22 16:55:18 +03:00
c57d5545c2
Merge pull request #2971 from Nordsoft91/translations
...
Multi-language support for network game and for VMAPs
2023-10-02 20:41:42 +02:00
1502ea2250
Fix pandora mana problem
2023-09-30 01:33:12 +02:00
ab373f08ab
Use meta string for messages
2023-09-27 23:11:11 +02:00
8c0d78f1d9
Added initiator-player to packs that add/remove/move objects
2023-09-19 19:24:34 +03:00
326791886d
Rename and events modal mode always
2023-09-19 17:11:03 +02:00
2960895041
Issues fixed
2023-09-17 22:19:45 +02:00
a517e6ad8e
Message split for pandora box
2023-09-17 18:02:24 +02:00
7b22aefb12
Some minor fixes
2023-09-17 13:03:42 +02:00
a3b60bf829
Fix warning
2023-09-16 14:30:25 +02:00
4f76eb3fce
Add limiter serialization
2023-09-15 23:00:33 +02:00
4af2d917c0
Fix messages for pandoras
2023-09-15 21:13:07 +02:00
68c61797f8
Implement select all option for rewardable objects
2023-09-15 21:08:14 +02:00
c1c13cfafb
Pandora and events work as rewardable object
2023-09-15 15:29:41 +02:00
a30e7ba321
Remove bitmasks of PlayerColor's. Add encode/decode methods
2023-09-04 18:56:16 +03:00
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
56d69e790b
Renamed MetaString methods to more logical names
2023-06-20 19:37:27 +03:00
f35b3a0dc3
Replace MetaString operator << with member function
2023-06-20 19:37:27 +03:00
190244369c
Fix empty Pandora message
2023-06-15 22:06:31 +02:00
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
716dd9a43b
vcmi: remove a bunch of duplicated showInfoDialog
...
These methods duplicated in almost every map object
Just replace it by one such method
2023-03-11 21:41:57 +03:00
8edba4fb06
vcmi: use MODAL by default
...
Convert only some objects to AUTO, need futher testing
than no non-adventure objects will not use AUTO or INFO
2023-03-11 21:41:57 +03:00
5f181e25af
vcmi: modernize lib/mapObjects
2023-02-14 14:39:56 +03:00
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00