Ivan Savenko
3d66455cd1
Fix build
2023-06-26 19:44:38 +03:00
Ivan Savenko
098e68b8dd
Fix granting of building upgrade as bonus
...
Such as granting Mages Guild Level 4 when town does not have Mages Guild
Level 1
2023-06-26 17:15:59 +03:00
Ivan Savenko
48ac84110b
Replaced hero crossover logic with one that actually matches H3
2023-06-26 17:15:59 +03:00
Ivan Savenko
e2bd98e21e
CampaignRegions class encapsulation
2023-06-26 17:15:59 +03:00
Ivan Savenko
f6b2f58da9
Use inheritance instead of composition for campaign header
2023-06-26 17:15:59 +03:00
Ivan Savenko
a08fe09517
Added encapsulation for CampaignState class
2023-06-26 17:15:59 +03:00
Ivan Savenko
8420a90aa4
Reorganization of campaigns code
2023-06-26 17:15:59 +03:00
Ivan Savenko
d1e5a347ff
Refactoring of campaign handler: rename types and use strong typing
2023-06-26 17:15:59 +03:00
Ivan Savenko
453d441562
Remove heroes placeholders even in single scenarios
2023-06-26 17:15:59 +03:00
Ivan Savenko
2882e2d248
Added loading of reserved heroes from H3M
2023-06-26 17:15:59 +03:00
Ivan Savenko
2b7e554807
Formatting & cleanup
2023-06-26 17:15:59 +03:00
Ivan Savenko
0fb284f948
Extracted campaign-related code from GameState into a separate class
2023-06-26 17:15:59 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
5c3cacd290
Merge pull request #2247 from IvanSavenko/pathfinding_fixes
...
Fix accumulated issues with pathfinding
2023-06-25 21:13:52 +03:00
DjWarmonger
a560eaea51
Merge pull request #2237 from vcmi/fictive_connections
...
Wide, fictive, repulsive connections
2023-06-25 19:57:08 +02:00
Tomasz Zieliński
43d666a2ff
Refactor duplicated code
2023-06-25 18:31:54 +02:00
Ivan Savenko
c77d353086
Fix build
2023-06-25 17:42:36 +03:00
Ivan Savenko
e0ea994656
Moved some pathfinding options to game settings
2023-06-25 17:42:36 +03:00
Ivan Savenko
6546242c03
Workaround-ish fix for last scenario of Angel Wings (un)equipping
2023-06-25 17:42:36 +03:00
Ivan Savenko
03c3797945
Fixed pathfinding with free ship boarding (Admiral's Hat)
2023-06-25 17:42:36 +03:00
Ivan Savenko
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +03:00
Ivan Savenko
edf7756783
Recalculate paths on (un)equipping Angel Wings
2023-06-25 17:42:36 +03:00
Ivan Savenko
f66a8a9cf0
Do not allow stopping movement while in air
...
(client-side check, since proper fix would require major rewrite)
2023-06-25 17:42:36 +03:00
Ivan Savenko
90c68588f9
Implemented fly movement sound
2023-06-25 17:42:36 +03:00
Ivan Savenko
f7b27da00e
Implemented support for "coast visitable" objects:
...
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
Ivan Savenko
a84ccb37c2
Merge pull request #2250 from IvanSavenko/event_handling_fixes
...
Slider input event fix
2023-06-25 17:39:55 +03:00
Ivan Savenko
b93b8f45db
Merge pull request #2240 from krs0/feature/show_max_range_limit_for_ranged_units
...
Show max range limit for ranged units
2023-06-25 17:39:31 +03:00
Tomasz Zieliński
a5ddc225ac
Place objects away from connection even if it's empty (not guarded)
2023-06-23 21:43:49 +02:00
Tomasz Zieliński
64e8b9b2b9
Smarter scaling for forces between zones.
2023-06-23 21:43:12 +02:00
krs
27c488e62f
Small changes after review.
2023-06-23 20:05:15 +03:00
krs
afe0146021
Renamed settings option to reflect that same option is used for both ranges.
2023-06-23 19:50:39 +03:00
krs
b6ab1e1505
Removed #regions
2023-06-23 19:13:39 +03:00
krs
1cba41a3c3
IsHexInRangeLimit() is now a common function
...
Plus some minor rearranging of code.
2023-06-23 19:13:39 +03:00
krs
1ba9a2a42a
calculateRangeLimitAndHighlightImages() is now separate function
2023-06-23 19:13:39 +03:00
krs
756dd398c2
Added constant for BATTLE_SHOOTING_RANGE_DISTANCE
2023-06-23 19:13:39 +03:00
krs
e668ea3a03
A common function is used for getting hexes in a certain range
...
getRangeHexes()
2023-06-23 19:13:39 +03:00
krs
192f82152d
A common function is used to get range limit hexes
...
getRangeLimitHexes()
2023-06-23 19:13:39 +03:00
krs
e938152c1d
Fix for showing penalty limit in red for unlimited ranged archers
2023-06-23 19:13:39 +03:00
krs
33bbbefdeb
First working prototype that mimics rangedFullDamageLimit code
...
Next step is to create more generic functions that can be shared between the 2.
2023-06-23 19:13:39 +03:00
Ivan Savenko
1c135456f4
Merge pull request #2243 from IvanSavenko/fix_ship_shipyard
...
Cleanup & fix shipyard / boat creation code
2023-06-23 15:09:11 +03:00
Ivan Savenko
ce3e150d59
Minor formatting
2023-06-23 13:55:52 +03:00
Ivan Savenko
1fb2b60999
Remove no longer relevant check
2023-06-23 13:42:09 +03:00
Ivan Savenko
44261ecc21
Fix boat positioning
2023-06-23 13:42:09 +03:00
Ivan Savenko
caccd58eb0
boat offsets for shipyards are counted from visitable position
2023-06-23 13:42:09 +03:00
Ivan Savenko
6a08a96d0c
Added createObject call as wrapper around NewObject netpack
2023-06-23 13:42:08 +03:00
Ivan Savenko
d8879f1e53
NewObject pack now receives visitable position instead of h3m position
2023-06-23 13:34:51 +03:00
Ivan Savenko
56680e102d
Merge pull request #2245 from IvanSavenko/platform_settings
...
Allow defining default values of settings per platform
2023-06-23 13:32:30 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
...
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
a4ecec0a10
Fix swapped localizations
2023-06-23 12:19:26 +03:00
Ivan Savenko
a505cc464e
Fixed slider's behavior, especially for mobile systems
2023-06-22 23:49:38 +03:00