Ivan Savenko
e7bea6c3b8
Merge pull request #4852 from IvanSavenko/remove_vlc_entities_serialization
...
Remove remaining pointers to VLC entities from serializer
2024-11-06 22:01:11 +02:00
Ivan Savenko
d3af9f1c67
Removed pointer to VLC entity from CStackBasicDescriptor
2024-10-30 16:47:02 +00:00
Ivan Savenko
08fbcd5239
TerrainTile now uses identifiers instead of pointers to VLC
2024-10-30 16:22:11 +00:00
Ivan Savenko
dd7d190a58
Implemented optional descriptions for market map objects
...
It is now possible to define description of an object with 'market'
handler that will be shown on right-clicking the object.
Similarly, added description to right-click popup to Hill Fort.
2024-10-30 13:20:21 +00:00
Ivan Savenko
f8b1f40abb
Merge pull request #4348 from MichalZr6/hill_fort_changes
...
Hill Fort unavailable upgrade and status bar new messages
2024-10-30 14:00:35 +02:00
Ivan Savenko
7ae5e2b406
Added support for daily income to flaggable objects
2024-10-25 19:01:00 +00:00
Ivan Savenko
8a5ac73438
Basic support for configurable flaggable objects
...
Converted CGLighthouse class into FlaggableMapObject
Bonus provided by Lighthouse/Flaggable is now defined in config and is
accessible to mods.
2024-10-25 16:48:10 +00:00
Laserlicht
9ed4dbaeb4
Merge remote-tracking branch 'upstream/develop' into adv_search
2024-10-14 19:52:55 +02:00
Ivan Savenko
604e3b5c67
Merge pull request #4763 from IvanSavenko/herohandler_split
...
Split CHeroHandler.cpp/.h into 1 file per class
2024-10-14 19:05:48 +03:00
Ivan Savenko
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
Ivan Savenko
31095248ab
Removed typeName and subtypeName properties from CGObjectInstance
2024-10-13 13:05:50 +00:00
Ivan Savenko
3dd4fa2528
Reduce usage of pointers to VLC entities
...
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.
CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.
VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town
VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
a22de74323
Fixes for loading 1.5 mods in vcmi 1.6
2024-10-10 09:50:56 +00:00
Ivan Savenko
2399a5a765
Merge pull request #4712 from IvanSavenko/detect_conflict
...
Detection of potential conflicts between mods
2024-10-07 17:57:52 +03:00
Laserlicht
344e845684
Merge branch 'develop' into adv_search
2024-10-07 12:56:54 +02: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
Ivan Savenko
66fdad145c
Added an option to configure validation level in launcher
2024-10-06 19:21:33 +00:00
Ivan Savenko
5d64da9b6c
Fixes randomization of Witch Hut preconfigured in map editor
2024-10-03 12:35:15 +00:00
Laserlicht
e85e938865
use subid
2024-10-01 20:44:08 +02: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
MichalZr6
edf43f5702
Get and translate messages on client side
2024-09-24 19:12:05 +02:00
MichalZr6
303b0a6552
Fixes based on review remarks
2024-09-24 18:29:01 +02:00
Tomasz Zieliński
a4392fce36
Allow mod name in camelCase
2024-09-23 20:34:26 +02:00
Ivan Savenko
9ee2ee45bc
Compatibility hack for mods with old banks format
2024-09-21 15:11:57 +00:00
Tomasz Zieliński
ec603f46ae
- Handle new configurable banks
...
- Handle "all" object banned option
2024-09-21 13:36:28 +02:00
Tomasz Zieliński
2fe54504ab
Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone
...
# Conflicts:
# lib/rmg/CRmgTemplate.cpp
2024-09-14 10:19:22 +02:00
Tomasz Zieliński
9591ce1ab4
Move CompoundMapObjectID to separate file
2024-09-14 08:55:28 +02:00
Tomasz Zieliński
e89649ec1c
Move ObjectConfig to separate file
2024-09-14 08:41:00 +02:00
Tomasz Zieliński
4b263b6d41
Add specific objects and configure their frequency / value
2024-09-12 21:04:27 +02:00
Ivan Savenko
503b87561e
Converted all h3 banks to rewardable, remove most of hardcoded checks
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
ce4548718c
Merge pull request #4544 from IvanSavenko/map_settings
...
Per-map game settings
2024-09-10 00:03:10 +03:00
Ivan Savenko
a58e209cbd
Merge pull request #4490 from godric3/fix-campaign-hero-placeholder
...
Fix campaign hero placeholder
2024-09-09 23:39:20 +03:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Ivan Savenko
20d5b33ea6
Remove marketModes as member
...
marketModes are now generated in runtime and are not a member of
IMarket. Was not a bad change, but towns load buildings before town type
is randomized, leading to case where market modes are not actually known
when building is added to town (like random towns with market built)
Since altar requires CArtifactSet for work, IMarket will now always
contain it, but it will only be accessible if market supports altar
mode.
2024-08-27 14:07:00 +00:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
...
IMarket refactoring
2024-08-26 22:48:23 +03:00
Tomasz Zieliński
64fc2e5ed0
Move ObjectConfig to ObjectInfo.cpp. Preliminary version of banning object categories.
2024-08-24 15:12:22 +02:00
MichalZr6
a82ce2f96a
Fix negative QColor values
2024-08-23 09:43:40 +02:00
MichalZr6
568a792f88
Refactor containers names in CObjectClassesHandler
2024-08-23 09:43:40 +02:00
godric3
cda66c4196
attempt to fix hero placeholder while reading h3m
2024-08-22 17:09:23 +02:00
Tomasz Zieliński
85ee859b6e
First version that works - banning objects is possible
2024-08-21 20:16:41 +02:00
SoundSSGood
58bb2b58e3
IMarket suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
cd7ebea9e3
cleanup unused code
2024-08-20 18:49:47 +03:00
SoundSSGood
39bb6d5f39
IMarket now able to store artifacts
2024-08-20 18:49:47 +03:00
SoundSSGood
fd45b5144d
IMarket serializeable
2024-08-20 18:49:47 +03:00
Ivan Savenko
72896d4ed5
Added (mostly) complete schema for validation of rewardable
2024-08-14 17:04:44 +00:00
godric3
78aa376d50
introduce getModScope
into AObjectTypeHandler
2024-08-12 13:58:03 +02:00
Ivan Savenko
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +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
1c63fefe02
Moved banks randomization to server-side with client netpack
2024-07-16 13:13:39 +00:00