Ivan Savenko
ae22de3ccf
Implemented configurable FEAR ability
2025-06-15 14:36:29 +03:00
Ivan Savenko
f71db8af07
Configurable Conflux University
2025-06-15 14:36:29 +03:00
Ivan Savenko
aa17f258e9
Merge pull request #5764 from IvanSavenko/stack_experience_bonus
...
Implement STACK_EXPERIENCE_GAIN_PERCENT bonus
2025-06-04 21:09:38 +03:00
Ivan Savenko
139f41c9b2
Implement STACK_EXPERIENCE_GAIN_PERCENT bonus
...
Suggested on Discord
- implements STACK_EXPERIENCE_GAIN_PERCENT that modifies stack
experience received by units after combat
- removed "EXPERIENCE" primary skill. Changes to experience are now
applied through separate netpack
2025-06-02 21:21:20 +03:00
Ivan Savenko
24def2ed16
Icons for heroes on minimap
...
VCMI will now show icons for all heroes on visible part of minimap to
help with readability on large maps
Old behavior can be enable via toggle in game settings menu
2025-05-27 18:38:44 +03:00
Laserlicht
043075a719
Merge branch 'vcmi:develop' into cheats
2025-05-23 20:38:11 +02:00
Ivan Savenko
aa9b13b66a
Statistics is now managed as part of CGameHandler
2025-05-23 14:17:42 +03:00
Ivan Savenko
af20b39fe6
Reduce non-const access to gamestate on server
2025-05-23 14:17:25 +03:00
Ivan Savenko
8255a4b9ae
CGameHandler no longer inherits CGameInfoCallback, reduce direct access
...
to gamestate
2025-05-23 14:17:25 +03:00
Laserlicht
263ba46da6
Merge branch 'develop' into cheats
2025-05-22 21:33:29 +02:00
Ivan Savenko
07662a070f
Merge pull request #5724 from IvanSavenko/randomization
...
Better randomization logic
2025-05-21 13:50:28 +03:00
Ivan Savenko
323231fc30
Merge pull request #5720 from SoundSSGood/artifact-charges
...
Charged artifacts
2025-05-21 13:49:14 +03:00
Ivan Savenko
cc274c4d34
GameRandomizer is now in lib, add implementation
2025-05-19 18:51:42 +03:00
Ivan Savenko
54a46b77a9
Extract library entity randomization logic to separate class
2025-05-19 18:51:42 +03:00
Ivan Savenko
c0850f41b3
Pathfinder now uses IGameInfoCallback instead of CGameState
2025-05-19 17:53:15 +03:00
Ivan Savenko
fe2f5f9217
Pathfinder now uses CGameState directly instead of inheriting callback
2025-05-19 17:53:15 +03:00
Laserlicht
d102f660a0
color filter cheats
2025-05-19 02:48:13 +02:00
SoundSSGood
f614a8a7f5
Discharging conditions
2025-05-16 23:26:42 +02:00
SoundSSGood
fcc9b8ecfa
Artifacts discharging
2025-05-16 23:24:36 +02:00
Ivan Savenko
456525109e
Replaced undescriptive bool true/false with more clear enum for
...
absolute/relative change via netpacks
2025-05-16 17:21:39 +03:00
Ivan Savenko
4d4da0454f
map objects hierarchy now uses IGameInfoCallback
2025-05-14 18:33:20 +03:00
Ivan Savenko
6f20235d07
Merge CPrivilegedInfoCallback into CGameInfoCallback
2025-05-14 13:42:20 +03:00
Ivan Savenko
b37a3dc63c
Lighthouse / flaggable objects now has dedicated bonus system node
...
this alows to remove multiple hacks from lighthouse logic
2025-05-14 13:42:19 +03:00
Ivan Savenko
716da918f8
Completely remove IGameCallback class
...
- CClient now inherits directly from CPrivilegedInfoCallback, like
IGameCallback did before. However CClient no longer needs dummy
implementation of IGameEventCallback
- CGObjectInstance hierarchy now uses CPrivilegedInfoCallback for
callback. Actual events can only be emitted in calls that receive
IGameEventCallback pointer, e.g. heroVisit
- CGameHandler now inherits directly from both CPrivilegedInfoCallback
and IGameEventCallback as it did before via IGameCallback
2025-05-14 13:39:41 +03:00
Ivan Savenko
f7d08a7288
Merge pull request #5700 from IvanSavenko/gamestate_pack_visitor
...
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-14 11:53:15 +03:00
Ivan Savenko
f26dca2026
Merge pull request #5708 from kdmcser/limit_fix
...
OppositeLimiter fix and boat creation fix when loading map
2025-05-14 11:52:15 +03:00
Ivan Savenko
35644da2b7
Reogranize callback-related classes on 1 file = 1 class basis
2025-05-12 22:07:09 +03:00
kdmcser
1c4d78c3fa
fix boat instanceName not set bug in loading map
2025-05-13 01:04:27 +08:00
Ivan Savenko
4b30336d03
Fix issues detected by Sonar
2025-05-11 19:50:57 +03:00
Ivan Savenko
86b832be67
Remove CPack::applyGs method in favor of GameStatePackVisitor class
2025-05-10 17:51:35 +03:00
Ivan Savenko
69de14a42f
Fix crash on loading map with heroes that have combined art equipped
2025-05-07 18:05:30 +03:00
Ivan Savenko
2e90e54aeb
Merge pull request #5680 from kdmcser/crash_fix3
...
fix load game crash
2025-05-05 16:03:27 +03:00
kdmcser
1c6d45d5b1
fix load game crash
2025-05-03 20:01:58 +08:00
Ivan Savenko
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
Ivan Savenko
ac26b3ed9b
Merge pull request #5658 from IvanSavenko/memleak_fix
...
Fix discovered memory leaks & reduce usage of raw pointers
2025-04-30 13:38:37 +03:00
Ivan Savenko
279d89f971
Merge pull request #5659 from IvanSavenko/artifact_split
...
Reorganized artifact-related classes
2025-04-30 13:23:41 +03:00
Ivan Savenko
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
Ivan Savenko
9fbfbc7506
Fix build
2025-04-29 12:37:29 +03:00
Ivan Savenko
eaae6270b2
Fix crash on AI evaluating hero pool after retreating from combat
2025-04-29 12:15:03 +03:00
Ivan Savenko
71d742ab19
Fix handling of campaign bonus where player can select color to play
2025-04-29 12:14:14 +03:00
Ivan Savenko
c0fb1d1b3b
Replace some raw pointers with unique's or optional
2025-04-29 12:11:10 +03:00
Ivan Savenko
a8a74888f7
Fix attaching of hero to bonus system (old bug?)
2025-04-27 14:57:31 +03:00
Ivan Savenko
4e8e85e3e4
Fix issues reported by Sonar, review fixes
2025-04-27 14:57:31 +03:00
Ivan Savenko
829739da24
Reduce usage of implicit conversions to int
2025-04-27 14:57:31 +03:00
Ivan Savenko
4d57a8ed36
Prefer to pass CGameState as reference instead of pointer
2025-04-27 14:57:31 +03:00
Ivan Savenko
a89cf280e3
Fix campaigns progression
2025-04-27 14:57:31 +03:00
Ivan Savenko
a43c3fcb31
Restore save compatibility with 1.6
2025-04-27 14:57:31 +03:00
Ivan Savenko
77845f74bc
Stability & regression fixes
2025-04-27 14:57:31 +03:00
Ivan Savenko
f025a3a932
Review & cleanup hiding / displaying map objects
2025-04-27 14:57:31 +03:00
Ivan Savenko
966468f3fa
Fix and simplify game saving / loading
2025-04-27 14:57:31 +03:00