Ivan Savenko
d82822d37a
Fix reset of rewardable objects with reset period of 1 day
2023-01-28 13:12:03 +02:00
Ivan Savenko
e87adf334d
Fix loading of vcmi json maps
2023-01-26 23:32:56 +02:00
Ivan Savenko
8b2d336562
Fix initialization of visitDir in templates
2023-01-26 23:32:56 +02:00
Ivan Savenko
a3846f1b31
Fix incorrect identifiers format
2023-01-26 23:32:56 +02:00
Ivan Savenko
eebc6fd625
Map object use format mod:object (or mod:object.subobject)
2023-01-26 23:32:56 +02:00
Ivan Savenko
7b82387a49
Dwellings & Banks will register custom names for their objects
2023-01-26 23:32:56 +02:00
Ivan Savenko
bc27faea57
All objects will register single name per object type
2023-01-26 23:32:55 +02:00
Ivan Savenko
f71cbc5d9b
Fixed loading of object names
2023-01-26 23:27:26 +02:00
Ivan Savenko
b13637cdd5
Fix regressions in RMG & map editor
2023-01-26 23:27:26 +02:00
Ivan Savenko
6f324216db
Bugfixing
2023-01-26 23:27:24 +02:00
Ivan Savenko
6c472339ce
Refactoring of ObjectClassesHandler
2023-01-26 23:26:49 +02:00
Ivan Savenko
c5f72ccdc7
Names for object supertypes are passed through translator
2023-01-26 23:19:53 +02: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
Andrii Danylchenko
94f483c1e7
Merge pull request #1481 from kambala-decapitator/owner-tooltip
...
display owner of ownable objects in tooltip
2023-01-25 10:38:13 +02:00
Ivan Savenko
7a9e5e4e30
Cleanup & consistency changes
2023-01-25 00:38:50 +02:00
Ivan Savenko
af5ff0c9df
Remove no longer used code
2023-01-24 23:34:02 +02:00
Ivan Savenko
44bdd2cbf3
Implemented selectable messages for visited & empty state
2023-01-24 23:31:07 +02:00
Andrey Filipenkov
90cb0cdc9b
fix displaying growth bonus from Statue of Legion
2023-01-24 18:35:30 +03:00
Andrey Filipenkov
5b10903116
reorder growth bonuses display to match oh3
2023-01-24 18:35:07 +03:00
Ivan Savenko
ca6947b2cc
Fixed Tree of Knowledge component
2023-01-24 17:35:06 +02:00
Ivan Savenko
c793527b44
Added "days since start of the game" limiter. Fixes Water Wheel
2023-01-24 16:54:14 +02:00
Ivan Savenko
ca521fb129
Removed incomplete functionality from rewardable object
2023-01-24 16:29:05 +02:00
Ivan Savenko
c9dcb921ab
Implemented "changeCreatures" option for Stables
2023-01-24 16:18:59 +02:00
Ivan Savenko
ecbcafefbc
It is now possible to configure what exactly will be reset in object
2023-01-24 13:54:03 +02:00
Ivan Savenko
0c70822928
Implemented logical expression (allOf/anyOf/noneOf) for limiters
2023-01-23 23:54:54 +02:00
Ivan Savenko
f8f6df02f3
Removed remaining hardcoded objects
2023-01-23 15:27:27 +02:00
Ivan Savenko
62e127fb59
Bonusing objects are now configured in json
2023-01-23 01:05:10 +02:00
Ivan Savenko
bfd6c40f25
Moved all once-per-hero visitable (sans Tree) to config
2023-01-22 22:58:53 +02:00
Ivan Savenko
a6bda58276
Moved CGOnceVisitable to config
2023-01-22 20:26:19 +02:00
Ivan Savenko
fcb455b7f4
Fixed remaining bugs with converted objects
2023-01-22 18:37:26 +02:00
Ivan Savenko
695a94c3c8
Fixed all major bugs with newly converted objects
2023-01-22 18:17:26 +02:00
Ivan Savenko
9f3f9cc563
Added some missing functionality for configurable object
2023-01-22 02:08:58 +02:00
Ivan Savenko
83bb70cd8a
All CGPickable objects are now fully configurable
2023-01-21 16:45:04 +02:00
Ivan Savenko
9565cae3cb
Fix potential assertion failure on map load
2023-01-21 15:57:25 +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
47c1803c42
Finalization of refactoring:
...
- Entity interface now has getNameTranslated & getNameTextID methods
- Entity interface no longer has getName method
- removed (most) usages of normalizeIndentifier workaround method
- all moddable objects have identifier in form of mod:name
- all moddable object register strings in form of mod.type.name
2023-01-20 15:18:36 +02:00
Ivan Savenko
05a1d7c6e3
All text for factions/towns/building are passed through translator
2023-01-20 15:18:36 +02: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
30d7bdc884
Moved tower damage computation to town instance
2023-01-20 15:18:10 +02:00
Ivan Savenko
05ac217b0f
Merge with vcmi/develop
2023-01-17 23:02:25 +02:00
Ivan Savenko
633b9ef3be
Native terrain is now required for faction, opt-out with value "none"
2023-01-17 22:59:14 +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
e48bd39b9c
Moved road & river handlers into a separate file
2023-01-11 15:17:24 +02:00
Ivan Savenko
5e72ef76cf
Fix quest texts accessing
2023-01-11 15:10:44 +02:00
Ivan Savenko
1e37e66e6c
Replaced Terrain::BORDER and WRONG with NONE
2023-01-10 20:09:09 +02:00
Ivan Savenko
4f3ea0d1d9
Renamed Terrain.h/cpp -> TerrainHandler.h/cpp
2023-01-10 00:01:35 +02:00
Ivan Savenko
f51b3bca57
use JsonKey or NameTranslated instead of ambiguos Name
2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67
Map/Road/River identifiers are now private members
2023-01-10 00:01:35 +02:00
Ivan Savenko
64885bdf6b
Better names for terrain parameters. Support for new movement sounds.
2023-01-10 00:01:35 +02:00
Ivan Savenko
4e4dae854f
Final stabilization changes
2023-01-10 00:01:35 +02:00
Ivan Savenko
2de3178158
Fixed game startup
2023-01-10 00:01:35 +02:00
Ivan Savenko
e1799379dd
Terrain/Road/River handler are now in compileable state
2023-01-10 00:01:35 +02:00
Ivan Savenko
1468f6aded
Converted terrainTypeHandler into proper handler class
2023-01-10 00:01:35 +02:00
Ivan Savenko
bde988ca43
Merge pull request #1329 from IvanSavenko/translate_game
...
Translations support - base functionality for main game texts
2023-01-09 20:33:56 +02:00
Ivan Savenko
2f5ee44cbe
Fixes patrol position initialization on H3M load
2023-01-09 18:34:13 +02:00
Ivan Savenko
7e8516f927
Changed Sirens behavior to match H3 logic
2023-01-09 13:04:56 +02:00
Ivan Savenko
c479504646
Formatting cleanup
2023-01-01 22:50:38 +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
9a620a9091
Refactoring of GeneralTextHandler to reduce boilerplate code in callers
2023-01-01 15:13:02 +02:00
Ivan Savenko
84493e1bff
Translate received string identifier before storing
2023-01-01 14:56:45 +02:00
Ivan Savenko
1979b3e97f
Fixes typo
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
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
...
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
Andrey Filipenkov
b030a88ca5
fix gold check for School of War
2022-12-29 01:45:51 +04:00
Ivan Savenko
eb20a4b208
Merge remote-tracking branch 'vcmi/develop' into warnings_fix
2022-12-23 14:40:45 +02:00
Ivan Savenko
26985600b2
Fixed several more cases of incorrect scope for identifiers resolving
2022-12-21 23:02:19 +04:00
Ivan Savenko
23cb47b457
Fixed several scenarios with incorrect scope for requesting identifiers
2022-12-21 23:02:19 +04:00
Ivan Savenko
5f8cfadc4d
Better formatting for not found terrains ID's
2022-12-20 01:55:59 +04:00
Ivan Savenko
b13723305d
Better error reporting for usages of invalid terrain in mods
...
TODO: switch to proper mechanism via identifier requests
2022-12-20 01:55:59 +04: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
Ivan Savenko
49cbd5adc9
CGHeroInstance::convertPosition is no longer static method
2022-12-07 22:34:08 +02:00
Ivan Savenko
908e6892f3
Removed CGHeroInstance::getPosition pseudo-override
...
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Ivan Savenko
2855606a88
Enabled & fixed -Woverloaded-virtual warning from gcc/cland
...
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
65802d958b
Integrated valid fixes from PR #1143
2022-12-07 18:13:54 +02:00
Andrii Danylchenko
89f0cc66e8
Merge pull request #1213 from IvanSavenko/clone_fix
...
Fix crash on casting clone on modded creature
2022-12-07 17:34:52 +02:00
Ivan Savenko
2cbe6bcb47
Added common method to get names of hardcoded mod scopes
2022-12-07 15:18:19 +02:00
Ivan Savenko
17f9c3af23
Library of Enlightenment fix
...
Do not offer choice between multiple identical option if hero is qualified
to receive multiple of them due to diplomacy skill
2022-12-06 18:08:10 +02:00
Andrii Danylchenko
40e55e2788
Merge pull request #1196 from IvanSavenko/hero_positioning_fix
...
Fixes incorrect positioning of heroes on spawn/release from prison
2022-12-05 10:35:24 +02:00
Ivan Savenko
b6b6063505
Fix positioning of heroes after release from prisons
2022-12-04 22:00:33 +02:00
nordsoft
bbe51bfaf4
Fix hero experience deserialization
2022-12-04 16:58:46 +04:00
nordsoft
8d1024fcfc
Clear error message
2022-12-03 20:56:05 +04:00
Andrii Danylchenko
d9c4b28ccc
Merge pull request #1177 from IvanSavenko/fix_mod_identifiers
...
Fix mod identifiers registration & incorrect mod validation
2022-12-02 09:20:49 +02:00
SoundSSGood
45a3064e5d
suggested changes
2022-11-30 18:28:33 +02:00
Ivan Savenko
5cd405bce8
Fixed meta field handling in JsonUtils::inherit function, removed
...
workarounds
2022-11-30 17:38:53 +02:00
Ivan Savenko
79c96e94fa
Cleared up comments
2022-11-30 17:37:36 +02:00
Ivan Savenko
36ae26bc37
Fixed several scenarios which could lead to json with incorrectly set
...
mod origin info, leading to non-resolving identifiers
2022-11-29 22:34:32 +02:00
Ivan Savenko
abe11aaf54
Introduced "map" scope for accessing identifier on map loading.
...
Currently it allows access to all mods, should be restricted to mods
that map depends on
2022-11-29 22:33:08 +02:00
SoundSSGood
96d8e952c4
attempt to fix the build
2022-11-29 21:45:37 +02:00
SoundSSGood
909dcb82fa
use ArtifactID
2022-11-29 00:32:18 +02:00
Andrii Danylchenko
6974d4ea53
Merge pull request #1130 from IvanSavenko/banned_skills_fix
...
Fixes #1096 - do not propose banned skills on levelup
2022-11-15 09:32:12 +02:00
Andrii Danylchenko
8b964be71f
Merge pull request #1111 from GermanAizek/develop
...
Code refactor and fix condition bug
2022-11-15 09:23:16 +02:00
lainon
7fdad4e0f6
Code refactor following C++ standard and condition fixes
2022-11-15 03:20:55 +03:00
Ivan Savenko
729357824b
Added common method for secondary skill availability checks
2022-11-14 19:08:49 +02:00
Ivan Savenko
e06db2365d
Fixes #1096 - do not propose banned skills on levelup
...
Remove possibility to get banned skill on levelup as "obligatory skill"
if all other such skills have been learned before.
May happen under some conditions, e.g. if hero quickly learns other
magic schools - in witch hut/university, leading to case where banned
skill is the only obligatory skill that can be offered on levelup
2022-11-14 17:16:49 +02:00
nordsoft
0f35082024
Fix crash with objects belonging players without state
2022-11-06 03:26:13 +04:00
Andrii Danylchenko
6cbaa40e29
#1065 - fix random hero initial position
2022-10-13 11:58:32 +03:00
Tomasz Zieliński
8c481dff46
Fix incorrect templates for mines in HoTA
2022-10-08 12:42:10 +03:00
Andrey Filipenkov
b26db479d7
don't add Necromancy to Witch Hut on random maps
2022-10-01 16:01:47 +03:00
Andrey Filipenkov
acfdbe87fe
remove duplicate entry
2022-10-01 16:01:02 +03:00
Andrey Filipenkov
aa217236b3
check amount of artifacts on hero when checking requirements of a quest that requires artifact(s)
...
fixes case when 2 or more identical artifacts are required
2022-10-01 09:28:32 +03:00
Andrey Filipenkov
86708841f8
code improvement
2022-10-01 09:24:58 +03:00
Tomasz Zieliński
127d7ec40b
Fixed asserts (only for debug build)
2022-09-29 21:10:44 +02:00
Andrii Danylchenko
557512b308
Merge pull request #1006 from AgostonSzepessy/dev/agos/small-fixes
...
Small misc fixes
2022-09-29 19:53:27 +03:00
Tomasz Zieliński
20c102e648
Remove T prefix from new typedefs
2022-09-29 11:44:46 +02:00
Tomasz Zieliński
475f835769
More style tweaks
2022-09-28 11:38:08 +02:00
Tomasz Zieliński
f386f42166
Merge remote-tracking branch 'origin/develop' into terrain-rewrite
...
# Conflicts:
# lib/Terrain.cpp
# lib/Terrain.h
# lib/battle/CBattleInfoEssentials.cpp
# lib/rmg/ObstaclePlacer.cpp
# lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Tomasz Zieliński
2bd30556a3
Store TerrainType by havlue and handle by reference
2022-09-26 09:17:55 +02:00
Tomasz Zieliński
4ea57ea7fc
A variety of suggested style tweaks
2022-09-25 09:33:56 +02:00
Agoston Szepessy
0718acdb6d
Use tuple instead of vector for comparing values
...
There are only 3 values, and they're only used for doing a comparison,
so it's wasteful to create a whole vector for that. std::tuple is better
suited for this use case.
2022-09-24 23:50:31 -07:00
Andrey Filipenkov
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Tomasz Zieliński
a5077245a8
Merge remote-tracking branch 'origin/develop' into terrain-rewrite
...
# Conflicts:
# lib/Terrain.cpp
# lib/Terrain.h
2022-09-23 20:01:13 +02:00
Tomasz Zieliński
ebe45d512d
Moved roads and rivers to TerrainTypeHandler, by analogy to TerrainType.
2022-09-23 16:24:01 +02:00
Tomasz Zieliński
e53613caa7
Fixed crash in pathfinder
2022-09-21 21:44:39 +02:00
Andrey Filipenkov
6cd810e065
fix showing "visited" message for Warrior's Tomb
2022-09-21 15:19:04 +03:00
Tomasz Zieliński
c9c4603f75
Firts working version that launches original maps
2022-09-21 13:43:57 +02:00
Tomasz Zieliński
494b0f0226
First version that compiles
2022-09-21 11:34:23 +02:00
Tomasz Zieliński
b20f649521
stash
2022-09-19 16:13:58 +02:00
DjWarmonger
7ba271edf1
Rotation rebase2 ( #912 )
...
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
Nordsoft91
e4ac0d4370
Editor prerequisites [part 2] ( #889 )
2022-09-17 14:04:01 +03:00
nordsoft
a598925a0b
Support pickable objects
2022-09-16 09:41:23 +03:00
nordsoft
7dc05d8e81
Support rewardable objects
2022-09-15 11:05:13 +03:00
Tomasz Zieliński
77e43cb36f
Cache Pathfinding skill
2022-09-14 15:24:24 +02:00
Tomasz Zieliński
d0f857c3c4
- Generate caching string with sprintf
...
- Reserve BonusList space to avoid costly vector reallocation
- Tweaks in int3 and UNDEAD bonus
2022-09-14 11:00:40 +02:00
DjWarmonger
3d2dc2335b
Switch ObjectTemplate to shared_ptr<const> ( #870 )
2022-09-11 16:13:53 +03:00
Tomasz Zieliński
22b4795f86
Well, we should have some sensible exception handling in VCMI
2022-09-11 11:31:28 +03:00
Tomasz Zieliński
1649cf2bb9
misc comments
2022-09-11 11:31:27 +03:00
Tomasz Zieliński
efb6580958
Fix for mislaced hero rescued from Prison - https://bugs.vcmi.eu/view.php?id=3227
2022-09-11 11:31:27 +03:00
Andrii Danylchenko
665bd4346e
Fix getting battlefield crash
2022-09-11 11:31:27 +03:00
Andrii Danylchenko
4b4cc3cf4b
battlefields in VLC and custom bonuses for terrain patches
2022-09-11 11:31:27 +03:00
Andrii Danylchenko
3b1d271ae0
allow configurable battleground graphics
2022-09-11 11:31:26 +03:00
Nordsoft91
aaa07e4d2e
New terrain support - part 1 ( #755 )
...
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Nordsoft91
5c1a66ab69
Rmg water support ( #745 )
...
* RMG: water support and refactoring
* Fix seers hut bug
2022-06-11 18:40:24 +03:00
Nordsoft91
a8265c7052
[0002285] Implement feature with extra resources near mines ( #742 )
...
* RMG: clear start position
* [0002285] some heaps of resources are placed nearby mines
* Fix leak in case of inability to place resource
* Fix indentation according to vcmi style
* Add constant for random amount of resources
* Code review fixes
2022-05-23 13:08:36 +03:00
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) ( #739 )
...
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet
Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
0d15089dd4
Do not remove hero if left only with commander
2022-05-01 09:30:30 +03:00
Agoston Szepessy
5080f26235
Fix 3184
...
Taken from !684 . This fixes a bug with primary skills that results in
heroes not being able to interact with objects, or skills being
incorrect when moving from mission to mission.
2022-03-14 09:18:57 +02:00
Dmitry Orlov
9e3c4b69c4
Minor fixes
2021-12-22 21:37:56 +02:00
Dmitry Orlov
0427fa45dd
Fix: Terrain description should be shown correctly
2021-11-08 21:01:30 +02:00
Dmitry Orlov
e4c2f0c822
Fix: Skyship Grail should work immediately after capturing without battle
2021-10-31 09:01:49 +02:00
Andrii Danylchenko
e219e1febf
3187 - fix whirlpool crash when exits are blocked
2021-10-23 21:40:52 +03:00