Ivan Savenko
01d787fb5a
Removed remaining cases of serialization of VLC entities
2024-10-30 16:48:18 +00:00
Ivan Savenko
d3af9f1c67
Removed pointer to VLC entity from CStackBasicDescriptor
2024-10-30 16:47:02 +00:00
Ivan Savenko
08fbcd5239
TerrainTile now uses identifiers instead of pointers to VLC
2024-10-30 16:22:11 +00:00
Ivan Savenko
ee59bc4e71
Add bonus description generation for map objects
2024-10-25 18:36:02 +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
Laserlicht
9c6bd20159
code review
2024-10-01 16:32:28 +02:00
Laserlicht
713fcd6543
research per day & seperate config
2024-09-30 02:40:28 +02:00
Laserlicht
d929bfb9d1
rename; introduce factor
2024-09-28 15:05:13 +02:00
Laserlicht
2052a26031
code review
2024-09-28 14:25:11 +02:00
Laserlicht
7707adc44f
checks on server
2024-09-28 01:18:10 +02: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
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
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
Laserlicht
ff65a33d44
fixes bug for 8th creature
2024-09-03 11:03:37 +02: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
b436290d16
Fix crash on right-clicking a neutral town
2024-08-29 15:45:46 +00:00
Ivan Savenko
21fc80a315
Growth of town garrison in neutral towns now uses H3 logic
2024-08-29 15:22:31 +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
408a632002
Deprecate artifact-related building types
2024-08-28 13:50:08 +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
189cb1c762
Moved most of daily income handling to a separate method
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
4035ab1550
added CMarketWindow::getMarketTitle()
2024-08-24 13:52:54 +03: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
Ivan Savenko
22a126cf2d
Restored replacement of town building bonuses via building upgrade
2024-08-19 11:47:13 +00: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
Ivan Savenko
19838e2654
Fix auto-visit of configurable objects on new day
2024-08-14 17:04:42 +00:00
Ivan Savenko
67132b3e7f
Fixed visitation of configurable town buildings by newly recruited heroes
...
and on building construction
2024-08-14 17:03:25 +00:00
Ivan Savenko
38311244a4
Merge pull request #4402 from Laserlicht/8th_creature
...
support for 8th creature (Factory)
2024-08-14 17:04:32 +03:00
Laserlicht
170f375179
code review
2024-08-10 00:29:30 +02: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
14bcfad7b0
fix upgrade
2024-08-06 23:28:45 +02:00
Laserlicht
ebeeff5aa3
abstraction layer
2024-08-05 23:51:07 +02:00
Laserlicht
3afddbbf29
replaced constant
2024-08-05 23:03:19 +02:00
Laserlicht
1a06a2cc44
basic 8th creature support
2024-08-05 21:15:47 +02:00