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
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
a8f8c3f4b1
Replaced most of accesses to CGObjectInstance::pos with anchorPoint()
2024-10-09 15:43:46 +00:00
Ivan Savenko
c0f5c7c0ea
Replace pointer with reference in pack apply functions
2024-10-07 14:59:46 +00:00
SoundSSGood
586a32a616
CArtifactSet cleanup
2024-09-23 23:39:19 +03:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
...
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
SoundSSGood
7466d7452d
vcmiscrolls
2024-09-05 15:51:45 +03:00
Ivan Savenko
b09d9d501b
Pass pointer to actual caller in showBlockingDialog callWith
...
Fixes activation of all rewardable buildings in town on blocking dialog
answer
2024-09-04 15:14:56 +00:00
MichalZr6
ffaaa7da15
blockingDialog functions: the answer
parameter can be negative
2024-08-09 00:28:28 +02: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
4e7809d934
Take resources on quest completion instead of giving them
2024-06-17 20:18:34 +00:00
Ivan Savenko
a6dead7725
Fixed loading of text strings for hota quests
2024-04-22 13:49:17 +03:00
Ivan Savenko
4947baebee
Fix crash on loading vmap's
2024-04-08 13:16:34 +03:00
Ivan Savenko
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
Ivan Savenko
a9866bb5c6
Added RandomGeneratorUtil::nextItemWeighted convenience method
2024-01-31 00:17:40 +02:00
Ivan Savenko
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
Ivan Savenko
543ee597b8
Fix localization-related error messages
2023-12-11 18:23:52 +02:00
Ivan Savenko
d58ea6f28d
Fix keymaster visitation status tracking
2023-11-21 16:38:09 +02:00
Ivan Savenko
c872f8418f
Implemented serialization of MapObjectSubID, refactoring of related code
2023-11-17 21:18:34 +02:00
Ivan Savenko
13763cad8e
Remove few more implicit conversions
2023-11-15 15:55:19 +02:00
Ivan Savenko
1d430d0328
Fix initialization order of Seer Huts and Creatures - Seer Hut might be
...
initialized before creature that its quest is linked to
2023-11-12 19:18:00 +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
2f3d14da5c
Show quest description only after visit
2023-11-06 20:37:17 +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
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
Ivan Savenko
3634fb2158
Remove int <=> Identifier comparisons
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
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
SoundSSGood
ab2f6abb87
ArtifactLocation now use ID for artHolder identification part2
2023-10-29 17:46:13 +02:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Ivan Savenko
4f47555977
Split OBJECT bonus source into OBJECT_TYPE and OBJECT_INSTANCE
2023-10-22 16:55:19 +03:00
Ivan Savenko
ac925bb786
Renamed new types for consistency with code style
2023-10-22 16:55:19 +03:00
Ivan Savenko
b394158dc9
Bonus Source ID now uses metaidentifier
2023-10-22 16:55:18 +03:00
nordsoft
966ffe4377
Fix warnings about empty kill target
2023-10-18 00:13:32 +02:00
nordsoft
4651893b48
Fix hota quests
2023-10-14 00:15:15 +02:00
nordsoft
2bf8cdc9f5
Hota-related bugs were fixed
2023-10-13 12:52:45 +02:00
nordsoft
74a90cde5d
Fix hero level limiter
2023-10-12 12:52:01 +02:00
nordsoft
14b030d2eb
Support hota quest gates
2023-10-11 23:15:24 +02:00
nordsoft
7ccd4cdcb2
Refactor quests progress
2023-10-11 21:10:42 +02:00
nordsoft
5b10b457cf
Fix code review suggestions
2023-10-11 00:47:19 +02:00
nordsoft
31d71ddd25
Minor fixes in text
2023-10-10 23:44:29 +02:00
nordsoft
5eeda3cd25
Quests mostly work
2023-10-10 23:44:29 +02:00
nordsoft
d2d64dbddd
Bugfixes
2023-10-10 23:44:29 +02:00
nordsoft
bb238f9b72
New quests work
2023-10-10 23:44:29 +02:00
nordsoft
63bdfb8ff6
New quests implemented
2023-10-10 23:44:29 +02:00
nordsoft
1460541ee5
New limiter based quests
2023-10-10 23:44:29 +02:00
nordsoft
0cf3205e15
Fix quest regressions
2023-10-10 23:44:28 +02:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00