1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
Commit Graph

5071 Commits

Author SHA1 Message Date
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
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
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