1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-05-22 09:55:17 +02:00
Commit Graph

72 Commits

Author SHA1 Message Date
Laserlicht a6332bddf5 fix singular 2026-03-21 11:03:32 +01:00
Laserlicht b1d5d6956d fix creature reward message 2026-03-21 00:22:20 +01:00
Ivan Savenko f7c1cab99c Add movement points limiter to rewardable objects
Now movement points have same level of functionality/checks as mana
points:

- support for test for movement points in limiter
- support for test for movement points percentage in limiter
- support to block granted movement points to go above hero limit
2026-01-27 18:21:51 +00:00
Ivan Savenko b4581bd729 Fix on-map configuration of hota-only objects 2026-01-19 19:25:43 +00:00
Ivan Savenko 825c60552c Fix issues with map support discovered after testing 2026-01-17 11:51:07 +00:00
Ivan Savenko 8014b05399 Improvements for HotA h3m support
Mostly based on the mysterious island map test results

Added support for:
- Pandoras or map events can now grant movement points
- Pandoras or map events can now specify map difficulties on which these
objects are present
- Timed events and town events can now specify map difficulties on which
these objects are present
- Creature banks now support selection of difficulty preset (number of
guards/reward) instead of random-selection
- Wandering monsters "joins only for money" flag is now supported
- Wandering monsters presence of upgraded stack can now be configured in
map
- Pyramid can now grant specific spell configured in map
- Treasure Chest, Corpse, Sea Chest, Flotsam, Tree of Knowledge can now
grant specific reward instead of randomly selected one
- Treasure Chest, Corpse, Warrior's Tomb, Shipwreck Survivor and Sea
Chest can now grant specific artifact configured in map
2025-12-23 12:38:29 +02:00
Laserlicht 75f965c93a remove allresources 2025-09-14 15:29:14 +02:00
Ivan Savenko 8721bdd728 Split CCreatureSet file on .h/.cpp per class basis 2025-07-07 19:12:31 +03:00
Ivan Savenko 54a46b77a9 Extract library entity randomization logic to separate class 2025-05-19 18:51:42 +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 6859ab7c36 Fix discovered issues, remove not implemented ideas 2025-05-09 17:26:23 +03:00
Ivan Savenko 6b6199d3a4 Implemented giving bonuses to commanders 2025-05-07 22:49:22 +03:00
Ivan Savenko 434da3ffe1 Added forceCombat field for ambush-like objects 2025-05-07 19:49:26 +03:00
Ivan Savenko 4b77140f4a Implemented playerGlobal visit mode for objects like cartographer 2025-05-06 18:53:43 +03:00
Ivan Savenko f1d9d8479f Extend rewards & limiters functionality 2025-05-06 17:28:12 +03:00
Ivan Savenko 0212b6e37d Remove artifact from slot as reward 2025-05-06 17:28:12 +03:00
Ivan Savenko 6688d28198 Taking artifacts as a reward 2025-05-06 17:28:12 +03:00
Ivan Savenko 5dec3efa2f Spell scrolls as a reward 2025-05-06 17:28:12 +03:00
Ivan Savenko 62e774c91e Add new rewards for configurable objects 2025-05-06 17:28:11 +03:00
Ivan Savenko 63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko 645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko b85ccccb37 Minor refactoring of translations:
- removed unsuccessful and broken validation of translations
- pass JsonNode when registering strings to provide information on mod
source
2024-10-06 19:42:15 +00:00
DjWarmonger ffed9480e0 Merge pull request #4483 from vcmi/custom_objects_per_zone
Customizable objects in RMG zones
2024-10-01 14:58:35 +02:00
Ivan Savenko 123f9ee676 Fix missing registration of onGuardedMessage string for banks 2024-09-22 20:30:55 +00:00
Tomasz Zieliński ec603f46ae - Handle new configurable banks
- Handle "all" object banned option
2024-09-21 13:36:28 +02:00
Ivan Savenko d20d9bd96b Fix generation of placeholders for banks 2024-09-12 12:11:18 +00:00
Ivan Savenko 2ee4e42348 Implement placeholders for creature banks messages 2024-09-12 12:11:18 +00:00
Ivan Savenko 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
Ivan Savenko 31dff8f8da Add coastVisitable property to rewardables, update schemas 2024-09-12 12:11:18 +00:00
Ivan Savenko 785036836c Rewardable objects may now define guards. Converted Crypt to rewardable. 2024-09-12 12:10:40 +00:00
Ivan Savenko 3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
Ivan Savenko d1aa55de91 Fix rewards not rerolling correctly on reset due to cached variables 2024-08-22 16:38:53 +00:00
Ivan Savenko 1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
Ivan Savenko 63bcf7d83c Replaced most of usages of CRandomGenerator with vstd::RNG in library 2024-07-16 13:13:07 +00:00
Ivan Savenko 60a51e98de Remove usage of std::function from CRandomGenerator 2024-07-16 13:13:07 +00:00
Ivan Savenko 922966dcf8 Renamed JsonNode::meta to more logical modScope. Member is now private 2024-02-26 12:55:49 +02:00
Ivan Savenko c3957c2c2a Moved json files to new directory, split on per-class basis 2024-02-14 13:08:24 +02:00
Ivan Savenko a9866bb5c6 Added RandomGeneratorUtil::nextItemWeighted convenience method 2024-01-31 00:17:40 +02:00
Ivan Savenko 60ffb81b33 Replaced remaining placeholder code with callbacks 2024-01-19 13:55:22 +02:00
Ivan Savenko a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
Ivan Savenko 31cef2e7d7 Attempt to fix crash on rewardable configuration 2023-12-22 14:03:05 +02:00
Ivan Savenko 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
Ivan Savenko 885dce0c27 Replace static_cast's of Identifiers with getNum call 2023-11-03 16:03:29 +02:00
Ivan Savenko 056ef00f74 Bugfixing 2023-11-02 13:52:58 +02:00
Ivan Savenko 10e50548e7 Converted Component class to use VariantIdentifier instead of int 2023-11-02 12:00:04 +02:00
Ivan Savenko 1c4a142849 Fix remaining TODO's 2023-10-21 00:44:57 +03:00
Ivan Savenko 8f4791914e Show content preview only for Witch Huts / Shrines / Tree 2023-10-19 15:17:58 +03:00