Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Ivan Savenko
461c481ef3
Fix game startup
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
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
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
fd01a25352
Implemented basic version of configurable Witch Hut
2023-10-16 00:12:38 +03:00
Ivan Savenko
898733eed7
Added Query to track visit duration for Taverns and Markets
2023-10-04 17:47:12 +03:00
nordsoft
ab373f08ab
Use meta string for messages
2023-09-27 23:11:11 +02:00
Ivan Savenko
3ea807fb8d
Fixed movement through teleporters by AI
2023-09-26 13:42:20 +03: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
2960895041
Issues fixed
2023-09-17 22:19:45 +02:00
Ivan Savenko
c8e6a7cd27
Fixed most common cases of movement actions
2023-09-16 20:07:26 +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
ec8d31bbfc
First step at unifying game identifiers code
2023-08-25 13:38:01 +03: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
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +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
d8879f1e53
NewObject pack now receives visitable position instead of h3m position
2023-06-23 13:34:51 +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
f35b3a0dc3
Replace MetaString operator << with member function
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
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
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
Ivan Savenko
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +03:00
Ivan Savenko
8d0dcd6ad7
All h3m bitsets are now loaded inside mapReader
2023-05-31 23:01:57 +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
nordsoft
b29fc1a5f4
Fix movement bonus subtype
2023-05-01 21:49:37 +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
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
...
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Ivan Savenko
87647cd02a
Do not propose banned skills in witch huts
2023-04-15 17:20:38 +03:00
Ivan Savenko
f93335d678
Cleanup and formatting of H3M loader code
2023-04-15 17:20:38 +03:00
Ivan Savenko
3738171b21
Refactoring of H3M loader to make HotA format support easier
...
- extracted low-level reader from MapFormatH3M class
- added separate structure to define version-specific values
- cleared up some H3M format edge cases
- replaced witch hut skill vector with set
- converted several fields to enum type
2023-04-15 17:20:38 +03:00
SoundSSGood
9a838598a6
arts refactoring part1
2023-04-15 00:10:39 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Konstantin
5716925b47
NetPacks: change GiveBonus enum to enum class.
2023-03-30 12:41:17 +03:00
SoundSSGood
19096f39f0
Backpack limit. Amount of fixes.
2023-03-21 22:11:42 +02:00
SoundSSGood
f0f9eecf97
Backpack limit part5. End of battle. Other stuff
2023-03-21 12:14:33 +02:00
SoundSSGood
9f8aa25297
Backpack limit part4 (Using cheats, buying)
2023-03-21 12:14:33 +02:00
SoundSSGood
e23766280f
Backpack limit part2 (Pick up, Dig up, Object rewards)
2023-03-21 12:14:33 +02:00
Tomasz Zieliński
eabcbfc25a
Fix all stacks being capped at 10 units
2023-03-17 22:32:05 +01:00
Ivan Savenko
a0e9e01b48
Renamed & reorganized all game mechanics settings names
2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29
Integrated defaultMods into mod system
2023-03-16 17:55:09 +02:00
Konstantin
95503d0623
vcmi: unify movement
...
1. Now there is only one bonus: MOVEMENT, with 2 subtypes: 0 is sea, 1 is land
For movement value on land depends on creature speed we use a new
ARMY_MOVEMENT updater with global bonus. If we does not like such
dependency, we can just remove this updater from json.
2. All specialities and secondary skills for movement moved to new
system AFAIK
2023-03-16 16:46:41 +03:00
Konstantin
c64d05c419
vcmi: skill-agnostic diplomacy
...
This is simple and will work.
2023-03-16 16:46:41 +03:00
Konstantin
45dcd95f20
miscObjects: fix whirpool display
...
It should display negative numbers, not positive
2023-03-11 21:41:58 +03:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
716dd9a43b
vcmi: remove a bunch of duplicated showInfoDialog
...
These methods duplicated in almost every map object
Just replace it by one such method
2023-03-11 21:41:57 +03:00
Konstantin
8edba4fb06
vcmi: use MODAL by default
...
Convert only some objects to AUTO, need futher testing
than no non-adventure objects will not use AUTO or INFO
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Ivan Savenko
8b3309b47d
Fixed custom hero names text ID's
2023-03-05 17:39:27 +02:00
Ivan Savenko
8c52cbcd00
Merge pull request #1429 from dydzio0614/creature-numeric-quantities
...
Implement numeric creature descriptions with config toggle on/off
2023-02-26 22:57:01 +02:00
Dydzio
e48a4185ed
Use config values from new settings
2023-02-15 23:36:09 +01:00
Konstantin
5f181e25af
vcmi: modernize lib/mapObjects
2023-02-14 14:39:56 +03:00
DjWarmonger
25ef065dbe
Merge pull request #1486 from IvanSavenko/configurable_rewardables
...
Well, it works for my brand new objects with arbitrary bonus, so likely will work with everything else.
2023-01-26 17:01:01 +01:00
Ivan Savenko
f8f6df02f3
Removed remaining hardcoded objects
2023-01-23 15:27:27 +02:00
Dydzio
685d63603d
Merge branch 'develop' into creature-numeric-quantities
2023-01-21 12:57:29 +01:00
Andrey Filipenkov
2a43b7cfbc
display owner of ownable objects in tooltip
...
also displays owner of towns (deviation from oh3)
2023-01-21 14:25:43 +03:00
Ivan Savenko
388ed88b5d
All artifact strings now pass through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116
All creature-related texts go through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
e22f6283c2
Secondary skills strings are now passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
5da407e822
All spell texts are now passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
246281e62a
Merged vcmi/beta with vcmi/develop
2023-01-15 17:46:42 +02:00
Dydzio
8248feebf7
Implement numeric creature descriptions with config toggle on/off
2023-01-14 15:55:08 +01:00
Ivan Savenko
7e8516f927
Changed Sirens behavior to match H3 logic
2023-01-09 13:04:56 +02:00
Ivan Savenko
7c0d5666a0
Return string by copy to fix cases when string is constructed on stack
2023-01-01 20:55:43 +02:00
Ivan Savenko
84493e1bff
Translate received string identifier before storing
2023-01-01 14:56:45 +02:00
Ivan Savenko
85d7b470d4
Access to quests texts is now processed via translator
2023-01-01 14:56:45 +02:00
Ivan Savenko
bdb8e0ee5c
Introduced string identifiers for H3 texts, still WIP
2023-01-01 14:56:44 +02:00
Dydzio
2c09bfb22a
Fix code formatting
2022-12-30 15:51:13 +01:00
M
23de4a188b
Change cartographer tile reveal logic to match H3
2022-12-30 15:09:09 +01:00
Ivan Savenko
eb20a4b208
Merge remote-tracking branch 'vcmi/develop' into warnings_fix
2022-12-23 14:40:45 +02:00
Ivan Savenko
25bceda4ea
Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
...
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
d85ee019ec
Removed CGHeroInstance::convertPosition method
2022-12-07 22:51:32 +02:00