1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-18 17:40:48 +02:00
Commit Graph

378 Commits

Author SHA1 Message Date
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
96c81be68e Win/loss conditions now use VariantIdentifier. Removed non-implemented
options
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
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
Ivan Savenko
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
Andrii Danylchenko
142d0083d5 #3173 - fix trap crash on random hero 2023-11-12 16:14:06 +02:00
Ivan Savenko
6b81012f31 Use variant identifier in netpacks where applicable 2023-11-08 14:00:23 +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
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
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
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
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
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
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
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
Ivan Savenko
8f33fdcd83 Allow learning banned spell from Scholars (H3 logic) 2023-10-18 17:38:40 +03:00
nordsoft
f6d7755c6a Add hero placeholder properties 2023-10-16 22:24:12 +02:00
Ivan Savenko
bb05c2dea5 Implemented configurable shrine 2023-10-16 00:12:39 +03:00
Ivan Savenko
fd01a25352 Implemented basic version of configurable Witch Hut 2023-10-16 00:12:38 +03:00
nordsoft
55900ceb66 Add portraits delegate 2023-10-13 20:15:29 +02: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
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
486091a915 Heroes switched to text id 2023-09-28 00:00:32 +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
97097c20ad
Merge pull request #2874 from SoundSSGood/exchange-window-update
Exchange window update
2023-09-27 15:50:52 +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
Ivan Savenko
f8541d0ae4 Merge branch 'vcmi/master' into 'vcmi/develop' 2023-09-15 13:59:02 +03:00
Dydzio
9399bcc15d Fix pathfinder tile cost 2023-09-13 18:54:08 +02:00
nordsoft
a89a8019ab Added skills customization 2023-09-11 20:37:25 +02:00
Ivan Savenko
695a51d8c8 Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-28 21:19:53 +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
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
Evgeniy Meshcheryakov
2a83f06905 Preserve order of secondary skills during hero serialization/deserialization 2023-08-14 00:06:22 +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
Ivan Savenko
a619193e3c Fixed initialization of heroes in taverns 2023-07-22 22:04:32 +03:00
SoundSSGood
9b5f6ec7cf CArtifact getters setters 2023-07-05 15:48:08 +03:00
Ivan Savenko
cc91be3518 Added workaround for loading spellbook existance status 2023-06-27 13:58:45 +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
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
ece9982ca0 Fix build 2023-06-16 18:11:45 +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
2e7c382612 Moved creature upgrade logic to CGObjectInstance inheritors 2023-06-16 17:59:10 +03: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
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +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
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
Konstantin P
9e1cdc410f vcmi: replace school bonuses to unified ones
Except immunity now
2023-05-05 21:30:45 +03:00
Konstantin
05eccbc2bb vcmi: split bonus to enumerator and HeroBonus.h 2023-05-03 18:01:06 +03:00
Konstantin
a6de9097be vcmi: rename HeroBonus.h to Bonus.h 2023-05-02 11:20:58 +03:00
Ivan Savenko
d985ac90d3 Merge master -> develop 2023-04-28 22:57:25 +03:00
nordsoft
f6d91cab35 Fix portrait serialization
# Conflicts:
#	lib/mapObjects/CGHeroInstance.cpp
2023-04-28 05:34:59 +04:00
Ivan Savenko
fb739e7186 Merge beta -> develop 2023-04-26 22:48:08 +03:00