1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-26 22:57:00 +02:00
Commit Graph

4962 Commits

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