Ivan Savenko
f5c037137b
Fix translations, fix Sonar
2025-06-15 14:37:17 +03:00
Ivan Savenko
bc48337445
Implement async requests for bonus types
2025-06-15 14:36:29 +03:00
Ivan Savenko
0979f409c7
Fix build
2025-06-15 14:36:29 +03:00
Ivan Savenko
4e47894e7a
Somewhat configurable spell schools
2025-06-15 14:36:29 +03:00
Ivan Savenko
51832c4fb9
Preparation for user-defined bonus types
2025-06-15 14:36:29 +03:00
Ivan Savenko
5bc27d3d90
Initial version of bonus system usage guide
2025-06-06 18:52:10 +03:00
Ivan Savenko
8f0bca05de
Review & update spell format documentation. Remove unused ai value
2025-06-05 22:30:16 +03:00
Ivan Savenko
63d00b080e
Removed pointer to army from StackInstance
2025-04-27 14:57:30 +03:00
Ivan Savenko
e51ba74214
Fix loading of spell immunity icons for corresponding bonus
2025-04-10 22:24:22 +03:00
Ivan Savenko
645b95ba02
Renamed LibClasses * VLC to GameLibrary * LIBRARY
2025-02-21 16:54:56 +00:00
MichalZr6
ecdd394bb1
Use BattleHex as const ref wherever possible
...
Minor Fixes
Drop unused function from BattleHexArray
2025-01-21 13:23:17 +01:00
Ivan Savenko
48473b18f6
move checks for invincible bonus to UnitState & cache
2025-01-10 21:15:37 +00:00
MichalZr6
dbe82b94f6
Changes following review:
...
- shared_ptr for destructibleEnemyTurns instead of raw pointer
- drop implicit int conversion for BattleHex class
and implement toInt() instead
- implement necessary operators in BattleHex
- adjust code to work properly with JSON serializer
2025-01-08 07:24:43 +01:00
MichalZr6
a99274d72e
BattleHexArray - new container for BattleHexes
2025-01-06 23:18:18 +01:00
Ivan Savenko
aef6b0cc00
Fix several new issues detected by SonarCloud
2024-11-20 16:06:38 +00:00
Ivan Savenko
dfe6e04464
Implemented semi-transparent spell effects
2024-11-17 19:48:16 +00:00
Ivan Savenko
b85ccccb37
Minor refactoring of translations:
...
- removed unsuccessful and broken validation of translations
- pass JsonNode when registering strings to provide information on mod
source
2024-10-06 19:42:15 +00:00
Laserlicht
e6cb87abac
cast only on self
2024-09-28 17:32:53 +02:00
Ivan Savenko
cb96b9959e
Merge pull request #4623 from Laserlicht/invincible_bonus
...
INVINCIBLE bonus
2024-09-20 11:50:29 +03:00
Laserlicht
b36c05df1d
INVINCIBLE bonus
2024-09-19 03:14:45 +02:00
Laserlicht
0aaafc4c8a
cast without skip
2024-09-14 15:10:24 +02:00
MichalZr6
0d5a9b8e3b
Refactor for previous fix in CSpellHandler
2024-08-23 09:43:41 +02:00
MichalZr6
e7b94014e1
allow lowercase 'X' in spellRangeInHexes
2024-08-18 18:46:54 +02:00
Ivan Savenko
6ab97bad7e
Merge pull request #4433 from IvanSavenko/spell_cleanup
...
Minor cleanup of SpellHandler
2024-08-14 17:05:22 +03:00
godric3
c34956e912
introduce getModScope method toEntity class and subclasses
2024-08-10 16:08:04 +02:00
Ivan Savenko
a4fa409d1f
Parse spell range on load instead of on every cast attempt
2024-08-10 12:22:21 +00:00
Ivan Savenko
1aa391fdf8
Split CGeneralTextHandler file into 1 file per class form
...
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes
Moved without changes:
Languages.h -> texts/Languages.h
MetaString.* -> texts/MetaString.*
TextOperations.* -> texts/TextOperations.*
Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
-> texts/CLegacyConfigParser.*
-> texts/TextLocalizationContainer.*
-> texts/TextIdentifier.h
2024-07-20 12:55:17 +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
8353bca34f
Small refactoring of adventure map spell casting:
...
- Removed duplicated checks for DD possibility
- Moved most of spell-specific code from AdventureMapInterface to library
code
- AdventureSpellMechanics class now provides methods to check whether
spellcast is possible, similarly to battle spells
- If it is not possible to cast adventure map spell (e.g. no mana or no
move points) game will show infowindow immediately on clicking spellbook
instead of on cast attempt
- If hero does not have movement points for a DD, game will show correct
error message
- Added game settings 'dimensionDoorFailureSpendsPoints' due to
discovered H3 logic
2024-04-10 20:04:08 +03:00
Ivan Savenko
922966dcf8
Renamed JsonNode::meta to more logical modScope. Member is now private
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
54796c7c56
Rename toJson to toString/toCompactString for consistency
2024-02-26 12:55:49 +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
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Ivan Savenko
1194419884
Added option to allow self-casting
2024-01-16 15:13:00 +02:00
Ivan Savenko
65721123a1
Partial fix for Coronius specialty bug
2023-12-10 19:17:58 +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
ac925bb786
Renamed new types for consistency with code style
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
910ad50417
Fix client & server compilation
2023-10-22 16:54:48 +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
403acc0cf1
Update spell docs
2023-09-26 15:55:27 +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
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
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