Ivan Savenko
39a2c29c97
Removed creatureBank flag from battle, battles now receive BattleLayout
...
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
...
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
Ivan Savenko
dae9e1e316
Implement IOwnableObject interface for shipyard
2024-09-04 19:46:36 +00:00
Ivan Savenko
b09d9d501b
Pass pointer to actual caller in showBlockingDialog callWith
...
Fixes activation of all rewardable buildings in town on blocking dialog
answer
2024-09-04 15:14:56 +00:00
Ivan Savenko
d49a61645c
All objects that can be owned by player now implement IOwnableObject
2024-08-28 12:51:28 +00:00
Ivan Savenko
0fd9dbf240
Unified income handling, added IOwnableObject interface
2024-08-28 12:40:44 +00:00
Ivan Savenko
2a05fbdd50
Unified handling of battle sides ID's
...
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00:00
MichalZr6
ffaaa7da15
blockingDialog functions: the answer
parameter can be negative
2024-08-09 00:28:28 +02:00
Ivan Savenko
81e6207df0
Add helper functions for integer division rounding
...
Added set of functions that perform integer division with different
rounding modes:
- divideAndCeil - rounds up to next integer
- divideAndRound - rounds to nearest integer
- divideAndFloor - rounds to previous integer (equivalent to default
division)
Intended for use in library, where usage of floating point might lead to
desync in multiplayer games.
Replaced some cases that I knew of, including recent handicap PR
2024-08-03 13:52:14 +00:00
Laserlicht
3e5df61946
code review
2024-07-29 22:54:42 +02:00
Laserlicht
2e2d8f8833
fix
2024-07-26 02:24:53 +02:00
Laserlicht
977d8e041a
generate at least one resource / creature
2024-07-26 00:55:47 +02:00
Laserlicht
bfd1e8a7c8
calculate income
2024-07-25 02:51:00 +02: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
388d65d6b2
Fix merge
2024-07-16 13:13:39 +00:00
Ivan Savenko
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
c68f2da977
Fix initialization of gold pile from random resource with fixed amount
2024-06-17 20:08:07 +00:00
Ivan Savenko
9c05e80315
Fix Admiral's Hat whirlpool immunity. Reduce usage of
...
convertFromVisitablePos
2024-06-11 14:31:11 +00:00
Ivan Savenko
8b861fc58f
Do not check for guards when teleporting using means other than DD
2024-05-07 20:05:23 +00:00
Ivan Savenko
5454d01316
Provide more information in thrown exceptions for unfixed crashes
2024-04-22 16:40:43 +03:00
Andrii Danylchenko
ae69311023
#3788 - fix passing wirlpool with only commander alive
2024-04-20 15:28:57 +03:00
Dydzio
f7dd80c732
Remove redundant double sound play on mine capture
2024-04-16 00:01:37 +02:00
Ivan Savenko
08a27663f9
Reworked JsonNode constructors to more logical form
2024-02-26 12:55:49 +02:00
Ivan Savenko
6e629a6a5f
split getBonusLocalFirst into two distinct method:
...
- const method getFirstBonus that returns single matching bonusToString
- non-const method getLocalBonus that returns bonus from current node
2024-01-19 13:56:06 +02:00
Ivan Savenko
496c13b34a
Stabilization
2024-01-19 13:56:06 +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
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
Ivan Savenko
4835a1f695
Fix possible crash on abandoned mine with no valid resources
2023-12-24 22:05:47 +02:00
Dydzio
39c3db04f3
Add missing antimagic functionality to antimagic garrisons
2023-12-21 18:09:33 +01:00
Ivan Savenko
2de7a3939a
Fix text identifier for generic signs without custom text
2023-12-09 18:09:57 +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
364977ef40
More meaningful exception messages
2023-11-22 19:11:40 +02:00
Ivan Savenko
c872f8418f
Implemented serialization of MapObjectSubID, refactoring of related code
2023-11-17 21:18:34 +02:00
Ivan Savenko
13763cad8e
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
1192dbff15
Merge pull request #3180 from IvanSavenko/bugfixing
...
Fixes for miscellaneous accumulated issues
2023-11-13 16:26:33 +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
SoundSSGood
57e3abc548
ask assemble regression fixed
2023-11-08 21:59:55 +02:00
Ivan Savenko
0691dfef3b
Moved stateful artifact randomization logic to gamestate from handler
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
d7d8177390
Show artifact description and icon on right click if UI tweaks are on
2023-11-06 20:37:17 +02:00
Ivan Savenko
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00