Xilmi
ca4a46466b
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-15 11:32:46 +02:00
Ivan Savenko
95df330843
Remove unused files
2024-09-14 10:47:43 +00:00
Tomasz Zieliński
2fe54504ab
Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone
...
# Conflicts:
# lib/rmg/CRmgTemplate.cpp
2024-09-14 10:19:22 +02:00
Tomasz Zieliński
9591ce1ab4
Move CompoundMapObjectID to separate file
2024-09-14 08:55:28 +02:00
Tomasz Zieliński
4b263b6d41
Add specific objects and configure their frequency / value
2024-09-12 21:04:27 +02:00
Xilmi
a1a03d4b74
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-12 14:54:39 +02: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
503b87561e
Converted all h3 banks to rewardable, remove most of hardcoded checks
2024-09-12 12:11:18 +00:00
Ivan Savenko
cb5df096c1
Added per-team tracking of scouted state of an object
2024-09-12 12:11:17 +00:00
Ivan Savenko
785036836c
Rewardable objects may now define guards. Converted Crypt to rewardable.
2024-09-12 12:10:40 +00:00
Xilmi
065125e770
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-10 14:57:27 +02:00
Xilmi
d4ee899565
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-06 17:04:34 +02:00
Xilmi
581a142a20
HeroStrengthForCampaign
...
Make sure to take our magic-specialist to the next campaign-mission even if he's totally out of mana.
2024-09-05 17:38:27 +02:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +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
a72715ad31
Merge pull request #4563 from SoundSSGood/vcmiScrolls
...
Improvements to the artifact creation
2024-09-05 17:10:13 +03:00
Xilmi
dd5a34d994
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-05 15:54:03 +02:00
SoundSSGood
7466d7452d
vcmiscrolls
2024-09-05 15:51:45 +03:00
Ivan Savenko
44fdb71933
Machine Factory and Refugee Camp can't be owned
2024-09-04 19:46:58 +00:00
Ivan Savenko
dae9e1e316
Implement IOwnableObject interface for shipyard
2024-09-04 19:46:36 +00:00
SoundSSGood
30fa2846aa
ArtifactUtils::createArtifact ArtifactUtils::createNewArtifactInstance unified
2024-09-04 21:25:55 +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
SoundSSGood
b06426ac43
CMap removed from CArtifactSet level
2024-09-04 15:12:40 +03:00
Xilmi
3f8a8733a2
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-03 20:33:19 +02:00
Laserlicht
ff65a33d44
fixes bug for 8th creature
2024-09-03 11:03:37 +02:00
Xilmi
5ee7061ab7
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-02 17:27:08 +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
71c7beb7a5
Merge pull request #4533 from IvanSavenko/town_growth
...
Change logic of neutral towns garrisons to match H3
2024-08-31 13:52:36 +03:00
Ivan Savenko
82c37573fa
Removed save compatibility with 1.4
...
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6
Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.
Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00: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
Xilmi
aea05b3fb8
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-29 14:42:37 +02: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
Ivan Savenko
ac271c09b9
Add mechanism to provide save compatibility if class is removed or
...
addded
2024-08-26 20:06:36 +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
cd7ebea9e3
cleanup unused code
2024-08-20 18:49:47 +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
Xilmi
2df293f95d
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-19 21:15:34 +02: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
Xilmi
e6d907af55
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-18 09:52:59 +02:00
Warzyw647
0f7c9e7657
Fix config setting blackMarketRestockPeriod.
...
When set to x it was restocking on all days except every x days.
2024-08-17 11:59:15 +02: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
49c5f650f7
Merge pull request #4437 from IvanSavenko/battle_sides
...
Unified handling of battle sides ID's
2024-08-14 18:37:05 +03: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
Xilmi
d851ca1c74
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-12 17:40:55 +02:00
Ivan Savenko
2a05fbdd50
Unified handling of battle sides ID's
...
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00:00
Xilmi
a454ecfe38
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-10 11:05:28 +02: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
Xilmi
a7240041ec
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-07 16:15:28 +02:00
Laserlicht
14bcfad7b0
fix upgrade
2024-08-06 23:28:45 +02:00
Ivan Savenko
a4dd510735
Merge pull request #4358 from IvanSavenko/integer_divide
...
Add helper functions for integer division rounding
2024-08-06 18:10:03 +03: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
Xilmi
f4c0bee003
Merge remote-tracking branch 'upstream/develop' into develop
2024-08-05 21:53:59 +02:00
Laserlicht
1a06a2cc44
basic 8th creature support
2024-08-05 21:15:47 +02:00
Ivan Savenko
b7391f49f6
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-08-05 10:36:10 +00:00
Laserlicht
47327e1642
backend
2024-08-04 17:52:40 +02:00
Ivan Savenko
81e6207df0
Add helper functions for integer division rounding
...
Added set of functions that perform integer division with different
rounding modes:
- divideAndCeil - rounds up to next integer
- divideAndRound - rounds to nearest integer
- divideAndFloor - rounds to previous integer (equivalent to default
division)
Intended for use in library, where usage of floating point might lead to
desync in multiplayer games.
Replaced some cases that I knew of, including recent handicap PR
2024-08-03 13:52:14 +00:00
Ivan Savenko
5023e08ae8
Fix crash on testing for hero faction before deserializing hero type
2024-08-02 16:00:17 +00:00
Ivan Savenko
0ac1ef077d
Workaround for hota witch hut preview
2024-08-02 16:00:07 +00:00
Ivan Savenko
8ce6bcdf3b
Right-clicking dwellings will now show recruitable creatures (but not
...
their number) for all players
2024-08-02 15:03:25 +00:00
Laserlicht
3e5df61946
code review
2024-07-29 22:54:42 +02:00
Ivan Savenko
b6c22b2053
Fix typo
2024-07-29 17:13:31 +00:00
godric3
fa3fef8a0f
change town events to vector + use getDefaultAllowed for spells
2024-07-28 16:28:21 +02:00
godric3
5578346dac
map editor: Allow to customize town events
2024-07-28 16:28:21 +02:00
Laserlicht
2e2d8f8833
fix
2024-07-26 02:24:53 +02:00
Laserlicht
977d8e041a
generate at least one resource / creature
2024-07-26 00:55:47 +02:00
Laserlicht
ec005593d3
growth handicap
2024-07-25 23:04:59 +02:00
Laserlicht
bfd1e8a7c8
calculate income
2024-07-25 02:51:00 +02:00
Xilmi
69efe9cfda
Merge remote-tracking branch 'upstream/develop' into develop
2024-07-22 20:15:40 +02:00
Ivan Savenko
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
Xilmi
6f9309696d
Merge remote-tracking branch 'upstream/develop' into develop
2024-07-21 19:06:14 +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
Xilmi
fa2f883361
Merge remote-tracking branch 'upstream/develop' into develop
2024-07-19 15:26:31 +02:00
Ivan Savenko
1c63fefe02
Moved banks randomization to server-side with client netpack
2024-07-16 13:13:39 +00:00
Ivan Savenko
b07408e984
New objects are now created and initialized on server and sent to client
2024-07-16 13:13:39 +00:00
Ivan Savenko
d2839c8e52
Rewardable object randomization is now always server-sided
2024-07-16 13:13:39 +00:00