1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00
Commit Graph

122 Commits

Author SHA1 Message Date
291c5e1027 Do not send empty packets changing primary skills by 0 points 2024-12-21 14:43:09 +00:00
0e1f8f99bc Reduce excessive logging 2024-12-21 14:43:08 +00:00
4ae81cbac0 Add missing field to serialization 2024-11-16 16:23:02 +00:00
d3af9f1c67 Removed pointer to VLC entity from CStackBasicDescriptor 2024-10-30 16:47:02 +00:00
08fbcd5239 TerrainTile now uses identifiers instead of pointers to VLC 2024-10-30 16:22:11 +00:00
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
c55a75cc4e Remove copy-pasted code in rewardable town building leading to hero not
registered as visitor
2024-10-11 15:02:48 +00:00
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
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
cef7466c71 Merge pull request #4643 from SoundSSGood/CArtHandler-refactoring
CArtifactSet  tidy up
2024-10-01 16:26:32 +03:00
ffed9480e0 Merge pull request #4483 from vcmi/custom_objects_per_zone
Customizable objects in RMG zones
2024-10-01 14:58:35 +02:00
f2c20b54d0 Unify rewardable map object and town building code 2024-09-27 15:41:24 +00:00
586a32a616 CArtifactSet cleanup 2024-09-23 23:39:19 +03:00
92c5fd4156 Merge pull request #4655 from IvanSavenko/bugfixing
Bugfixing
2024-09-23 18:01:27 +03:00
123f9ee676 Fix missing registration of onGuardedMessage string for banks 2024-09-22 20:30:55 +00:00
f4dc2dcd22 add missing serialization of spells in Limiter 2024-09-21 22:40:58 +02:00
ec603f46ae - Handle new configurable banks
- Handle "all" object banned option
2024-09-21 13:36:28 +02:00
d20d9bd96b Fix generation of placeholders for banks 2024-09-12 12:11:18 +00:00
2ee4e42348 Implement placeholders for creature banks messages 2024-09-12 12:11:18 +00: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
31dff8f8da Add coastVisitable property to rewardables, update schemas 2024-09-12 12:11:18 +00:00
785036836c Rewardable objects may now define guards. Converted Crypt to rewardable. 2024-09-12 12:10:40 +00:00
7466d7452d vcmiscrolls 2024-09-05 15:51:45 +03:00
3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
d1aa55de91 Fix rewards not rerolling correctly on reset due to cached variables 2024-08-22 16:38:53 +00:00
87eb026184 support 0 spellpower and knowledge 2024-08-06 01:26:39 +08:00
b7391f49f6 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-08-05 10:36:10 +00:00
74fea5109b Show non-learnable spells from rewardable object as greyed-out 2024-07-29 17:13:31 +00:00
f9348fc84a Do not hide spells from reward if hero can't learn them 2024-07-29 17:13:31 +00:00
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
63bcf7d83c Replaced most of usages of CRandomGenerator with vstd::RNG in library 2024-07-16 13:13:07 +00:00
60a51e98de Remove usage of std::function from CRandomGenerator 2024-07-16 13:13:07 +00:00
6f5710e809 Merge pull request #4110 from vcmi/rewardables
NKAI: rewardables
2024-07-14 09:02:37 +03:00
6b8f94e6e7 Merge remote-tracking branch 'vcmi/master' into develop 2024-07-11 17:43:44 +00:00
22870c4764 Fix potential crash on right-clicking object that gives secondary skills
such as Witch Hut when town is selected
2024-07-10 14:36:24 +00:00
1be36e1ad4 NKAI: rewardables 2024-07-07 21:58:39 +03:00
77e827c51e Fix leveling up secondary skills via Scholar (map object) visit 2024-06-27 09:58:53 +00:00
02e429e973 Fix typos using https://github.com/crate-ci/typos
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
84bc6c42db Added 'Serializeable' base class for classes serializeable by pointer 2024-05-16 18:40:59 +00:00
1dc962804e Fixed possible crash on having selectable reward with no visual image 2024-04-25 14:04:45 +03:00
9e81c53547 Do not give spells as reward if hero can't learn them 2024-04-12 00:25:02 +03:00
8ef7daf45a Missing change 2024-03-09 11:02:43 +01:00
fe8bcc5758 Merge remote-tracking branch 'origin/develop' into reward_select_all
# Conflicts:
#	lib/mapObjects/CRewardableObject.cpp
2024-03-09 06:50:56 +01:00
922966dcf8 Renamed JsonNode::meta to more logical modScope. Member is now private 2024-02-26 12:55:49 +02:00
c3957c2c2a Moved json files to new directory, split on per-class basis 2024-02-14 13:08:24 +02:00
a9866bb5c6 Added RandomGeneratorUtil::nextItemWeighted convenience method 2024-01-31 00:17:40 +02:00
0c07384293 Refactoring of serialization versioning handling
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum

Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
60ffb81b33 Replaced remaining placeholder code with callbacks 2024-01-19 13:55:22 +02:00
a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
edb2ecd751 Fix possible overflow errors on leveling up beyond int64_t limit
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00