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
c55a75cc4e
Remove copy-pasted code in rewardable town building leading to hero not
...
registered as visitor
2024-10-11 15:02:48 +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
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
cef7466c71
Merge pull request #4643 from SoundSSGood/CArtHandler-refactoring
...
CArtifactSet tidy up
2024-10-01 16:26:32 +03: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
f2c20b54d0
Unify rewardable map object and town building code
2024-09-27 15:41:24 +00:00
SoundSSGood
586a32a616
CArtifactSet cleanup
2024-09-23 23:39:19 +03:00
Ivan Savenko
92c5fd4156
Merge pull request #4655 from IvanSavenko/bugfixing
...
Bugfixing
2024-09-23 18:01:27 +03:00
Ivan Savenko
123f9ee676
Fix missing registration of onGuardedMessage string for banks
2024-09-22 20:30:55 +00:00
godric3
f4dc2dcd22
add missing serialization of spells in Limiter
2024-09-21 22:40:58 +02: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
SoundSSGood
7466d7452d
vcmiscrolls
2024-09-05 15:51:45 +03: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
kdmcser
87eb026184
support 0 spellpower and knowledge
2024-08-06 01:26:39 +08:00
Ivan Savenko
b7391f49f6
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-08-05 10:36:10 +00:00
Ivan Savenko
74fea5109b
Show non-learnable spells from rewardable object as greyed-out
2024-07-29 17:13:31 +00:00
Ivan Savenko
f9348fc84a
Do not hide spells from reward if hero can't learn them
2024-07-29 17:13:31 +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
Andrii Danylchenko
6f5710e809
Merge pull request #4110 from vcmi/rewardables
...
NKAI: rewardables
2024-07-14 09:02:37 +03:00
Ivan Savenko
6b8f94e6e7
Merge remote-tracking branch 'vcmi/master' into develop
2024-07-11 17:43:44 +00:00
Ivan Savenko
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
Andrii Danylchenko
1be36e1ad4
NKAI: rewardables
2024-07-07 21:58:39 +03:00
Ivan Savenko
77e827c51e
Fix leveling up secondary skills via Scholar (map object) visit
2024-06-27 09:58:53 +00:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
84bc6c42db
Added 'Serializeable' base class for classes serializeable by pointer
2024-05-16 18:40:59 +00:00
Ivan Savenko
1dc962804e
Fixed possible crash on having selectable reward with no visual image
2024-04-25 14:04:45 +03:00
Ivan Savenko
9e81c53547
Do not give spells as reward if hero can't learn them
2024-04-12 00:25:02 +03:00
Tomasz Zieliński
8ef7daf45a
Missing change
2024-03-09 11:02:43 +01:00
Tomasz Zieliński
fe8bcc5758
Merge remote-tracking branch 'origin/develop' into reward_select_all
...
# Conflicts:
# lib/mapObjects/CRewardableObject.cpp
2024-03-09 06:50:56 +01: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
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
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
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
Ivan Savenko
3e9133995f
Fix uninitialized member
2023-12-23 21:31:29 +02:00
Ivan Savenko
31cef2e7d7
Attempt to fix crash on rewardable configuration
2023-12-22 14:03:05 +02:00
Ivan Savenko
b62e801530
Fix uninitialized variable in Seer Huts
2023-12-10 19:48:27 +02:00
Ivan Savenko
abad4b01ce
Remove explicit convesion to int in operators
2023-11-15 15:55:19 +02:00
Ivan Savenko
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00