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
4d57a8ed36
Prefer to pass CGameState as reference instead of pointer
2025-04-27 14:57:31 +03:00
a43c3fcb31
Restore save compatibility with 1.6
2025-04-27 14:57:31 +03:00
e6a8e5d4bd
Correctly restore bonus system on deserialization
2025-04-27 14:57:31 +03:00
93b18ee94b
Fix some issues detected by Sonar & code review, fix build
2025-04-27 14:57:31 +03:00
d34b47bb20
Remove pointers from artifacts
2025-04-27 14:57:31 +03:00
9e6397d1f9
Remove pointer to boat from CGHeroInstance
2025-04-27 14:57:30 +03:00
2ca1748e96
Artifact instances are now owned solely by CMap
2025-04-27 14:57:30 +03:00
417ea6451a
Remove ConstTransitivePtr from hero and town instances
2025-04-27 14:57:30 +03:00
60afbbe20f
Necromancy & Eagle eye infowindows
2025-04-09 10:13:10 +02:00
eb3b51a6cf
Remove save compatibility with 1.5.X
2025-03-18 11:35:15 +00:00
a061ed04de
Remove usage of ConstTransitivePtr from CTown
2025-03-08 14:04:51 +00:00
ec970c7b22
Support for configuring minimal cost for moving between tiles
...
- Added `movementCostBase` parameter to game config that defines minimal
amount of movement points that will be spent when moving from one tile
on another while offroad (and cost of Fly / Town Portal spells)
- Added `BASE_TILE_MOVEMENT_COST` bonus type that allows modifying
`movementCostBase` on per-hero basis
Example usage for hota-like pathfinding skill
```json
"tileCostReduction" : {
"type" : "BASE_TILE_MOVEMENT_COST",
"val" : -15
}
```
2025-02-03 22:52:33 +00:00
40bff74195
Use small vector for unit list
2025-01-10 18:58:46 +00:00
73d1675ae3
Code cleanup, fixes to discovered regressions
2025-01-05 15:41:42 +00:00
dea1eba20b
Rework and optimize turnInfo used by pathfinder
2025-01-04 15:09:50 +00:00
919588f7ff
Added cache for common hero-based bonuses
2025-01-04 15:09:50 +00:00
16cfb51f3e
Initial version of new bonus caching system
2025-01-04 15:09:50 +00:00
e035cf9e63
Optimized getHeroStrength method
...
- replaced 4x access to bonus system with single access
- fixed formula for Diplomacy
- fxied formula for hero transfer in campaigns
- removed pointless sqrt(pow()) construct
2024-12-22 14:49:35 +00:00
f893c80192
Move UpgradeInfo class to header and source files
2024-12-19 14:13:09 +01:00
e60a565942
Merge remote-tracking branch 'upstream/develop' into develop
2024-11-07 15:24:19 +01:00
a70f5de8c6
Merge remote-tracking branch 'upstream/develop' into develop
2024-11-07 14:35:13 +01:00
697d63d2b8
Reworked and fixed gendered hero sprites on adventure map
2024-11-07 10:39:23 +00:00
63097968d3
Merge remote-tracking branch 'upstream/develop' into develop
2024-10-31 12:29:37 +01:00
01d787fb5a
Removed remaining cases of serialization of VLC entities
2024-10-30 16:48:18 +00:00
9e9f118b09
another attempt of using CGHeroInstance::NO_PATROLLING
in map editor
2024-10-29 21:41:42 +01:00
ed087b7a5b
Use max ui32 value instead of -1 for NO_PATROLLING
2024-10-29 18:34:02 +01:00
42738e20a4
Update lib/mapObjects/CGHeroInstance.h
...
Co-authored-by: Andrey Filipenkov <kambaladecapitator@gmail.com >
2024-10-29 08:26:31 +01:00
394812c02a
try to fix build, use inline constexpr
2024-10-28 20:58:36 +01:00
a9e04428c8
Possibility to set hero patrol radius in map editor
2024-10-28 18:30:30 +01:00
2b99414793
Using hero's stats instead of level to determine their role.
...
Since there are custom maps/campaigns in which heroes have pretty high base-stats even at level 1.
2024-10-21 09:37:44 +02:00
5d6877e06d
Merge remote-tracking branch 'upstream/develop' into develop
2024-10-20 00:49:17 +02:00
604e3b5c67
Merge pull request #4763 from IvanSavenko/herohandler_split
...
Split CHeroHandler.cpp/.h into 1 file per class
2024-10-14 19:05:48 +03:00
10ad0fc760
Split CHeroHandler.cpp/.h into 1 file per class
...
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
ad7f0416a7
Added overloaded version of getObjectHandler to CGHeroInstance
2024-10-13 13:06:31 +00:00
61fba1fedd
Merge remote-tracking branch 'upstream/develop' into develop
2024-10-10 17:23:39 +02:00
3dd4fa2528
Reduce usage of pointers to VLC entities
...
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.
CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.
VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town
VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
3d9892f6b3
Merge remote-tracking branch 'upstream/develop' into develop
2024-10-01 16:08:57 +02:00
1d831022e8
Merge remote-tracking branch 'upstream/develop' into develop
2024-09-25 14:08:34 +02:00
586a32a616
CArtifactSet cleanup
2024-09-23 23:39:19 +03:00
e93a060500
Merge branch 'vcmi/beta' into 'vcmi/develop'
2024-09-23 14:25:53 +00:00
7979f62f82
Add status bar movement points info for own hero on adventure map or hero list
2024-09-17 21:38:28 +02:00
581a142a20
HeroStrengthForCampaign
...
Make sure to take our magic-specialist to the next campaign-mission even if he's totally out of mana.
2024-09-05 17:38:27 +02:00
d49a61645c
All objects that can be owned by player now implement IOwnableObject
2024-08-28 12:51:28 +00:00
0fd9dbf240
Unified income handling, added IOwnableObject interface
2024-08-28 12:40:44 +00:00
b07408e984
New objects are now created and initialized on server and sent to client
2024-07-16 13:13:39 +00:00
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
8aaa9e63dd
Fix build
2024-04-09 18:56:28 +03:00
18ece6dcf6
Remove some usages of server-side translations
2024-04-09 16:13:30 +03:00
87059be67b
Added range checks to values read from h3m.
...
Fixes reading of morale/luck values (-3..3) as unsigned leading to
overflow.
2024-02-05 21:27:55 +02:00