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
Ivan Savenko
c5ca17a324
Merge pull request #1853 from Nordsoft91/fix-scope-guard
...
Fix ScopeGuard move behavior
2023-04-02 20:10:26 +03:00
Ivan Savenko
1cb0c6b270
Merge pull request #1848 from Nordsoft91/editor-fix
...
Fix map editor crash with cutting random town
2023-04-02 20:09:24 +03:00
Ivan Savenko
a3074e2741
Merge pull request #1835 from rilian-la-te/fix-native-type
...
CCreatureHandler: fix native terrain for any
2023-04-02 20:08:18 +03:00
nordsoft
91ef7cbb4f
Fix ScopeGuard move behavior
2023-04-02 15:46:56 +04:00
nordsoft
d63e32841d
Fix divide by zero crash
2023-04-02 15:28:41 +04:00
nordsoft
1e5362cb07
Fix crash with cutting random town
2023-04-02 14:06:16 +04:00
Konstantin
cabe228ebc
CCreatureHandler: fix native terrain for any
2023-04-02 02:32:40 +03:00
Konstantin
ff3e761f3b
CTownHandler: remove hardcoded Cove grail
...
We have now exactly same definition in Json
2023-04-02 00:27:29 +03:00
Ivan Savenko
4d6b88f10d
Merge pull request #1821 from rilian-la-te/remove-cove-hardcode
...
CTownHandler: remove hardcoded Cove grail
2023-04-02 00:20:49 +03:00
Ivan Savenko
042e46580b
Fix uninitialized variable
2023-04-01 23:59:31 +03:00
Tomasz Zieliński
aca227b5e4
Manually adjust the position of town - noticeable on S maps.
2023-04-01 17:07:43 +02:00
Konstantin
3df5964847
CTownHandler: remove hardcoded Cove grail
...
We have now exactly same definition in Json
2023-04-01 03:14:35 +03:00
Ivan Savenko
a64f35c933
Merge pull request #1765 from vcmi/fix_horde_buildings_load
...
Fix loading horde buildings predefined in editor
2023-03-31 17:59:26 +03:00
Tomasz Zieliński
308b42549b
Merge remote-tracking branch 'origin/beta' into object_distribution
2023-03-31 15:44:14 +02:00
Konstantin
6d17b9342d
ResourceSet: resolve .at troubles
2023-03-31 14:12:38 +03:00
Konstantin
c1fd7309ad
ResourceSet: composition
2023-03-31 14:00:49 +03:00
Ivan Savenko
ea1d177c9b
Fixed false error messages on game startup
2023-03-31 01:28:56 +03:00
Konstantin
d8a237ba46
vcmi: add getTrigger method to obstacles
...
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00
Konstantin
25956e3f37
vcmi: bump serializer version
2023-03-31 01:01:25 +03:00
Konstantin
ecae600563
effects: Moat now includes battlefield bonus
...
This is an implementation which works exactly like in H3
2023-03-31 01:01:25 +03:00
Konstantin
f704a17e1a
vcmi: add a last hex setting
...
I consider this behaviour as H3 bug, but this is H3.
So, added a setting to disable this behaviour.
2023-03-31 01:01:25 +03:00
Konstantin
179cee3e88
vcmi: add obstacle animation helper functions
2023-03-31 01:01:25 +03:00
Konstantin
eff41f66ed
vcmi: now obstacles can have disappearing anim
...
It is a reverse version of appearingAnimation.
2023-03-31 01:01:25 +03:00
Konstantin
c4d5a7a2d6
vcmi:towns now can choose if moat render is needed
...
Using invalid points. Also removed unused variable.
2023-03-31 01:01:25 +03:00
Konstantin
3bbff0588d
CSpell: !isMagical() -> no sorcery and no generic spell dmg reduction
...
Other bonus are still applied.
2023-03-31 01:01:25 +03:00
Konstantin
a639bd2606
spells: rework isMagical()
...
Now it is a flag of a spell, and not a target condition.
This fixes resistance to bind effect
2023-03-31 01:01:25 +03:00
Konstantin
aab5b47038
vcmi: setup moats using MoatAbility
...
Setup moats using moat ability, need playtest for now.
-3 to defence not added for now.
2023-03-31 01:01:25 +03:00
Konstantin
1100bc7a5b
obstacle: remove trigger animation and sound
...
It was not working anyway. Now it is handled by trigger ability.
Trigger ability hit animation + trigger ability cast sound.
2023-03-31 01:01:25 +03:00
Ivan Savenko
508d68f77c
Rewardables will use per-object name, if available
2023-03-30 22:29:58 +03:00
Ivan Savenko
e652b3eef0
Removed old code - VCMI now supports json-based animations everywhere
2023-03-30 19:59:19 +03:00
Konstantin
cd1730b1fb
vcmi: remove obstacle caster logic
...
It is possible now to cast something via obstacle
Immune creatures should not trigger an obstacle trigger now
and should not reveal it.
2023-03-30 14:41:40 +03:00
Konstantin
db428faeeb
vcmi: allow obstacles to store another spells
...
It will be used as trigger spell, if set
If not set, it will be ignored
2023-03-30 14:41:40 +03:00
Konstantin
57c35f39ca
WIP: Moat placer
2023-03-30 14:41:40 +03:00
Konstantin
d90d00eeac
vcmi: rework ProxyCaster
...
Now ProxyCaster can be used without hero and can even cast something
with default values.
2023-03-30 14:41:40 +03:00
Konstantin
847437bbfa
BattleInfo: update bonus tree when unit is moved
...
This is a semi-dirty hack to force uncaching a bonuses with
UnitOnHexLimiter
2023-03-30 12:51:59 +03:00
Konstantin
4c08e6a0f9
vcmi: add UnitOnHex limiter
...
Bonus will be accepted, if unit stands in listed hexes
2023-03-30 12:51:59 +03:00
Konstantin
ffe24627e7
HeroBonus: change limiters to enum class
...
Also remove unused functions.
2023-03-30 12:42:24 +03:00
Konstantin
777818b388
HeroBonus: use 64 bit for tree counter (to be more robust)
2023-03-30 12:41:17 +03:00
Konstantin
0e69aac96f
HeroBonus: removed unused functions
2023-03-30 12:41:17 +03:00
Konstantin
89fd742c1a
NetPacks: add BATTLE type to GiveBonus
...
Will work as battlefield effect of current battle.
2023-03-30 12:41:17 +03:00
Konstantin
5716925b47
NetPacks: change GiveBonus enum to enum class.
2023-03-30 12:41:17 +03:00
Tomasz Zieliński
46a24043e8
Add back Mines.
2023-03-29 17:06:17 +02:00
Tomasz Zieliński
401f2342c0
Place Mines after Towns and Monoliths.
2023-03-29 16:54:22 +02:00
Tomasz Zieliński
5ed3c2d518
Place towns and monoliths first - preferably at the zone border.
2023-03-29 16:25:13 +02:00
Tomasz Zieliński
045942fd68
Fixed warning-as-error
2023-03-28 18:25:56 +02:00
Tomasz Zieliński
b184e80b72
Use the most suitable template for object
2023-03-28 17:53:08 +02:00
Tomasz Zieliński
49c029ea6c
Minor refactor
2023-03-28 17:13:24 +02:00
Ivan Savenko
8d0d5341db
Refactoring of hero specialty loading code:
...
- removed no longer used code
- follow creature upgrade chains (e.g. third upgrades)
2023-03-28 17:09:54 +03:00
Ivan Savenko
39ff7efb78
Fix crash on starting Launcher without H3 data
2023-03-27 22:33:36 +03:00
Ivan Savenko
b2f5042942
Merge pull request #1783 from vcmi/beta
...
Merge beta -> develop
2023-03-27 21:21:25 +03:00
Ivan Savenko
a4fe11d413
Merge pull request #1766 from vcmi/fix_editor_shortcut
...
Fix editor shortcut
2023-03-27 21:20:14 +03:00
Ivan Savenko
11088100a0
Merge pull request #1782 from korli/haiku
...
Haiku patch
2023-03-27 18:42:22 +03:00
Tomasz Zieliński
b3a457c71a
Skip objects with value too low to be placed in the zone.
2023-03-27 17:29:46 +02:00
Ivan Savenko
b875da108b
Merge pull request #1717 from SoundSSGood/backpack-limit-size
...
Introducing backpack size limit functionality
2023-03-27 17:17:49 +03:00
Ivan Savenko
e3b5db0ade
Merge pull request #1778 from rilian-la-te/fix-obstacle-removal-mechanincs
...
Fix landmines staying on battlefield after trigger
2023-03-27 17:17:14 +03:00
Konstantin
9a229d6e48
vcmi: really correct obstacle trigger
...
Now obstacle trigger really matches H3
2023-03-27 16:11:17 +03:00
Konstantin
8c1d6c8e13
CBattleInfoCallback: use obstacle only once
...
We should not affect creature by obstacle twice.
2023-03-27 15:45:41 +03:00
Konstantin
88a7b3141d
vcmi: really correct BFS
...
AFAIK, all is working as H3.
2023-03-27 15:45:41 +03:00
Jerome Duval
518f8d69e5
Haiku patch
2023-03-27 10:10:09 +02:00
Tomasz Zieliński
511a42f9b9
Oops missed that part.
2023-03-27 09:35:52 +02:00
Tomasz Zieliński
18a87d1ec0
Distribute limited objects evenly in zones with matching terrain
2023-03-27 09:09:58 +02:00
Tomasz Zieliński
a88e1dc1f6
Add only one template per object
2023-03-27 08:44:49 +02:00
Konstantin
5b50191af7
NetPacksLib: remove obstacle ACTIVATE* actions
...
Actually these actions was not working anyway.
2023-03-26 22:59:34 +03:00
Konstantin
26db14b7b4
vcmi: expert dispel now works mechanically correct
2023-03-26 21:25:26 +03:00
Konstantin
edc9812559
obstacle: correct logic as in OH3
...
Obstacle spells should not be cast if they are affected by native
terrain and enemy have at least one stack with native terrain
2023-03-26 21:22:38 +03:00
Konstantin
705afbb898
UnitEffect: it should not always assume smart
...
It is normal than non-smart spell will be cast on our units.
2023-03-26 21:19:49 +03:00
Konstantin
44a625aa6b
vcmi: check spell obstacles by type
2023-03-26 21:17:39 +03:00
Andrii Danylchenko
a0de223901
Merge pull request #1772 from vcmi/fix_invalid_native_terrain
...
Fix the case of invalid native town type
2023-03-26 13:19:01 +03:00
Ivan Savenko
9287d1b837
Merge pull request #1776 from vcmi/beta
...
Merge beta -> develop
2023-03-26 01:48:23 +02:00
Ivan Savenko
7477e4a8cc
Handle mods with "keepDisabled" propertly on client
2023-03-25 23:54:51 +02:00
Ivan Savenko
4eed0b2c9e
Added workaround for Dungeon towers
2023-03-25 23:54:51 +02:00
Ivan Savenko
8fbeff2a02
Fix movement over lowered drawbridge in Fortress
2023-03-25 23:54:51 +02:00
Ivan Savenko
5288e3761e
Merge pull request #1764 from IvanSavenko/selectable_spellcaster
...
Implemented support for multi-spell casters
2023-03-25 20:08:47 +02:00
Ivan Savenko
6f631a0aa7
Merge pull request #1759 from IvanSavenko/kills_in_tooltip
...
Show potential kill amount in attack tooltip
2023-03-25 20:03:27 +02:00
Tomasz Zieliński
00a77e3c5f
Probably found the root cause of terrain problems.
2023-03-25 18:52:18 +01:00
DjWarmonger
2c4cde060a
Merge pull request #1694 from vcmi/extra_rmg_monoliths
...
This could be controversial solution, but since there were no objections, I'll give it a shot.
2023-03-25 18:38:06 +01:00
DjWarmonger
114e7d196b
Merge pull request #1698 from vcmi/object_placement_tweaks
...
No objections, works fine for me as well.
2023-03-25 18:13:15 +01:00
Tomasz Zieliński
68a2bb78a5
Fix the case of invalid native town type :?
2023-03-25 18:08:46 +01:00
Tomasz Zieliński
9d7d4b6a5f
Fixed editor shortcut on Windows
2023-03-25 11:40:44 +01:00
Tomasz Zieliński
392061e97e
Fix loading towns which in OH3 editor have defined horde buildings level 1 - 5 (inluding random town).
2023-03-25 11:17:49 +01:00
Ivan Savenko
9a19feaf4a
Fix spellcasters with massive spells
2023-03-25 01:23:49 +02:00
Ivan Savenko
dc099b2a35
Implemented support for multi-spell casters
2023-03-25 00:48:14 +02:00
Ivan Savenko
970981cfc9
Show information on potential kills in attack tooltip
2023-03-24 17:18:47 +02:00
Ivan Savenko
31147ac83b
refactoring: TDmgRange pair -> DamageRange struct
2023-03-23 17:49:33 +02:00
Konstantin
e40b9c849d
vcmi: no open-code NO_APPROPRIATE_TARGET
2023-03-22 12:04:28 +03:00
SoundSSGood
19096f39f0
Backpack limit. Amount of fixes.
2023-03-21 22:11:42 +02:00
Konstantin
0ffc440b53
vcmi: fix target condition regression
2023-03-21 19:19:34 +03:00
Ivan Savenko
44dc89bdcf
Merge pull request #1736 from rilian-la-te/fix-target-conditions
...
vcmi: fix target condition regression
2023-03-21 17:35:20 +02:00
Konstantin
60b510617c
vcmi: fix target condition regression
2023-03-21 17:56:15 +03:00
Ivan Savenko
575fb29a22
Merge pull request #1534 from kambala-decapitator/pathfinder-fly
...
fix movement cost with Fly
2023-03-21 14:32:56 +02:00
SoundSSGood
f0f9eecf97
Backpack limit part5. End of battle. Other stuff
2023-03-21 12:14:33 +02:00
SoundSSGood
9f8aa25297
Backpack limit part4 (Using cheats, buying)
2023-03-21 12:14:33 +02:00
SoundSSGood
ca5c9910a4
Backpack limit part3 finishQuest
2023-03-21 12:14:33 +02:00
SoundSSGood
e23766280f
Backpack limit part2 (Pick up, Dig up, Object rewards)
2023-03-21 12:14:33 +02:00
SoundSSGood
96e8a1f21c
Backpack limit part1 (move, disassemble)
2023-03-21 12:14:33 +02:00
SoundSSGood
37edffd788
GameConstants upd
2023-03-21 12:14:33 +02:00
SoundSSGood
72122fb433
CArtifact, CArtifactInstance, CCombinedArtifactInstance reorganization
2023-03-21 12:14:33 +02:00
Ivan Savenko
6ee4fd24f7
Merge pull request #1731 from rilian-la-te/fix-unicorns
...
CStack: make unicorns ability multiplicative
2023-03-20 23:34:05 +02:00
Konstantin
8c10f48fbd
CStack: make unicorns ability multiplicative
2023-03-20 23:29:33 +03:00
Ivan Savenko
9289646dab
Merge pull request #1722 from rilian-la-te/fix-first-aid
...
vcmi: fix first aid regression
2023-03-20 21:49:53 +02:00
Andrey Filipenkov
147633bd9d
compute movement cost using PathNodeInfo layer info when possible
2023-03-20 11:35:20 +03:00
Andrey Filipenkov
a0cd69e944
Slight refactoring of CGHeroInstance::movementPointsAfterEmbark()
2023-03-20 11:35:20 +03:00
Andrey Filipenkov
3602645a30
improve iterating over EPathfindingLayer
2023-03-20 11:35:19 +03:00
Andrey Filipenkov
c0c19557af
fix method documentation
2023-03-20 11:35:19 +03:00
Andrey Filipenkov
8f843d0bff
fix typos
2023-03-20 11:35:19 +03:00
Andrey Filipenkov
68f5c1de79
improve variable names in CPathfinderHelper::getNeighbours()
2023-03-20 11:35:19 +03:00
Andrey Filipenkov
bfb0dc26d5
fix movement cost on roads
2023-03-20 11:35:19 +03:00
Andrey Filipenkov
0c7b5ac793
fix movement cost on Favorable Winds
2023-03-20 11:35:19 +03:00
Andrey Filipenkov
3fbdc3b198
improve code that checks last possible tile
2023-03-20 11:35:18 +03:00
Andrii Danylchenko
23fa7c4a9b
Merge pull request #1720 from vcmi/fix_small_lakes_clean
...
Don't place shipyard or boats at very small lakes
2023-03-19 19:52:22 +02:00
Andrii Danylchenko
aede3da74e
Merge pull request #1721 from vcmi/fix_rmg_infinite_loop
...
Fix rmg infinite loop
2023-03-19 19:46:28 +02:00
Konstantin
895572df02
vcmi: fix first aid regression
2023-03-19 19:20:08 +03:00
DjWarmonger
15047a4469
Merge pull request #1718 from vcmi/fix_shipyard_border
...
Fix shipyard border calculation for RMG
2023-03-19 16:05:24 +01:00
Tomasz Zieliński
9e206dbbc7
Forgot this one
2023-03-19 09:51:37 +01:00
Tomasz Zieliński
f52c465322
Allow zones to inherit properties recursively, in any order.
2023-03-19 09:27:05 +01:00
Andrey Filipenkov
21463f1c0e
fix movement cost with Fly
2023-03-19 11:26:55 +03:00
Andrey Filipenkov
43e89523a9
Merge pull request #1716 from rilian-la-te/tw-fix
...
TotalValue: fix typo
2023-03-19 11:25:48 +03:00
Tomasz Zieliński
dd3803b111
Don't place shipyard or boats at very small lakes
...
(cherry picked from commit 1d2913bea0
)
2023-03-18 22:05:25 +01:00
Tomasz Zieliński
e1ced317a1
Few tweaks for boat placement to keep distance between it and other objects, especially guards.
2023-03-18 21:59:23 +01:00
Tomasz Zieliński
1dc96d6844
Fix shipyard border calculation for RMG
2023-03-18 20:12:36 +01:00
Konstantin
54b1b49f5a
totalValue: fix overflow
...
Fixes #1715
2023-03-18 22:08:21 +03:00
Tomasz Zieliński
23a5a32756
Add fallback for empty terrain types. Still it's a workaround and does not solve the root cause.
2023-03-18 17:00:50 +01:00
Konstantin
b07f4fb383
TotalValue: fix typo
2023-03-18 15:45:32 +03:00
Tomasz Zieliński
eabcbfc25a
Fix all stacks being capped at 10 units
2023-03-17 22:32:05 +01:00
Tomasz Zieliński
f57c275603
Merge remote-tracking branch 'origin/develop' into object_placement_tweaks
2023-03-17 21:47:16 +01:00
Ivan Savenko
f24ca6fbcf
Merge pull request #1699 from rilian-la-te/fix-ignissa
...
Rewardable: always initialize numbers
2023-03-17 22:15:28 +02:00
Ivan Savenko
95d56d3f2a
Merge pull request #1705 from rilian-la-te/convert-scouting
...
HeroBonus: add scouting to converter
2023-03-17 22:14:54 +02:00
Konstantin
6de042657c
fix Ignissa bug the old way
2023-03-17 20:09:18 +03:00
Konstantin
b4fe7908a4
HeroBonus: add scouting to converter
2023-03-17 18:50:57 +03:00
Konstantin
bbbbfe00f0
Modernize resourceSet
2023-03-17 02:26:54 +03:00
Ivan Savenko
8a6c51a9e6
Fix uninitialized pointer dereference
2023-03-16 20:48:37 +02:00
Tomasz Zieliński
f2dc9cb48e
- Place Subterranean Gates as far from other objects as possible
...
- Added minimum distance between zone guards
2023-03-16 18:42:28 +01:00
Ivan Savenko
fbb9810c49
Fix regression - uninitialized pointer
2023-03-16 19:25:26 +02:00
Ivan Savenko
aea2a1e22e
Fixed loading of settings from mods
2023-03-16 18:11:36 +02:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Tomasz Zieliński
62490683ce
Place objects away from zone guard in both zones, not only the where it is placed.
2023-03-16 16:20:11 +01:00
Konstantin
4c4498b22a
vcmi: modernize rest of lib
2023-03-16 17:55:20 +03:00
Konstantin
7f805768f0
battle: fixup siege crash
2023-03-16 16:47:06 +03:00
Konstantin
4eb248b5e2
vcmi: bump serialization version
...
Saves from this branch are incompatible with generic ones
2023-03-16 16:47:05 +03:00
Konstantin
580268bfd4
vcmi: fix logistics specialist movement regression
...
There was incorrect calculations introduced earlier.
2023-03-16 16:46:42 +03:00
Konstantin
0adffc824f
vcmi: allow to configure army movement counter
...
It is not hardcoded now. MOVEMENT.TXT is still not read,
but ARMY_MOVEMENT updater parameters can be specified in json.
There is a 4 parameters:
1. Base - base value (firstly lowest speed is multiplied by it)
2. Divider - base value is integrally divided by it
3. Multiplier - result value will be multiplied by it
4. Max - maximum allowed movement from army.
Vanilla values is in defaultMods.json
Fixes: https://bugs.vcmi.eu/view.php?id=3209
2023-03-16 16:46:42 +03:00
Konstantin
b91d7418dd
vcmi: remove ONLY_ENEMY_ARMY range
...
It should be used directly instead of alias, propagation updater
also can be useful for any other updaters can be added.
2023-03-16 16:46:42 +03:00
Konstantin
ff5f828031
vcmi: remove SELF_LUCK bonus
...
This bonus also now handled by LUCK bonus with INDEPENDENT_MAX of 1
2023-03-16 16:46:42 +03:00
Konstantin
c7e197e1ff
vcmi: remove SELF_MORALE bonus
...
It is easily handled by MORALE bonus with INDEPENDENT_MAX
Harmless due to converter.
2023-03-16 16:46:42 +03:00
Konstantin
ebbc8cf208
vcmi: remove BLOCK_LUCK bonus
...
To block a luck, just set both INDEPENDENT_MAX and INDEPENDENT_MIN
to 0 of LUCK bonus
2023-03-16 16:46:42 +03:00
Konstantin
c07e74250b
vcmi: remove BLOCKS_MORALE bonus
...
To block morale, just set INDEPENDENT_MAX and INDEPENDENT_MIN
to 0, there is no need for separate bonus.
2023-03-16 16:46:42 +03:00
Konstantin
1e7875cb36
vcmi: selector-based target conditions
...
For now, allows us to define target conditions by selector and even
by minimal and maximal value of bonuses. Convert Bonus condition
to Selector condition.
Allow structures inside TargetCondition struct.
2023-03-16 16:46:42 +03:00
Konstantin
0540e1531d
vcmi: allows parsing selectors from JSON
...
Supports anyOf, allOf, noneOf,
and all selectors from Selector namespace.
Can be useful to define selectors in JSON when required
2023-03-16 16:46:42 +03:00
Konstantin
f13a934c47
vcmi: allow converting bonusParams to selector
2023-03-16 16:46:42 +03:00
Konstantin
eaceb65b5c
vcmi: fix CSkillHandler crash
2023-03-16 16:46:42 +03:00