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
Ivan Savenko
39e5ba32f6
Merge pull request #4530 from IvanSavenko/town_fortifications
...
Support for configurable town fortifications
2024-08-31 13:59:40 +03:00
Ivan Savenko
73459876bf
Initial garrison of a town should now match H3 logic
2024-08-29 15:46:22 +00:00
Ivan Savenko
36c1ed670f
Support for configurable town fortifications
...
Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.
It is now possible to define which parts of town fortifications are
provided by town buildings
Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".
Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
2024-08-28 19:42:14 +00:00
Ivan Savenko
8ef8ffa5c4
Implemented configurable blacksmith. Deprecated ballistaYard type
2024-08-28 13:49:42 +00:00
Ivan Savenko
d49a61645c
All objects that can be owned by player now implement IOwnableObject
2024-08-28 12:51:28 +00:00
Ivan Savenko
a481f07daf
PlayerState now stores all objects owned by player
2024-08-28 12:51:27 +00:00
Ivan Savenko
0fd9dbf240
Unified income handling, added IOwnableObject interface
2024-08-28 12:40:44 +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
f765f212bb
Restore save compatibility
2024-08-26 20:52:37 +00:00
SoundSSGood
0c5022cae8
Loading market modes from json
2024-08-24 11:51:57 +03:00
SoundSSGood
2e3e6b1553
market->getObjInstanceID()
2024-08-21 01:01:23 +03:00
SoundSSGood
58bb2b58e3
IMarket suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +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
2f3f3c21df
Rename town building types to more clear names
2024-08-19 11:47:13 +00:00
Ivan Savenko
01a9509ccb
Remove unused code, reduce includes
2024-08-19 11:47:13 +00:00
Ivan Savenko
f1e63792f0
Greatly simplify town buildings logic
2024-08-19 11:47:13 +00:00
Laserlicht
b4c25a148a
Merge branch 'develop' into bank_support
2024-08-09 23:36:59 +02:00
Ivan Savenko
85cf33e5a8
Merge pull request #4422 from MichalZr6/fix_unsigned_to_signed
...
blockingDialog functions: the `answer` parameter can be negative
2024-08-09 15:31:45 +03:00
Ivan Savenko
ffb8efc415
Merge pull request #4225 from godric3/map-editor-town-configuration-improvements
...
Map editor town configuration improvements (buildings, spells, events)
2024-08-09 15:26:33 +03:00
MichalZr6
ffaaa7da15
blockingDialog functions: the answer
parameter can be negative
2024-08-09 00:28:28 +02:00
Laserlicht
47327e1642
backend
2024-08-04 17:52:40 +02:00
Laserlicht
3e5df61946
code review
2024-07-29 22:54:42 +02:00
godric3
fa3fef8a0f
change town events to vector + use getDefaultAllowed for spells
2024-07-28 16:28:21 +02:00
Laserlicht
ec005593d3
growth handicap
2024-07-25 23:04:59 +02:00
Ivan Savenko
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
Ivan Savenko
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +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
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
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
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
2c8d0338ba
Fix error messages in log on map start
2023-11-27 14:08:49 +02:00
Ivan Savenko
6cb1f6ff11
Remove all remaining implicit conversion in lib
2023-11-15 15:55:19 +02:00
Ivan Savenko
2cc8b5baeb
Fix map startup
2023-11-08 21:27:05 +02:00
Ivan Savenko
54103813dd
Remove no longer used serialization methods
2023-11-08 21:27:05 +02:00
Ivan Savenko
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
Ivan Savenko
3634fb2158
Remove int <=> Identifier comparisons
2023-11-03 16:03:29 +02:00
Ivan Savenko
7a09646009
Cleaned up dwelling randomization
2023-11-01 14:43:20 +02:00
Ivan Savenko
dcb8f4fc7b
Moved object type randomization to object class
2023-11-01 14:43:20 +02:00
nordsoft
0c94a4d891
Town name switched to id
2023-09-27 23:57:05 +02:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Ivan Savenko
6aedb99117
Cleaned up IShipyard interface
2023-06-16 17:59:10 +03:00
Ivan Savenko
2e7c382612
Moved creature upgrade logic to CGObjectInstance inheritors
2023-06-16 17:59:10 +03:00
Ivan Savenko
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +03:00
nordsoft
059ccdc9bc
Fix for serialization bug
2023-05-07 04:02:52 +04:00
nordsoft
c4cf2a100b
Fix behavior for hero bought in town tavern
2023-05-02 04:44:09 +04:00
nordsoft
e9279cfbc4
Blocking dialogs supported
2023-05-01 00:14:53 +04:00
nordsoft
2adcc89a0d
Rewardable town buildings prototype
2023-05-01 00:14:53 +04:00