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

6683 Commits

Author SHA1 Message Date
Ivan Savenko
b1bd44de1e
Merge pull request #3298 from vcmi/random_prison_distributor
Fixes to hero / prison distribution
2024-01-18 16:03:08 +02:00
SoundSSGood
8d4b74b441 Assembling in backpack fixed 2024-01-18 12:49:08 +02:00
Alexander Wilms
b364f707cd Fix issues introduced by automated replacement of redundant types 2024-01-17 20:12:57 +00:00
Alexander Wilms
7a1cee1a60 Fix error: 'auto' not allowed in non-static struct member 2024-01-17 14:49:28 +00:00
Alexander Wilms
57c51b62fd Fix CGameHandler.cpp:1026:4: error: function 'getAllowedSpells' with deduced return type cannot be used before it is defined 2024-01-17 14:41:53 +00:00
Alexander Wilms
271eeca11b Fix BattleEvaluator.cpp:286:32: error: function 'battleGetAllObstacles' with deduced return type cannot be used before it is defined 2024-01-17 14:41:47 +00:00
Alexander Wilms
f08c6d1ce9 Fix issues created by type replacement script 2024-01-17 14:33:02 +00:00
Alexander Wilms
73019c204d Replace redundant types with auto for the lvalues of template factory functions for smart pointers
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt

import re

with open("redundant_types.txt") as f:
    for line in f:
        line = line.strip()
        path = line.split(":", 1)[0]
        original_code = ":".join(line.split(":")[1:]).strip()

        print()
        print(path)
        print(original_code)
        prefix = "auto "
        if original_code.startswith("static"):
            static = True
        else:
            static = False

        cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
        print(cpp_type)

        if static:
            new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
        else:
            new_code = "auto "+ " ".join(original_code.split(" ")[1:])
        print(new_code)

        if True:
            with open(path, "r") as f:
                filedata = f.read()

            filedata = filedata.replace(original_code, new_code)

            with open(path, "w") as f:
                f.write(filedata)
2024-01-17 12:50:00 +00:00
DjWarmonger
4f28cd42b7
Update lib/rmg/modificators/PrisonHeroPlacer.h
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-01-17 10:11:55 +01:00
DjWarmonger
91a20c2bfd
Update lib/rmg/CMapGenerator.h
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-01-17 10:11:50 +01:00
Tomasz Zieliński
66efb07e52 More 2024-01-17 07:45:53 +01:00
Tomasz Zieliński
a568a9b3fb Fix lambda capture 2024-01-17 07:26:51 +01:00
Tomasz Zieliński
253f1dc7e6 Refactor duplicated code as suggested by SonarCloud 2024-01-17 07:18:14 +01:00
Alexander Wilms
558ead41fe Add missing semicolon after macro usage 2024-01-16 20:18:18 +00:00
Ivan Savenko
bf62e47481
Merge pull request #3505 from IvanSavenko/bugfixing
[1.4.3] Bugfixing
2024-01-16 22:00:11 +02:00
Alexander Wilms
ccac73fb69 Remove trailing semicolons from more macros 2024-01-16 19:46:21 +00:00
Ivan Savenko
723a95f770 Add assertions to detect invalid calls 2024-01-16 21:12:57 +02:00
Alexander Wilms
cca08e29da Remove duplicate semicolons 2024-01-16 19:02:39 +00:00
Tomasz Zieliński
afc9bd908c Unused capture 2024-01-16 17:38:36 +01:00
Tomasz Zieliński
aa5bb27d20 Style 2024-01-16 17:16:15 +01:00
Tomasz Zieliński
71844d4d92 Unban artifacts if RMG fails to place Seer Hut (unlikely) 2024-01-16 17:15:35 +01:00
Ivan Savenko
1194419884 Added option to allow self-casting 2024-01-16 15:13:00 +02:00
Ivan Savenko
c3012105e2 Fix duplicated hero in Song for the Father campaign 2024-01-16 14:45:38 +02:00
Ivan Savenko
bdd649a3be
Merge pull request #3502 from IvanSavenko/campaign_localization_fix
Fixed missing translation strings on loading campaign save
2024-01-16 11:49:25 +02:00
Ivan Savenko
c839b397e8 Block self-casting, e.g. Archangels can't resurrect themselves 2024-01-15 23:16:53 +02:00
Ivan Savenko
6e5da6c158 Fixed Coronius specialty applying from two locations in code 2024-01-15 23:16:53 +02:00
Ivan Savenko
c21913f661 Fixed initialization of move points and mana for dismissed heroes 2024-01-15 23:16:48 +02:00
Ivan Savenko
2265890f69 Better detection of invalid mod data to avoid crash and notify modders 2024-01-15 18:19:21 +02:00
Ivan Savenko
a32ef673f7
Merge pull request #3482 from IvanSavenko/extend_hota_bonuses
Extend hota bonuses
2024-01-15 13:47:13 +02:00
Ivan Savenko
c7897300c0 Fixed missing translation strings on loading campaign save
- campaign header now contains text container and stores campaign texts
- map header now contains text container instead of inheriting it
- moved text container registration logic to a wraper class
- fixed registration of copied text containers (from copied map header)
2024-01-15 13:10:25 +02:00
Ivan Savenko
a582cb554e
Merge pull request #3500 from IvanSavenko/fix_dendroid_bind
[1.4.3] Fix handling of Dendroid's Bind ability
2024-01-15 12:02:06 +02:00
Ivan Savenko
b4a1a755a4
Merge pull request #3498 from IvanSavenko/simturns_pathfinder
[1.4.3] Fixes for simultaneous turns
2024-01-15 12:00:54 +02:00
Ivan Savenko
8400c27251
Merge pull request #3491 from IvanSavenko/change_default_driver
Change default SDL driver name from opengl to empty (autoselection)
2024-01-15 11:57:42 +02:00
Tomasz Zieliński
0273d9c36b Remove unused variable 2024-01-15 07:59:50 +01:00
Tomasz Zieliński
285bafdbf4 Do not ban heroes in Prisons, they might be rehired after they are defeated.
Restore hero to pool if Prison fails to be placed.
2024-01-15 07:41:29 +01:00
Tomasz Zieliński
ee6c331bad Merge remote-tracking branch 'origin/beta' into random_prison_distributor 2024-01-14 21:56:49 +01:00
DjWarmonger
19765e0e01
Merge pull request #3480 from IvanSavenko/rmg_ban_starting_heroes
Ban starting heroes in RMG
2024-01-14 21:56:16 +01:00
Ivan Savenko
0d0d3d8c80 Renamed speed -> getMovementRange, remove misleading default parameter 2024-01-14 17:14:36 +02:00
Ivan Savenko
fd499e318d Review suggestion 2024-01-14 15:36:29 +02:00
Ivan Savenko
b08462d555 Change default SDL driver name from opengl to empty (autoselection) 2024-01-14 14:29:13 +02:00
Tomasz Zieliński
3e623565a2 Fix redundant class 2024-01-13 21:39:17 +01:00
Tomasz Zieliński
3aa67b3e5f Merge remote-tracking branch 'origin/beta' into random_prison_distributor 2024-01-13 21:02:08 +01:00
Ivan Savenko
8303ce5d13 Added option to ignore guards in pathfinder
Used for simturns contact detection, by default disabled for player
pathfinding
2024-01-13 19:44:37 +02:00
Ivan Savenko
fc6a9924ee FIRST_STRIKE now supports ranged / melee subtypes, BLOCKS_RETALIATION
will properly block FIRST_STRIKE
2024-01-13 16:54:06 +02:00
Ivan Savenko
bb670cfb82 Merged accurate shot bonus into death stare bonus 2024-01-13 15:55:07 +02:00
Ivan Savenko
ca2df49fbb Block usage of preselected starting heroes for prisons in RMG 2024-01-13 14:08:36 +02:00
Ivan Savenko
f6e0f46040
Merge pull request #3467 from dydzio0614/hota-fixes
Fix HotA creature abilities (add bonuses allowing implementing them)
2024-01-12 21:55:18 +02:00
M
9ee526d202 Fixes from code review 2024-01-11 21:10:22 +01:00
Dydzio
250b1b69a8
Update accurate shot translation handling
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-01-10 23:57:29 +01:00
M
7bf273e01c Extract revenge calculation to separate method 2024-01-10 22:56:26 +01:00
M
815fa26fb3 Change nix rounding, revert assert comment 2024-01-10 22:18:53 +01:00
Ivan Savenko
206b4a0588
Merge pull request #3454 from IvanSavenko/mod_debug
Better error-reporting for modding system errors
2024-01-10 15:50:17 +02:00
Alexander Wilms
5e9f98b15c Resolve intentionality issues 2024-01-10 00:23:24 +00:00
Alexander Wilms
f3277b7953 Define each identifier in a dedicated statement 2024-01-10 00:22:23 +00:00
M
67f18729fa REVENGE bonus that matches HotA haspid ability 2024-01-09 19:10:43 +01:00
Ivan Savenko
eae3d806db
Merge pull request #3460 from Laserlicht/changedate_sort
add sort for changedate
2024-01-09 12:43:01 +02:00
Dydzio
dbba1164ef Fix floating point rounding for 5 attack points and unupgraded nix 2024-01-08 20:50:37 +01:00
Ivan Savenko
6c8a587ac9 Better diagnostics of ID requests that require type, such as addInfo 2024-01-08 21:32:10 +02:00
Dydzio
675f9b11fa Add ENEMY_ATTACK_REDUCTION bonus - fixes HotA Nix 2024-01-08 19:37:04 +01:00
Ivan Savenko
18227cba00 Implemented better error-reporting for issues commonly encountered by
modders
2024-01-07 22:35:22 +02:00
Dydzio
3c95f92c59 Update documentation 2024-01-07 21:22:10 +01:00
Ivan Savenko
ae79c5e953
Merge pull request #3397 from Laserlicht/cheat_allow
option for disabling cheats
2024-01-07 21:42:02 +02:00
Laserlicht
8b262e49a6
add sort for changedate 2024-01-07 20:17:44 +01:00
Dydzio
bb925e4cb0 First version of sea witch / sorceress ability 2024-01-07 19:27:32 +01:00
Ivan Savenko
a2f603ac02 Fixed some cases of illegal access to std::array::operator[] 2024-01-07 12:45:02 +02:00
Ivan Savenko
cf47fbb729
Merge pull request #3435 from IvanSavenko/bugfixing
[1.4.3] Bugfixing
2024-01-06 13:06:07 +02:00
Ivan Savenko
1519de60bf Remove excessive logging on using Recanter's Cloak in siege of Tower 2024-01-05 18:31:07 +02:00
Ivan Savenko
51b7de4b98 Fix double off-by-one bug with CREATURE_GROWTH bonus 2024-01-05 16:57:44 +02:00
Ivan Savenko
480a0f19c0 Fix missing modded spells in magic guilds for h3m maps 2024-01-05 16:47:23 +02:00
Ivan Savenko
4b5b99aba3 Fix handling of invalid creature damage range (min > max) 2024-01-05 16:12:02 +02:00
Ivan Savenko
fbdceb4f71 Fix crash on using two mods that add battlefield with same identifier 2024-01-05 15:58:25 +02:00
Ivan Savenko
2d8692c142 Throw "resource not found" instead of crashing on invalid query 2024-01-04 23:58:28 +02:00
Ivan Savenko
edb2ecd751 Fix possible overflow errors on leveling up beyond int64_t limit
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
Ivan Savenko
ceea341bb0 Fix crash on attempt to dereference invalid subtype in bonus 2024-01-04 23:54:35 +02:00
Ivan Savenko
63a2ed7cf8 Replace vector[] with range-checking vector.at() 2024-01-04 23:52:57 +02:00
Ivan Savenko
3b66701ffe Ignore illegal 'index' entries in mods 2024-01-04 23:52:01 +02:00
Ivan Savenko
ef5686634d Removed no longer used code 2024-01-04 23:48:58 +02:00
Ivan Savenko
55bd164f1c Unified identifiers to entity conversion code 2024-01-04 23:47:44 +02:00
Dydzio
7283a4861e Initial version of ACCURATE_SHOT implementation 2024-01-04 22:27:51 +01:00
Joakim Thorén
30b851da7c Merge branch 'develop' of https://github.com/vcmi/vcmi into windows_mingw_cmake_presets 2024-01-01 22:53:19 +01:00
Dydzio
fbd988df42 Bit better documentation wording 2024-01-01 21:19:25 +01:00
Dydzio
7cf7543747 Configurable ferocity bonus 2024-01-01 21:16:38 +01:00
Dydzio
898b8f3c71 Add initial version of Ferocity ability (for Ayssids) 2024-01-01 19:58:32 +01:00
Joakim Thorén
8846fba1fc Fixes compilation error "ResourceSet.h:33:21: error: function 'ResourceSet::ResourceSet()' definition is marked dllimport" when building with g++ 12.1.0 2023-12-30 00:29:31 +01:00
Laserlicht
cb9c4bbaf0 unlimited replay option 2023-12-28 20:48:19 +01:00
Laserlicht
a3e27b859e extra option tab 2023-12-28 19:41:01 +01:00
Joakim Thorén
01f602ab92 Fixes warning about usage of unused variable 2023-12-27 22:25:29 +01:00
Laserlicht
207b5a2ed0
backwards compatibility 2023-12-27 20:44:32 +01:00
Laserlicht
c471b626a2
code review 2023-12-27 15:26:08 +01:00
Laserlicht
fc4827c89c
option for allowing cheats 2023-12-27 14:39:35 +01:00
Ivan Savenko
bb6179d05e
Merge pull request #3391 from vcmi/master
Merge master -> develop
2023-12-25 13:00:17 +02:00
Ivan Savenko
4835a1f695 Fix possible crash on abandoned mine with no valid resources 2023-12-24 22:05:47 +02:00
Ivan Savenko
e77651d3f3
Merge pull request #3377 from dydzio0614/commander-skills-fix
Commander skills fix
2023-12-24 13:33:48 +02:00
Ivan Savenko
2b495a9679
Merge pull request #3379 from IvanSavenko/fix_genie_spellcasting
Fix genie spellcasting
2023-12-24 13:29:05 +02:00
Ivan Savenko
5fe5d81729
Merge pull request #3376 from IvanSavenko/uninitialized_fixes
Fix uninitialized memory access
2023-12-24 13:19:17 +02:00
Tomasz Zieliński
ebf2055afc - Unban hero if related Prison is destroyed during map generation
- Move prison counter to PrisonHeroPlacer
2023-12-24 09:36:26 +01:00
Andrey Filipenkov
3074f8cb89
fix typo 2023-12-24 09:58:48 +03:00
Tomasz Zieliński
b0f0e9caa8 Merge remote-tracking branch 'origin/beta' into random_prison_distributor 2023-12-24 06:46:18 +01:00
Ivan Savenko
85de3143ff Fixed Genie spellcasting logic to account for spell immunities 2023-12-24 01:13:19 +02:00
Ivan Savenko
08a4b67cd7
Merge pull request #3372 from IvanSavenko/bugfixing
[1.4.2] Bugfixing
2023-12-23 22:05:39 +02:00
Ivan Savenko
3e9133995f Fix uninitialized member 2023-12-23 21:31:29 +02:00
Ivan Savenko
7732f39556 Fix potential uninitialized access - setupSteps depends on not yet
initialized members
2023-12-23 21:31:17 +02:00
Dydzio
9e9849b741 Fix commander ability accumulation, change commander ability bonus 2023-12-23 20:16:29 +01:00
Ivan Savenko
72980a3909 Fix crash on accessing jsonnode with different type in release builds 2023-12-23 18:12:18 +02:00
Ivan Savenko
ec5fcb3e7c Do not ignore 'canRefuse' flag for select mode 'first' and 'random' 2023-12-23 00:35:51 +02:00
Ivan Savenko
20ede710c2
Merge pull request #3362 from IvanSavenko/terrain_decorations
Terrain decorations level
2023-12-22 23:39:32 +02:00
Ivan Savenko
bbbf676d38 spaces -> tabs 2023-12-22 23:22:33 +02:00
Ivan Savenko
9bf1e72a19
Merge pull request #3346 from IvanSavenko/better_timers
[1.4.2] Better timers
2023-12-22 23:19:20 +02:00
Ivan Savenko
fe5918ebf5 Clients will now switch to turn options when host does so 2023-12-22 18:40:28 +02:00
Ivan Savenko
da9c0feebc Reworked timer widget to show timers for all players 2023-12-22 18:40:28 +02:00
Ivan Savenko
8916ae7bcd Fix water generation, try to improve decoration level a bit 2023-12-22 18:35:38 +02:00
Ivan Savenko
19e851ddff Implemented configurable level of decorations for terrains 2023-12-22 17:41:30 +02:00
Ivan Savenko
c8d024ae11
Merge pull request #3354 from dydzio0614/antimagic-garrison
Add missing antimagic functionality to antimagic garrisons
2023-12-22 16:33:39 +02:00
Ivan Savenko
48a8826aa1
Merge pull request #3308 from vcmi/improve_treasure_placement
Improve treasure placement
2023-12-22 16:32:59 +02:00
Ivan Savenko
4ed283a357
Merge pull request #3359 from IvanSavenko/crashfixes
Crashfixes
2023-12-22 15:17:59 +02:00
Ivan Savenko
ec89e7fa62 Move UNLIMITED_MOVEMENT bonus to very end of the list 2023-12-22 14:20:32 +02:00
Ivan Savenko
171044359d Fixed crash on connection to 1.4.1 game 2023-12-22 14:03:05 +02:00
Ivan Savenko
31cef2e7d7 Attempt to fix crash on rewardable configuration 2023-12-22 14:03:05 +02:00
Dydzio
39c3db04f3 Add missing antimagic functionality to antimagic garrisons 2023-12-21 18:09:33 +01:00
Tomasz Zieliński
f9e5d73014 Missed optimization case 2023-12-21 17:56:21 +01:00
Tomasz Zieliński
d6336d7c45 Reverted change that seems to cause regression 2023-12-21 17:55:08 +01:00
Ivan Savenko
27d2fc0a13
Merge pull request #3186 from SoundSSGood/quick-backpack-part1
Quick backpack window
2023-12-21 17:10:15 +02:00
Tomasz Zieliński
d4216a9191 Fixed routing roads behind Sub Gates, Monoliths and Mines 2023-12-21 13:22:23 +01:00
Tomasz Zieliński
d5f9de5beb Definitive solution for Corpse 2023-12-21 12:29:45 +01:00
Tomasz Zieliński
e22f6dd07e Fix for choosing most specific templates. Also seems to fix the Prisons. 2023-12-21 09:58:39 +01:00
SoundSSGood
e5c532beb4 gesture for quick backpack window 2023-12-20 16:55:38 +02:00
Dydzio
fe39faf36c Add UNTIL_OWN_ATTACK bonus duration and use for berserk 2023-12-19 19:52:40 +01:00
SoundSSGood
5099b52a4f Quick backpack. Spells on scrolls view 2023-12-19 19:01:56 +02:00
Tomasz Zieliński
ad82eff225 Final and perfect treasue nd obstacle density 2023-12-19 09:24:43 +01:00
Tomasz Zieliński
916aedb13c Obvious fix 2023-12-19 09:24:01 +01:00
Tomasz Zieliński
bbb3e701ab Reverted incorrect logic. Likely the fix for hota Prison. 2023-12-18 17:18:13 +01:00
Tomasz Zieliński
9b12f54972 Compile fix 2023-12-18 14:49:05 +01:00
Tomasz Zieliński
7f7df93e12 Style fix 2023-12-18 14:25:07 +01:00
Tomasz Zieliński
80ea1826d3 Style fix 2023-12-18 14:02:55 +01:00
Tomasz Zieliński
038bcd32f6 Lightweight int3 hash function 2023-12-18 13:55:54 +01:00
Tomasz Zieliński
c701d42781 Multiple optimizations to avoid copying and allocating tiles for rmg::Area 2023-12-18 13:52:03 +01:00
Ivan Savenko
f40e711721
Merge pull request #3340 from IvanSavenko/crashfixes3
Crashfixes
2023-12-18 13:40:13 +02:00
Ivan Savenko
3f089cce78
Merge pull request #3341 from IvanSavenko/fix_extraction_progress
Fix extraction progress display for mod installation
2023-12-18 13:34:37 +02:00
Ivan Savenko
44a79c1ff4
Merge pull request #3327 from Laserlicht/datetime
date time format
2023-12-18 13:21:01 +02:00
Tomasz Zieliński
985a2682ae Place Monoliths at max distance in Junction zone 2023-12-18 11:12:52 +01:00
Tomasz Zieliński
bd5361a108 Possible fix to https://github.com/vcmi/vcmi/issues/3334 2023-12-18 10:55:40 +01:00
Tomasz Zieliński
24f74875ef Do not fractalize tiles near the edge of the map to avoid paths adjacent to map edge 2023-12-18 08:14:48 +01:00
Ivan Savenko
74dedc4cc5 Converted ZipArchive namespace into stateful class 2023-12-18 00:33:32 +02:00
Ivan Savenko
acc09ee51a
Merge pull request #3266 from Laserlicht/puzzle_cheat
implement missing OH3/HDmod cheats
2023-12-17 22:16:22 +02:00
Ivan Savenko
496bca1a59 Attempt to track down mystery crash on Android 2023-12-17 20:09:28 +02:00
Ivan Savenko
6a357aaea6 Fix empty names for mods without set name (e.g. core mod) 2023-12-17 19:44:45 +02:00
Ivan Savenko
84d9078bd9 Throw exception instead of failing with SIGSEGV 2023-12-17 19:44:45 +02:00
Ivan Savenko
dd88220b7c Fixed potentially uninitialized class member 2023-12-17 19:44:45 +02:00
Laserlicht
9299eaed36
code review 2023-12-16 21:10:27 +01:00
Laserlicht
d91aa8baca
fix russia 2023-12-16 19:26:41 +01:00
Laserlicht
56562ad8dc date time format 2023-12-16 18:57:38 +01:00
Ivan Savenko
b6cc26f853 Fix build 2023-12-16 14:29:49 +02:00
Ivan Savenko
d187309eed Fixed typo - different type was used to select ID and subID 2023-12-16 13:46:29 +02:00
Ivan Savenko
1acab80fdc Use unique_ptr instead of raw pointers to attempt to fix crash on free 2023-12-16 13:46:29 +02:00
Ivan Savenko
aadfde27bc Throw exception instead of crash on accessing non-existing setting 2023-12-16 13:46:29 +02:00
Ivan Savenko
9ff00d75dc Do not crash if Scholar is not a rewardable object 2023-12-16 13:46:29 +02:00
Tomasz Zieliński
339627731c Fixes 2023-12-15 18:26:59 +01:00
kirby1
5888a20920 Add OpenBSD defines 2023-12-14 10:29:42 +03:00
Tomasz Zieliński
99870be24c Tiny optimizations to avoid copies 2023-12-13 22:20:23 +01:00
Tomasz Zieliński
d31789e745 Extra cache for search area 2023-12-13 22:13:42 +01:00
Tomasz Zieliński
bfea30e318 Optimization tweaks 2023-12-13 22:12:16 +01:00
Tomasz Zieliński
8602a14e6f Minor optimizations 2023-12-13 22:10:39 +01:00
Tomasz Zieliński
b9193ecb73 Do not calculate area for invalid positions 2023-12-13 22:06:47 +01:00
Ivan Savenko
3bd85d417e Avoid crash on invalid building identifier 2023-12-13 17:23:45 +02:00
Ivan Savenko
664da58d4f Use MetaString in place of boost::format to avoid exceptions 2023-12-13 17:23:40 +02:00
Ivan Savenko
337e090ee9 Avoid crash in case if Witch Hut or Shrine is not a rewardable object 2023-12-13 16:52:44 +02:00
Tomasz Zieliński
2d3b8ee866 Increased amount of generated treasure piles without increasing density 2023-12-12 12:50:27 +01:00
Tomasz Zieliński
e5f60f063c - Check full object area for minimum distance requirement
- Add option to optimize both for max distance and custom weight
2023-12-12 07:40:54 +01:00
Ivan Savenko
9385ae76c2 Fix reading of dimensions of h3 map objects 2023-12-11 21:15:46 +02:00
Ivan Savenko
543ee597b8 Fix localization-related error messages 2023-12-11 18:23:52 +02:00
Ivan Savenko
a3786f3357
Merge pull request #3304 from IvanSavenko/handle_unknown_objects
Handle unknown objects
2023-12-11 18:23:28 +02:00
Ivan Savenko
afff10aab0
Merge pull request #3303 from IvanSavenko/artifact_randomization_fix
Remove allowed artifacts list from arthandler
2023-12-11 18:23:19 +02:00
Ivan Savenko
828077c18b Added special object "nothing" to handle unknown map objects on some
custom maps
2023-12-11 17:25:19 +02:00
Ivan Savenko
7ffe014d6b Remove allowed artifacts list from arthandler
1. Handlers should not contain non-const game state data
2. This field was duplicating same field in CMap
3. Due to removal of VLC serialization, this field is not updated on map
load leading to issues with artifact randomization
2023-12-11 15:06:04 +02:00
Tomasz Zieliński
493acd9b75 One little fix for inconsistent indexes 2023-12-11 08:28:53 +01:00
Tomasz Zieliński
109139c913 Build fix 2023-12-11 08:27:57 +01:00
Tomasz Zieliński
8a93b1083f Merge remote-tracking branch 'origin/beta' into random_prison_distributor 2023-12-11 07:49:43 +01:00
Tomasz Zieliński
8fe6a103cd - Move Hero / Prison distribution to separate modificator
- Protect rolling and banning hero with mutex
2023-12-11 07:37:23 +01:00
Ivan Savenko
6fe8ed7a03
Merge pull request #3127 from vcmi/fix_random_object_templates
Use the object templates with least terrains allowed
2023-12-10 23:11:20 +02:00
Ivan Savenko
fa11b52a6c
Merge pull request #3287 from vcmi/fix_template_validation
Fix template validation
2023-12-10 22:47:23 +02:00
Ivan Savenko
933598dd91
Merge pull request #3273 from vcmi/fix_passable_hero
Fix passable hero
2023-12-10 22:45:33 +02:00
Ivan Savenko
8bf05a8f77
Merge pull request #3272 from vcmi/fix_rmg_monoliths
Fix rmg monoliths
2023-12-10 22:44:05 +02:00
Ivan Savenko
a1a317aef4
Merge pull request #3280 from IvanSavenko/hotfix
[1.4.1] Hotfixes
2023-12-10 22:43:05 +02:00
Ivan Savenko
7187ba2d79 Fix crash on visiting Seer Hut with no reward 2023-12-10 19:48:44 +02:00
Ivan Savenko
b62e801530 Fix uninitialized variable in Seer Huts 2023-12-10 19:48:27 +02:00
Ivan Savenko
65721123a1 Partial fix for Coronius specialty bug 2023-12-10 19:17:58 +02:00
Ivan Savenko
c0572b061a Fix compile on FreeBSD 2023-12-10 19:17:24 +02:00
Ivan Savenko
3b6d3dee69 Slayer spell should only affect creatures with KING bonus 2023-12-10 19:17:09 +02:00
Andrii Danylchenko
48f0da1fdc #3290 - skip bad teleports (exit in rocks) 2023-12-10 18:38:54 +02:00
Ivan Savenko
999db2ed78 Avoid boost::format that throws exception on invalid format string 2023-12-10 16:37:58 +02:00
Ivan Savenko
ee7bd87b8d Fix crash on losing mission-critical hero in battle 2023-12-10 16:14:01 +02:00
Tomasz Zieliński
d0e100c1bb Fix unused variable 2023-12-10 09:50:25 +01:00
Tomasz Zieliński
91ebac3c2e Fix incorrect check 2023-12-10 09:46:20 +01:00
Ivan Savenko
2de7a3939a Fix text identifier for generic signs without custom text 2023-12-09 18:09:57 +02:00
Ivan Savenko
2261298d09 Revert U-turns block. Actually possible in H3 and has unintended side
effects
2023-12-09 18:09:38 +02:00
Ivan Savenko
df78c9c6f1 Added workaround for crashes with outdated mods 2023-12-09 18:08:22 +02:00
Tomasz Zieliński
d15e9f886c Cleanup 2023-12-09 15:35:32 +01:00
Tomasz Zieliński
134f78113e Remove unneccessary code 2023-12-09 15:20:11 +01:00
Tomasz Zieliński
cef25cca03 Fix for starting hero being passable 2023-12-09 14:59:09 +01:00
Tomasz Zieliński
0f23dde85d Fixed crash due to incorrect monolith id scopes 2023-12-09 14:25:03 +01:00
Laserlicht
a24e78a210 real unlimited movement (like in OH3) 2023-12-09 13:42:09 +01:00
Laserlicht
4bad88f141
implement luck and morale cheats from OH3 2023-12-08 19:20:53 +01:00
Ivan Savenko
c9de10ea74
Merge pull request #3259 from vcmi/fix_corpse
Fix corpse
2023-12-07 23:55:07 +02:00
Ivan Savenko
500f945222
Update lib/mapObjectConstructors/AObjectTypeHandler.cpp 2023-12-07 22:48:51 +02:00
Tomasz Zieliński
c316087950 Distribute objects among zones in random order 2023-12-07 17:41:41 +01:00
Tomasz Zieliński
7fa01a3497 Fix for randomly banning or exceeding limits of zone objects 2023-12-07 17:41:09 +01:00
Ivan Savenko
edbe25b33a Updated layout and localizations 2023-12-07 16:36:44 +02:00
Tomasz Zieliński
f17d8babc5 Do not route road through the Corpse 2023-12-07 12:57:39 +01:00
Ivan Savenko
653304b004 Implemented accumulating timers, rename creature timer to unit timer 2023-12-07 13:57:16 +02:00
Tomasz Zieliński
5ad682048f Fix 2023-12-06 21:47:20 +01:00
Tomasz Zieliński
69ff1734b0 Use reference 2023-12-06 21:05:27 +01:00
Tomasz Zieliński
6cd19b81dd Working fir for Corpse issue:
- Do not place guard next to blockVis object, if possible
- Do not place two blockVis objects next to each other
2023-12-06 20:49:28 +01:00
Tomasz Zieliński
03fa75c51e Some refactoring, commiting current state after tests 2023-12-06 09:49:41 +01:00
Ivan Savenko
cd5d6a8f77 Fix loading of artifact ID for "transport item" victory condition 2023-12-03 19:45:18 +02:00
Ivan Savenko
a1f4748bbc Fix socket shutdown 2023-12-03 19:44:58 +02:00
Ivan Savenko
773071fee3 Fix AI movement through wandering monsters 2023-12-03 15:58:44 +02:00
Ivan Savenko
be9c7f2099
Merge pull request #3239 from IvanSavenko/pathfinder_fixes
Pathfinder fixes
2023-12-02 12:20:44 +02:00
Ivan Savenko
a7d6068bf6 Do not ignore block-visit objects when computing guardian locations 2023-11-28 19:32:03 +02:00
Ivan Savenko
37d81e916e Fix creature appearance on hota maps 2023-11-28 19:31:38 +02:00
Ivan Savenko
0d6bd0c60a Fix assertion failure in RMG 2023-11-28 16:37:21 +02:00
Ivan Savenko
9277761da5 Do not allow building boat if there is already boat with hero in it 2023-11-28 15:49:03 +02:00
Ivan Savenko
8cbc2c01ad Do not allow moving through most of visitable objects 2023-11-28 12:32:24 +02:00
Ivan Savenko
faead7739a Do not allow U-turns while flying. Works fine, but poor representation in
UI
2023-11-28 12:32:24 +02:00
Ivan Savenko
5d16f035d7 Workaround for crash on winning the game 2023-11-27 14:09:08 +02:00
Ivan Savenko
ee46fc806a Add workaround to loading old map format 2023-11-27 14:09:08 +02:00
Ivan Savenko
f2e7791326 Fix crash on Earthquake cast 2023-11-27 14:09:08 +02:00
Ivan Savenko
0cf490e2c3 Remove custom move constructor. Fixes serialization of visitation status 2023-11-27 14:08:49 +02:00
Ivan Savenko
e00d871082 Fix few more warnings on game start 2023-11-27 14:08:49 +02:00
Ivan Savenko
68de34e508 Workaround for starting map with invalid witch huts 2023-11-27 14:08:49 +02:00
Ivan Savenko
560a1231a6 Fix loading of maps with Grail or Diplomat Suit placed on map 2023-11-27 14:08:49 +02:00
Ivan Savenko
2c8d0338ba Fix error messages in log on map start 2023-11-27 14:08:49 +02:00
Ivan Savenko
6730ec64d5 Fix loading of preset artifacts and creatures on some custom maps 2023-11-26 00:41:49 +02:00
Ivan Savenko
3f60c1b0b3 Remove excessive logging 2023-11-26 00:41:15 +02:00
Ivan Savenko
364977ef40 More meaningful exception messages 2023-11-22 19:11:40 +02:00
Ivan Savenko
e979fb7056 Better fix for allowed heroes in h3m - allow all heroes from mods 2023-11-22 19:11:22 +02:00
Ivan Savenko
f643fff5eb
Merge pull request #3214 from IvanSavenko/bugfixing2
Bugfixing
2023-11-21 22:51:31 +02:00
Ivan Savenko
d3d5b67b22
Merge pull request #3207 from IvanSavenko/skill_selection_fix
Reworked and fixed selection of secondary skills on levelup
2023-11-21 21:35:06 +02:00
Ivan Savenko
9d298f42c3 Do not allow special spells such as Titan Bolt as a reward 2023-11-21 21:22:17 +02:00
Ivan Savenko
07e7d6cc14 Do not allow fleeing from cities without fort 2023-11-21 20:32:07 +02:00
Ivan Savenko
e96cde291a Fix generation of additional monolith types for RMG 2023-11-21 18:32:07 +02:00
Ivan Savenko
d0e320723c Remove no longer relevant assertion 2023-11-21 18:31:43 +02:00
Ivan Savenko
83ca09f483 Fix loading of allowed heroes from h3m maps 2023-11-21 17:23:46 +02:00
Ivan Savenko
d58ea6f28d Fix keymaster visitation status tracking 2023-11-21 16:38:09 +02:00
Ivan Savenko
a4d5c4917b Limit resources to 1000 000 000 to prevent overflow 2023-11-20 20:50:37 +02:00
Ivan Savenko
842d66afbc Fix crash on battlefield deserialization 2023-11-20 19:57:07 +02:00
Ivan Savenko
71825fcc4e Fix crash on artifact movement 2023-11-20 19:56:55 +02:00
Ivan Savenko
e9ac8c67c1 Reworked and fixed selection of secondary skills:
- Fixed off-by-one error when checking for obligatory skills
- If both wisdom and magic school must be offered in the same slot, magic
school will be correctly offered on next levelup
- Obligatory skill can now be proposed for upgrade
- Obligatory skills are now offered using hero class weight instead of
simple random
- If hero has multiple skills not available to his class game will
select random skill instead of first one
- Moved storage of random seed to server instead of mutable member
2023-11-20 18:46:24 +02:00
Ivan Savenko
ff6260e5c5
Merge pull request #3195 from IvanSavenko/identifier_string_serialization
Serialize Identifiers that can be added by mods as strings
2023-11-20 14:07:24 +02:00
Ivan Savenko
aaefc07182
Merge pull request #3198 from IvanSavenko/ai_optimize
AI optimizations
2023-11-20 14:06:25 +02:00
Ivan Savenko
225a1040f4
Merge pull request #3204 from IvanSavenko/fix_campaign_startup
Fix format of custom win/loss conditions for h3 campaigns
2023-11-20 14:06:16 +02:00
Ivan Savenko
a143fa9ac8
Merge pull request #3202 from IvanSavenko/mod_dependencies_check_fix
Always convert mod ID to lower case before using it
2023-11-20 14:06:06 +02:00
Ivan Savenko
07990644b5
Merge pull request #3191 from Laserlicht/touch-introduction
Touch introduction
2023-11-20 14:05:47 +02:00
Ivan Savenko
f7ef474201 Fix format of custom win/loss conditions for h3 campaigns 2023-11-19 23:59:49 +02:00
Ivan Savenko
c717bb5504 Always convert mod ID to lower case before using it 2023-11-19 20:44:28 +02:00
Ivan Savenko
cc71651ee4 Show proper error message if player attempts to load save with missing
identifiers instead of silent crash to main menu
2023-11-19 19:30:55 +02:00
Ivan Savenko
b58301849b Pass functor via reference to avoid costly copies 2023-11-18 19:43:11 +02:00
Ivan Savenko
f5a64a0ac5 Call cheap to compute conditions before costly conditions 2023-11-18 19:42:45 +02:00
Ivan Savenko
3ac80e1f09 Avoid costly std vector construction 2023-11-18 19:42:02 +02:00
Ivan Savenko
54480c6209 Fixed Building ID serialization to use string 2023-11-17 22:12:11 +02:00
Ivan Savenko
c872f8418f Implemented serialization of MapObjectSubID, refactoring of related code 2023-11-17 21:18:34 +02:00
Ivan Savenko
9f906ff1d2 Remove pointer to CGObjectInstance from map header 2023-11-17 16:39:15 +02:00
Ivan Savenko
f53a53051b Fixed map startup 2023-11-17 16:19:07 +02:00
Ivan Savenko
f9e6d1467f Do not select random towns as starting faction for player 2023-11-17 15:57:46 +02:00
Ivan Savenko
843e97349a Identifiers that can be added by mods are now serialized as string 2023-11-17 00:48:55 +02:00
Ivan Savenko
c0e54b338a
Merge pull request #3190 from gamestales/gamestales/962-map-object-morale-description
Use arraytxt for object bonus description
2023-11-16 17:28:09 +02:00
Ivan Savenko
d71b0b6952
Merge pull request #3179 from vcmi/fix-3173
#3173 - fix trap crash on random hero
2023-11-16 17:27:13 +02:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
de02507fff
Merge pull request #3193 from IvanSavenko/warn_mod_dependencies
Show message about mods that failed to load on opening main menu
2023-11-16 17:26:19 +02:00
Laserlicht
2cfbcd067b
videos 2023-11-16 02:58:43 +01:00
Ivan Savenko
d1a4e84255 Show message about mods that failed to load on opening main menu 2023-11-15 17:57:40 +02:00
Ivan Savenko
0705604129
Merge pull request #3185 from IvanSavenko/memleak_fix
Memory leak fixes
2023-11-15 16:00:38 +02:00
Ivan Savenko
59b2cbe4d2 Fix regressions 2023-11-15 15:57:03 +02:00
Ivan Savenko
52050d0ef1 Fix build 2023-11-15 15:55:19 +02:00
Ivan Savenko
6cb1f6ff11 Remove all remaining implicit conversion in lib 2023-11-15 15:55:19 +02:00
Ivan Savenko
96c81be68e Win/loss conditions now use VariantIdentifier. Removed non-implemented
options
2023-11-15 15:55:19 +02:00
Ivan Savenko
13763cad8e Remove few more implicit conversions 2023-11-15 15:55:19 +02:00
Ivan Savenko
34338f4eaa Remove few more implicit conversions 2023-11-15 15:55:19 +02:00
Ivan Savenko
abad4b01ce Remove explicit convesion to int in operators 2023-11-15 15:55:19 +02:00
Ivan Savenko
10e110320b Remove std::vector<boo> from Json Serializer, simplify affected code 2023-11-15 15:55:18 +02:00
Ivan Savenko
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
gamestales-com
faea00a7e1 Use arraytxt for object bonus description 2023-11-15 14:32:40 +01:00
Ivan Savenko
a9f868b379
Merge pull request #3166 from IvanSavenko/simturns_ui
UI for Simturns
2023-11-15 14:10:57 +02:00
DjWarmonger
ad9acd4b5e
Merge pull request #3131 from vcmi/improve_subterranean_gates
More tolerance for Subterranean Gates placement
2023-11-15 09:23:21 +01:00
Ivan Savenko
8392125b04 Disable experimental simturns AI option by default 2023-11-13 19:51:14 +02:00
Ivan Savenko
7d54f6a9c0 Implemented basic support for plural forms in translations 2023-11-13 19:06:56 +02:00
Ivan Savenko
301ac2457a Cleanup 2023-11-13 17:48:55 +02:00
Ivan Savenko
d4496c81f9 Fix memory leaks in library 2023-11-13 16:27:15 +02:00
Ivan Savenko
a6f37b7cd7 Fixed few more memory leaks in client 2023-11-13 16:27:15 +02:00
Ivan Savenko
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
Ivan Savenko
1192dbff15
Merge pull request #3180 from IvanSavenko/bugfixing
Fixes for miscellaneous accumulated issues
2023-11-13 16:26:33 +02:00
Ivan Savenko
c6f9434c8e
Merge pull request #3170 from gamestales/gamestales/2903-morale-description-1442
#2903-morale-description-#1442
2023-11-13 01:53:29 +02:00
Ivan Savenko
9c9127be7d Fix tooltip for spell scrolls on adventure map 2023-11-13 00:08:14 +02:00
Ivan Savenko
bc51d9c772
Merge pull request #3161 from SoundSSGood/art-swap-optimization
Artifacts swap optimization
2023-11-12 19:37:25 +02:00
Ivan Savenko
35ee8c1397 Only apply normal mana regen for retreated heroes in taverns (h3 logic) 2023-11-12 19:30:33 +02:00
Ivan Savenko
bbd3312705 Fix randomization of heroes in campaigns 2023-11-12 19:18:17 +02:00
Ivan Savenko
1d430d0328 Fix initialization order of Seer Huts and Creatures - Seer Hut might be
initialized before creature that its quest is linked to
2023-11-12 19:18:00 +02:00
Ivan Savenko
071fb97b33 Fix tooltip of visited banks after leaving some troops for banks with
creatures as reward
2023-11-12 17:50:52 +02:00
Ivan Savenko
7b92e23f3f Fix crash on right-clicking some visited configurable objects 2023-11-12 16:55:42 +02:00
Andrii Danylchenko
142d0083d5 #3173 - fix trap crash on random hero 2023-11-12 16:14:06 +02:00
Ivan Savenko
5c810df36f Reorganized types registration code 2023-11-11 00:39:08 +02:00
gamestales-com
a574f18e69 #2903-morale-description-#1442 2023-11-10 15:58:19 +01:00
Ivan Savenko
4a7fa9bf8c Simplified CTypeList class 2023-11-08 22:05:36 +02:00
SoundSSGood
57e3abc548 ask assemble regression fixed 2023-11-08 21:59:55 +02:00
SoundSSGood
ce3d407396 artifacts swap optimization 2023-11-08 21:58:48 +02:00
Ivan Savenko
eb167d94a6 Mod compatibility check is now in a separate class and not part of
ModHandler
2023-11-08 21:27:05 +02:00
Ivan Savenko
a61ceaf2a7 Serialization version bump 2023-11-08 21:27:05 +02:00
Ivan Savenko
ed66fc2fb3 Minor optimization of map startup time 2023-11-08 21:27:05 +02:00
Ivan Savenko
4e654a7e6e Better names 2023-11-08 21:27:05 +02:00
Ivan Savenko
0691dfef3b Moved stateful artifact randomization logic to gamestate from handler 2023-11-08 21:27:05 +02:00
Ivan Savenko
34c012d119 Serialization version bump 2023-11-08 21:27:05 +02:00
Ivan Savenko
2cc8b5baeb Fix map startup 2023-11-08 21:27:05 +02:00
Ivan Savenko
54103813dd Remove no longer used serialization methods 2023-11-08 21:27:05 +02:00
Ivan Savenko
c7676bde53 Serialize Enitity classes by their ID 2023-11-08 21:27:05 +02:00
Ivan Savenko
f8a7f6e5a7 Remove remaining boost::mpl usages 2023-11-08 21:27:05 +02:00
Ivan Savenko
ad3c870fb6 Remove serialization of VLC, remove unused code 2023-11-08 21:27:05 +02:00
Ivan Savenko
32a2e540d3 Fix build 2023-11-08 14:00:23 +02:00
Ivan Savenko
6b81012f31 Use variant identifier in netpacks where applicable 2023-11-08 14:00:23 +02:00
Ivan Savenko
63e99a32d7
Merge pull request #3157 from IvanSavenko/switch_rng
Use minstd_rand instead of mt19937 to avoid save game bloat
2023-11-08 13:42:22 +02:00
Ivan Savenko
bdc83bb1b8
Add description why minstd has been chosen 2023-11-07 23:48:12 +02:00
Ivan Savenko
0acf8890ef
Merge pull request #3143 from IvanSavenko/metastring_refactor
Metastring refactor
2023-11-07 23:36:20 +02:00
Ivan Savenko
2835044282
Merge pull request #3159 from IvanSavenko/beta
Merge beta -> develop (rebased)
2023-11-07 22:49:29 +02:00
Ivan Savenko
748d70b191 Fix build 2023-11-07 22:47:11 +02:00
Ivan Savenko
09e42cd9df Remove magic number 2023-11-07 22:47:11 +02:00
Ivan Savenko
5cd340ad85 Remove old code 2023-11-07 22:47:11 +02:00
Ivan Savenko
86a3806bec MetaString refactor to eliminate integer usage for identifiers
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
Ivan Savenko
f4feaea177
Merge pull request #3141 from IvanSavenko/better_tooltips
Better tooltips
2023-11-07 22:46:02 +02:00
Tomasz Zieliński
01f70475ad Missing change 2023-11-07 20:58:22 +01:00
Tomasz Zieliński
c909bd766e Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
# Conflicts:
#	lib/rmg/CMapGenOptions.cpp
#	lib/rmg/CMapGenOptions.h
2023-11-07 20:54:04 +01:00
nordsoft
870aeddad5 Serialize owner for abandoned mine 2023-11-07 20:11:24 +02:00
Ivan Savenko
414c25ea49
Use minstd_rand instead of mt19937 to avoid save game bloat 2023-11-06 23:35:28 +02:00
Ivan Savenko
2f3d14da5c Show quest description only after visit 2023-11-06 20:37:17 +02:00
Ivan Savenko
d7d8177390 Show artifact description and icon on right click if UI tweaks are on 2023-11-06 20:37:17 +02:00
Ivan Savenko
c1c2119f3d Show Seer Hut quest icon on right click. Fix broken tooltip. 2023-11-06 20:37:07 +02:00
Ivan Savenko
1ebb151b41 Show available creatures in owned dwellings on right-click 2023-11-06 20:37:07 +02:00
Ivan Savenko
f039b20653 Improvement for wandering monster tooltip/hover text:
- show Visions information only on right-click (H3 logic)
- show threat level only on right-click and only if UI tweaks are on
2023-11-06 20:37:07 +02:00
Ivan Savenko
2bf599bbee
Merge pull request #3119 from Nordsoft91/rmg-fix
Fix crash caused by duplicated delete
2023-11-05 17:09:52 +02:00
Andrii Danylchenko
0927d3e3e8
Merge pull request #3145 from vcmi/fix-3142
#3142 - fi custom campaign selection screen
2023-11-05 11:12:58 +02:00
Ivan Savenko
5487f07d3b added toEntity overload that accepts generic Services class 2023-11-04 17:04:53 +02:00
Andrii Danylchenko
d50ebd7d58 #3142 - fi custom campaign selection screen 2023-11-04 14:34:18 +02:00
Ivan Savenko
04aeea9b68 use toEnum instead of getNum for switch'es 2023-11-03 19:20:25 +02:00
Ivan Savenko
f1032063bc Restore implicit conversion 2023-11-03 16:03:29 +02:00
Ivan Savenko
cac37df334 Remove unused constructor 2023-11-03 16:03:29 +02:00
Ivan Savenko
184f5a72cc Use toEntity/toXXX methods in Identifier instead VLC objects access 2023-11-03 16:03:29 +02:00
Ivan Savenko
8d5fa41a19 Minor fixes 2023-11-03 16:03:29 +02:00
Ivan Savenko
3634fb2158 Remove int <=> Identifier comparisons 2023-11-03 16:03:29 +02:00
Ivan Savenko
885dce0c27 Replace static_cast's of Identifiers with getNum call 2023-11-03 16:03:29 +02:00
Ivan Savenko
8f25f1fd4b Serialize identifiers without implicit conversion to int 2023-11-03 16:03:29 +02:00
Ivan Savenko
2b9c362d5b Explicitly convert identifier to underlying enumeration 2023-11-03 16:03:29 +02:00
Ivan Savenko
87f6c7354b
Merge pull request #3139 from IvanSavenko/component_variant_identifier
Refactoring of Component class
2023-11-03 15:52:07 +02:00
Ivan Savenko
eea4cbf242
Merge pull request #3136 from IvanSavenko/fix_teleport
Fix crash on teleport cast
2023-11-03 15:49:55 +02:00
Ivan Savenko
02b4947db9 Fix build 2023-11-02 20:01:20 +02:00
Ivan Savenko
056ef00f74 Bugfixing 2023-11-02 13:52:58 +02:00
Ivan Savenko
f201e3019a Fix crash on right-clicking rewardable objects with no hero selected 2023-11-02 12:00:05 +02:00
Ivan Savenko
10e50548e7 Converted Component class to use VariantIdentifier instead of int 2023-11-02 12:00:04 +02:00
Ivan Savenko
b42f073f0c Stabilization 2023-11-01 18:26:57 +02:00
Ivan Savenko
e57276b7c5 Correctly initialize battleID for teleport action 2023-11-01 17:24:41 +02:00
Ivan Savenko
8346d71c98 Remove more subID access 2023-11-01 14:44:05 +02:00
Ivan Savenko
5cdbf408c7 Slightly simplified heroes initialization 2023-11-01 14:43:20 +02:00
Ivan Savenko
461c481ef3 Fix game startup 2023-11-01 14:43:20 +02:00
Ivan Savenko
cc30bdda04 Remove few more subID usages 2023-11-01 14:43:20 +02:00
Ivan Savenko
7a09646009 Cleaned up dwelling randomization 2023-11-01 14:43:20 +02:00
Ivan Savenko
dcb8f4fc7b Moved object type randomization to object class 2023-11-01 14:43:20 +02:00
Ivan Savenko
03e1169781 Reduced number of accesses to CGObjectInstance::subID 2023-11-01 14:43:20 +02:00
Ivan Savenko
7107b3202f
Merge pull request #3069 from SoundSSGood/artifact-location-id
ArtifactLocation now use ID for artHolder identification
2023-11-01 14:41:36 +02:00
Andrii Danylchenko
caffc8f3cd
Merge pull request #3122 from vcmi/fix-2993
#2993 - destruct battle info first when destructing CGameState
2023-10-31 21:43:55 +02:00
Andrii Danylchenko
25b64dd08b
Update lib/gameState/CGameState.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-10-31 21:43:06 +02:00
Tomasz Zieliński
5e36ef92c7 Support for "selectAll" reward 2023-10-31 18:21:50 +01:00
Tomasz Zieliński
29f023eaa5 More tolerance for Subterranean Gates placement 2023-10-31 16:04:21 +01:00
Tomasz Zieliński
6625831cf6 Use the object templates with least terrains allowed. 2023-10-31 09:07:53 +01:00
Tomasz Zieliński
6e7b68d0e6 Unused variable, unused code 2023-10-30 21:33:49 +01:00
Tomasz Zieliński
80198f21d8 Revert "Fix unused variable"
This reverts commit c753a1fdf7.
2023-10-30 21:07:50 +01:00
Tomasz Zieliński
3b7b21bcc8 Fix unused variable 2023-10-30 21:07:14 +01:00
Tomasz Zieliński
c753a1fdf7 Fix unused variable 2023-10-30 20:59:13 +01:00
Tomasz Zieliński
e105b23a37 Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
# Conflicts:
#	Mods/vcmi/config/vcmi/rmg/heroes3/newcomers.JSON
#	Mods/vcmi/config/vcmi/rmg/heroes3/southOfHell.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/2sm0k.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/2sm2i(2).JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/3sb0b.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/3sb0c.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/5sb0a.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/5sb0b.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/7sb0b.JSON
#	Mods/vcmi/config/vcmi/rmg/symmetric/7sb0c.JSON
#	client/lobby/RandomMapTab.cpp
2023-10-30 20:08:13 +01:00
Tomasz Zieliński
5962e5c0e0 Fix infinite loop 2023-10-30 19:47:59 +01:00
Tomasz Zieliński
ec0bf05163 Rename "cpu" parameter to correct "humans" 2023-10-30 17:21:03 +01:00
Ivan Savenko
29a78c14a2
Merge pull request #3113 from Alexander-Wilms/develop
Fix small issues
2023-10-30 11:02:28 +02:00
Tomasz Zieliński
f39edf9413 Update ally and enemy flags when selecting new template 2023-10-30 07:48:51 +01:00
Tomasz Zieliński
4f2cde018c Fixed most of reported issues, removed unused code. 2023-10-29 21:25:39 +01:00
Andrii Danylchenko
1418e6884e
Merge pull request #2847 from vcmi/trap-1912
#1912 trap, exception on adding duplicating hero
2023-10-29 19:24:47 +02:00
SoundSSGood
7e6ab5e87b fix test & fix build & suggested changes 2023-10-29 17:46:14 +02:00
SoundSSGood
c2f658d638 Bulk move artifacts. id 2023-10-29 17:46:13 +02:00
SoundSSGood
3c5527a222 ArtifactLocation now use ID for artHolder identification part3 2023-10-29 17:46:13 +02:00
SoundSSGood
ab2f6abb87 ArtifactLocation now use ID for artHolder identification part2 2023-10-29 17:46:13 +02:00
SoundSSGood
61fc236d79 ArtifactLocation now use ID for artHolder identification part1 2023-10-29 17:46:13 +02:00
Ivan Savenko
207968ced3
Merge pull request #3116 from IvanSavenko/bonus_fixes
Bonuses fixes
2023-10-29 16:32:48 +02:00
Alexander Wilms
5cbc75d3b7 Merge remote-tracking branch 'upstream/develop' into develop 2023-10-29 13:35:37 +00:00
Ivan Savenko
e2cffd4c7b
Merge pull request #3118 from rilian-la-te/glamor-slight-bonus-fixes
Small bonus fixes
2023-10-29 15:23:07 +02:00
Ivan Savenko
3016014543
Merge pull request #3110 from IvanSavenko/mod_compat_fix
Mod compatibility fixes
2023-10-29 14:30:04 +02:00
Ivan Savenko
be5505690d
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-10-29 13:47:56 +02:00
Ivan Savenko
cc5bc40103
Merge pull request #3105 from IvanSavenko/fix_conflicts
Fix handling of conflicting mods by game client
2023-10-29 13:47:04 +02:00
Ivan Savenko
0169c65937
Merge pull request #3100 from IvanSavenko/split_net_packs
Split netpacks.h into multiple files
2023-10-29 13:46:40 +02:00
Tomasz Zieliński
368a185008 Cleaning up the code 2023-10-29 10:05:24 +01:00
Andrii Danylchenko
b579ca8a33 #1912 trap, exception on adding duplicating hero 2023-10-29 11:03:37 +02:00
Andrii Danylchenko
4d6d64837f #2993 - destruct battle info first when destruction CGameState 2023-10-29 09:41:22 +02:00
nordsoft
35e7fbb366 Fix crash cause by duplicated delete 2023-10-28 22:22:30 +02:00
Tomasz Zieliński
07dac8b6d4 Works more or less 2023-10-28 20:30:38 +02:00
Konstantin
df07b27129 parseSelector: fix anyOf and noneOf 2023-10-28 18:35:59 +03:00
Ivan Savenko
36eacf99d5 Cleanup 2023-10-28 17:58:08 +03:00
Ivan Savenko
4ba8014573 Added subtype for SPELL_DURATION 2023-10-28 17:57:56 +03:00
Ivan Savenko
1e0ea5f1f0 documented NEGATIVE_EFFECTS_IMMUNITY, fixed subtype loading 2023-10-28 17:56:11 +03:00
Ivan Savenko
1459006916 Added separate bonus for native terrain check 2023-10-28 17:54:58 +03:00
Alexander Wilms
3d8dd35d43 lib/NetPacksLib.cpp: Directly assign to the "std::optional", without dereferencing it.
Assigning to an optional should directly target the optional
2023-10-28 10:15:50 +00:00
Alexander Wilms
703ab677ba lib/mapObjects/IMarket.cpp: Show error message about failed dynamic_cast() even if cast object is nullptr 2023-10-27 23:43:39 +00:00
Alexander Wilms
03835236fb lib/mapObjects/CGPandoraBox.cpp: Identical sub-expressions on both sides of operator "||".
Identical expressions should not be used on both sides of a binary operator
2023-10-27 23:40:55 +00:00
Alexander Wilms
860f6150aa lib/mapObjects/IMarket.cpp: Forming reference to null pointer
Null pointers should not be dereferenced
2023-10-27 23:34:11 +00:00
Alexander Wilms
f01ec55d21 Use the "nullptr" literal.
"nullptr" should be used to denote the null pointer
2023-10-27 18:18:59 +00:00
Alexander Wilms
70acf987b4 lib/BasicTypes.cpp: Remove the unary minus operator or change the expression's underlying type.
Unary minus should not be applied to an unsigned expression
2023-10-27 14:47:09 +00:00
Alexander Wilms
2b21001743 lib/rmg/RoadPlacer.cpp: Remove "e" from this "throw" statement to rethrow the original exception.
The original exception object should be rethrown
2023-10-27 14:35:03 +00:00
Ivan Savenko
feae8b6ae4 Do not allow loading new objects into another mod namespace 2023-10-26 15:32:46 +03:00
Ivan Savenko
6337b0d3b9 Fix potential crash on loading mod with invalid handler name 2023-10-26 15:32:13 +03:00
Tomasz Zieliński
36911d1e0a Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
# Conflicts:
#	client/lobby/RandomMapTab.cpp
2023-10-26 10:31:41 +02:00
nordsoft
b6b75beb29 Fixes for map editor
1) fix owner serialization for hero placeholder
2) fix roads/rivers layout
3) fix lasso
2023-10-24 23:58:26 +02:00
Ivan Savenko
c202f58a15 Account for conflicts (and reverse-conflicts) when loading mods 2023-10-24 14:01:20 +03:00
Ivan Savenko
5cbf5031ea move SetStackEffect to a separate file 2023-10-24 01:27:52 +03:00
Ivan Savenko
77780e0de5 Fix crash on accessing "any" spellschool via bonus system 2023-10-23 22:28:36 +03:00
Ivan Savenko
5523f05284 Moved ArtifactLocation to a separate file 2023-10-23 19:02:28 +03:00
Ivan Savenko
b88a8da4e8 Split off some netpack structures into separate files 2023-10-23 13:59:15 +03:00
Ivan Savenko
d1d4db26e0 Moved existing files to new directory 2023-10-22 22:20:36 +03:00
Ivan Savenko
3880ea58b9 Merge branch 'josch/dos2unix' into develop 2023-10-22 18:39:03 +03:00
Ivan Savenko
3867e512f7
Merge pull request #3064 from IvanSavenko/bonus_metaidentifier
Type-safe bonus system
2023-10-22 18:34:12 +03:00
Ivan Savenko
b0a67a66e4
Merge pull request #3092 from IvanSavenko/compatibility_mods
Better support for compatibility mods
2023-10-22 18:02:45 +03:00
Ivan Savenko
8df39c43a0 Fix game loading 2023-10-22 17:04:14 +03:00
Ivan Savenko
a5f0429691
Merge pull request #3083 from Nordsoft91/editor-improvements-1.4
Redesign map editor rendering
2023-10-22 16:56:39 +03:00
Ivan Savenko
4f47555977 Split OBJECT bonus source into OBJECT_TYPE and OBJECT_INSTANCE 2023-10-22 16:55:19 +03:00
Ivan Savenko
ac925bb786 Renamed new types for consistency with code style 2023-10-22 16:55:19 +03:00
Ivan Savenko
31cf3442af Update docs 2023-10-22 16:55:19 +03:00
Ivan Savenko
36a1d6c415 Removed remaining integer bonus subtypes from configs 2023-10-22 16:55:19 +03:00
Ivan Savenko
e54ba7b977 Implement loading of bonus source type 2023-10-22 16:55:19 +03:00
Ivan Savenko
3b010d9596 Renamed MetaIdentifier to VariantIdentifier 2023-10-22 16:55:19 +03:00
Ivan Savenko
80e6485965 MetaIdentifier now uses std::variant internally 2023-10-22 16:55:19 +03:00
Ivan Savenko
b394158dc9 Bonus Source ID now uses metaidentifier 2023-10-22 16:55:18 +03:00
Ivan Savenko
77facf9387 Implement missing functions, fixes linking errors 2023-10-22 16:54:56 +03:00
Ivan Savenko
910ad50417 Fix client & server compilation 2023-10-22 16:54:48 +03:00
Ivan Savenko
0a10fc30b8 (lib) Bonus subtype is now stored as metaidentifier that can store any
other identifier inside it
2023-10-22 16:54:43 +03:00
Ivan Savenko
7e034814c1 Partially revert "Translation" type changes to avoid breaking mods 2023-10-22 16:51:08 +03:00
Ivan Savenko
454ba44ac5
Merge pull request #2988 from IvanSavenko/configurable_extensions
Extension of configurable object functionality
2023-10-22 16:24:47 +03:00
Ivan Savenko
8752551786
Merge pull request #3086 from Laserlicht/show_random
show random maps
2023-10-22 12:29:31 +03:00
Ivan Savenko
adf58fa834 Hide not installed translation mods to languages other than selected one 2023-10-22 00:07:21 +03:00
Ivan Savenko
b50ebba1ba Added mod type "Compatibility" that is hidden in launcher 2023-10-21 23:55:20 +03:00
Ivan Savenko
b2c336de0d JsonNode now uses std::variant internally. Fixes crash on deserialize 2023-10-21 20:41:58 +03:00
Laserlicht
0eba0ee686
show random maps 2023-10-21 02:12:34 +02:00
Ivan Savenko
1c4a142849 Fix remaining TODO's 2023-10-21 00:44:57 +03:00
nordsoft
b9a660f6c3 Redesign map editor rendering 2023-10-20 01:25:06 +02:00
Nordsoft91
d03b75696a
Merge pull request #3067 from Nordsoft91/editor-improvements-1.4
Add hero placeholder properties
2023-10-19 22:23:58 +02:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.

This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.

Files that are Windows specific like *.vcxproj and *.props files were
not converted.

Closes: #3073
2023-10-19 16:23:21 +02:00
Ivan Savenko
4c0eabf20c Show guards preview for visited banks on right click 2023-10-19 15:41:59 +03:00
Ivan Savenko
01920bb74e Fix treasure chests 2023-10-19 15:41:41 +03:00
Ivan Savenko
8f4791914e Show content preview only for Witch Huts / Shrines / Tree 2023-10-19 15:17:58 +03:00
Ivan Savenko
e0f6b582f5 Display object description only on right-click 2023-10-19 14:36:11 +03:00
Ivan Savenko
530c70c282 Added object descriptions present in H3 2023-10-19 13:34:15 +03:00
Ivan Savenko
901fd77699 Fix Cover of Darkness 2023-10-18 18:04:01 +03:00
Ivan Savenko
8f33fdcd83 Allow learning banned spell from Scholars (H3 logic) 2023-10-18 17:38:40 +03:00
Ivan Savenko
ce480c8c84 Fixed Scholar handling 2023-10-18 17:14:22 +03:00
Ivan Savenko
f7718628dc
Merge pull request #3074 from Nordsoft91/quests
Fix warnings about empty kill target
2023-10-18 12:34:44 +03:00
nordsoft
966ffe4377 Fix warnings about empty kill target 2023-10-18 00:13:32 +02:00
Alexandre Detiste
15e45f966c typos found by lintian 2023-10-17 22:06:08 +02:00
Ivan Savenko
48eba6c362 Fix Witch Hut messages to match H3 2023-10-17 16:52:57 +03:00
Ivan Savenko
eedaa63f5f Hnadling of Shrine messages now matches H3 2023-10-17 16:35:34 +03:00
Ivan Savenko
927ce4e60e Improvements to rewardable objects popups 2023-10-16 23:55:37 +03:00
Nordsoft91
1ffc246c8b
Merge pull request #3051 from Laserlicht/name_change
possibility to change name in lobby
2023-10-16 22:28:31 +02:00
nordsoft
f6d7755c6a Add hero placeholder properties 2023-10-16 22:24:12 +02:00
Ivan Savenko
850d0ff8eb Show (mostly) correct messages in Shrines 2023-10-16 18:16:15 +03:00
Nordsoft91
02c1425939
Merge pull request #3046 from Nordsoft91/editor-improvements-1.4
Add map editor zoom and objects lock functionality
2023-10-16 01:22:18 +02:00
Ivan Savenko
0ea44520fd Fix build 2023-10-16 00:12:39 +03:00
Ivan Savenko
e10de0594e Scholar is now configurable object (partial) 2023-10-16 00:12:39 +03:00
Ivan Savenko
bb05c2dea5 Implemented configurable shrine 2023-10-16 00:12:39 +03:00
Ivan Savenko
dd841bdaa7 Use enum instead of mix of bool's and int's for tile reveal 2023-10-16 00:12:38 +03:00
Ivan Savenko
98fd939ed6 Cartographer/Observatory is now configurable object 2023-10-16 00:12:38 +03:00
Ivan Savenko
f3ed589e35 Use same fow radius calculation as in H3 2023-10-16 00:12:38 +03:00
Ivan Savenko
a3b2354481 Implemented visit mode "limiter". Fixed h3m variable loading 2023-10-16 00:12:38 +03:00
Ivan Savenko
fd01a25352 Implemented basic version of configurable Witch Hut 2023-10-16 00:12:38 +03:00
Ivan Savenko
79b7518b0e Unified Json randomization logic for all entity types 2023-10-16 00:12:38 +03:00
Ivan Savenko
aa0b064154 Fixed randomization of artifacts on some custom maps 2023-10-16 00:12:38 +03:00
nordsoft
4651893b48 Fix hota quests 2023-10-14 00:15:15 +02:00
nordsoft
5f52e6b35e Revert "Auxiliary commit to revert individual files from 2bf8cdc9f525099348439c700af0466955f01b30"
This reverts commit d9952495391f7ac77dd32dcf33f487e146b3655b.
2023-10-13 23:35:37 +02:00
Laserlicht
0c6b1ca3c8
possibility to change name 2023-10-13 23:04:35 +02:00
nordsoft
55900ceb66 Add portraits delegate 2023-10-13 20:15:29 +02:00
nordsoft
2bf8cdc9f5 Hota-related bugs were fixed 2023-10-13 12:52:45 +02:00
nordsoft
fbf5492fd9 Remove unnecessary virtuals 2023-10-12 13:30:01 +02:00
nordsoft
74a90cde5d Fix hero level limiter 2023-10-12 12:52:01 +02:00
nordsoft
14b030d2eb Support hota quest gates 2023-10-11 23:15:24 +02:00
nordsoft
7ccd4cdcb2 Refactor quests progress 2023-10-11 21:10:42 +02:00
nordsoft
22c9eecd7d Fix mistake 2023-10-11 08:54:54 +02:00
nordsoft
2b88e6941c Fix mana limiter 2023-10-11 01:43:24 +02:00
nordsoft
6093f042dd Text container fix 2023-10-11 01:26:07 +02:00
nordsoft
8335fffaea Fix rumors 2023-10-11 00:58:32 +02:00
nordsoft
5b10b457cf Fix code review suggestions 2023-10-11 00:47:19 +02:00
nordsoft
62c4e8a98d Fix compiling 2023-10-10 23:44:29 +02:00
nordsoft
31d71ddd25 Minor fixes in text 2023-10-10 23:44:29 +02:00
nordsoft
5eeda3cd25 Quests mostly work 2023-10-10 23:44:29 +02:00
nordsoft
d2d64dbddd Bugfixes 2023-10-10 23:44:29 +02:00
nordsoft
bb238f9b72 New quests work 2023-10-10 23:44:29 +02:00
nordsoft
63bdfb8ff6 New quests implemented 2023-10-10 23:44:29 +02:00
nordsoft
1460541ee5 New limiter based quests 2023-10-10 23:44:29 +02:00
nordsoft
b7568a160c Fixes 2023-10-10 23:44:29 +02:00
nordsoft
6a7b23c007 Additional properties for limiter 2023-10-10 23:44:28 +02:00
nordsoft
937a8d63c7 Check for artifacts copies in limiter 2023-10-10 23:44:28 +02:00
nordsoft
0cf3205e15 Fix quest regressions 2023-10-10 23:44:28 +02:00
nordsoft
d7d435dcb7 Add game pause 2023-10-08 16:03:57 +02:00