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