1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Commit Graph

987 Commits

Author SHA1 Message Date
Ivan Savenko
f58d08e563 Support for banned game entities in random map templates
The following entities can now be banned in a random map template
definition:
- Hero
- Artifact
- Spell
- Secondary skill

The ban follows the same rules as banning via the map settings in the
map editor.

It is also now possible to bypass dependencies and access identifiers
from mods that are not dependencies when defining:
- Banned entities in random map templates
- the chance of a hero class appearing in a tavern of a specific faction
- the chance of a spell appearing in a mage guild of a specific faction
- the chance of a hero class receiving a secondary skill

For this to work, the identifier must be specified in full, e.g.
`modName:objectName`. If the specified mod is not active, the game will
silently ignore this entry.

This behaviour is not affected by mod load order. It is possible to use
this format to access a mod that has not yet been loaded.
2025-07-14 00:18:11 +03:00
Ivan Savenko
e12765dca0 Fix sonar warnings, convert spaces -> tabs 2025-07-09 17:52:51 +03:00
Ivan Savenko
8721bdd728 Split CCreatureSet file on .h/.cpp per class basis 2025-07-07 19:12:31 +03:00
Laserlicht
5aa5eff285 code review 2025-06-19 00:38:00 +02:00
Laserlicht
c2c936276c code review: renaming 2025-06-18 23:38:48 +02:00
Laserlicht
ddd422a075 template editor 2025-06-08 15:20:49 +02: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
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
Ivan Savenko
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
Ivan Savenko
93b18ee94b Fix some issues detected by Sonar & code review, fix build 2025-04-27 14:57:31 +03:00
Ivan Savenko
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
Ivan Savenko
16a06179cf Use ArtifactInstanceID in CGArtifact 2025-04-27 14:57:30 +03:00
Ivan Savenko
ab11d2b075 Remove quests from CMap, now solely owned by quest objects 2025-04-27 14:57:30 +03:00
Ivan Savenko
c02a8a84fd Stacks of armed instance are now unique_ptr 2025-04-27 14:57:30 +03:00
Ivan Savenko
84cf7b052d Map objects now use shared_ptr (rmg) 2025-04-27 14:57:30 +03:00
Ivan Savenko
2ca1748e96 Artifact instances are now owned solely by CMap 2025-04-27 14:57:30 +03:00
Ivan Savenko
797646cc05 Quests in map now use shared_ptr instead of const ptr 2025-04-27 14:57:30 +03:00
Ivan Savenko
c6a541752e Fix unused variable on serialization 2025-03-26 19:55:56 +00:00
Ivan Savenko
bc07fa2fa3 Merge pull request #5571 from IvanSavenko/boost_old_remove
Remove old boost includes and defines
2025-03-26 16:45:39 +02:00
DjWarmonger
a3d1159512 Merge pull request #5550 from vcmi/non_euclidean_roads
Curved roads
2025-03-20 16:24:00 +01:00
DjWarmonger
1e9f65693f Merge pull request #5523 from vcmi/town_hints
Town hints
2025-03-20 16:23:44 +01:00
Ivan Savenko
7a3e1409d0 Remove old boost includes and defines 2025-03-19 08:03:56 +00:00
Tomasz Zieliński
363e83e78a Remove unused method, rename the other one 2025-03-14 08:27:53 +01:00
Tomasz Zieliński
56b3867bb3 Cleanup 2025-03-13 19:59:11 +01:00
Tomasz Zieliński
58041ee123 Solution suggested by ChatGPT 2025-03-13 19:45:28 +01:00
Tomasz Zieliński
2c3284791d Merge remote-tracking branch 'origin/develop' into non_euclidean_roads 2025-03-13 19:14:44 +01:00
Tomasz Zieliński
0b00c290bf First acceptable formula for roads 2025-03-13 18:26:30 +01:00
Tomasz Zieliński
1def86a3ec Move main town to the tile with highest distance to water shore 2025-03-09 18:46:59 +01:00
Tomasz Zieliński
38a46d4b3f Allow "notLikeZone" to be vector 2025-03-09 09:21:05 +01:00
Tomasz Zieliński
6e7dfc6ee4 First implementation that works 2025-03-09 08:16:18 +01:00
Tomasz Zieliński
946e47ee22 Add townHints to random template, define logic 2025-03-05 21:31:33 +01:00
Ivan Savenko
9f713a0914 Rename int3::valid to isValid for consistency 2025-03-03 10:46:00 +00:00
Ivan Savenko
33468f21ff Remove custom implementation of threadpool from rmg in favor of TBB 2025-03-01 21:16:03 +00:00
Laserlicht
0182bcd74a Revert "min_element and max_element from std"
This reverts commit ba2d8dc276.
2025-02-28 17:04:37 +01:00
Laserlicht
a8b9ec9d67 Revert "std::sort instead of boost::sort"
This reverts commit 2f8566b63e.
2025-02-28 17:04:06 +01:00
Laserlicht
ba2d8dc276 min_element and max_element from std 2025-02-28 16:56:20 +01:00
Laserlicht
2f8566b63e std::sort instead of boost::sort 2025-02-28 16:47:35 +01:00
Laserlicht
38b537dcaf remove boost header 2025-02-28 16:29:44 +01:00
Laserlicht
4e73f7d90f shared_mutex replace boost 2025-02-28 16:01:11 +01:00
Laserlicht
7dfb499edf replace boost locks with std 2025-02-28 15:25:58 +01:00
Laserlicht
3fb9260f3b replace boost::recursive_mutex with std 2025-02-28 14:08:32 +01:00
Ivan Savenko
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
Ivan Savenko
2362c6da21 Fixes for multiple new issues from Sonar 2025-02-21 15:57:39 +00:00
Ivan Savenko
09db3e4bef Reworked resource piles loading to fix wog maps with mithril 2025-01-25 11:40:21 +00:00
MichalZr6
8c3a417527 Cleanup 2025-01-06 23:18:20 +01:00
MichalZr6
a99274d72e BattleHexArray - new container for BattleHexes 2025-01-06 23:18:18 +01:00
Tomasz Zieliński
685403c588 Cleanup 2025-01-02 18:12:59 +01:00
Tomasz Zieliński
a88a994d75 Proper fix for the issue 2025-01-02 18:12:40 +01:00