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
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
0cf3205e15
Fix quest regressions
2023-10-10 23:44:28 +02:00
Ivan Savenko
b75a67ef7c
Merge pull request #2973 from IvanSavenko/identifier_explicit_constructor
...
Improvements to type safety of Identifier class
2023-10-05 00:33:07 +03:00
Ivan Savenko
037efdf5fc
Improvements to type safety of Identifier class
...
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
Ivan Savenko
39a92cdde3
Add query for dwellings dialog
2023-10-04 17:47:12 +03:00
Ivan Savenko
898733eed7
Added Query to track visit duration for Taverns and Markets
2023-10-04 17:47:12 +03:00
Nordsoft91
c57d5545c2
Merge pull request #2971 from Nordsoft91/translations
...
Multi-language support for network game and for VMAPs
2023-10-02 20:41:42 +02:00
nordsoft
1502ea2250
Fix pandora mana problem
2023-09-30 01:33:12 +02:00
nordsoft
40af83a55c
Fix quest
2023-09-28 02:51:58 +02:00
nordsoft
3c2549d905
Fix town name
2023-09-28 02:51:44 +02:00
nordsoft
486091a915
Heroes switched to text id
2023-09-28 00:00:32 +02:00
nordsoft
0c94a4d891
Town name switched to id
2023-09-27 23:57:05 +02:00
nordsoft
41da252e67
Seerhut meta strings
2023-09-27 23:49:27 +02:00
nordsoft
f9f79255c5
Creature message meta string
2023-09-27 23:25:19 +02:00
nordsoft
ab373f08ab
Use meta string for messages
2023-09-27 23:11:11 +02:00
nordsoft
03c099d4fd
First steps
2023-09-27 22:53:13 +02:00
Ivan Savenko
9b482a2b1e
Fix boat creation for heroes recruited on water
2023-09-27 21:25:27 +03:00
Ivan Savenko
92fdaa20b1
Fix crash on loading Seer Hut with kill monster mission
2023-09-27 21:24:25 +03:00
Ivan Savenko
97097c20ad
Merge pull request #2874 from SoundSSGood/exchange-window-update
...
Exchange window update
2023-09-27 15:50:52 +03:00
Ivan Savenko
3ea807fb8d
Fixed movement through teleporters by AI
2023-09-26 13:42:20 +03:00
nordsoft
a5492b30c3
Add pre-battle message
2023-09-23 02:35:21 +02:00
Ivan Savenko
8c0d78f1d9
Added initiator-player to packs that add/remove/move objects
2023-09-19 19:24:34 +03:00
Nordsoft91
807f308c91
Merge pull request #2844 from Nordsoft91/rewardable-quests
...
New rewardable interface for SeerHuts and pandoras
2023-09-19 17:59:24 +02:00
nordsoft
326791886d
Rename and events modal mode always
2023-09-19 17:11:03 +02:00
SoundSSGood
48ec2d7e2a
Merge branch 'vcmi:develop' into exchange-window-update
2023-09-19 16:22:00 +03:00
SoundSSGood
a83f290e13
bulk move artifacts only equipped, only backpack
2023-09-19 13:31:42 +03:00
nordsoft
2960895041
Issues fixed
2023-09-17 22:19:45 +02:00
nordsoft
a517e6ad8e
Message split for pandora box
2023-09-17 18:02:24 +02:00
nordsoft
e3538f24ab
Fix components problem
2023-09-17 16:04:34 +02:00
nordsoft
7b22aefb12
Some minor fixes
2023-09-17 13:03:42 +02:00
Ivan Savenko
c8e6a7cd27
Fixed most common cases of movement actions
2023-09-16 20:07:26 +03:00
Ivan Savenko
80b80a0ae6
Minor cleanup of hero movemen code
2023-09-16 20:07:26 +03:00
nordsoft
a3b60bf829
Fix warning
2023-09-16 14:30:25 +02:00
nordsoft
4f76eb3fce
Add limiter serialization
2023-09-15 23:00:33 +02:00
nordsoft
4af2d917c0
Fix messages for pandoras
2023-09-15 21:13:07 +02:00
nordsoft
b5b5d881c4
Merge remote-tracking branch 'upstream/develop' into rewardable-quests
2023-09-15 21:08:22 +02:00
nordsoft
68c61797f8
Implement select all option for rewardable objects
2023-09-15 21:08:14 +02:00
nordsoft
c1c13cfafb
Pandora and events work as rewardable object
2023-09-15 15:29:41 +02:00
Ivan Savenko
f8541d0ae4
Merge branch 'vcmi/master' into 'vcmi/develop'
2023-09-15 13:59:02 +03:00
nordsoft
06f01c3b82
Seerhut works as rewardable object
2023-09-15 10:06:06 +02:00
Dydzio
9399bcc15d
Fix pathfinder tile cost
2023-09-13 18:54:08 +02:00
nordsoft
574047c55c
Start making new serialization for rewardables
2023-09-13 09:18:46 +02:00
nordsoft
96d6a48f01
Backward compatible json serialization
2023-09-13 02:14:35 +02:00
nordsoft
ef3f0174dd
Rewardable seer hut and quest gate
2023-09-13 01:40:07 +02:00
nordsoft
a89a8019ab
Added skills customization
2023-09-11 20:37:25 +02:00
nordsoft
cc3864a0fa
Fix for random dwellings
2023-09-09 21:17:21 +02:00
Ivan Savenko
e8453916cf
Merge remote-tracking branch 'vcmi/beta' into develop
2023-09-08 18:49:06 +03:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
...
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
12c4f8d18c
Fixed serialization of PlayerColor in json
2023-09-04 22:22:24 +03:00
Ivan Savenko
a30e7ba321
Remove bitmasks of PlayerColor's. Add encode/decode methods
2023-09-04 18:56:16 +03:00
Ivan Savenko
8dfdfffd87
Use ResourcePath for audio files
2023-09-04 18:22:34 +03:00
Ivan Savenko
6f0108e462
Use ResourcePath for referencing texts and json's
2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
nordsoft
d113168db4
Fix neutral objects serializing
2023-09-04 01:42:51 +04:00
nordsoft
385202a02a
Fix abandoned map crash
2023-09-04 01:42:51 +04:00
Ivan Savenko
3e169ef2f5
Fix visiting of markets
2023-08-31 01:07:59 +03:00
Ivan Savenko
695a51d8c8
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-28 21:19:53 +03:00
Ivan Savenko
ce20d913e0
Fix checking PlayerColor's for validness
2023-08-27 01:35:38 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
Ivan Savenko
17d3d663ee
Converted creature ID and spell ID to new form
2023-08-25 13:38:02 +03:00
Ivan Savenko
ec8d31bbfc
First step at unifying game identifiers code
2023-08-25 13:38:01 +03:00
Konstantin
d746a96d55
vcmi: use SpellSchool identifier instead of enum
...
Use identifier instead of enum inside callbacks. It is better and more
expandable solution.
2023-08-23 17:53:09 +03:00
Konstantin
8724181a0f
vcmi: spell resistance rework
...
Now instead of XXX_IMMUNITY bonuses we have 2 bonuses with spellSchool
subtype: SPELL_SCHOOL_IMMUNITY and NEGATIVE_EFFECT_IMMUNITY.
All previous bonuses of subtype 0 is covered by SPELL_SCHOOL_IMMUNITY,
and all previous bonuses of subtype 1 is covered by
NEGATIVE_EFFECT_IMMUNITY. Unit tests are updated accordingly.
2023-08-23 17:52:16 +03:00
Ivan Savenko
44d16b32fe
Use API identical to std classes where possible
2023-08-23 16:32:29 +03:00
Dydzio
ed12f20609
Improve neutral creature adventure map popup
2023-08-21 14:42:41 +02:00
Ivan Savenko
70ddc1f3e5
Merge pull request #2577 from wb180/secondarySkillSerialization
...
Preserve order of secondary skills during hero json serialization/deserialization
2023-08-18 15:24:02 +03:00
Evgeniy Meshcheryakov
2a83f06905
Preserve order of secondary skills during hero serialization/deserialization
2023-08-14 00:06:22 +03:00
Ivan Savenko
f13a53c1d9
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-12 17:28:47 +03:00
Ivan Savenko
92ce97bbc7
Merge remote-tracking branch 'vcmi/master' into beta
2023-08-12 16:20:06 +03:00
Ivan Savenko
942f8bbf05
Fix possible access to non-existing building
2023-08-11 18:50:39 +03:00
Ivan Savenko
88b23cdce1
Merge pull request #2511 from IvanSavenko/fix_starting_army
...
Fix starting army
2023-08-11 11:36:30 +03:00
nordsoft
be6f6da397
Fix for canRefuse flag in rewardable building
2023-08-08 19:27:00 +04:00
Ivan Savenko
e57f8742cd
Rename ambiguos 'clear' to 'clearSlots'
...
A lot of map objects inherit from CCreatureSet and as result - get
clean() method that resets object army
2023-08-07 19:13:02 +03:00
Ivan Savenko
537f9fa048
Merged master into develop
2023-08-03 23:38:32 +03:00
Tomasz Zieliński
f6247164ad
Fix crash, fix invisible boat blocking the tile
2023-08-01 18:51:33 +02:00
Ivan Savenko
62fddca21e
Split massive CModHandler class/file into multiple parts:
...
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
397c4c7595
Fix dismissing heroes on map with "Capture town" victory condition
2023-07-30 15:28:56 +03:00
Andrii Danylchenko
ec8898a0e7
#1965 - treat dwelling defenders as neutrals
2023-07-25 10:13:41 +03:00
Ivan Savenko
a619193e3c
Fixed initialization of heroes in taverns
2023-07-22 22:04:32 +03:00
Ivan Savenko
cfdc7e6e65
Merge pull request #2363 from IvanSavenko/rewardable_translation
...
Translation support for configurable objects
2023-07-21 15:44:46 +03:00
Ivan Savenko
3a348abf4f
Text of configurable/rewardable objects now uses translator
2023-07-19 22:25:52 +03:00
Ivan Savenko
5660884ee5
Fix revisiting of cleared banks
2023-07-19 14:21:33 +03:00
Ivan Savenko
7f1b982264
Implemented support for showing amount of guards in banks
2023-07-19 13:17:50 +03:00
Ivan Savenko
8a92941681
Allow merging stack on recruitment to give place for recruited unit
2023-07-15 16:09:44 +03:00
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
SoundSSGood
fd9c7352a0
suggested changes
2023-07-03 22:54:03 +03:00
SoundSSGood
07c811dd67
CCombinedArtifactInstance refactoring
2023-06-30 19:40:57 +03:00
Ivan Savenko
cc91be3518
Added workaround for loading spellbook existance status
2023-06-27 13:58:45 +03:00
Ivan Savenko
48ac84110b
Replaced hero crossover logic with one that actually matches H3
2023-06-26 17:15:59 +03:00
Ivan Savenko
d1e5a347ff
Refactoring of campaign handler: rename types and use strong typing
2023-06-26 17:15:59 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +03:00
Ivan Savenko
f7b27da00e
Implemented support for "coast visitable" objects:
...
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
Ivan Savenko
ce3e150d59
Minor formatting
2023-06-23 13:55:52 +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
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
...
Hota h3m support
2023-06-23 13:32:10 +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
3913b8e98c
Heroes placed on water in map will be automatically given boat
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
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
ece9982ca0
Fix build
2023-06-16 18:11:45 +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
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
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
SoundSSGood
f6c2d5cba7
hotfix
2023-06-07 13:08:04 +03:00
Ivan Savenko
1e9eea30e1
Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop
2023-06-05 18:53:17 +03: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
312b703a78
Fixed mapping of hota objects
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
8d0dcd6ad7
All h3m bitsets are now loaded inside mapReader
2023-05-31 23:01:57 +03:00
Konstantin
e82acf4840
CGHeroInstance: always add obligatory skills
...
Fixes #2198
2023-05-31 20:03:59 +03:00
SoundSSGood
1366825f08
final fixup
2023-05-24 16:10:06 +03:00
SoundSSGood
021f94a579
artifact utils
2023-05-17 17:00:31 +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
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
nordsoft
059ccdc9bc
Fix for serialization bug
2023-05-07 04:02:52 +04:00
nordsoft
7c029bccba
Show info nin modal window always
2023-05-07 03:19:18 +04: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
nordsoft
67331c5520
Fix after merge
2023-05-05 00:14:44 +04: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
nordsoft
9984351302
Fix object clearing
2023-05-04 15:03:18 +04:00
Konstantin
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03: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
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
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
34c1d4f3e9
vcmi: move CBonusProxy and friends to new file
...
To decouple HeroBonus.h more
2023-05-02 00:53:51 +03:00
Konstantin
6fa1b2b19f
vcmi: move bonuses to its own folder
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
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
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
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
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
30967b2813
Remove excess pointer from market interface
2023-05-01 00:14:53 +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
Ivan Savenko
d985ac90d3
Merge master -> develop
2023-04-28 22:57:25 +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
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
Konstantin P
54e4db3819
vcmi: fix abandoned mine resource loading
...
It was overshadowed by local variable
2023-04-27 20:59:55 +03:00
Ivan Savenko
fb739e7186
Merge beta -> develop
2023-04-26 22:48:08 +03:00
Nordsoft91
f39f208e05
Merge pull request #1915 from Nordsoft91/vcmi-campaign
...
VCMI campaigns format
2023-04-23 19:09:59 +04:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats
2023-04-22 03:27:00 +04:00
nordsoft
de159df481
Rename boats
2023-04-20 21:20:51 +04:00
nordsoft
9ecf16ca23
Fix minor bugs
2023-04-20 03:20:00 +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