1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Commit Graph

1530 Commits

Author SHA1 Message Date
Ivan Savenko
45a29ac3c3 Merge pull request #5755 from IvanSavenko/misc_fixes
Miscelllaneous fixes
2025-05-30 18:30:42 +03:00
Ivan Savenko
689f9250f6 Merge pull request #5754 from GeorgeK1ng/dwellings_text
Correct text for dwellings with 2 or 3 creatures
2025-05-30 18:30:35 +03:00
Ivan Savenko
cee3920599 Merge pull request #5747 from IvanSavenko/necrofix
Fix handling of upgrades of upgrades for necromancy
2025-05-30 18:30:12 +03:00
George King
0314e10225 Missing ; 2025-05-30 14:33:26 +02:00
George King
afc52b2b76 Update lib/mapObjects/CGDwelling.cpp
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2025-05-30 14:32:48 +02:00
Ivan Savenko
afb22e52eb Add some diagnostics for inablilty to place all stacks on battlefield 2025-05-29 11:24:24 +03:00
George King
1a8f470339 Correct text for dwellings with 2 or 3 creatures 2025-05-28 18:41:37 +02:00
Ivan Savenko
de051cbd46 Show preview for Refugee Camp
VCMI will now show preview for Refugee Camp similar to dwelling preview
that show available creatures if player have visited Refugee Camp on
this week, and no other player have visited the Refugee Camp since then
2025-05-27 19:43:02 +03:00
Ivan Savenko
bad46571c0 Fix handling of upgrades of upgrades for necromancy
Game will now recognize upgrades of upgrades for Necromancy purposes -
if hero has such units in his army, Necromancy can target them with same
2/3 efficiency like direct upgrades
2025-05-27 18:46:11 +03:00
Ivan Savenko
8255a4b9ae CGameHandler no longer inherits CGameInfoCallback, reduce direct access
to gamestate
2025-05-23 14:17:25 +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
9dfef773e2 Remove unnecessary includes 2025-05-19 17:56:46 +03:00
Ivan Savenko
c0850f41b3 Pathfinder now uses IGameInfoCallback instead of CGameState 2025-05-19 17:53:15 +03:00
Ivan Savenko
e79c8b9fe1 Remove unnecessary access to gamestate 2025-05-19 17:53:15 +03:00
Ivan Savenko
cb82c6a4f6 Fix calculation of new secondary skill level. Fixes bug with removal 2025-05-16 17:21:39 +03: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
1165dadfd4 Merge pull request #5701 from IvanSavenko/bonus_docs
Update documentation for bonuses and fix creature type limiter
2025-05-14 11:53:05 +03:00
Ivan Savenko
c62e1d289e Merge pull request #5706 from IvanSavenko/antagarich
Fix missing messages on events without guards on .vmap's (e.g. Antagarich Burning)
2025-05-14 11:52:52 +03:00
Ivan Savenko
a13ab8f013 Merge pull request #5707 from IvanSavenko/dwelling_fix
Fixes for handling of oversized map dwellings
2025-05-14 11:52:40 +03:00
Ivan Savenko
35644da2b7 Reogranize callback-related classes on 1 file = 1 class basis 2025-05-12 22:07:09 +03:00
Ivan Savenko
cb70cc48d6 Fixes for handling of oversized map dwellings
- Marked large version of H3 Unicorn's Glade as not usable for random
dwelling replacement
- Shifted oversized dwellings - that have at most 2x2 as blocked tile,
but have non-blocked tile column will now be placed correctly
- This fixes incorrect random dwelling replacement of the only oversized
H3 dwelling - Portal of Glory
- Game will now detect & report invalid dwelling templates from mods
- Updated docs to clarify dwellings format
2025-05-12 18:01:46 +03:00
Ivan Savenko
79591ac587 Fix missing messages on events without guards on .vmap's 2025-05-12 15:42:59 +03:00
Ivan Savenko
4b30336d03 Fix issues detected by Sonar 2025-05-11 19:50:57 +03:00
Ivan Savenko
3d170bb1f4 Fix creature type limiter not considering upgrades of upgrades 2025-05-10 19:09:08 +03:00
Ivan Savenko
86b832be67 Remove CPack::applyGs method in favor of GameStatePackVisitor class 2025-05-10 17:51:35 +03:00
Ivan Savenko
6859ab7c36 Fix discovered issues, remove not implemented ideas 2025-05-09 17:26:23 +03:00
Ivan Savenko
6b6199d3a4 Implemented giving bonuses to commanders 2025-05-07 22:49:22 +03:00
Ivan Savenko
434da3ffe1 Added forceCombat field for ambush-like objects 2025-05-07 19:49:26 +03:00
Ivan Savenko
0e2ea99283 Implemented option to emulate H3 seer hut full-army quest bug 2025-05-07 19:16:58 +03:00
Ivan Savenko
92c4bcbf68 Unify checks for creature limiter 2025-05-07 16:35:15 +03:00
Ivan Savenko
4b77140f4a Implemented playerGlobal visit mode for objects like cartographer 2025-05-06 18:53:43 +03:00
Ivan Savenko
1b5d00cc99 Fix running game without wog active 2025-05-06 18:53:21 +03:00
Ivan Savenko
62e774c91e Add new rewards for configurable objects 2025-05-06 17:28:11 +03:00
Ivan Savenko
9022566c2b Force town building to use modal reward window, and not inactive infobox 2025-05-06 17:27:42 +03:00
Ivan Savenko
7fc1990282 Clear rewardable garrison after player is done picking units 2025-05-06 17:27:42 +03:00
Ivan Savenko
fe276374ef Merge pull request #5687 from kdmcser/fix_commander_artifacts
fix commander artifacts inactive when loading game
2025-05-06 16:20:27 +03:00
kdmcser
aebe4932fb fix commander artifacts inactive when loading game 2025-05-05 23:01:43 +08:00
Ivan Savenko
fb0cdb2475 Merge pull request #5669 from IvanSavenko/haven_fix
Fix crash on evaluating creature terrain limiter during initialization (Haven mod fix)
2025-05-05 16:18:54 +03:00
Ivan Savenko
1690913ba4 Stack instance now stores non-serialized pointer to army 2025-05-05 16:09:21 +03:00
Ivan Savenko
90e765b2be Merge pull request #5677 from kdmcser/hang_fix
fix hangs after a siege battle
2025-05-05 16:06:25 +03:00
kdmcser
50887a4f30 fix hangs after a siege battle 2025-05-02 22:16:35 +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
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