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

1391 Commits

Author SHA1 Message Date
Ivan Savenko
4e7809d934 Take resources on quest completion instead of giving them 2024-06-17 20:18:34 +00:00
Ivan Savenko
c68f2da977 Fix initialization of gold pile from random resource with fixed amount 2024-06-17 20:08:07 +00:00
Ivan Savenko
b4c6906471 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-06-11 19:22:23 +00:00
Ivan Savenko
9c05e80315 Fix Admiral's Hat whirlpool immunity. Reduce usage of
convertFromVisitablePos
2024-06-11 14:31:11 +00:00
Ivan Savenko
a8dcbd8ff9
Merge pull request #4061 from Laserlicht/hota_buildings
Support HotA thives guild
2024-06-05 12:41:35 +03:00
Ivan Savenko
b638b0b679 Fixed possible crash if hero class has no valid commander ID 2024-06-01 07:40:48 +00:00
Ivan Savenko
df83fa33a1 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-31 09:34:21 +00:00
Laserlicht
3f9e53acc8 fix typo 2024-05-30 21:57:58 +02:00
Ivan Savenko
5d6470e527
Merge pull request #4025 from IvanSavenko/shared_ptr_lib
[1.6] Use shared_ptr for library entities
2024-05-30 19:14:06 +03:00
Ivan Savenko
5ecb527252
Merge pull request #3997 from IvanSavenko/serialization_refactor
[1.6] Serialization refactor
2024-05-30 19:13:21 +03:00
Ivan Savenko
888149c6f6 Implemented simple versioning system for multiplayer 2024-05-29 20:08:32 +00:00
Tomasz Zieliński
098c88eff4 Update serialization version 2024-05-29 20:52:59 +02:00
Tomasz Zieliński
3ac603767d Basic config for regular unit placement in Black Tower 2024-05-29 20:20:33 +02:00
Ivan Savenko
8754e0ebb3 Code formatting and cleanup 2024-05-17 17:10:29 +00:00
Ivan Savenko
7461df161c lib now uses shared_ptr for entities. Removed manual memory management. 2024-05-17 15:04:05 +00:00
Ivan Savenko
721b15d9de Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-17 08:26:37 +00:00
Ivan Savenko
42f7a48fa4 Simplified integer serialization code 2024-05-16 18:53:49 +00:00
Ivan Savenko
84bc6c42db Added 'Serializeable' base class for classes serializeable by pointer 2024-05-16 18:40:59 +00:00
Dydzio
f20ef4f1b3 Fix hero order for giving bonuses in town to match H3. 2024-05-11 20:21:02 +02:00
Ivan Savenko
2521557f68 Fixed some newly reported issues from SonarCloud 2024-05-10 13:40:24 +00:00
Ivan Savenko
2ddb41e654 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-05-10 08:09:51 +00:00
Ivan Savenko
8b861fc58f Do not check for guards when teleporting using means other than DD 2024-05-07 20:05:23 +00:00
Tomasz Zieliński
9763ea2ecb Style 2024-05-07 09:14:16 +02:00
Tomasz Zieliński
dd55188b77 Option to define surface or underground level for obstacle set 2024-05-07 07:15:00 +02:00
Ivan Savenko
30e0a16ee9 Fix some 'new' issues reported by Sonar Cloud 2024-05-06 15:33:30 +00:00
Ivan Savenko
47c3e6f4b6 Simplified code 2024-05-02 17:53:36 +03:00
Ivan Savenko
08ce3a8338 Clarified code 2024-05-02 17:32:38 +03:00
Ivan Savenko
f6e5f09d50 Fix possible uninitialized variables 2024-05-02 17:32:27 +03:00
Ivan Savenko
b0effdbbf4
Merge pull request #3836 from vcmi/unpropagate_bonus
Fixes issue of bonuses not correctly removed
2024-04-28 13:10:23 +03:00
Tomasz Zieliński
04691c851f Fixes issue of bonuses not correctly removed 2024-04-26 19:22:20 +02:00
Ivan Savenko
7f732b6d0a Fix thrown exception on random monster initialization 2024-04-24 22:57:13 +03:00
Ivan Savenko
5454d01316 Provide more information in thrown exceptions for unfixed crashes 2024-04-22 16:40:43 +03:00
Ivan Savenko
a6dead7725 Fixed loading of text strings for hota quests 2024-04-22 13:49:17 +03:00
Ivan Savenko
ffec4b9154 Explicitly ban 'large' dwellings from random selection
Old code was relying on specific sorting order leading to easy to break
logic
2024-04-22 12:35:55 +03:00
Ivan Savenko
55756dbc43
Merge pull request #3785 from dydzio0614/bank-revisit-fix
Empty treasure bank does not ask for enter anymore
2024-04-22 11:06:58 +03:00
Ivan Savenko
1b469036a3
Merge pull request #3784 from dydzio0614/quick-dwellings-visit
Add handling for yes/no dialogs that can be safely skipped by player
2024-04-22 11:06:40 +03:00
Andrii Danylchenko
ae69311023 #3788 - fix passing wirlpool with only commander alive 2024-04-20 15:28:57 +03:00
Ivan Savenko
9353e24fa5
Merge pull request #3792 from IvanSavenko/bugfixing
Fixes for minor issues
2024-04-19 12:35:25 +03:00
Ivan Savenko
d8baa3c145
Merge pull request #3789 from dydzio0614/fix-sounds
Fix some missing/redundant sounds to match H3
2024-04-18 21:34:53 +03:00
Ivan Savenko
c87e60740b Fixes hota prisons replacing every h3 prison on h3m maps 2024-04-18 19:13:32 +03:00
Dydzio
98375cc627 Limit showing empty message instantly to creature banks and dragon utopia 2024-04-17 22:08:17 +02:00
Dydzio
1401211145 Fix missing/redundant sounds to match H3 2024-04-17 21:02:43 +02:00
Dydzio
20eaf17a18 Empty treasure bank does not ask for enter anymore 2024-04-17 01:25:58 +02:00
Dydzio
19453aab41 Add handling for yes/no dialogs that can be safely skipped by player 2024-04-17 01:08:27 +02:00
Dydzio
f7dd80c732 Remove redundant double sound play on mine capture 2024-04-16 00:01:37 +02:00
DjWarmonger
0808a8b36f
Merge pull request #3714 from vcmi/biome_system
Biome system implementation
2024-04-13 21:32:13 +02:00
Tomasz Zieliński
f491f10d81 Final tweaks 2024-04-13 19:21:01 +02:00
Tomasz Zieliński
e28fd869aa Remove empty obstacle sets, just in case. 2024-04-13 14:53:00 +02:00
Tomasz Zieliński
a7d0f0626a Docs & final touches 2024-04-12 14:53:07 +02:00
Tomasz Zieliński
4fa7f0e93d Also allow filtering biomes by faction(s) 2024-04-12 10:25:13 +02:00
Tomasz Zieliński
6899acc1d7 Fix alignments check 2024-04-12 09:38:45 +02:00
Tomasz Zieliński
1f81ddbac4 Fixes in object loading 2024-04-12 06:29:01 +02:00
Tomasz Zieliński
68bb36f7c7 Compile fixes 2024-04-11 18:38:50 +02:00
Tomasz Zieliński
a356fdaf2a Allow filtering obstacles by faction aligmnment 2024-04-11 18:10:14 +02:00
SoundSSGood
738a89bb99 Market fix 2024-04-10 23:30:31 +03:00
Ivan Savenko
bcd4a8c961
Merge pull request #3736 from IvanSavenko/fix_server_translations
Do not translate strings on server side
2024-04-10 19:12:34 +03:00
Tomasz Zieliński
6c9d18a85c Allow multiple terrains per biome 2024-04-10 09:40:12 +02:00
Tomasz Zieliński
5c4d1703ca Fix for loading templates from other mods 2024-04-09 22:09:03 +02:00
Ivan Savenko
8aaa9e63dd Fix build 2024-04-09 18:56:28 +03:00
Tomasz Zieliński
8d9489c368 Fix conflicts with templates loaded from mods 2024-04-09 17:29:33 +02:00
Ivan Savenko
42616cf4e8 Fix text formatting, fix todo's 2024-04-09 16:13:30 +03:00
Ivan Savenko
18ece6dcf6 Remove some usages of server-side translations 2024-04-09 16:13:30 +03:00
Ivan Savenko
9e49587749 Replace bonus string description with metastring that can properly
handle translations
2024-04-09 16:13:30 +03:00
Tomasz Zieliński
c7149103ce Compile fix 2024-04-08 15:24:52 +02:00
Tomasz Zieliński
224e971c4b Unused variable 2024-04-08 14:56:21 +02:00
Tomasz Zieliński
3e3959d360 Move all OH3 objects and obstacle sets to a mod 2024-04-08 12:50:41 +02:00
Ivan Savenko
4947baebee Fix crash on loading vmap's 2024-04-08 13:16:34 +03:00
Tomasz Zieliński
b0cff23c37 Cleanup 2024-04-06 15:06:08 +02:00
Tomasz Zieliński
305e2bdf2f Load obstacle sets from json in mods 2024-04-05 08:31:05 +02:00
Tomasz Zieliński
b1a5693612 Proof of concept with OH3 obstacles 2024-04-04 21:39:01 +02:00
Ivan Savenko
1f487dab49
Merge pull request #3685 from dydzio0614/small-fixes
Small fixes
2024-03-28 13:17:57 +02:00
Kris-Ja
05bbb45824 change MANA_PER_KNOWLEGDE to percentage 2024-03-23 20:28:49 +01:00
Tomasz Zieliński
a93dd25867 Update docs to be in line with existing code. 2024-03-14 10:22:15 +01:00
Tomasz Zieliński
69cfc83be3 Fix issue found by Sonarcloud 2024-03-09 08:17:46 +01:00
Tomasz Zieliński
87bf4b752a Better implementation of granting multiple rewards 2024-03-09 07:38:11 +01:00
Tomasz Zieliński
fe8bcc5758 Merge remote-tracking branch 'origin/develop' into reward_select_all
# Conflicts:
#	lib/mapObjects/CRewardableObject.cpp
2024-03-09 06:50:56 +01:00
Ivan Savenko
29860848a5 Cleanup 2024-02-26 12:55:49 +02:00
Ivan Savenko
08a27663f9 Reworked JsonNode constructors to more logical form 2024-02-26 12:55:49 +02:00
Ivan Savenko
110ef5f66e
Merge pull request #3614 from IvanSavenko/sonarcloud_fixes_2
Sonarcloud fixes 2
2024-02-14 16:44:58 +02:00
Ivan Savenko
3740f8b02f Moved bonus parsing to a new file 2024-02-14 15:48:06 +02:00
Ivan Savenko
c3957c2c2a Moved json files to new directory, split on per-class basis 2024-02-14 13:08:24 +02:00
Ivan Savenko
c23953eac5 Remove custom casts 2024-02-14 12:56:37 +02:00
Alexander Wilms
522cb571b3 Remove redundant virtual specifiers
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`

```python
import os

with open("../redundant_virtual.txt") as f:
    for line in f:
        print()
        line: str = line.strip()
        print(line)
        tmp = line.split(":")
        file = tmp[0].strip()
        code = tmp[-1].strip()
        print(file)
        print(code)
        new_code = code.replace("virtual ", "", 1)
        # https://superuser.com/a/802490/578501
        command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
        os.system(command)
```
2024-02-10 20:46:13 +01:00
Dydzio
4e927d6417 Fix missing gold component in "join for money" dialog 2024-02-07 21:57:25 +01:00
Ivan Savenko
18f9d29fd2 Fix typo 2024-02-07 00:15:20 +02:00
Ivan Savenko
9e09fe08e1 Fixed duplicated hero check - was used too early, before hero type is
loaded
2024-02-05 21:55:48 +02:00
Ivan Savenko
87059be67b Added range checks to values read from h3m.
Fixes reading of morale/luck values (-3..3) as unsigned leading to
overflow.
2024-02-05 21:27:55 +02:00
Ivan Savenko
58ee72f684
Merge pull request #3588 from IvanSavenko/fix_regressions
Fix regressions
2024-02-01 22:27:52 +02:00
Ivan Savenko
7247038458
Merge pull request #3574 from SoundSSGood/altar-fixes
Artifacts altar related fixes
2024-02-01 22:27:41 +02:00
Ivan Savenko
e66a982c96 Fix backpack availability check in Grail digging 2024-02-01 18:21:54 +02:00
Ivan Savenko
049c352511 Added loss condition "lose part of Angelic Alliance" to Yog campaign 2024-01-31 12:52:16 +02:00
Ivan Savenko
2e4895766a Implemented tracking of objects destroyed by players 2024-01-31 01:37:33 +02:00
Ivan Savenko
ccea7fc1fb Yog will now only get Attack or Defence on leveling up 2024-01-31 00:18:10 +02:00
Ivan Savenko
a9866bb5c6 Added RandomGeneratorUtil::nextItemWeighted convenience method 2024-01-31 00:17:40 +02:00
Ivan Savenko
7992144763 Gem class is now Sorceress 2024-01-30 23:34:27 +02:00
Ivan Savenko
3abc26e789 Moved checks for campaign heroes to CGHeroInstance class 2024-01-30 23:33:58 +02:00
SoundSSGood
652f009181 arts altar - arts holder 2024-01-27 15:28:21 +02:00
Ivan Savenko
0c07384293 Refactoring of serialization versioning handling
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum

Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
Ivan Savenko
ffd604c114 Removed unnecessary access to IHandler::objects 2024-01-19 13:56:06 +02:00
Ivan Savenko
6e629a6a5f split getBonusLocalFirst into two distinct method:
- const method getFirstBonus that returns single matching bonusToString
- non-const method getLocalBonus that returns bonus from current node
2024-01-19 13:56:06 +02:00
Ivan Savenko
496c13b34a Stabilization 2024-01-19 13:56:06 +02:00
Ivan Savenko
ea1f05d15a Stabilization 2024-01-19 13:55:22 +02:00
Ivan Savenko
60ffb81b33 Replaced remaining placeholder code with callbacks 2024-01-19 13:55:22 +02:00
Ivan Savenko
e67e4430ba Removed most of non-const static fields in lib. Reduced header includes. 2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5 Make IObjectInterface::cb non-static 2024-01-19 13:55:21 +02:00
Ivan Savenko
d5c4478816 Remove most of non-const access to VLC entities 2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3 Merge remote-tracking branch 'vcmi/master' into develop 2024-01-19 13:49:54 +02: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
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
cf47fbb729
Merge pull request #3435 from IvanSavenko/bugfixing
[1.4.3] Bugfixing
2024-01-06 13:06: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
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
Joakim Thorén
01f602ab92 Fixes warning about usage of unused variable 2023-12-27 22:25:29 +01:00
Ivan Savenko
4835a1f695 Fix possible crash on abandoned mine with no valid resources 2023-12-24 22:05:47 +02:00
Ivan Savenko
ec5fcb3e7c Do not ignore 'canRefuse' flag for select mode 'first' and 'random' 2023-12-23 00:35:51 +02:00
Dydzio
39c3db04f3 Add missing antimagic functionality to antimagic garrisons 2023-12-21 18:09:33 +01: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
d187309eed Fixed typo - different type was used to select ID and subID 2023-12-16 13:46:29 +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
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
933598dd91
Merge pull request #3273 from vcmi/fix_passable_hero
Fix passable hero
2023-12-10 22:45:33 +02:00
Ivan Savenko
7187ba2d79 Fix crash on visiting Seer Hut with no reward 2023-12-10 19:48:44 +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
2de7a3939a Fix text identifier for generic signs without custom text 2023-12-09 18:09:57 +02: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
Laserlicht
a24e78a210 real unlimited movement (like in OH3) 2023-12-09 13:42:09 +01:00
Ivan Savenko
c9de10ea74
Merge pull request #3259 from vcmi/fix_corpse
Fix corpse
2023-12-07 23:55:07 +02: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
Ivan Savenko
be9c7f2099
Merge pull request #3239 from IvanSavenko/pathfinder_fixes
Pathfinder fixes
2023-12-02 12:20:44 +02:00
Ivan Savenko
37d81e916e Fix creature appearance on hota maps 2023-11-28 19:31:38 +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
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
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
d58ea6f28d Fix keymaster visitation status tracking 2023-11-21 16:38:09 +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
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
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
59b2cbe4d2 Fix regressions 2023-11-15 15:57:03 +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
Ivan Savenko
301ac2457a Cleanup 2023-11-13 17:48:55 +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
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
gamestales-com
a574f18e69 #2903-morale-description-#1442 2023-11-10 15:58:19 +01:00
SoundSSGood
57e3abc548 ask assemble regression fixed 2023-11-08 21:59:55 +02:00
Ivan Savenko
ed66fc2fb3 Minor optimization of map startup time 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
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
6b81012f31 Use variant identifier in netpacks where applicable 2023-11-08 14:00:23 +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
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
nordsoft
870aeddad5 Serialize owner for abandoned mine 2023-11-07 20:11:24 +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
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
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
056ef00f74 Bugfixing 2023-11-02 13:52:58 +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
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
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
Tomasz Zieliński
5e36ef92c7 Support for "selectAll" reward 2023-10-31 18:21:50 +01:00
Ivan Savenko
29a78c14a2
Merge pull request #3113 from Alexander-Wilms/develop
Fix small issues
2023-10-30 11:02:28 +02: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
ab2f6abb87 ArtifactLocation now use ID for artHolder identification part2 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
0169c65937
Merge pull request #3100 from IvanSavenko/split_net_packs
Split netpacks.h into multiple files
2023-10-29 13:46:40 +02:00
Andrii Danylchenko
b579ca8a33 #1912 trap, exception on adding duplicating hero 2023-10-29 11:03:37 +02:00
Ivan Savenko
4ba8014573 Added subtype for SPELL_DURATION 2023-10-28 17:57:56 +03: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
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
b88a8da4e8 Split off some netpack structures into separate files 2023-10-23 13:59:15 +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
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
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
454ba44ac5
Merge pull request #2988 from IvanSavenko/configurable_extensions
Extension of configurable object functionality
2023-10-22 16:24:47 +03: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
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
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
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
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
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
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
nordsoft
4651893b48 Fix hota quests 2023-10-14 00:15:15 +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
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
5b10b457cf Fix code review suggestions 2023-10-11 00:47:19 +02:00