a4ef45c4f8
Move list of war machines in war machine factory to config
2024-11-16 15:32:52 +00: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
c0f5c7c0ea
Replace pointer with reference in pack apply functions
2024-10-07 14:59:46 +00:00
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
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
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
44fdb71933
Machine Factory and Refugee Camp can't be owned
2024-09-04 19:46:58 +00:00
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
d49a61645c
All objects that can be owned by player now implement IOwnableObject
2024-08-28 12:51:28 +00:00
a481f07daf
PlayerState now stores all objects owned by player
2024-08-28 12:51:27 +00:00
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
ffaaa7da15
blockingDialog functions: the answer
parameter can be negative
2024-08-09 00:28:28 +02:00
b7391f49f6
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-08-05 10:36:10 +00:00
8ce6bcdf3b
Right-clicking dwellings will now show recruitable creatures (but not
...
their number) for all players
2024-08-02 15:03:25 +00:00
b6c22b2053
Fix typo
2024-07-29 17:13:31 +00:00
4aa73b40c9
Split CTownHandler into smaller chunks
2024-07-21 18:21:48 +00:00
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
ffec4b9154
Explicitly ban 'large' dwellings from random selection
...
Old code was relying on specific sorting order leading to easy to break
logic
2024-04-22 12:35:55 +03:00
19453aab41
Add handling for yes/no dialogs that can be safely skipped by player
2024-04-17 01:08:27 +02:00
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
51b7de4b98
Fix double off-by-one bug with CREATURE_GROWTH bonus
2024-01-05 16:57:44 +02:00
d187309eed
Fixed typo - different type was used to select ID and subID
2023-12-16 13:46:29 +02:00
34338f4eaa
Remove few more implicit conversions
2023-11-15 15:55:19 +02:00
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
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
1ebb151b41
Show available creatures in owned dwellings on right-click
2023-11-06 20:37:07 +02:00
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
8d5fa41a19
Minor fixes
2023-11-03 16:03:29 +02:00
3634fb2158
Remove int <=> Identifier comparisons
2023-11-03 16:03:29 +02:00
2b9c362d5b
Explicitly convert identifier to underlying enumeration
2023-11-03 16:03:29 +02:00
b42f073f0c
Stabilization
2023-11-01 18:26:57 +02:00
7a09646009
Cleaned up dwelling randomization
2023-11-01 14:43:20 +02:00
dcb8f4fc7b
Moved object type randomization to object class
2023-11-01 14:43:20 +02:00
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
39a92cdde3
Add query for dwellings dialog
2023-10-04 17:47:12 +03:00
898733eed7
Added Query to track visit duration for Taverns and Markets
2023-10-04 17:47:12 +03:00
62cd8b12d4
Converted several namespace enums to enum class
2023-08-25 13:38:02 +03:00
8a92941681
Allow merging stack on recruitment to give place for recruited unit
2023-07-15 16:09:44 +03:00
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
56d69e790b
Renamed MetaString methods to more logical names
2023-06-20 19:37:27 +03:00
d6a357fd17
Split some map object files into smaller files. Reduced includes usage.
2023-06-02 21:47:37 +03:00
05eccbc2bb
vcmi: split bonus to enumerator and HeroBonus.h
2023-05-03 18:01:06 +03:00
421bbab1cc
Split CGTownInstance file
2023-04-28 05:30:49 +04:00