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
Ivan Savenko
86a3806bec
MetaString refactor to eliminate integer usage for identifiers
...
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
Ivan Savenko
c1c2119f3d
Show Seer Hut quest icon on right click. Fix broken tooltip.
2023-11-06 20:37:07 +02:00
Ivan Savenko
5487f07d3b
added toEntity overload that accepts generic Services class
2023-11-04 17:04:53 +02:00
Ivan Savenko
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
Ivan Savenko
8d5fa41a19
Minor fixes
2023-11-03 16:03:29 +02:00
Ivan Savenko
885dce0c27
Replace static_cast's of Identifiers with getNum call
2023-11-03 16:03:29 +02:00
Ivan Savenko
8f25f1fd4b
Serialize identifiers without implicit conversion to int
2023-11-03 16:03:29 +02:00
Ivan Savenko
056ef00f74
Bugfixing
2023-11-02 13:52:58 +02:00
Ivan Savenko
f201e3019a
Fix crash on right-clicking rewardable objects with no hero selected
2023-11-02 12:00:05 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Tomasz Zieliński
5e36ef92c7
Support for "selectAll" reward
2023-10-31 18:21:50 +01:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Ivan Savenko
0a10fc30b8
(lib) Bonus subtype is now stored as metaidentifier that can store any
...
other identifier inside it
2023-10-22 16:54:43 +03:00
Ivan Savenko
1c4a142849
Fix remaining TODO's
2023-10-21 00:44:57 +03:00
Ivan Savenko
8f4791914e
Show content preview only for Witch Huts / Shrines / Tree
2023-10-19 15:17:58 +03:00
Ivan Savenko
530c70c282
Added object descriptions present in H3
2023-10-19 13:34:15 +03:00
Ivan Savenko
901fd77699
Fix Cover of Darkness
2023-10-18 18:04:01 +03:00
Ivan Savenko
8f33fdcd83
Allow learning banned spell from Scholars (H3 logic)
2023-10-18 17:38:40 +03:00
Ivan Savenko
ce480c8c84
Fixed Scholar handling
2023-10-18 17:14:22 +03:00
Ivan Savenko
48eba6c362
Fix Witch Hut messages to match H3
2023-10-17 16:52:57 +03:00
Ivan Savenko
eedaa63f5f
Hnadling of Shrine messages now matches H3
2023-10-17 16:35:34 +03:00
Ivan Savenko
927ce4e60e
Improvements to rewardable objects popups
2023-10-16 23:55:37 +03:00
Ivan Savenko
850d0ff8eb
Show (mostly) correct messages in Shrines
2023-10-16 18:16:15 +03:00
Ivan Savenko
0ea44520fd
Fix build
2023-10-16 00:12:39 +03:00
Ivan Savenko
e10de0594e
Scholar is now configurable object (partial)
2023-10-16 00:12:39 +03:00
Ivan Savenko
bb05c2dea5
Implemented configurable shrine
2023-10-16 00:12:39 +03:00
Ivan Savenko
dd841bdaa7
Use enum instead of mix of bool's and int's for tile reveal
2023-10-16 00:12:38 +03:00