Ivan Savenko
5e3a0a1a75
Fixed json validation
2023-05-15 22:22:54 +03:00
Ivan Savenko
7927470d46
Merge pull request #2076 from IvanSavenko/configurable_adventure_map
...
Implement scalable adventure map window
2023-05-12 17:39:45 +03:00
Ivan Savenko
79982c4ad4
Fix broken bonuses due to calling PutArtifact before NewArtifact
2023-05-09 16:48:52 +03:00
Ivan Savenko
a015bf6507
Initial part of dynamically-sized adventure map:
...
- removed no longer used CConfigHandler
- remove no longer use resolutions.json
- moved widget management from adventure map to a separate class
- adventure map layout is now loaded from config
2023-05-09 13:10:33 +03:00
Ivan Savenko
cb8201876b
Merge pull request #1822 from rilian-la-te/spell-mechanics-v3
...
Bonus refactoring, part3 (save-incompatible)
2023-05-09 13:10:04 +03:00
Ivan Savenko
c21d31289e
Merge pull request #2135 from SoundSSGood/assert-failure-fix
...
CWindowWithArtifacts assert fix
2023-05-08 23:44:47 +03:00
SoundSSGood
fe3e635332
assertions fix
2023-05-07 22:29:03 +03:00
Konstantin
e60a4318c3
vcmi: a bunch of forward definitions
2023-05-07 20:37:32 +03:00
Konstantin P
057a33c508
SpellSchool: use identifier instead of int
...
Needs redifinition of MAGIC_SCHOOL_SKILL in all mods
2023-05-07 20:37:32 +03:00
Tomasz Zieliński
19010dd834
Not needed
2023-05-07 09:15:20 +02:00
Tomasz Zieliński
966a24d27e
Protect public access to Modificators with another mutex.
2023-05-07 08:24:08 +02:00
Tomasz Zieliński
a58094aefe
Thread pool kinda works.
2023-05-07 07:48:12 +02:00
Nordsoft91
e23936f6dc
Merge pull request #2107 from Nordsoft91/town-buildings
2023-05-07 06:04:52 +04:00
nordsoft
059ccdc9bc
Fix for serialization bug
2023-05-07 04:02:52 +04:00
nordsoft
58aed364bf
Don't place non-sailing boats in RMG
2023-05-07 03:24:52 +04:00
nordsoft
7c029bccba
Show info nin modal window always
2023-05-07 03:19:18 +04:00
Tomasz Zieliński
3d25c2c6dc
Fix thread pool closing
2023-05-06 19:47:28 +02:00
Tomasz Zieliński
a8545935c3
ThreadPool implementation. It runs, but dies from race conditions.
2023-05-06 18:54:19 +02:00
Tomasz Zieliński
a952a9e279
Remove unused code
2023-05-06 12:22:01 +02:00
Warzyw647
d74fdad432
Renamed enum EMonsterStrength to EGlobalMonsterStrength. Enum EZoneMonsterStrength unchanged.
2023-05-06 12:18:53 +02:00
Tomasz Zieliński
d22ec0ee0c
Move Modificator to separate file.
2023-05-06 10:49:18 +02:00
Konstantin P
8600e3035a
IBonusBearer: split cached methods
2023-05-05 21:30:45 +03:00
Konstantin P
f2827834c0
vcmi: bump serialization version
2023-05-05 21:30:45 +03:00
Konstantin P
45ca449f2c
vcmi: more optionals in bonuses
2023-05-05 21:30:45 +03:00
Konstantin P
9e1cdc410f
vcmi: replace school bonuses to unified ones
...
Except immunity now
2023-05-05 21:30:45 +03:00
Konstantin P
8764765dcf
Bonus: complex duration as bitset
...
Fixes #2125
2023-05-05 21:30:45 +03:00
Konstantin P
e9a90a8cbf
Serializer: serialize small bitsets (32 bits)
2023-05-05 21:30:45 +03:00
Konstantin
3d46ee3182
TargetCondition: units with 100% MR is immune
...
Spells should not consider units with 100% MR as valid targets.
2023-05-05 18:57:40 +03:00
Konstantin P
c216292f1e
CHeroHandler: remove confusing map
...
This map should not be used, it does not have values anymore
2023-05-05 18:57:40 +03:00
Konstantin
b0d2787e86
vcmi: remove DIRECT_DAMAGE_IMMUNITY bonus
...
Replace by SPELL_DAMAGE_REDUCTION bonus with 100 value
2023-05-05 18:57:40 +03:00
Konstantin P
5841c716fd
vcmi: 100% damage reduction is damage immunity
2023-05-05 18:57:11 +03:00
Konstantin P
0cbc2e458c
CBonusSystemNode: remove description
...
It was almost unused, but this change is save-breaking
2023-05-05 18:57:11 +03:00
Konstantin P
d0e6205688
CBonusSystemNode: make some properties private
2023-05-05 18:57:11 +03:00
Tomasz Zieliński
eb50ae3aa7
- Pre-distribute max number of Prisons
...
- Minor refactor for artifact and hero pool management
2023-05-05 10:30:36 +02:00
Tomasz Zieliński
d137f7157c
Merge remote-tracking branch 'origin/develop' into parellel_rmg
...
# Conflicts:
# lib/rmg/CZonePlacer.h
# lib/rmg/TreasurePlacer.h
2023-05-05 09:00:44 +02:00
Tomasz Zieliński
35ec720555
Forget objects that were already replaced iwth an artifact.
2023-05-05 07:16:38 +02:00
nordsoft
67331c5520
Fix after merge
2023-05-05 00:14:44 +04:00
Warzyw647
7f180b6e81
Split enum EMonsterStrength into EMonsterStrength and EZoneMonsterStrength.
...
Removed obsolete ZONE_ and GLOBAL_ from enum item names.
Simplified serialization of zone monster strength in preparation for adding zone monster strength: none.
2023-05-04 21:43:31 +02:00
nordsoft
ce80c83ca2
Merge remote-tracking branch 'upstream/develop' into town-buildings
...
# Conflicts:
# lib/CTownHandler.cpp
# lib/rewardable/Interface.cpp
2023-05-04 22:23:44 +04:00
Warzyw647
05e72e2e7f
Don't remove zone guards in a zone with monsters: none, remove extra parentheses and add comments
2023-05-04 18:40:04 +02:00
nordsoft
9984351302
Fix object clearing
2023-05-04 15:03:18 +04:00
Warzyw647
42d6cb4f8a
Merge branch 'develop' into rmg-no-monster-zone
2023-05-03 19:29:07 +02:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
Warzyw647
8ebaa3fd6b
Adding zoneMonserStrength: none
2023-05-03 12:07:00 +02:00
nordsoft
92dcfd1f68
Fix garrisons hero
2023-05-02 15:09:02 +04:00
nordsoft
7996123dfa
Rename constant
2023-05-02 14:45:53 +04:00
Konstantin
fbc05c70ac
vcmi: camelCase methods of new classes
...
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
a6de9097be
vcmi: rename HeroBonus.h to Bonus.h
2023-05-02 11:20:58 +03:00
nordsoft
c4cf2a100b
Fix behavior for hero bought in town tavern
2023-05-02 04:44:09 +04:00
nordsoft
18efde3b02
Fix incorrect merge
2023-05-02 01:58:19 +04:00
Konstantin
3df5a8e415
vcmi: split selectors from HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
29c76fb9bf
HeroBonus: split BonusList
2023-05-02 00:54:53 +03:00
Konstantin
48bcfe74f7
HeroBonus: move TBonusSubtype from GameConstants.h
2023-05-02 00:54:53 +03:00
Konstantin
ce37380e99
HeroBonus: remove unused template
2023-05-02 00:54:53 +03:00
Konstantin
4866c2fe5c
vcmi: split IBonusBearer
2023-05-02 00:54:53 +03:00
Konstantin
b6eb2dc060
vcmi: rename IFactionMember and ICreature
2023-05-02 00:54:53 +03:00
Konstantin
1d34c73c2d
vcmi: split CBonusSystemNode, BonusParams and prop
...
More splitting of HeroBonus.h
2023-05-02 00:54:53 +03:00
Konstantin
713e3004df
vcmi: rename updater and limiter files
2023-05-02 00:53:51 +03:00
Konstantin
4894280c6b
HeroBonus: remove unused function
2023-05-02 00:53:51 +03:00
Konstantin
34c1d4f3e9
vcmi: move CBonusProxy and friends to new file
...
To decouple HeroBonus.h more
2023-05-02 00:53:51 +03:00
Konstantin
a2d4c72016
vcmi: morale and luck now also IFactionMember
...
Not all bonus bearers have morale and luck, only faction members
2023-05-02 00:53:51 +03:00
Konstantin
e37f798a68
vcmi: split bonus updaters
2023-05-02 00:53:50 +03:00
Konstantin
416faf521e
vcmi: move limiters outside of HeroBonus.cpp
...
This will help for recompilation.
2023-05-02 00:53:50 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
2023-05-02 00:53:50 +03:00
Konstantin P
03b8ce2d4c
HeroBonus: remove unused functions
2023-05-02 00:53:50 +03:00
Konstantin P
4b2a09dae7
FactionMember: move code around
2023-05-02 00:53:50 +03:00
Konstantin
1f54a1474c
vcmi: remove SHval (replace by simple val)
2023-05-02 00:53:50 +03:00
Konstantin
af25ad0866
vcmi: split creatures and faction members
2023-05-02 00:53:50 +03:00
Konstantin
f4f0fd5945
vcmi: magicResistance is IFactionMember property
...
It is no reason to keep it inside IBonusBearer
2023-05-02 00:53:50 +03:00
Konstantin
4f7035d3ff
vcmi: add IFactionMember abstract class
2023-05-02 00:53:50 +03:00
nordsoft
0250e6fb92
Merge branch 'develop-upstream' into town-buildings
...
# Conflicts:
# client/CPlayerInterface.cpp
# client/windows/CTradeWindow.cpp
# config/objects/generic.json
# lib/mapObjects/CGMarket.cpp
# lib/mapObjects/CGMarket.h
# lib/mapObjects/CGTownInstance.cpp
# lib/mapObjects/CommonConstructors.cpp
# lib/mapObjects/CommonConstructors.h
2023-05-02 01:48:13 +04:00
Nordsoft91
c9b59735cf
Merge pull request #2101 from Nordsoft91/rewardable-expand
...
Part 2: refactoring for rewardable object
2023-05-02 01:19:57 +04:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
...
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
97a1758e8e
Merge remote-tracking branch 'upstream/develop' into rewardable-expand
2023-05-01 21:51:10 +04:00
nordsoft
eb577a03b5
Deprecating enum constants
2023-05-01 21:49:37 +04:00
nordsoft
87ff31531f
Rename parameter and remove extra check
2023-05-01 21:49:37 +04:00
nordsoft
07b2052679
Bit refactoring
2023-05-01 21:49:37 +04:00
nordsoft
68fa7aaf35
Remove limitations for amount of skills
2023-05-01 21:49:37 +04:00
nordsoft
a4fd6c1c92
Move trading window title to config
2023-05-01 21:49:37 +04:00
nordsoft
b29fc1a5f4
Fix movement bonus subtype
2023-05-01 21:49:37 +04:00
nordsoft
3d20538c1e
Implement markets
2023-05-01 21:49:37 +04:00
nordsoft
35a505288b
Fix json value reader
2023-05-01 21:49:37 +04:00
nordsoft
59bc9326e9
Remove excess pointer from market interface
2023-05-01 21:49:37 +04:00
Ivan Savenko
a654cc2391
Removed vstd::advance. Added vstd::next to handle similar cases.
2023-05-01 17:58:18 +03:00
Ivan Savenko
4aa232a60a
Merge pull request #2055 from SoundSSGood/cartifactholder-rework
...
Artifact related code refactoring part2 (client CArtifactHolder)
2023-05-01 02:33:08 +03:00
nordsoft
203d0a4f91
Merge remote-tracking branch 'upstream/develop' into rewardable-expand
...
# Conflicts:
# lib/JsonRandom.cpp
2023-05-01 02:07:20 +04:00
nordsoft
d2e0d6a754
Fix none-Of operator for skills
2023-05-01 01:35:01 +04:00
nordsoft
c7ade44d07
Fix skills loading from mods
2023-05-01 01:35:01 +04:00
nordsoft
6fc3bb6690
Attempt to fix msvs build 1
2023-05-01 01:15:48 +04:00
nordsoft
e9279cfbc4
Blocking dialogs supported
2023-05-01 00:14:53 +04:00
nordsoft
c4242c16ad
Compiling code
2023-05-01 00:14:53 +04:00
nordsoft
f9767a3179
Initial implementation for rewardable town building
2023-05-01 00:14:53 +04:00
nordsoft
2adcc89a0d
Rewardable town buildings prototype
2023-05-01 00:14:53 +04:00
nordsoft
3df0ce229e
get rid of building id
2023-05-01 00:14:53 +04:00
nordsoft
cc4277748d
Fix movement bonus subtype
2023-05-01 00:14:53 +04:00
nordsoft
67e6920e23
Implement markets
2023-05-01 00:14:53 +04:00
nordsoft
dfb078a4d9
Fix json value reader
2023-05-01 00:14:53 +04:00
nordsoft
30967b2813
Remove excess pointer from market interface
2023-05-01 00:14:53 +04:00
nordsoft
5bdd6c5cf5
Fix compiling
2023-04-30 22:36:25 +04:00
nordsoft
1b4d117790
deeper decoupling
2023-04-30 17:13:07 +04:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
nordsoft
ac8f390cf8
Dividing rewarbadle objects into separate files
2023-04-30 04:39:31 +04:00
nordsoft
67bfacfcf7
Create of rewardable interface
2023-04-30 03:15:59 +04:00
nordsoft
c39a9cac63
Minor changes
2023-04-30 01:43:02 +04:00
nordsoft
e47bb3f1f9
Separate configuration and object
2023-04-30 00:59:02 +04:00
Tomasz Zieliński
d325051213
Some working version, needs corrections still.
2023-04-29 11:46:03 +02:00
Ivan Savenko
d985ac90d3
Merge master -> develop
2023-04-28 22:57:25 +03:00
Ivan Savenko
346b8a4619
Merge pull request #2079 from rilian-la-te/cstack-some-private
...
vcmi: make some CStack properties private
2023-04-28 22:18:20 +03:00
Ivan Savenko
3dde827a9d
Merge pull request #2070 from rilian-la-te/make-tests-compile-pass-h3
...
vcmi: fix test compiling and passing
2023-04-28 22:18:00 +03:00
Ivan Savenko
93362eb692
Merge pull request #2083 from IvanSavenko/artifact_fix
...
Fix list of treasures getting overwritten
2023-04-28 15:41:38 +03:00
nordsoft
f6d91cab35
Fix portrait serialization
...
# Conflicts:
# lib/mapObjects/CGHeroInstance.cpp
2023-04-28 05:34:59 +04:00
nordsoft
421bbab1cc
Split CGTownInstance file
2023-04-28 05:30:49 +04:00
Ivan Savenko
881c434833
Fix list of treasures getting overwriteen leading to weird bugs
...
... such as having Grail in crypts or getting relics as starting
artifact
2023-04-27 23:40:56 +03:00
Konstantin P
54e4db3819
vcmi: fix abandoned mine resource loading
...
It was overshadowed by local variable
2023-04-27 20:59:55 +03:00
Konstantin P
e5f78a8997
vcmi: fix tests with latest develop
2023-04-27 20:59:55 +03:00
Konstantin
c400e83874
vcmi: fixup cast in Heal effect
2023-04-27 20:59:55 +03:00
Konstantin
bcf8ca1268
vcmi: fix map format for teams number
2023-04-27 20:59:55 +03:00
Konstantin P
b472c89276
vcmi: make some CStack properties private
...
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
Ivan Savenko
fb739e7186
Merge beta -> develop
2023-04-26 22:48:08 +03:00
krs
1bb5077231
Renamed getMovementRange to ObtainMovementRange as per request
2023-04-26 21:56:20 +04:00
krs
e348193f7e
Tactics movement is limited to movement range
2023-04-26 21:56:20 +04:00
nordsoft
c899956e71
Fix boat visibility
2023-04-26 02:58:11 +04:00
Tomasz Zieliński
3c9599657b
Use new artifact interface
2023-04-25 16:20:36 +02:00
Tomasz Zieliński
208adf1dd6
Don't use boost::format
2023-04-25 16:14:09 +02:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
...
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Nordsoft91
f39f208e05
Merge pull request #1915 from Nordsoft91/vcmi-campaign
...
VCMI campaigns format
2023-04-23 19:09:59 +04:00
SoundSSGood
1f4897e841
CArtifactSet::getSlotByInstance
2023-04-23 14:48:04 +03:00
Tomasz Zieliński
a9a3c456f1
Add new files
2023-04-23 10:12:53 +02:00
Tomasz Zieliński
bc4d6bb7ee
Remove unused code.
2023-04-23 10:08:30 +02:00
Tomasz Zieliński
80b5c53815
Place quest artifacts after all the treasures are already created.
2023-04-23 10:08:16 +02:00
DjWarmonger
1fde8b588b
Merge pull request #2025 from vcmi/zone_placement2
...
No interest or objections - merging.
2023-04-22 14:45:53 +02:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats
2023-04-22 03:27:00 +04:00
Ivan Savenko
20de44d4a5
Reodered methods in file to group similar code
2023-04-20 22:04:24 +03:00
Ivan Savenko
7db67a3101
int3 now has proper hasher function
2023-04-20 22:04:24 +03:00
Ivan Savenko
f1902ab247
Initial refactoring to encapsulate adventure map
2023-04-20 22:03:28 +03:00
nordsoft
de159df481
Rename boats
2023-04-20 21:20:51 +04:00
nordsoft
de22132cdf
Fix loading
2023-04-20 19:46:27 +04:00
nordsoft
db33558abc
Load custom campaigns from gzip
2023-04-20 19:22:27 +04:00
nordsoft
be6667acf5
Most questionable workaround
2023-04-20 19:21:37 +04:00
Tomasz Zieliński
88c436691d
Simplify logs
2023-04-20 16:26:06 +02:00
Tomasz Zieliński
09b493681b
More iterations, higher gravity constant for better results.
2023-04-20 16:13:30 +02:00
Tomasz Zieliński
55d7d7b9b5
Fix coefficients to make dead code actually be used sometimes.
2023-04-20 12:44:32 +02:00
Tomasz Zieliński
00d7901e59
Add another placement technique - swap two misplaced zones. Don't move same zones in consecutive iterations.
2023-04-20 12:24:57 +02:00
Ivan Savenko
4dc16b9ff7
Adventure map spells are no longer visible on units in battle
2023-04-20 13:16:45 +03:00
nordsoft
9ecf16ca23
Fix minor bugs
2023-04-20 03:20:00 +04:00
Konstantin P
4e18a3d579
CSerializer: fix debug assertion
...
Fix compilation in debug mode
2023-04-20 01:27:15 +04:00
Ivan Savenko
5a5aced67e
Fixed empty Black Market on game start
2023-04-19 23:11:17 +03:00
Ivan Savenko
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
...
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
Ivan Savenko
505a78a638
Merge pull request #2035 from rilian-la-te/native-fix-beta
...
vcmi: fix terrain penalties
2023-04-19 13:39:54 +03:00
Konstantin P
7c4badc890
CSerializer: fix debug assertion
...
Fix compilation in debug mode
2023-04-19 13:00:51 +03:00
Konstantin P
d94ce22e70
vcmi: fix terrain penalties
...
Fixes #2028
2023-04-19 12:41:54 +03:00
Tomasz Zieliński
c34b1cd713
Fix warning-as-errors.
2023-04-19 08:45:23 +02:00
nordsoft
5cf9fbbe02
Fix compiling
2023-04-19 03:11:13 +04:00
nordsoft
f464ca3560
Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
...
# Conflicts:
# lib/mapping/CCampaignHandler.cpp
2023-04-19 02:45:49 +04:00
nordsoft
0a28262c15
Merge remote-tracking branch 'upstream/develop' into boats
...
# Conflicts:
# AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
008db447e7
Minor changes
2023-04-19 02:11:24 +04:00
nordsoft
22da7a931d
Boat as bonus system node
2023-04-19 01:11:51 +04:00
Tomasz Zieliński
d841655c1d
Scale fuzzy edges with map size.
2023-04-18 22:34:26 +02:00
Konstantin
4a79e2ccd9
CSerializer: fix any_cast
2023-04-18 23:29:47 +03:00
nordsoft
d1dacd45e2
Animations from config
2023-04-19 00:14:15 +04:00
Tomasz Zieliński
15592c3aff
Change metric to create more interesting zone shapes.
2023-04-18 22:01:51 +02:00
nordsoft
59a1a19d4a
Summon boat for real boats only
2023-04-18 22:21:26 +04:00
Tomasz Zieliński
39154737a5
Use std::optional instead of boost::optional.
2023-04-18 19:34:54 +02:00
Tomasz Zieliński
6551585f96
Start with low stifness to let zones pass through each other - typical temperature fall.
...
(cherry picked from commit 435b9f7881
)
2023-04-18 19:21:33 +02:00
Tomasz Zieliński
8d5cd6d072
Randomize starting positions a bit so zones don't fall exactly on the grid.
...
(cherry picked from commit 33eb28b570
)
2023-04-18 19:21:28 +02:00
Tomasz Zieliński
fc91152da7
Fixed zones getting actually randomized after construction. Tweaks to algorithm, now it's considerably better.
...
(cherry picked from commit c13019059f
)
2023-04-18 19:21:19 +02:00
Tomasz Zieliński
2d7a819939
Parameters which work well for Jebus - accessible desert and Blue placed away from Red
...
(cherry picked from commit 42c6127c79
)
2023-04-18 19:21:13 +02:00
Tomasz Zieliński
494f4eaa3f
Simple solution that works - by ChatGPT :)
...
(cherry picked from commit 7c6e4bc2fe
)
2023-04-18 19:21:06 +02:00
Tomasz Zieliński
a1f094776f
Use fixed starting positions for now.
...
(cherry picked from commit 43c51805f5
)
2023-04-18 19:20:57 +02:00
Tomasz Zieliński
7d2745fda6
Simplified target function comparison.
...
(cherry picked from commit 809f6344ff
)
2023-04-18 19:20:50 +02:00
Tomasz Zieliński
48c11f661b
Fix zone attraction
...
(cherry picked from commit 164ecaea60
)
2023-04-18 19:20:40 +02:00
Tomasz Zieliński
3f83eaafc4
Fix distance check
...
(cherry picked from commit 319f289dc4
)
2023-04-18 19:20:32 +02:00
Tomasz Zieliński
64adc9983d
- Fixes for corectness
...
- Space apart starting zones of players
(cherry picked from commit 80be12ac68
)
2023-04-18 19:20:23 +02:00
Tomasz Zieliński
09d50a5e9f
First draft that kinda works.
...
(cherry picked from commit 7dd5a9c15d
)
2023-04-18 19:20:12 +02:00
nordsoft
3ff99a1a15
Mechanic for air and land transport
2023-04-18 18:33:28 +04:00
nordsoft
ddcdfb643a
Try to enable air/land movement
2023-04-18 17:36:42 +04:00
nordsoft
d83566bc74
Add constructor for boat
2023-04-18 17:27:39 +04:00
nordsoft
ed798b06da
Prepare transport enum
2023-04-18 13:04:49 +04:00
nordsoft
ecf8b9934b
Further refactoring
2023-04-17 23:19:56 +04:00
Konstantin
a1e8d95028
vcmi: rework CArtHandler
2023-04-17 12:32:47 +03:00
nordsoft
b41481c73b
Fix(?) mingw
2023-04-17 05:22:32 +04:00
nordsoft
80220fda5b
Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
...
# Conflicts:
# lib/mapping/CMap.h
2023-04-17 04:54:57 +04:00
nordsoft
91b4782a2f
Refactor more fields from campaign header
2023-04-17 04:47:54 +04:00
nordsoft
70f4cc5e0f
Refactor campaign regions
2023-04-17 04:26:35 +04:00
Konstantin
54eb550eb9
vcmi: remove unused functions now
2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Konstantin
0d35606a44
vcmi: use std::variant
2023-04-17 00:43:13 +03:00
Konstantin
8dcb041917
vcmi: use std::any
2023-04-17 00:43:13 +03:00
Konstantin
25783066e8
vcmi: use std::any_cast
2023-04-17 00:43:13 +03:00
Ivan Savenko
e3ed728193
Merge pull request #1932 from rilian-la-te/proper-teleport
...
VCMI: teleport redesign
2023-04-16 22:52:01 +03:00
nordsoft
0c87d0a26c
Add a comment
2023-04-16 21:49:43 +04:00
nordsoft
954a2abb71
Verifying mods before starting map
2023-04-16 15:38:13 +04:00
nordsoft
67e1b48d47
Remove unused interface
2023-04-16 14:00:01 +04:00
Ivan Savenko
65e4ce9ffe
Update to c++17
2023-04-15 17:20:38 +03:00
Ivan Savenko
5589e973a8
Fixed parsing of hota 'arena' map format hacks
2023-04-15 17:20:38 +03:00
Ivan Savenko
22558551bf
Fix parsing of invalid data from h3m
2023-04-15 17:20:38 +03:00
Ivan Savenko
2c2c2c8fe0
Slight tweaking of logging of h3m edge cases
2023-04-15 17:20:38 +03:00
Ivan Savenko
f84665b5ec
Fixed loading of maps with objects owned by non-existing players
2023-04-15 17:20:38 +03:00
Ivan Savenko
f997241da1
Throw exception on loading not supported hota duel/arena maps
2023-04-15 17:20:38 +03:00
Ivan Savenko
87647cd02a
Do not propose banned skills in witch huts
2023-04-15 17:20:38 +03:00
Ivan Savenko
d6a3c0e666
Cleaned up handling of hota map format versioning
2023-04-15 17:20:38 +03:00
Ivan Savenko
5b658462a1
Renamed army formation enum value
2023-04-15 17:20:38 +03:00
Ivan Savenko
b1e7774bbd
Fixed parsing of hota format '0'
2023-04-15 17:20:38 +03:00
Ivan Savenko
1b6ece1367
Formatting and renames of H3M readers, no functionality changes
2023-04-15 17:20:38 +03:00
Ivan Savenko
de855085f0
Added information on banks, seer hut and monster properties
2023-04-15 17:20:38 +03:00
Ivan Savenko
ea8aeef8c0
Implemeted parsing of HotA Seer Huts
2023-04-15 17:20:38 +03:00
Ivan Savenko
88096de7e4
Fixed parsing of HotA H3M format, including Seer Huts
2023-04-15 17:20:38 +03:00
Ivan Savenko
46239215af
Implemented parsing of HotA map objects (except for Seer Hut)
2023-04-15 17:20:38 +03:00
Ivan Savenko
3790661fa6
Refactored loadObject() monstrocity into set of smaller methods.
2023-04-15 17:20:38 +03:00
Ivan Savenko
c0e9eb6eb1
HotA maps up to objects block can be parsed
2023-04-15 17:20:38 +03:00
Ivan Savenko
838d45b32c
Implemented parsing of HotA h3m header
2023-04-15 17:20:38 +03:00
Ivan Savenko
f93335d678
Cleanup and formatting of H3M loader code
2023-04-15 17:20:38 +03:00
Ivan Savenko
3738171b21
Refactoring of H3M loader to make HotA format support easier
...
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
SoundSSGood
9a838598a6
arts refactoring part1
2023-04-15 00:10:39 +03:00
Ivan Savenko
b354f99cc3
Merge pull request #1936 from IvanSavenko/cpp_17_upgrade
...
Upgrade c++ standard to c++17
2023-04-14 19:21:17 +03:00
Ivan Savenko
128764b1c9
Merge pull request #1968 from rilian-la-te/fix-caster-tactics
...
Fix caster tactics
2023-04-14 18:59:03 +03:00
Ivan Savenko
44b83b2e11
Merge master -> develop
2023-04-14 16:51:35 +03:00
Ivan Savenko
5dd1d5bf3f
Merge pull request #1973 from IvanSavenko/beta_fixes
...
Fixes for 1.2 release
2023-04-14 11:41:22 +03:00
Ivan Savenko
e97c2bd838
Merge pull request #1970 from IvanSavenko/add_rmg_templates
...
Moved RMG templates from vcmi-extras to vcmi mod
2023-04-14 11:40:27 +03:00
Ivan Savenko
9d31830c74
Fix check for Demon Summon targets
2023-04-13 21:17:35 +03:00
Ivan Savenko
1fab2e2e34
Do not allow rising of corpses below alive stack
2023-04-13 19:08:08 +03:00
Ivan Savenko
35ac4d88ac
Fix Seer Hut right-click text
2023-04-13 19:06:44 +03:00
Ivan Savenko
9d901efb0c
Change default difficulty to "Normal"
2023-04-13 19:06:17 +03:00
Ivan Savenko
2dc48496ef
Fix generation of roads and rivers near map edge
2023-04-13 16:26:03 +03:00
Konstantin P
f11fa8f0c8
Teleport: can trigger obstacles now
2023-04-13 11:24:19 +03:00
Konstantin P
384ee99834
vcmi: configurable teleport v2
...
1. Redesign wall and teleport penalty using shortest path
This will avoid OH3 exploits with teleport inside walls
2. Teleport is now configurable
2023-04-13 11:24:19 +03:00
Konstantin
bc1aad3b26
vcmi: remove deprecated CStack::getCreature()
...
Function battle::Unit::unitType() does the same.
2023-04-13 11:24:19 +03:00
Konstantin
03eb997137
CBattleInfoEssentials: add battleIsGatePassable()
...
This is a helper to check if gate is passable now or not.
2023-04-13 11:24:19 +03:00
nordsoft
5419de3468
Fix getCasterUnitId
2023-04-13 02:18:12 +04:00
Konstantin
cb83a9371d
vcmi: 1.2 compatibility to FACTION_LIMITER
2023-04-12 23:14:38 +03:00
Tomasz Zieliński
74d028d951
Use product instead of distance sum for Subterranean Gate placement.
2023-04-12 09:31:09 +02:00
Tomasz Zieliński
e6eafca2d0
Place Mines after Monoliths.
2023-04-12 07:48:44 +02:00
nordsoft
d244702abc
Read and write mods into map
2023-04-12 02:59:55 +04:00
nordsoft
617a4385a2
Add mods fields into map header
2023-04-12 02:14:22 +04:00
Ivan Savenko
644f0f4b32
Removed ARRAY_COUNT in favor of std::size
2023-04-12 01:04:26 +03:00
Ivan Savenko
506c3d29bc
Replaced vstd clamp with std version
2023-04-12 01:03:14 +03:00
Ivan Savenko
63b197b78a
Converted attributes to use c++17 functionality
2023-04-12 01:03:14 +03:00
nordsoft
30281d5991
Merge remote-tracking branch 'upstream/develop' into vcmi-campaign
2023-04-11 21:44:31 +04:00
Ivan Savenko
662db90cc1
Merge pull request #1941 from rilian-la-te/reduce-boost-little
...
vcmi: reduce boost a little bit
2023-04-11 20:24:16 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
...
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Konstantin
9db2e2068e
vcmi: fixup crash
2023-04-11 21:17:31 +04:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
Konstantin
ea3bdda047
vcmi: reduce boost a little bit
2023-04-11 17:11:14 +03:00
nordsoft
8e77b833d9
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 15:54:08 +04:00
DjWarmonger
d9a2621231
Merge pull request #1939 from vcmi/fix_top_of_map_objects
...
Merging after positive review.
2023-04-11 10:40:18 +02:00
Ivan Savenko
7d92ef5f86
Merge pull request #1909 from vcmi/avoid-freeze-on-siege-selfblocking
...
BattleAI: avoid selfblocking on siege
2023-04-11 11:11:05 +03:00
Ivan Savenko
7fcd750d0f
Merge pull request #1904 from vcmi/fix_pandora_amounts
...
Fix pandora amounts
2023-04-11 11:10:05 +03:00
Ivan Savenko
ff66592fad
Merge pull request #1882 from rilian-la-te/native-terrain-refactor
...
Native terrain refactor
2023-04-11 02:14:37 +03:00
nordsoft
bfc75ccd39
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 02:22:42 +04:00
Nordsoft91
ebd17c9e4a
Merge pull request #1928 from Nordsoft91/cast-reward
...
Spell cast reward
2023-04-10 22:49:36 +04:00
DjWarmonger
4bd3cc1679
Update lib/mapObjects/ObjectTemplate.h
...
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-04-10 20:45:41 +02:00
Tomasz Zieliński
3c87b3934d
Do not place object visible tiles over the top of the map.
2023-04-10 19:26:53 +02:00
nordsoft
9371f013e9
Rename outer caster
2023-04-10 20:56:50 +04:00
Konstantin
4da97682be
vcmi: remove code duplication for native terrain
2023-04-10 19:28:17 +03:00
Konstantin
7b9e281f7d
vcmi: bump serialization version
2023-04-10 19:28:16 +03:00
Konstantin
fedf7d377c
vcmi: remove TFaction
...
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Konstantin
452cebfdfd
CPropagatorNodeType: replace default constructor
...
Parameter constructor did the same
2023-04-10 19:28:16 +03:00
Konstantin
09cbec7c75
HeroBonus: remove StackOwnerLimiter
...
It seems not to be used anywhere
2023-04-10 19:28:16 +03:00
Konstantin
dd196f2aa8
vcmi: slightly rework limiters
...
1. Add vector to aggregates
2. Rework CreatureFactionLimiter to FactionLimiter
2023-04-10 19:28:16 +03:00
Konstantin
7326980bd4
vcmi: rename WithXXX to IXXXProvider
2023-04-10 19:28:16 +03:00
Konstantin
bb1a5d9521
vcmi: remove configurable limiters from map
...
This limiters should be always initialized with parameters.
Add CREATURES_ONLY limiter to limit bonuses only to creatures
(no heroes).
2023-04-10 19:28:16 +03:00
Konstantin
f8eba58003
vcmi: remove ALL_CREATURES propagator
...
Now unneded, because it handled by GLOBAL_EFFECT with
CREATURE_LEVEL_LIMITER (when range set to UINT_MIN and UINT_MAX).
2023-04-10 19:28:16 +03:00
Konstantin
9f8dcfc736
CCreatureHandler: load old stack exp as global effects
...
It is more robust and more logical.
2023-04-10 19:28:16 +03:00
Konstantin
0f5f4c69ec
vcmi: specialize native terrain entity
...
Specialize native terrain entity for all object that have
native terrain. Allow creatures to take global bonuses into
account when checking for native terrain.
2023-04-10 19:28:16 +03:00
Konstantin
6d9859932b
vcmi: add native terrain entity
...
Add interface which should be used on any object with native terrain
So far, it is faction, hero, creature and battle stack
2023-04-10 19:28:16 +03:00
Konstantin
1760d2295c
HeroBonus: add CreatureLevelLimiter
2023-04-10 19:28:16 +03:00
Konstantin
01f5571342
CGHeroInstance: remove old struct
...
Saves where struct is used is incompatible anyway
2023-04-10 19:28:16 +03:00
Ivan Savenko
2d332f5ce8
Merge pull request #1916 from rilian-la-te/constexpr-id
...
vcmi: constexpr IDs
2023-04-10 18:28:45 +03:00
Ivan Savenko
42b2be4bbb
Merge pull request #1908 from SoundSSGood/art-client-server-fixes
...
Artifact related fixes
2023-04-10 18:26:49 +03:00
nordsoft
b9cabef179
Fixes issues related to spell mechanics
2023-04-10 17:08:24 +04:00
Konstantin
4f3c826196
vcmi: manaLimit should be spellcaster property
2023-04-10 15:35:21 +03:00
nordsoft
f550457d23
Added stdinc
2023-04-10 12:17:43 +04:00
nordsoft
1a63f44dab
Minor change
2023-04-10 05:53:20 +04:00
nordsoft
464ad63749
Implement behavior
2023-04-10 05:46:45 +04:00
nordsoft
c0b90432cb
Change callback interface
2023-04-10 05:40:03 +04:00
nordsoft
56b0e900d8
Add outer caster class
2023-04-10 05:39:25 +04:00
nordsoft
7041950ae1
Don't show empty window
2023-04-10 05:06:05 +04:00
nordsoft
e440343921
Bypass initial version of spell callback
2023-04-10 04:34:24 +04:00
nordsoft
fc310c6e79
Town portal fix
2023-04-10 01:46:37 +04:00
nordsoft
601e7e854f
Dimensions door fix
2023-04-10 01:37:46 +04:00
nordsoft
0093a44889
Added abstract method to caster interface
2023-04-10 01:31:41 +04:00
nordsoft
72b2a09f0b
Boat summon spell rewritten
2023-04-10 01:06:02 +04:00
nordsoft
69ad62ef58
Fixes from code review
2023-04-09 23:00:20 +04:00
nordsoft
a8f31fabd1
Fix bug
2023-04-09 23:00:20 +04:00
nordsoft
67c0d29478
Fix header
2023-04-09 23:00:20 +04:00
nordsoft
e7c6f596ee
Little code improvement
2023-04-09 23:00:20 +04:00
nordsoft
ab7d316c3f
Rename fields
2023-04-09 23:00:20 +04:00
nordsoft
b40a3a1b14
Banned arts and skills cannot be randomly rewarded
2023-04-09 23:00:20 +04:00
nordsoft
26c3277895
New format for skills selection
2023-04-09 23:00:20 +04:00
nordsoft
b7ccc4d649
Revert "Random selection for secondary skills"
...
This reverts commit 6e538dab30
.
2023-04-09 23:00:20 +04:00
nordsoft
6c5f3f21a5
Extend loadKey function
2023-04-09 23:00:20 +04:00
nordsoft
fe21acb0d0
Revert "Random selection for resources"
...
This reverts commit 0e4ff3e2bf
.
2023-04-09 23:00:20 +04:00
nordsoft
dce5a924b0
Random selection for secondary skills
2023-04-09 23:00:20 +04:00
nordsoft
53e16c7e22
Random selection for primary skills
2023-04-09 23:00:20 +04:00
nordsoft
bb915b0e7e
Random selection for resources
2023-04-09 23:00:20 +04:00
Ivan Savenko
bfd77d871c
Merge pull request #1918 from IvanSavenko/fix_map_loading
...
Fix vcmi map loading
2023-04-09 20:08:23 +03:00
Ivan Savenko
6e90c0fd09
Merge pull request #1913 from IvanSavenko/fix_shooting_yourself_in_the_foot
...
Fix initialization of spell effects registry
2023-04-09 20:07:29 +03:00
Konstantin
235fddaf4b
vcmi: constexpr IDs
2023-04-09 19:54:41 +03:00
Andrii Danylchenko
737c34b8c6
BattleAI: avoid selfblocking on siege
2023-04-09 16:22:37 +03:00
nordsoft
3166fd05f4
Handle array exceed limit potential crash
2023-04-09 14:43:51 +04:00
nordsoft
23e411cacd
Adding logging and error handling
2023-04-09 13:29:07 +04:00
Ivan Savenko
a6ce99573c
Added fallback identifiers for reading older vcmi maps
2023-04-09 12:27:33 +03:00
nordsoft
7c13246851
Keep creatures and arts
2023-04-09 05:02:34 +04:00
nordsoft
08809f1cdc
String building id
2023-04-09 04:53:06 +04:00
nordsoft
6ed8f748b3
Use string ids for most of bonuses
2023-04-09 04:26:04 +04:00
nordsoft
307fb071a2
VCMI campaign format support prototype
2023-04-09 03:24:40 +04:00
Ivan Savenko
ae5d273df9
Merge pull request #1905 from IvanSavenko/fix_rewardables
...
Fixed UI of objects that provide one reward that can be refused
2023-04-08 22:15:22 +03:00
Adriankhl
1d6192ca62
Shut down the thread for tactic phase properly
2023-04-08 22:52:46 +04:00
Ivan Savenko
a97ebc2bf1
Merge pull request #1874 from krs0/feature/separate_movement_highlight_for_hoverd_units_in_battle
...
Separate movement highlight for hovered units in battle
2023-04-08 21:47:49 +03:00
Ivan Savenko
f211207f83
Merge pull request #1893 from trofi/fix-build-without-pch
...
Add missing include headers when building with -DENABLE_PCH=OFF
2023-04-08 21:45:47 +03:00
Ivan Savenko
84af64ce6b
Removed magical initialization of registry via static variables
2023-04-08 21:29:04 +03:00
krs
dab07bdef9
Now unit range is shown in Tactics phase as well
...
A new parameter: isActiveStack was needed in battleGetAvailableHexes, so that we show the propper Tactics range.
2023-04-08 20:39:59 +03:00
SoundSSGood
e58be8e7f7
vcmiartifacts fixed
2023-04-08 12:28:53 +03:00
SoundSSGood
ea7dd14d8b
client is able to erase artifact
2023-04-08 00:41:55 +03:00
Ivan Savenko
50da080130
Fixed UI of objects that provide one reward that can be refused
2023-04-08 00:13:38 +03:00
Tomasz Zieliński
cf1f9c456b
Removed unrelated comment
2023-04-07 21:40:47 +02:00
Tomasz Zieliński
37f1bf9d78
Merge remote-tracking branch 'origin/beta' into fix_pandora_amounts
2023-04-07 21:26:36 +02:00
Tomasz Zieliński
f1c52f501d
Fix Pandora Box creature amounts to match OH3 exactly.
2023-04-07 21:23:34 +02:00
Ivan Savenko
1590c710dd
Merge pull request #1886 from rilian-la-te/fix-rmg-levels
...
vcmi: fix rmg header levels
2023-04-07 12:43:34 +03:00
Ivan Savenko
e306e8f9ce
Merge pull request #1879 from kambala-decapitator/single-process-development-mode
...
fix "development mode" condition when building in single process mode
2023-04-07 12:42:03 +03:00
Ivan Savenko
d8faacc9f2
Merge pull request #1875 from IvanSavenko/ttf_fonts_fallback
...
TTF fonts fallback
2023-04-07 12:41:00 +03:00
Sergei Trofimovich
2885536bf5
Add missing include headers when building with -DENABLE_PCH=OFF
...
Example build failure is missing `VCMI_LIB_NAMESPACE_BEGIN` declaration:
[ 0%] Building CXX object lib/CMakeFiles/vcmi.dir/spells/ObstacleCasterProxy.cpp.o
In file included from lib/spells/ProxyCaster.h:13,
from lib/spells/ObstacleCasterProxy.h:11,
from lib/spells/ObstacleCasterProxy.cpp:11:
lib/../include/vcmi/spells/Caster.h:13:1: error: 'VCMI_LIB_NAMESPACE_BEGIN' does not name a type
13 | VCMI_LIB_NAMESPACE_BEGIN
| ^~~~~~~~~~~~~~~~~~~~~~~~
2023-04-07 10:25:11 +01:00
nordsoft
e85593dbb3
Save & restore mana
2023-04-06 21:19:46 +04:00
nordsoft
ece8a2a41f
Merge branch 'battle-dialog' into battle-dialog2
...
# Conflicts:
# AI/BattleAI/BattleAI.h
# AI/StupidAI/StupidAI.h
# client/CPlayerInterface.cpp
# client/CPlayerInterface.h
# client/Client.cpp
# client/NetPacksClient.cpp
# client/battle/CBattleInterface.cpp
# client/battle/CBattleInterface.h
# client/battle/CBattleInterfaceClasses.cpp
# client/battle/CBattleInterfaceClasses.h
# config/schemas/settings.json
# lib/CGameInterface.h
# lib/IGameEventsReceiver.h
# lib/NetPacks.h
# lib/NetPacksLib.cpp
# lib/battle/BattleInfo.cpp
# server/CGameHandler.cpp
# server/CQuery.h
2023-04-06 19:53:52 +04:00
nordsoft
ce3028bd73
Intermediate commit
2023-04-06 19:34:07 +04:00
Konstantin
a04d8b34f3
vcmi: fix rmg header levels
...
It was printed as char, not as int.
2023-04-06 12:48:53 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Andrey Filipenkov
1da06e04cc
fix "development mode" condition when building in single process mode
2023-04-05 20:22:29 +03:00
Konstantin
ee489f18d2
vcmi: PlayerState is now an Entity
...
This will reduce code duplication a little bit.
2023-04-05 01:22:04 +03:00
Konstantin
8968f0ef0e
vcmi: change EAlignment to enum class
2023-04-05 01:22:04 +03:00
Konstantin
0c7dbea990
HeroBonus: remove unused function
2023-04-04 23:02:55 +03:00
Konstantin
b7d6270272
vcmi: add getNativeTerrain method to factions
2023-04-04 23:02:55 +03:00
Konstantin
e0715a76c8
vcmi: reduce CStack usage a little bit
2023-04-04 23:02:54 +03:00
Konstantin
22dd97ad18
vcmi: use entilites when possible part 1
2023-04-04 23:02:54 +03:00
Ivan Savenko
c5225aab70
Fix serialization
2023-04-04 22:22:58 +03:00
Ivan Savenko
fc750d0917
Fix identifiers resolving for stack experience bonuses
2023-04-04 17:12:40 +03:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Ivan Savenko
6b2b8bb5c0
Merge pull request #1863 from IvanSavenko/fix_mod_identifiers
...
Fix mod identifiers
2023-04-04 11:22:30 +03:00
DjWarmonger
53df84459f
Merge pull request #1781 from vcmi/object_distribution
...
Improved object distribution
2023-04-04 06:52:10 +02:00
Tomasz Zieliński
1e18887c9c
Merge remote-tracking branch 'origin/beta' into object_distribution
2023-04-04 05:52:57 +02:00
Ivan Savenko
255bb145b9
Added fallback for 1.2 compatibility
2023-04-03 16:26:43 +03:00
Ivan Savenko
766fb066c6
Fix debug build
2023-04-03 15:15:51 +03:00
Ivan Savenko
c5acb8bb7d
Fixed empty scope on resolving map overrides
2023-04-03 15:15:29 +03:00
Ivan Savenko
191959ae05
Fixed moat identifiers requests - will now always request spells
2023-04-03 15:15:12 +03:00
Ivan Savenko
2d0344f905
VCMI will now correctly resolve identifiers in unexpected form
2023-04-03 15:14:34 +03:00
Ivan Savenko
6683c866ee
Disabled check for unused lines in translations due to false positives
2023-04-03 01:12:48 +03:00
Ivan Savenko
10e852fcb9
Fix scope of identifiers resolving for commanders abilities
2023-04-03 01:12:04 +03:00
Konstantin
f41b2475fe
vcmi: fix stack smash
2023-04-02 23:27:15 +03:00
Ivan Savenko
c661419897
Merge pull request #1700 from rilian-la-te/resource-array
...
Modernize resourceSet.
2023-04-02 20:12:45 +03:00
Ivan Savenko
6dac15c5b2
Merge pull request #1706 from rilian-la-te/moats-landmines
...
Proper moats: mechanincs
2023-04-02 20:12:33 +03:00