1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-30 08:57:00 +02:00
Commit Graph

5540 Commits

Author SHA1 Message Date
krs
27c488e62f Small changes after review. 2023-06-23 20:05:15 +03:00
krs
756dd398c2 Added constant for BATTLE_SHOOTING_RANGE_DISTANCE 2023-06-23 19:13:39 +03:00
krs
e938152c1d Fix for showing penalty limit in red for unlimited ranged archers 2023-06-23 19:13:39 +03:00
krs
33bbbefdeb First working prototype that mimics rangedFullDamageLimit code
Next step is to create more generic functions that can be shared between the 2.
2023-06-23 19:13:39 +03:00
Ivan Savenko
ce3e150d59 Minor formatting 2023-06-23 13:55:52 +03:00
Ivan Savenko
1fb2b60999 Remove no longer relevant check 2023-06-23 13:42:09 +03:00
Ivan Savenko
44261ecc21 Fix boat positioning 2023-06-23 13:42:09 +03:00
Ivan Savenko
caccd58eb0 boat offsets for shipyards are counted from visitable position 2023-06-23 13:42:09 +03:00
Ivan Savenko
6a08a96d0c Added createObject call as wrapper around NewObject netpack 2023-06-23 13:42:08 +03:00
Ivan Savenko
d8879f1e53 NewObject pack now receives visitable position instead of h3m position 2023-06-23 13:34:51 +03:00
Ivan Savenko
56680e102d
Merge pull request #2245 from IvanSavenko/platform_settings
Allow defining default values of settings per platform
2023-06-23 13:32:30 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
a505cc464e Fixed slider's behavior, especially for mobile systems 2023-06-22 23:49:38 +03:00
Ivan Savenko
ebc7a82c2e Converted pathfinder enum's to enum class 2023-06-21 15:38:57 +03:00
Ivan Savenko
f78470a301 Fix build 2023-06-21 14:55:25 +03:00
Ivan Savenko
bd4d2788ed Split pathfinder into multiple smaller files 2023-06-21 13:46:09 +03:00
Ivan Savenko
87fcfa4add Removed excessive pathfinder includes 2023-06-21 12:00:44 +03:00
Ivan Savenko
8f602b2ef6 Allow defining default values of settings per platform 2023-06-21 10:55:30 +03:00
Ivan Savenko
c4772ae59d Load new hota quests as empty quests, to avoid unexpected behavior 2023-06-20 19:37:27 +03:00
Ivan Savenko
6564502a0e Implemented mapping of hero portraits 2023-06-20 19:37:27 +03:00
Ivan Savenko
3913b8e98c Heroes placed on water in map will be automatically given boat 2023-06-20 19:37:27 +03:00
Ivan Savenko
9b5e81929f Fix build 2023-06-20 19:37:27 +03:00
Ivan Savenko
d4728f78ce Support for hota victory conditions 2023-06-20 19:37:27 +03:00
Ivan Savenko
a84666edf6 MetaString can be serialized in json 2023-06-20 19:37:27 +03:00
Ivan Savenko
d51fe62804 Win/loss condition texts use MetaString 2023-06-20 19:37:27 +03:00
Ivan Savenko
56d69e790b Renamed MetaString methods to more logical names 2023-06-20 19:37:27 +03:00
Ivan Savenko
2636a0dcc3 Moved MetaString to a new file 2023-06-20 19:37:27 +03:00
Ivan Savenko
f35b3a0dc3 Replace MetaString operator << with member function 2023-06-20 19:37:27 +03:00
Ivan Savenko
c43783db58 Use string ID's instead of raw strings for win/loss conditions 2023-06-20 19:37:27 +03:00
Ivan Savenko
8dde8018d0 Implemented support for fixed monster def's from hota 2023-06-20 19:37:27 +03:00
Ivan Savenko
6f743916db Moved CGCreature to a new file 2023-06-20 19:37:27 +03:00
Ivan Savenko
7c88bb7e4f Detect mirror maps 2023-06-20 19:37:27 +03:00
Ivan Savenko
636b2ea856 Removed no longer used code - moved to hota mod 2023-06-20 19:37:27 +03:00
Ivan Savenko
d742b6b809 Fix mapping of map objects linked to game entities 2023-06-20 19:37:27 +03:00
Ivan Savenko
f86133705e Fix loading of allowed artifacts from hota h3m 2023-06-20 19:37:27 +03:00
Tomasz Zieliński
25707b6d5e Place zones in order given by template. Yields better results in a number of cases. 2023-06-18 20:23:25 +02:00
Tomasz Zieliński
8510af487e Place objects away from wide connection 2023-06-18 19:20:12 +02:00
Tomasz Zieliński
47726625c2 Do not generate passable connections for virtual connections. 2023-06-18 12:03:41 +02:00
Tomasz Zieliński
acc141d626 Fix unused variable 2023-06-17 19:31:16 +02:00
Tomasz Zieliński
65d10cf9f2 + Handle Wide Connections
+ Possibly hide fictive and repulsive connections, needs testing
2023-06-17 19:09:38 +02:00
DjWarmonger
02ea798c97
Merge pull request #2229 from vcmi/zone_placement_improvements
Zone placement improvements
2023-06-17 08:53:08 +02:00
Tomasz Zieliński
30f81297c3 Create only a single seer hut for every artifact we have. 2023-06-17 08:45:10 +02:00
Ivan Savenko
ece9982ca0 Fix build 2023-06-16 18:11:45 +03:00
Ivan Savenko
58661fc8ec Moved DwellingInstanceConstructor to a new file 2023-06-16 17:59:50 +03:00
Ivan Savenko
77b58bc66d Cleaned up object constructors to reduce duplicated code 2023-06-16 17:59:50 +03:00
Ivan Savenko
4d947be287 Adventure map shipyard nwo has configurable boat type 2023-06-16 17:59:50 +03:00
Ivan Savenko
487f441f47 Implemented boat selection for town shipyards 2023-06-16 17:59:49 +03:00
Ivan Savenko
6aedb99117 Cleaned up IShipyard interface 2023-06-16 17:59:10 +03:00
Ivan Savenko
a94b68e6aa Hill fort upgrade costs are now loaded from json 2023-06-16 17:59:10 +03:00
Ivan Savenko
2e7c382612 Moved creature upgrade logic to CGObjectInstance inheritors 2023-06-16 17:59:10 +03:00
Ivan Savenko
fc190b14bb Spell shrines can now be configured in json 2023-06-16 17:59:10 +03:00
Ivan Savenko
5cfbdd2967 Partially split CommonConstructors.cpp into few separate files 2023-06-16 17:59:10 +03:00
Ivan Savenko
0901c8feaf Use boost::multiarray instead of manual memory management in CMap 2023-06-16 17:59:10 +03:00
DjWarmonger
c52b5d3bd0
Merge pull request #2216 from vcmi/water_prison_tavern
Water Prison & Tavern
2023-06-16 16:30:05 +02:00
Tomasz Zieliński
190244369c Fix empty Pandora message 2023-06-15 22:06:31 +02:00
Tomasz Zieliński
adec58f5bf - Set fixed boat type for Tavern / Prison
- Move magical boat offset to static function
2023-06-15 17:53:18 +02:00
Tomasz Zieliński
f1356dd5bf Merge remote-tracking branch 'origin/develop' into water_prison_tavern 2023-06-14 20:58:02 +02:00
Tomasz Zieliński
ce25ed4de2 Fix crash which coudl occur if we can't add any Seer Hut to RMG pool (Fear template). 2023-06-14 20:50:14 +02:00
Ivan Savenko
3924f0f081
Merge pull request #2211 from SoundSSGood/art-refactoring-hotfix
Fixing regressions
2023-06-14 16:06:35 +03:00
Ivan Savenko
8614419954
Merge pull request #2208 from IvanSavenko/obstacles_foreground
Implemented foreground/background obstacles
2023-06-14 15:49:08 +03:00
Tomasz Zieliński
14d46cbed8 Keep the distance between zone guards and other objects, while trying to place them closer to zone centers at the same time. 2023-06-14 14:12:42 +02:00
Tomasz Zieliński
2603e11f48 Simplify and correct ZonePlacer main loop, make sure to save optimal solution at every step. 2023-06-14 14:07:31 +02:00
DjWarmonger
3be7720868
Merge pull request #2218 from vcmi/pregenerate_treasures
Okay, merging this for PvP feedback.
2023-06-13 20:46:34 +02:00
Tomasz Zieliński
e1f8ae94ac + Do not limit treasures to make space for more treasures if there are none ;eft
+ Make sure RMG won't get stuck in infinite loop for weird treasure values (eg. 0).
2023-06-12 22:15:59 +02:00
Tomasz Zieliński
3d3c97bf93 Fix potential infinite loop 2023-06-12 20:32:58 +02:00
krs
56b8fb39f3 Removed neighbouringTilesWithDirection and using
allNeighbouringTiles
2023-06-11 18:40:47 +03:00
krs
b8ad5b41f3 UnitState has getRangedFullDamageDistance() 2023-06-11 18:40:47 +03:00
krs
c0591573bf Working Version 2023-06-11 18:40:47 +03:00
Tomasz Zieliński
983633d73b Do not decrease the density of obstacles in zones of medium treasure value. For high values, decrease them more rapidly. 2023-06-10 18:02:26 +02:00
Tomasz Zieliński
65a8478b74 Fix override 2023-06-10 15:07:03 +02:00
Tomasz Zieliński
8ef25155df Remove dependencies of surface and underground zones 2023-06-10 14:58:12 +02:00
Tomasz Zieliński
b65870f31e A bunch of magic formulas to assure nice balance of blocked areas and obstacles on every template 2023-06-10 14:57:25 +02:00
Tomasz Zieliński
1bb2b5b571 + Maintain clear perimeter of a treasure pile.
+ Make sure that separate blocked areas remain unconnected so it's possible to pass between them.
2023-06-10 14:56:03 +02:00
Tomasz Zieliński
d5b799278e Allow center Town touch the blocked area, it's no longer a problem with correct pathfinder. 2023-06-09 21:22:44 +02:00
Tomasz Zieliński
682e9ae297 Unused variable 2023-06-08 20:05:51 +02:00
Tomasz Zieliński
52d33fc7a6 Generate all treasures of certain value beforehand and try to place them all, don't interrupt at first failure. 2023-06-08 19:51:21 +02:00
Tomasz Zieliński
66b6fba51f Use all tiles covered by treasure pile to determine distance to other treasures. 2023-06-08 19:31:38 +02:00
Tomasz Zieliński
d92ac6bcbe Do not exceed rolled treasure value - matches OH3. 2023-06-08 19:23:23 +02:00
Tomasz Zieliński
651b1a8bea Remove unused variable. 2023-06-08 09:27:55 +02:00
Tomasz Zieliński
351d596bdc Handle water Prisons and Taverns. 2023-06-08 09:17:08 +02:00
Tomasz Zieliński
aff079b4e6 Fix boat regression 2023-06-07 20:10:04 +02:00
Tomasz Zieliński
3e9e6aab2b Fix prison distribution 2023-06-07 15:08:50 +02:00
Tomasz Zieliński
7922d8be16 Prison from HoTA will be placed on water. 2023-06-07 13:00:24 +02:00
SoundSSGood
f6c2d5cba7 hotfix 2023-06-07 13:08:04 +03:00
DjWarmonger
e98a50b45a
Merge pull request #2123 from Warzyw647/rmg-split-enum-monster-strength
Refactor enums and add zone monster strength "none" in rmg
2023-06-06 20:40:35 +02:00
Ivan Savenko
428fb832c6 Implemented foreground/background obstacles:
- obstacles now have "foreground" field
- if "foreground" field set, obstacle will appear on top of other
objects, such as units
- if "foreground" is not set, obstacle will appear below units
- updated schema and cleared up obstacles config
2023-06-06 15:53:14 +03:00
Ivan Savenko
238a02eb5e It is now possible to cancel attack-via-swiping by moving finger away 2023-06-05 19:20:20 +03:00
Ivan Savenko
1e9eea30e1 Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop 2023-06-05 18:53:17 +03:00
Tomasz Zieliński
cbe1c4a07d Remove random seed from map description. 2023-06-03 08:53:00 +02:00
Ivan Savenko
97b3b2e147 Fix build 2023-06-03 00:48:32 +03:00
Ivan Savenko
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +03:00
Ivan Savenko
b04b11b9d1
Merge pull request #2175 from IvanSavenko/map_format_mappings
HotA map format support  - object mapping
2023-06-01 22:06:18 +03:00
Ivan Savenko
2f9073e13a Fix assertion 2023-06-01 16:03:37 +03:00
Ivan Savenko
fce5f9f907 Fix buildings loading 2023-05-31 23:18:39 +03:00
Ivan Savenko
312b703a78 Fixed mapping of hota objects 2023-05-31 23:18:39 +03:00
Ivan Savenko
952708e865 Basic version of object templates mapping 2023-05-31 23:18:39 +03:00
Ivan Savenko
b3ca6c8cee Fixed detection of campaign format 2023-05-31 23:18:39 +03:00
Ivan Savenko
e1c01ca636 Fix CI build 2023-05-31 23:18:39 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Ivan Savenko
62595cb039 Split massive CMap.h a bit 2023-05-31 23:01:57 +03:00
Ivan Savenko
bf720200f9 Implemented identifiers remapping for game entities 2023-05-31 23:01:57 +03:00
Ivan Savenko
c51e0ef052 Added information on Heroes Chronicles map ID's 2023-05-31 23:01:57 +03:00
Ivan Savenko
8d0dcd6ad7 All h3m bitsets are now loaded inside mapReader 2023-05-31 23:01:57 +03:00
Ivan Savenko
5fe5d0c045 Fix loading of buildings of random town 2023-05-31 23:01:57 +03:00
Ivan Savenko
ffd7144df8 Implemented identifiers mapping for town buildings 2023-05-31 23:01:57 +03:00
Ivan Savenko
de769a04d6 Remove unnecessary includes from headers 2023-05-31 23:01:57 +03:00
Ivan Savenko
daaaf84392 Icon index for map format is now defined in config 2023-05-31 23:01:57 +03:00
Ivan Savenko
fb55719671 Map format support status can now be loaded from gameSettings 2023-05-31 23:01:57 +03:00
Ivan Savenko
402823e3d5 Fix loading of some user-made maps 2023-05-31 23:01:57 +03:00
Warzyw647
bc4755a89a Merge branch 'develop' into rmg-split-enum-monster-strength 2023-05-31 19:53:19 +02:00
Konstantin
e82acf4840 CGHeroInstance: always add obligatory skills
Fixes #2198
2023-05-31 20:03:59 +03:00
Warzyw647
4c513e8bb0 Water zones get monster strength ZONE_NONE during their creation instead of a hardcoded check for zone type WATER at guard creation time.
Also preliminary preparations for water zone customization in the template json.
2023-05-31 00:24:52 +02:00
Tomasz Zieliński
cd9bd491e0 Add option for single-thread generation. Still doesn't guarantee excactly identical maps :? 2023-05-24 18:02:11 +02:00
SoundSSGood
1366825f08 final fixup 2023-05-24 16:10:06 +03:00
Tomasz Zieliński
edf47f5769 Fix StdInc.h 2023-05-21 07:26:36 +02:00
Warzyw647
af3c6abb5e Added zone guard strength "none" 2023-05-21 00:13:45 +02:00
Warzyw647
7afcc3b350 Merge branch 'rmg-split-enum-monster-strength' into rmg-no-monster-zone 2023-05-20 17:29:07 +02:00
Warzyw647
149ae9986c Merge branch 'rmg-refactor-enums' into rmg-no-monster-zone 2023-05-20 17:28:25 +02:00
Tomasz Zieliński
f3c795462f Remove comment which break the build 2023-05-20 17:08:44 +02:00
Warzyw647
031671056d Merge branch 'develop' into rmg-no-monster-zone 2023-05-20 16:58:49 +02:00
Tomasz Zieliński
4e927f644d Missing precompiled header 2023-05-20 15:41:03 +02:00
Tomasz Zieliński
b2b2798214 Use boost::thread instead of std::thread 2023-05-20 14:43:05 +02:00
Tomasz Zieliński
aa16f57b8a Remove unused variables 2023-05-20 14:28:18 +02:00
Tomasz Zieliński
a8b882e5bb Remove another pragma 2023-05-20 14:16:18 +02:00
Tomasz Zieliński
5ffbdb10ef Another build fix 2023-05-20 14:07:16 +02:00
Tomasz Zieliński
e25448e7cd Fix build on macos 2023-05-20 14:00:03 +02:00
Tomasz Zieliński
c7f4fe8243 Another compile fix. 2023-05-20 13:47:36 +02:00
Tomasz Zieliński
a1531b58db More fixes 2023-05-20 13:38:14 +02:00
Warzyw647
5363fd5db3 Changing other enums to enum classes and adding comments with reasons for why some enums stay as enum-in-namespace. 2023-05-20 13:29:55 +02:00
Tomasz Zieliński
ae97912b1e Fix warning 2023-05-20 13:23:27 +02:00
Tomasz Zieliński
91baa65c8c Remove no longer needed synchronization that also fails to compile. 2023-05-20 13:15:46 +02:00
Tomasz Zieliński
219e897db0 Added missing files. 2023-05-20 12:02:30 +02:00
Tomasz Zieliński
67c0fbc240 Merge remote-tracking branch 'origin/develop' into parellel_rmg
# Conflicts:
#	lib/rmg/modificators/WaterProxy.cpp
2023-05-20 11:59:39 +02:00
Tomasz Zieliński
15b254fded Give every Zone its own RNG 2023-05-20 11:46:32 +02:00
Tomasz Zieliński
5da8c96214 Fix include paths 2023-05-20 11:45:08 +02:00
Tomasz Zieliński
cf0515dcd3 Moved Modificators to separate folder 2023-05-20 10:17:37 +02:00
Tomasz Zieliński
5f99facd8f Optimization - don't add multiple copies of Modificators which only need one instance. 2023-05-20 09:58:08 +02:00
Tomasz Zieliński
71f882d5ba Refactored Functions.cpp, removed unused function. 2023-05-20 07:55:28 +02:00
Tomasz Zieliński
c27b8383e7 Cleanup 2023-05-20 07:23:00 +02:00
Tomasz Zieliński
02586214a1 Synchronize ConnectionPlacers 2023-05-20 07:06:27 +02:00
Tomasz Zieliński
72f8facc82 Fixed deadlock in WaterAdopter 2023-05-19 20:49:01 +02:00
Tomasz Zieliński
73d9f5bd0a Parallel RMG works fine for maps without water. 2023-05-19 20:30:15 +02:00
SoundSSGood
1175990724 fixup 2023-05-19 01:55:11 +03:00
SoundSSGood
5b281e6a9e setNewArtSlot 2023-05-17 17:02:58 +03:00
SoundSSGood
f0feeeac6e putArtifact, removeArtifact 2023-05-17 17:01:22 +03:00
SoundSSGood
021f94a579 artifact utils 2023-05-17 17:00:31 +03:00
Ivan Savenko
805721f8d7 Add missing check for file presence 2023-05-16 21:58:09 +03:00
Ivan Savenko
4f739d426d Added check for validness of native terrain 2023-05-15 22:22:54 +03:00
Ivan Savenko
9eac3eaafa Merged "music" resource type into "sound", enables ogg's use as sounds 2023-05-15 22:22:54 +03:00
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