1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-07-05 00:49:09 +02:00

180 Commits

Author SHA1 Message Date
1e3e2f665c Remove strange & unused double-selector logic 2025-06-24 12:06:23 +03:00
f9c8071537 Do not show bonuses for which unit only has percentage bonuses 2025-06-24 11:19:24 +03:00
af133725b6 Adjust artifacts positions 2025-06-14 07:29:04 +02:00
a06855b979 Fix visibility of inactive stack experience bonuses in creature window 2025-06-03 15:57:21 +03:00
6f0d415ede Add descriptions for h3 creature abilities 2025-05-29 12:23:59 +03:00
099d7893ff Show spell description when right-clicking on spell in unit window 2025-05-29 11:24:24 +03:00
0945654672 Give custom descriptions to unclear H3 abilities and artifacts 2025-05-25 11:56:54 +03:00
3f4ff58a5e Merged bonus names with bonus descriptions, since they are never used
separately
2025-05-25 11:56:54 +03:00
5e02d2a3be Improve selection of bonus when bonus grouping is active 2025-05-22 18:28:22 +03:00
9975852d33 Try to improve bonus grouping in creature window 2025-05-21 23:30:24 +03:00
71403265fb Remove debug code, update docs 2025-05-21 14:57:10 +03:00
25655184d3 Add support for custom icons & descriptions for bonuses 2025-05-21 14:57:10 +03:00
35644da2b7 Reogranize callback-related classes on 1 file = 1 class basis 2025-05-12 22:07:09 +03:00
283adc37d7 Unit stack rebalancing rework
- CStackInstance::count is now private with accessor methods
- CStackInstance::experience renamed to totalExperience and now stores
total stack experience (multiplied by stack size) to reduce rounding
errors
- CStackInstance::totalExperience is now private with accessors methods
- stack experience is now automatically reallocated on stack management
- Removed buggy BulkSmartRebalanceStacks pack, that mostly duplicates
BulkRebalanceStacks
- Renamed BulkSmartSplitStack to BulkSplitAndRebalanceStack to drop
unclear "smart" in name
- Reworked split-and-rebalance logic to correctly reallocate stack
experience
2025-05-01 18:18:30 +03:00
f70ad2c15b Reorganized artifact-related classes
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes

No changes to functionality
2025-04-29 13:29:08 +03:00
829739da24 Reduce usage of implicit conversions to int 2025-04-27 14:57:31 +03:00
d34b47bb20 Remove pointers from artifacts 2025-04-27 14:57:31 +03:00
63d00b080e Removed pointer to army from StackInstance 2025-04-27 14:57:30 +03:00
db2e4c5f6d Include bonus from artifacts to Ballista damage, unify code 2025-04-14 15:50:10 +03:00
a8a6be7ac1 Fix potential compatibility with C++20 / C++23 mode
This fixes several issues with compatibility with C++20. C++23 was also
tested, but apparently it does not have any additional breaking changes
compared to C++20 (or we don't have those).

VCMI still uses C++17 as before - goal is only to make potential
transition easier.

There were 2 cases that are deprecated in C++20 that we use:
- Floating point operations on enums are deprecated
- `this` can no longer be captured when using default capture by value
`[=]`

Both of those should now be replaced with code that works fine in both C+
+17 and in C++20 mode
2025-03-02 14:11:48 +00:00
07a46ed03b Configurable icons for bonuses
It is now possible for mods (e.g. vcmi extras) to provide custom icons
for bonuses subtypes or for custom bonuses values without requiring
hardcoded check in vcmi.

All existing hardcoded checks have been removed.

Bonuses config json from mods is now actually loaded.
2025-02-28 14:51:32 +00:00
645b95ba02 Renamed LibClasses * VLC to GameLibrary * LIBRARY 2025-02-21 16:54:56 +00:00
156de5b17e Added GameInstance class
- available as global GAME
- integrates LOCPLINT (CPlayerInterface)
- integrates CGI->mh (CMapHandler)
- integrates CSH (CServerHandler)
2025-02-21 16:54:06 +00:00
ffd37a8fa8 Removed CGI in favor of VLC. Map handle is for now global variable 2025-02-21 16:53:14 +00:00
cacceda950 Renamed CGuiHandler to GameEngine
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
2025-02-21 16:53:13 +00:00
0548f325e4 Merge branch 'master' into 'develop' 2025-02-21 13:59:34 +00:00
e9dc9f81b8 text fixes 2025-02-15 16:46:41 +01:00
f4a218285f Fix display of remaining spell duration for creatures 2025-02-06 14:19:34 +00:00
d72b743ce5 Merge pull request #5350 from MichalZr6/fix_miniHillFort
Fix creating buttons in Stack Window when upgrade is unavailable
2025-02-04 01:02:50 +02:00
b36f5e4026 Merge branch 'beta' into 'develop' 2025-02-03 16:29:10 +00:00
386679294f Fix crash on stack being affected by spell with battle-wide propagator 2025-02-01 12:23:22 +00:00
d3131ea365 Merge branch 'beta' into 'develop' 2025-01-31 16:33:12 +00:00
358189d9c3 Fix creating buttons for unavailable upgrades 2025-01-30 16:00:22 +01:00
9cf75713d0 Fix possible crash on opening unit window if unit has both ability and
artifact bonus
2025-01-19 16:08:29 +00:00
59cdd46490 Possible fix for crash on opening creature/commander window 2025-01-18 19:45:34 +00:00
aabd92451c Merge branch master into develop 2024-12-27 13:29:44 +00:00
7a4afc46a2 fix OPENING_BATTLE_SPELL 2024-12-22 21:23:31 +01:00
03eba171fa Merge pull request #5086 from kdmcser/commander_no_melee_penalty
Ensure the commander has no melee penalty when gaining the SHOOT ability
2024-12-21 16:02:26 +02:00
f893c80192 Move UpgradeInfo class to header and source files 2024-12-19 14:13:09 +01:00
af9445c16f Fixes following review 2024-12-17 22:34:06 +01:00
d8d3948ac3 Fix AI to use hillFort all available upgrades. UpgradeInfo refactor. 2024-12-17 22:34:06 +01:00
c7b22b1b28 add multi-bonuses support for creature speical skills 2024-12-15 02:40:54 +08:00
bb2f016f49 text fixes 2024-11-30 00:41:09 +01:00
df0c53af41 Merge pull request #4864 from Laserlicht/creature_window_rework
Creature window rework
2024-11-15 19:13:58 +02:00
e73cb7f45b Update client/windows/CCreatureWindow.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-11-13 20:03:20 +01:00
e7bea6c3b8 Merge pull request #4852 from IvanSavenko/remove_vlc_entities_serialization
Remove remaining pointers to VLC entities from serializer
2024-11-06 22:01:11 +02:00
988d36bd13 sorted 2024-11-02 15:46:20 +01:00
74b4fbfceb small fix 2024-11-02 15:19:39 +01:00
0ab4b66026 better approach for scrollbar 2024-11-02 15:16:38 +01:00
9009dffebd add "other" for bonus display 2024-11-02 14:51:33 +01:00