1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

2521 Commits

Author SHA1 Message Date
Ivan Savenko
40e423884f Do not attempt to build non-existing buildings via events 2024-01-05 18:51:00 +02:00
Ivan Savenko
296310e32e Fix check for opponent side for mana drain 2024-01-05 17:56:00 +02:00
Ivan Savenko
b5307948c5 Fix crash on summon guardians ability 2024-01-05 15:47:25 +02:00
Ivan Savenko
c78382c515 Fix possible crash on ending battle via on-timer action 2024-01-04 23:57:59 +02:00
Ivan Savenko
edb2ecd751 Fix possible overflow errors on leveling up beyond int64_t limit
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
Ivan Savenko
ceea341bb0 Fix crash on attempt to dereference invalid subtype in bonus 2024-01-04 23:54:35 +02:00
Ivan Savenko
68faa98f35 Avoid crash on server startup failure on Android 2024-01-04 23:53:37 +02:00
Ivan Savenko
ef5686634d Removed no longer used code 2024-01-04 23:48:58 +02:00
Dydzio
7283a4861e Initial version of ACCURATE_SHOT implementation 2024-01-04 22:27:51 +01:00
Dydzio
7cf7543747 Configurable ferocity bonus 2024-01-01 21:16:38 +01:00
Dydzio
898b8f3c71 Add initial version of Ferocity ability (for Ayssids) 2024-01-01 19:58:32 +01:00
Laserlicht
cb9c4bbaf0 unlimited replay option 2023-12-28 20:48:19 +01:00
Laserlicht
fc4827c89c
option for allowing cheats 2023-12-27 14:39:35 +01:00
Ivan Savenko
0c177ced42 Disable lobby reconnection logic due to deadlock on shutdown 2023-12-24 22:31:02 +02:00
Ivan Savenko
a001f4e407 Fix crash on reveal puzzle cheat 2023-12-24 19:29:33 +02:00
Ivan Savenko
e77651d3f3
Merge pull request #3377 from dydzio0614/commander-skills-fix
Commander skills fix
2023-12-24 13:33:48 +02:00
Ivan Savenko
85de3143ff Fixed Genie spellcasting logic to account for spell immunities 2023-12-24 01:13:19 +02:00
Ivan Savenko
08a4b67cd7
Merge pull request #3372 from IvanSavenko/bugfixing
[1.4.2] Bugfixing
2023-12-23 22:05:39 +02:00
Dydzio
2e976dc0f1 Add TODO comment for possible minor logic deviation from WoG 2023-12-23 20:35:40 +01:00
Dydzio
6fd4b2bddd Fix commander bonus from damage ability 2023-12-23 20:33:15 +01:00
Dydzio
9e9849b741 Fix commander ability accumulation, change commander ability bonus 2023-12-23 20:16:29 +01:00
Ivan Savenko
12c69f8e04 Fix crash on accessing non-existing player ID 2023-12-23 18:11:48 +02:00
Ivan Savenko
cd526a5e15 Send notifications when simultaneous turns end 2023-12-23 18:11:25 +02:00
Dydzio
bcda68abef Fix crash on giving WoG experience - quantity 0 unit on army transfer 2023-12-23 15:32:21 +01:00
Ivan Savenko
4986b9031d Use timers for turns only if turn timer is set and for pvp battles -
only if unit timer is set to avoid "bad" edge case where player can
completely run out of time
2023-12-22 18:40:28 +02:00
Ivan Savenko
fc595c5d84 propagate turn timer state every second to ensure correct UI 2023-12-22 18:40:28 +02:00
Ivan Savenko
f834cb3d99 Display different timers separately when applicable 2023-12-22 18:40:28 +02:00
Ivan Savenko
f40e711721
Merge pull request #3340 from IvanSavenko/crashfixes3
Crashfixes
2023-12-18 13:40:13 +02:00
Ivan Savenko
acc09ee51a
Merge pull request #3266 from Laserlicht/puzzle_cheat
implement missing OH3/HDmod cheats
2023-12-17 22:16:22 +02:00
Ivan Savenko
dd88220b7c Fixed potentially uninitialized class member 2023-12-17 19:44:45 +02:00
Ivan Savenko
a3adfcf7a7 Do not attempt to start a new turn on game end 2023-12-13 16:53:02 +02:00
Ivan Savenko
e23cddac8c Fix AI movement 2023-12-10 19:18:15 +02:00
Ivan Savenko
a7c838036d Workaround to avoid crash on invalid bonus 2023-12-10 16:32:43 +02:00
Ivan Savenko
9a52131c82 Use battle side instead of player color for fire shield damage formula 2023-12-09 18:48:53 +02:00
Laserlicht
22a6eff28f
add alias 2023-12-09 15:07:27 +01:00
Laserlicht
a24e78a210 real unlimited movement (like in OH3) 2023-12-09 13:42:09 +01:00
Laserlicht
584bb32f53
add nwctheone 2023-12-09 00:44:53 +01:00
Laserlicht
d58c99b47d
flag all team members as cheaters 2023-12-08 20:13:32 +01:00
Laserlicht
1cfbe66460
fix crash if no hero is selected 2023-12-08 19:37:34 +01:00
Laserlicht
4bad88f141
implement luck and morale cheats from OH3 2023-12-08 19:20:53 +01:00
Laserlicht
13673335a0
puzzle map cheat 2023-12-08 17:30:23 +01:00
Ivan Savenko
861c53059e Added callbacks for preset dropdowns 2023-12-07 13:57:16 +02:00
Ivan Savenko
653304b004 Implemented accumulating timers, rename creature timer to unit timer 2023-12-07 13:57:16 +02:00
Ivan Savenko
80b82cc026 Remove invalid assert - may trigger on human player defeat 2023-12-03 15:58:23 +02:00
Ivan Savenko
5df98f3eca Allow timer pause pack on opening settings menu in battle 2023-11-27 20:27:10 +02:00
Ivan Savenko
e979fb7056 Better fix for allowed heroes in h3m - allow all heroes from mods 2023-11-22 19:11:22 +02:00
Ivan Savenko
e9ac8c67c1 Reworked and fixed selection of secondary skills:
- Fixed off-by-one error when checking for obligatory skills
- If both wisdom and magic school must be offered in the same slot, magic
school will be correctly offered on next levelup
- Obligatory skill can now be proposed for upgrade
- Obligatory skills are now offered using hero class weight instead of
simple random
- If hero has multiple skills not available to his class game will
select random skill instead of first one
- Moved storage of random seed to server instead of mutable member
2023-11-20 18:46:24 +02:00
Ivan Savenko
cc71651ee4 Show proper error message if player attempts to load save with missing
identifiers instead of silent crash to main menu
2023-11-19 19:30:55 +02:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
10e110320b Remove std::vector<boo> from Json Serializer, simplify affected code 2023-11-15 15:55:18 +02:00
Ivan Savenko
a6f37b7cd7 Fixed few more memory leaks in client 2023-11-13 16:27:15 +02:00
Ivan Savenko
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
Ivan Savenko
bc51d9c772
Merge pull request #3161 from SoundSSGood/art-swap-optimization
Artifacts swap optimization
2023-11-12 19:37:25 +02:00
Ivan Savenko
07472d3b05
Merge pull request #3147 from IvanSavenko/serialization_refactor
Serialization refactor - remove VLC from saved games
2023-11-11 17:35:01 +02:00
Ivan Savenko
5c810df36f Reorganized types registration code 2023-11-11 00:39:08 +02:00
SoundSSGood
e1a9763ae4 fix test, throwing exception fix 2023-11-09 12:38:50 +02:00
Ivan Savenko
18c0217679 Relaxed ordering requirements - player can start turn even if players
before him are waiting to act. E.g. green can start turn even if blue
and red are in contact and blue is yet to start his turn
2023-11-09 00:08:13 +02:00
Ivan Savenko
4a7fa9bf8c Simplified CTypeList class 2023-11-08 22:05:36 +02:00
SoundSSGood
57e3abc548 ask assemble regression fixed 2023-11-08 21:59:55 +02:00
SoundSSGood
ce3d407396 artifacts swap optimization 2023-11-08 21:58:48 +02:00
Ivan Savenko
0691dfef3b Moved stateful artifact randomization logic to gamestate from handler 2023-11-08 21:27:05 +02:00
Ivan Savenko
6b81012f31 Use variant identifier in netpacks where applicable 2023-11-08 14:00:23 +02:00
Ivan Savenko
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
Ivan Savenko
184f5a72cc Use toEntity/toXXX methods in Identifier instead VLC objects access 2023-11-03 16:03:29 +02:00
Ivan Savenko
10e50548e7 Converted Component class to use VariantIdentifier instead of int 2023-11-02 12:00:04 +02:00
Ivan Savenko
8346d71c98 Remove more subID access 2023-11-01 14:44:05 +02:00
Ivan Savenko
7107b3202f
Merge pull request #3069 from SoundSSGood/artifact-location-id
ArtifactLocation now use ID for artHolder identification
2023-11-01 14:41:36 +02:00
SoundSSGood
7e6ab5e87b fix test & fix build & suggested changes 2023-10-29 17:46:14 +02:00
SoundSSGood
c2f658d638 Bulk move artifacts. id 2023-10-29 17:46:13 +02:00
SoundSSGood
3c5527a222 ArtifactLocation now use ID for artHolder identification part3 2023-10-29 17:46:13 +02:00
SoundSSGood
ab2f6abb87 ArtifactLocation now use ID for artHolder identification part2 2023-10-29 17:46:13 +02:00
Alexander Wilms
5cbc75d3b7 Merge remote-tracking branch 'upstream/develop' into develop 2023-10-29 13:35:37 +00:00
Ivan Savenko
e2cffd4c7b
Merge pull request #3118 from rilian-la-te/glamor-slight-bonus-fixes
Small bonus fixes
2023-10-29 15:23:07 +02:00
Ivan Savenko
720a404e20
Merge pull request #3121 from vcmi/fix-fight-in-dwelling
BattleAI: fix freeze fighting in dwelling
2023-10-29 15:22:47 +02:00
Andrii Danylchenko
3025785839 BattleAI: fix freeze fighting in dwelling 2023-10-29 09:29:57 +02:00
Konstantin
f6b03201db BattleAction: handle obstacle for standing units 2023-10-28 18:34:11 +03:00
Alexander Wilms
cc8cc11da3 server/battles/BattleFlowProcessor.cpp: Called C++ object pointer is null
Null pointers should not be dereferenced
2023-10-27 23:40:55 +00:00
Alexander Wilms
f01ec55d21 Use the "nullptr" literal.
"nullptr" should be used to denote the null pointer
2023-10-27 18:18:59 +00:00
Ivan Savenko
5cbf5031ea move SetStackEffect to a separate file 2023-10-24 01:27:52 +03:00
Ivan Savenko
5523f05284 Moved ArtifactLocation to a separate file 2023-10-23 19:02:28 +03:00
Ivan Savenko
b88a8da4e8 Split off some netpack structures into separate files 2023-10-23 13:59:15 +03:00
Ivan Savenko
3880ea58b9 Merge branch 'josch/dos2unix' into develop 2023-10-22 18:39:03 +03:00
Ivan Savenko
ac925bb786 Renamed new types for consistency with code style 2023-10-22 16:55:19 +03:00
Ivan Savenko
80e6485965 MetaIdentifier now uses std::variant internally 2023-10-22 16:55:19 +03:00
Ivan Savenko
b394158dc9 Bonus Source ID now uses metaidentifier 2023-10-22 16:55:18 +03:00
Ivan Savenko
77facf9387 Implement missing functions, fixes linking errors 2023-10-22 16:54:56 +03:00
Ivan Savenko
910ad50417 Fix client & server compilation 2023-10-22 16:54:48 +03:00
Ivan Savenko
454ba44ac5
Merge pull request #2988 from IvanSavenko/configurable_extensions
Extension of configurable object functionality
2023-10-22 16:24:47 +03:00
Johannes Schauer Marin Rodrigues
a1a5bc28c2
convert line endings from CRLF (Windows) to LF (Linux/Unix)
Mixed line endings cause problems when exporting patches with
git-format-patch and then trying to "git am" a patch with mixed and
non-matching line endings. In such a situation git will fail to apply
the patch.

This commit runs the dos2unix tools on the remaining files with CRLF
(\r\n) line endings to convert them to line-feeds (\n) only.

Files that are Windows specific like *.vcxproj and *.props files were
not converted.

Closes: #3073
2023-10-19 16:23:21 +02:00
Nordsoft91
1ffc246c8b
Merge pull request #3051 from Laserlicht/name_change
possibility to change name in lobby
2023-10-16 22:28:31 +02:00
Laserlicht
0a1578b797
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2023-10-16 21:24:59 +02:00
Ivan Savenko
dd841bdaa7 Use enum instead of mix of bool's and int's for tile reveal 2023-10-16 00:12:38 +03:00
Ivan Savenko
98fd939ed6 Cartographer/Observatory is now configurable object 2023-10-16 00:12:38 +03:00
Ivan Savenko
aa0b064154 Fixed randomization of artifacts on some custom maps 2023-10-16 00:12:38 +03:00
Nordsoft91
3906217ef5
Merge pull request #3049 from Warzyw647/fix-morale-chance-lookup
Fixed morale and luck chance lookup.
2023-10-14 21:39:57 +02:00
Laserlicht
785c6507a6
code review 2023-10-13 23:50:01 +02:00
Laserlicht
0c6b1ca3c8
possibility to change name 2023-10-13 23:04:35 +02:00
Warzyw647
8058efb3bd Fixed morale and luck chance lookup. 2023-10-13 20:43:15 +02:00
nordsoft
9108f7e3e5 Remove assert triggered while flying 2023-10-12 13:40:28 +02:00
nordsoft
d7d435dcb7 Add game pause 2023-10-08 16:03:57 +02:00
Ivan Savenko
b75a67ef7c
Merge pull request #2973 from IvanSavenko/identifier_explicit_constructor
Improvements to type safety of Identifier class
2023-10-05 00:33:07 +03:00
Ivan Savenko
037efdf5fc Improvements to type safety of Identifier class
- Constructor of Identifier from integer is now explicit
- Lobby hero/town selection now uses Identifiers instead of int's
- Removed serialization workaround for hero portraits
- Added dummy objects for custom heroes portraits for ID resolver to use
- HeroInstance now stores portrait ID only in case of custom portrait
- Fixed loading of campaign heroes portraits on RoE maps
2023-10-04 18:05:23 +03:00
Ivan Savenko
39a92cdde3 Add query for dwellings dialog 2023-10-04 17:47:12 +03:00
Ivan Savenko
3cb489e9bd Fix University and Altar 2023-10-04 17:47:12 +03:00
Ivan Savenko
898733eed7 Added Query to track visit duration for Taverns and Markets 2023-10-04 17:47:12 +03:00
Laserlicht
ec8580b99e
Merge branch 'develop' into patch-4map_overview_rework 2023-10-02 21:03:16 +02:00
Nordsoft91
4620d2c96d
Merge pull request #2980 from Nordsoft91/proxy-reconnect
Allow to reconnect to proxy server
2023-10-02 20:42:11 +02:00
Nordsoft91
c57d5545c2
Merge pull request #2971 from Nordsoft91/translations
Multi-language support for network game and for VMAPs
2023-10-02 20:41:42 +02:00
Ivan Savenko
b21a361b99
Merge pull request #2814 from SoundSSGood/arts-counter-impovements
Artifacts counter impovements
2023-10-01 17:53:51 +03:00
Laserlicht
8b835c9253
load game support 2023-09-30 20:03:33 +02:00
nordsoft
f3fa0f8652 Allow to reconnect to proxy server 2023-09-29 19:49:18 +02:00
nordsoft
5b97c323d3 Rename hero strings to text id 2023-09-28 00:04:05 +02:00
nordsoft
00c8c2eb82 Event message meta string 2023-09-27 23:28:17 +02:00
Ivan Savenko
16424d2fc0 Fixed boat boarding 2023-09-27 21:25:04 +03:00
Ivan Savenko
97097c20ad
Merge pull request #2874 from SoundSSGood/exchange-window-update
Exchange window update
2023-09-27 15:50:52 +03:00
Ivan Savenko
71a1ed816a
Merge pull request #2892 from Laserlicht/highscore_menu
Highscore Menu & end video
2023-09-27 15:48:47 +03:00
Ivan Savenko
94dbde05a0
Merge pull request #2868 from IvanSavenko/simultaneous_turns
Simultaneous turns
2023-09-27 15:45:02 +03:00
Nordsoft91
c803b57c33
Merge pull request #2889 from Nordsoft91/mod-compatibility-check
Proper mod compatibility check logic
2023-09-26 19:29:46 +02:00
Ivan Savenko
0a0c01d639 Replaced 'isVisitActiveFor' methods with single 'getVisitingHero' 2023-09-26 15:55:07 +03:00
Ivan Savenko
5b21a5ffbc Simturn duration is now part of StartInfo 2023-09-26 13:42:20 +03:00
Ivan Savenko
3ea807fb8d Fixed movement through teleporters by AI 2023-09-26 13:42:20 +03:00
Ivan Savenko
a9dbd08dec Compute player contacts only once on turn start 2023-09-26 13:42:20 +03:00
Ivan Savenko
623fb2a63e Do not allow visiting objects blocked by visit of another player 2023-09-26 13:42:20 +03:00
Ivan Savenko
b807c3855b Add proper visitation checks for netpacks 2023-09-26 13:42:20 +03:00
Ivan Savenko
d257fb37f0 Use optional instead of Json for queries 2023-09-26 13:42:20 +03:00
Ivan Savenko
541f7590c5 Add simple detection of player-player contact 2023-09-26 13:42:20 +03:00
Ivan Savenko
64c43c91dc Added hardcoded min/max simturns duration 2023-09-26 13:42:20 +03:00
Ivan Savenko
b2f30f78fa Allow one AI and human to act simultaneously 2023-09-26 13:42:20 +03:00
Laserlicht
02c82cb35b
order 2023-09-26 12:01:16 +02:00
Laserlicht
c3373ea34c
code review 2023-09-25 18:06:40 +02:00
Laserlicht
f3e1943aaf
Merge branch 'develop' into highscore_menu 2023-09-23 21:38:17 +02:00
Laserlicht
c49d38b855
cheats + grail in town 2023-09-23 21:37:40 +02:00
Nordsoft91
a36450e2d1
Merge pull request #2882 from Nordsoft91/ai-cheating
Add basic system to give more advantages for ai player
2023-09-23 03:21:19 +02:00
nordsoft
dce1ac1538 Redesign mod incompatibility message 2023-09-23 00:32:48 +02:00
nordsoft
099109b7d2 Minor fixes 2023-09-22 00:52:19 +02:00
Ivan Savenko
42d9ba6c82
Merge pull request #2877 from IvanSavenko/simturn_fixes
Changes for simturns support
2023-09-20 22:09:25 +03:00
nordsoft
0de912e67b Add basic system to add more advantages for ai player 2023-09-20 03:50:35 +02:00
Ivan Savenko
7b37c2353a
Merge pull request #2865 from IvanSavenko/market_ownership_check_fix
Cleaned up and fixed ownership checks for market netpack
2023-09-19 23:43:33 +03:00
Ivan Savenko
8c0d78f1d9 Added initiator-player to packs that add/remove/move objects 2023-09-19 19:24:34 +03:00
Ivan Savenko
3cdc3daa2c Fix crash on handling invalid player request 2023-09-19 19:21:23 +03:00
SoundSSGood
48ec2d7e2a
Merge branch 'vcmi:develop' into exchange-window-update 2023-09-19 16:22:00 +03:00
SoundSSGood
9cc623c981 Fixed move checks. Backpack buttons. 2023-09-19 13:31:59 +03:00
SoundSSGood
a83f290e13 bulk move artifacts only equipped, only backpack 2023-09-19 13:31:42 +03:00
Ivan Savenko
219f81d28b Added explicit "PlayerEndsTurn" netpack
- PlayerEndsTurn pack is now sent when player ends turn
- YourTurn pack has been renamed to PlayerStartsTurn for consistency
- PlayerStartsTurn will no longer replace list of acting players
- PlayerEndsGame and PlayerEndsTurn will remove player from acting list
2023-09-18 20:55:01 +03:00
Ivan Savenko
f1c40466d3 Changes according to review 2023-09-18 18:17:26 +03:00
Ivan Savenko
3d04e9c9ed Cleaned up and fixed ownership checks for market netpack 2023-09-18 17:22:30 +03:00
Ivan Savenko
b7de685483 Fixed paths through teleport, formatting cleanup 2023-09-16 20:35:04 +03:00
Ivan Savenko
c8e6a7cd27 Fixed most common cases of movement actions 2023-09-16 20:07:26 +03:00
Ivan Savenko
f8541d0ae4 Merge branch 'vcmi/master' into 'vcmi/develop' 2023-09-15 13:59:02 +03:00
Dydzio
e79c707cf7 Fix wrong condition 2023-09-14 12:54:07 +02:00
Dydzio
56c969be4f Fix commanders requirements for special skills to match WoG 2023-09-13 23:08:22 +02:00
Dydzio
6435217a8c Quick-fix for transmutation skill - same as in SUMMON_GUARDIANS 2023-09-13 19:36:58 +02:00
Krisztián Szabó
b9b51334eb Award 500 experience for towns conquered during a battle. 2023-09-12 21:30:30 +03:00
SoundSSGood
89409da0c0 Reduced number of assembling asks 2023-09-12 19:17:37 +03:00
SoundSSGood
82eb2f8a2b Artifact assembling changes 2023-09-12 19:17:35 +03:00
Krisztián Szabó
cb3cc84c61 Give bonus experience for capturing a town even if the enemy hero escaped. 2023-09-11 19:51:23 +02:00
Krisztián Szabó
6a5e71aa63 Award 500 experience for towns conquered during a battle. 2023-09-11 09:37:48 +02:00
Ivan Savenko
e8453916cf Merge remote-tracking branch 'vcmi/beta' into develop 2023-09-08 18:49:06 +03:00
Ivan Savenko
587be4c7d5
Merge pull request #2767 from IvanSavenko/dwelling_recruit_fix
Fixes ownership checks for creature recruitment
2023-09-07 15:09:55 +03:00
Ivan Savenko
bef97889e9
Merge pull request #2773 from wb180/blindedStackMoraleFix
Blinded stack should not be able to get morale
2023-09-07 10:54:51 +03:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
e5719daf11 Added "vcmiartifacts angelWings" form to cheat 2023-09-06 22:44:41 +03:00
Ivan Savenko
1f1f978328 Fixed battle replay 2023-09-06 16:03:47 +03:00
Ivan Savenko
8bdddd1324 Fix tests compilation 2023-09-06 16:03:47 +03:00
Ivan Savenko
9fa7a93fb0 Properly pass battleID in all battle netpack's 2023-09-06 16:03:47 +03:00
Ivan Savenko
747e28947a Fix build 2023-09-06 16:03:47 +03:00
Ivan Savenko
3a88180494 Separated game and battle callback (server & client only) 2023-09-06 16:03:39 +03:00
Ivan Savenko
fc4dfda00f Added support for concurrent battles to gamestate and server 2023-09-06 16:03:02 +03:00
Evgeniy Meshcheryakov
e9c2d4e857 Blinded stack should not be able to get morale 2023-09-06 12:40:05 +03:00
Ivan Savenko
ad25bfb4bb Fixed invisible creatures from SUMMON_GUARDIANS bonus 2023-09-06 11:29:28 +03:00
Ivan Savenko
b159d8a028 Fixes ownership checks for creature recruitment 2023-09-05 23:12:57 +03:00
Ivan Savenko
86a7f5f5cd Removed getStr(bool), replaced with similar toString() 2023-09-04 22:21:02 +03:00
Ivan Savenko
6a260a60cf Fix resource creation 2023-09-04 18:22:34 +03:00
Ivan Savenko
6f0108e462 Use ResourcePath for referencing texts and json's 2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07 Always use ResourcePath for referencing images and animations 2023-09-04 18:22:34 +03:00
nordsoft
e85eb36bbd Battle timer fix 2023-09-02 13:14:24 +04:00
nordsoft
48fb167fef Fix timer end turn while standing on obstacles/water 2023-09-02 03:27:46 +04:00
nordsoft
0fc6e2b316 rollback query blocking 2023-09-02 03:17:51 +04:00
nordsoft
9cd3b537ad Add turn timer allowed option 2023-09-02 03:17:32 +04:00
Nordsoft91
c45ab07d0b
Merge pull request #2698 from Nordsoft91/turn-timer
Turn timer fixes
2023-09-01 00:31:52 +04:00
Ivan Savenko
0f4f9b3233 Fix handling of opening spells when tactics is present 2023-08-31 01:32:32 +03:00
nordsoft
00216168bf Timer works as designed 2023-08-30 03:44:09 +04:00
nordsoft
cc3ca9a41e Timers fixes 2023-08-30 03:33:59 +04:00
nordsoft
9a42abe2a7 Extended timer info to exhange between client and server 2023-08-30 03:11:46 +04:00
nordsoft
f30f00faa0 Timer pausing while waiting for player accept turn 2023-08-30 02:18:44 +04:00
nordsoft
b4c20734f3 Support timer logic for pve and pvp 2023-08-30 02:17:29 +04:00
nordsoft
03496e6738 Code review fixes 2023-08-29 15:48:42 +04:00
nordsoft
883c68b151 Remove unused variable 2023-08-28 19:57:42 +04:00
nordsoft
21af69e0b7 Fix timer synchornization 2023-08-28 19:45:15 +04:00
nordsoft
68b11dbe38 Fix no-base turn timer 2023-08-28 19:45:15 +04:00
nordsoft
15f57a0817 Timer enabler 2023-08-28 19:45:15 +04:00
nordsoft
2c61d1b23f Use precision clocks for timer 2023-08-28 19:45:15 +04:00
nordsoft
7dc1717ec6 Handle timer for tactic phase 2023-08-28 19:45:15 +04:00
nordsoft
4ee47b01ae Make possible to play with different timers independently 2023-08-28 19:45:15 +04:00
nordsoft
6226ddf4a7 Fix potential concurrenccy issues 2023-08-28 19:45:15 +04:00
nordsoft
98f7ed9dfd Implement player start turn query 2023-08-28 18:56:36 +04:00
nordsoft
084122bc80 Fix compiling 2023-08-28 17:26:16 +04:00
nordsoft
86ab97c64f Fix stop on flight for timer 2023-08-28 17:21:38 +04:00
nordsoft
0bb352565a Fix creature timer update 2023-08-28 17:12:08 +04:00
nordsoft
0bc2302f1f Fix battle timer logic 2023-08-28 17:12:08 +04:00
Nordsoft91
1586c6c6a0
Merge pull request #2668 from IvanSavenko/remove_current_player
Remove "currentPlayer" from gamestate
2023-08-28 17:10:28 +04:00
Ivan Savenko
ce20d913e0 Fix checking PlayerColor's for validness 2023-08-27 01:35:38 +03:00
Ivan Savenko
edd029c79c Replace "currentPlayer" from gamestate with "activePlayers"
- Allows multiple active players at once, e.g. simturns
- Cleared up validation of netpacks by server, e.g. always check for
pack sender
2023-08-25 18:56:15 +03:00
Ivan Savenko
e54287ea5d Converted remaining identifier to new system 2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d Converted (almost) all namespace enum's to enum classes 2023-08-25 13:38:02 +03:00
Ivan Savenko
62cd8b12d4 Converted several namespace enums to enum class 2023-08-25 13:38:02 +03:00
Ivan Savenko
17d3d663ee Converted creature ID and spell ID to new form 2023-08-25 13:38:02 +03:00
Ivan Savenko
ec8d31bbfc First step at unifying game identifiers code 2023-08-25 13:38:01 +03:00
Ivan Savenko
b0eec85aca
Merge pull request #2632 from rilian-la-te/resist-rework-pt1
Spell resistance rework: part 1
2023-08-25 01:13:57 +03:00
Ivan Savenko
940bdcee3e Fixes according to review 2023-08-24 23:34:33 +03:00
Ivan Savenko
97ba7df152 Fix handling of map turn/day limit 2023-08-24 23:34:33 +03:00
Ivan Savenko
f9410145d6 Fix handling of "7 days without town" loss condition 2023-08-24 23:34:33 +03:00
Ivan Savenko
66f555f1f7 Fix error messages on bad morale 2023-08-24 23:34:33 +03:00
Ivan Savenko
ee8adbe85f Update tavern on end of 7th turn of player in question
Allows removal of "retreat after 7th day" workaround and as result -
more straightforward code
2023-08-24 23:34:33 +03:00
Ivan Savenko
b6d8c7d4a5 Fix retreating in player-with-player battles 2023-08-24 23:34:33 +03:00
Ivan Savenko
a19cdb57ba Fix handling of turn order in case of player defeat 2023-08-24 23:34:33 +03:00
Ivan Savenko
f451c15932 Fix handling of retreating of AI's 2023-08-24 23:34:33 +03:00
Ivan Savenko
d83aa828f6 Fix turn ending 2023-08-24 23:34:33 +03:00
Ivan Savenko
c4bc6840ea Moved management of turn order into a new class 2023-08-24 23:34:33 +03:00
Nordsoft91
979cf129bc
Merge pull request #2637 from Laserlicht/autosave 2023-08-25 00:09:49 +04:00
Nordsoft91
db542d2710
Merge pull request #2664 from Nordsoft91/fix-ai-movement-freeze 2023-08-25 00:08:40 +04:00
nordsoft
596b98e1c1 Fix AI freeze regression 2023-08-24 16:42:47 +04:00
Ivan Savenko
a84c5fa371 Fix battle replaying 2023-08-23 22:46:42 +03:00
Michael
b22a9ff2d0
Merge branch 'develop' into autosave 2023-08-23 21:39:04 +02:00
Michael
1586b9fbd1
possibility to restart 2023-08-23 21:37:44 +02:00
Michael
4784ae94b5
revert uuid 2023-08-23 20:03:40 +02:00
Ivan Savenko
81242d3500 Fixed ending of battles due to retreat/surrender 2023-08-23 18:46:56 +03:00
Konstantin
344593e891 vcmi: made some CSpell properties private
There are getters for it.
2023-08-23 17:53:08 +03:00
Konstantin
8724181a0f vcmi: spell resistance rework
Now instead of XXX_IMMUNITY bonuses we have 2 bonuses with spellSchool
subtype: SPELL_SCHOOL_IMMUNITY and NEGATIVE_EFFECT_IMMUNITY.
All previous bonuses of subtype 0 is covered by SPELL_SCHOOL_IMMUNITY,
and all previous bonuses of subtype 1 is covered by
NEGATIVE_EFFECT_IMMUNITY. Unit tests are updated accordingly.
2023-08-23 17:52:16 +03:00
Ivan Savenko
a44c08a847 Slightly better thread names 2023-08-23 16:32:29 +03:00
Ivan Savenko
44d16b32fe Use API identical to std classes where possible 2023-08-23 16:32:29 +03:00
Nordsoft91
1bad0e96ef
Merge pull request #2635 from Nordsoft91/loading-bar
Loading progress bar
2023-08-23 17:28:19 +04:00
nordsoft
cda4ae84aa Don't send loading updates too frequently 2023-08-23 15:45:00 +04:00
Michael
fed9ae5157
Merge branch 'develop' into autosave 2023-08-23 00:37:15 +02:00
Michael
51ba22a631
code review 2023-08-23 00:35:44 +02:00
nordsoft
dfaf778d16 Redesign loading solution 2023-08-22 20:10:20 +04:00
nordsoft
fb21620c60 Fix battle timer reset after refactoring 2023-08-22 14:14:50 +04:00
nordsoft
dd3e9f102b Fix game crash at AI turn 2023-08-22 02:08:42 +04:00
nordsoft
7b4b01a280 Adopt turn timer to battle refactoring 2023-08-22 01:49:50 +04:00
nordsoft
d50edc28ab Merge remote-tracking branch 'upstream/develop' into turn-timer
# Conflicts:
#	server/CGameHandler.cpp
#	server/CGameHandler.h
2023-08-22 00:54:38 +04:00
nordsoft
dbc3a93013 Merge remote-tracking branch 'upstream/develop' into loading-bar
# Conflicts:
#	server/CGameHandler.h
2023-08-22 00:46:54 +04:00
nordsoft
4cf28fe00e Fix linux clang compiling 2023-08-22 00:40:03 +04:00
nordsoft
45f13c7964 Progress update on client side 2023-08-21 19:21:27 +04:00
nordsoft
584dd20943 Progress on server side for rmg 2023-08-21 19:21:22 +04:00
Ivan Savenko
8154e84825 Fix tactics usage 2023-08-21 17:55:49 +03:00
Ivan Savenko
276c00b284 Removed excessive includes 2023-08-21 17:55:49 +03:00
Ivan Savenko
2be9664d26 Remove no longer used code 2023-08-21 17:55:49 +03:00
Ivan Savenko
67eaef3520 Fixed few more discovered regressions 2023-08-21 17:55:49 +03:00
Ivan Savenko
013417fb7e Code cleanup 2023-08-21 17:55:49 +03:00
Ivan Savenko
c516b5a64e Fixes for several discovered edge cases 2023-08-21 17:55:49 +03:00
Ivan Savenko
a1092e0f3f Fix battle ending 2023-08-21 17:55:49 +03:00
Ivan Savenko
a1d3181a98 Unified spellcasting handling with other actions 2023-08-21 17:55:49 +03:00
Ivan Savenko
6297140bf5 Start of stabilization - battles now start correctly 2023-08-21 17:55:49 +03:00
Ivan Savenko
44832f3797 Split BattleProcessor into few more parts 2023-08-21 17:55:49 +03:00
Ivan Savenko
5c78060a07 Moved battle netpack validation to battle processor 2023-08-21 17:55:48 +03:00
Ivan Savenko
323772fc2e Split CQuery file into multiple files 2023-08-21 17:55:07 +03:00
Ivan Savenko
629ca3f13e Created directory structure for server files 2023-08-21 17:55:07 +03:00
Ivan Savenko
c217d7717a server queries is now stored as unique_ptr 2023-08-21 17:55:07 +03:00
Ivan Savenko
e8e6c02a4a Moved all battle-related functionality of server into a new class 2023-08-21 17:55:06 +03:00
Nordsoft91
ef4fddd0c4
Merge pull request #2570 from Laserlicht/town_selection_window
Town selection window
2023-08-20 17:37:45 +04:00
nordsoft
a09cb23a85 Better handling other players for turn timer 2023-08-20 04:06:52 +04:00
nordsoft
d4ab3087cb Disable timer for AI players 2023-08-19 19:00:08 +04:00
Ivan Savenko
d0b3319f6a Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-18 15:08:23 +03:00
Ivan Savenko
daa8a494fc Merge branch 'release_131' into master 2023-08-17 16:19:20 +03:00
Ivan Savenko
6e7b7932a0 Fixed recruitment of hero from towns located on map border 2023-08-17 10:26:01 +03:00
Ivan Savenko
00ac8eb306 Attempt to fix crash on quitApplication on Android 2023-08-15 00:17:59 +03:00
nordsoft
d26fdaefe4 Battle timer 2023-08-14 23:31:44 +04:00
nordsoft
23aaa72dfe No error on hero move when timer is expired 2023-08-14 05:21:57 +04:00
nordsoft
a8e5b32b6a Fix compiling 2023-08-14 04:55:45 +04:00
nordsoft
380ee41fba Fix finishing turn while flying over object 2023-08-14 04:33:41 +04:00
nordsoft
e414af221b Move turn timer logic from GameHandler class 2023-08-14 03:20:27 +04:00
nordsoft
3c9c302fd2 TurnTimerInfo 2023-08-14 02:16:25 +04:00
Michael
1d76f456ad
change servercode to make it more robust 2023-08-14 00:08:48 +02:00
nordsoft
4b1224ec8c Implement turn timer feature 2023-08-13 14:07:48 +04:00
Ivan Savenko
f13a53c1d9 Merge remote-tracking branch 'vcmi/beta' into develop 2023-08-12 17:28:47 +03:00
Ivan Savenko
92ce97bbc7 Merge remote-tracking branch 'vcmi/master' into beta 2023-08-12 16:20:06 +03:00
Ivan Savenko
8cbc52364a
Merge pull request #2496 from IvanSavenko/saves_in_mods
Allowed loading saves from inside mods
2023-08-12 11:27:15 +03:00
Ivan Savenko
4b307dc0e4 More locks to avoid data races on server 2023-08-11 18:50:39 +03:00
Ivan Savenko
775e5948ec Preserve chosen campaign bonus on scenario restart request 2023-08-11 16:55:20 +03:00
Ivan Savenko
88b23cdce1
Merge pull request #2511 from IvanSavenko/fix_starting_army
Fix starting army
2023-08-11 11:36:30 +03:00
Ivan Savenko
e57f8742cd Rename ambiguos 'clear' to 'clearSlots'
A lot of map objects inherit from CCreatureSet and as result - get
clean() method that resets object army
2023-08-07 19:13:02 +03:00
Ivan Savenko
d7cbe4ecde Attempt to fix data raced in battle on server 2023-08-07 17:28:21 +03:00
Ivan Savenko
9bd27c50a0 Allowed loading saves from inside mods 2023-08-06 19:39:55 +03:00
Ivan Savenko
ed927de12e Added more informative error messages for battle action errors 2023-08-04 21:41:11 +03:00
Tomasz Zieliński
6e7a02702d Fix crash in naval combat 2023-08-04 10:46:04 +03:00
Ivan Savenko
537f9fa048 Merged master into develop 2023-08-03 23:38:32 +03:00
Tomasz Zieliński
f6247164ad Fix crash, fix invisible boat blocking the tile 2023-08-01 18:51:33 +02:00
Ivan Savenko
62fddca21e Split massive CModHandler class/file into multiple parts:
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
7f72f7a82c Cleanup server connection code a bit 2023-07-30 20:15:32 +03:00
Ivan Savenko
593b82d178 Removed all references to boost::interprocess library 2023-07-30 20:14:57 +03:00
Tomasz Zieliński
943e3e888c Merge remote-tracking branch 'origin/beta' into fix-freeze-ai-attacking-dwelling
# Conflicts:
#	server/CGameHandler.cpp
2023-07-29 08:11:27 +02:00
Andrii Danylchenko
8e1dc785eb Wrong player was engaged for 5lvl dwelling 2023-07-28 14:19:12 +03:00
Ivan Savenko
aed8c411fc Minor rework & cleanup of combat replays 2023-07-27 19:25:55 +03:00
Ivan Savenko
b8110218c0 Silence unnecessary warning on flagging guarded garrison 2023-07-27 18:39:05 +03:00
Ivan Savenko
e733b55c90 Removed buggy and poorly designed fromString method
Use VLC->modh directly with proper parameters instead
2023-07-25 22:36:45 +03:00
Ivan Savenko
705cdb846d
Merge pull request #2403 from IvanSavenko/error_detection_fix
Attempt to fix & improve error reporting
2023-07-25 18:15:28 +03:00
Andrii Danylchenko
ec8898a0e7 #1965 - treat dwelling defenders as neutrals 2023-07-25 10:13:41 +03:00
Ivan Savenko
21e794268b Attempt to fix & improve error detection:
- use std::fstream instead of boost::iostreams for properly working flush
- removed some catch-all blocks
- reduce catch scope of some try/catch blocks to clearly indicate intent
2023-07-24 18:48:56 +03:00
Ivan Savenko
280085b95d
Merge pull request #2308 from IvanSavenko/remove_client_savegame
Remove client savegames
2023-07-19 14:46:46 +03:00
Ivan Savenko
b94de1b799 Fixed amount of gold given by resource cheat - x1000 instead of x100 2023-07-17 16:15:49 +03:00
Ivan Savenko
b193f832a5 Fix regression 2023-07-15 21:01:14 +03:00
Ivan Savenko
fcb13771f3 Store cheater state per player 2023-07-15 21:01:14 +03:00
Ivan Savenko
baa865d857 Extracted message-related functionality of CGameHandler to separate file 2023-07-15 21:01:13 +03:00
Ivan Savenko
463efea7bb Fix hero retreating handling & code cleanup 2023-07-15 19:55:30 +03:00
Ivan Savenko
cb16636fce Implemented preserving hero on retreat on 7th day after end of turn 2023-07-15 19:55:30 +03:00
Ivan Savenko
9a38d8ea97 Implemented tavern slot selection using rules similar to H3 2023-07-15 19:55:30 +03:00
Ivan Savenko
ec7e046617 Fix hero pool persistency between saves 2023-07-15 19:55:30 +03:00
Ivan Savenko
539c508870 Implemented persistent random seed for hero pool 2023-07-15 19:55:30 +03:00
Ivan Savenko
a2d2ecc96f Roll first for hero class, and then - for actual hero for tavern 2023-07-15 19:55:30 +03:00
Ivan Savenko
f8187ce1d8 Fix regressions 2023-07-15 19:55:30 +03:00
Ivan Savenko
19ace6a849 Moved hero pool logic to the separate files 2023-07-15 19:55:29 +03:00
Dydzio
afb9bfc180 Revert apparently broken changes from commits 96420bf, 92dcfd1, c4cf2a1 2023-07-11 21:22:24 +02:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
Ivan Savenko
8750aa2c5b Merged server savegame and (broken and unused) client savegame files 2023-07-09 15:30:47 +03:00
Andrii Danylchenko
b1ef0f6301 #1912 Some logging and fix for allied garrison 2023-07-09 10:21:58 +03:00
SoundSSGood
9b5f6ec7cf CArtifact getters setters 2023-07-05 15:48:08 +03:00
SoundSSGood
fd9c7352a0 suggested changes 2023-07-03 22:54:03 +03:00
Ivan Savenko
48eb8ab54f Play sound when receiving message, not just on sending ours 2023-07-03 17:12:31 +03:00
SoundSSGood
670999d40e BattleResultAccepted fixed 2023-07-01 14:59:16 +03:00
SoundSSGood
060aecc61c CArtifact refactoring 2023-06-30 19:41:26 +03:00
SoundSSGood
07c811dd67 CCombinedArtifactInstance refactoring 2023-06-30 19:40:57 +03:00
Ivan Savenko
6493922f9b Reverted debug changes 2023-06-27 16:27:46 +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
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
85262cf4f5 Moved CGameState files into a separate directory 2023-06-26 17:15:59 +03:00
Ivan Savenko
08cfbe79cf Added encapsulation for movement points access 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
ce3e150d59 Minor formatting 2023-06-23 13:55:52 +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
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
bd4d2788ed Split pathfinder into multiple smaller files 2023-06-21 13:46:09 +03:00
Ivan Savenko
87fcfa4add Removed excessive pathfinder includes 2023-06-21 12:00:44 +03:00
Ivan Savenko
3913b8e98c Heroes placed on water in map will be automatically given boat 2023-06-20 19:37:27 +03:00
Ivan Savenko
a84666edf6 MetaString can be serialized in json 2023-06-20 19:37:27 +03:00
Ivan Savenko
d51fe62804 Win/loss condition texts use MetaString 2023-06-20 19:37:27 +03:00
Ivan Savenko
56d69e790b Renamed MetaString methods to more logical names 2023-06-20 19:37:27 +03:00
Ivan Savenko
f35b3a0dc3 Replace MetaString operator << with member function 2023-06-20 19:37:27 +03:00
Ivan Savenko
6ed0fbe579 Fix excessive warning - neutral town with Portal is perfectly legal 2023-06-20 19:37:27 +03:00
Ivan Savenko
ece9982ca0 Fix build 2023-06-16 18:11:45 +03:00
Ivan Savenko
6aedb99117 Cleaned up IShipyard interface 2023-06-16 17:59:10 +03:00
Tomasz Zieliński
adec58f5bf - Set fixed boat type for Tavern / Prison
- Move magical boat offset to static function
2023-06-15 17:53:18 +02:00
Tomasz Zieliński
351d596bdc Handle water Prisons and Taverns. 2023-06-08 09:17:08 +02:00
Tomasz Zieliński
db917ae435 Fix #1140 2023-06-07 17:29:07 +02:00
Ivan Savenko
1e9eea30e1 Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop 2023-06-05 18:53:17 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Michael
70bdec41a3
case-insensitive cheats 2023-05-20 01:14:06 +02:00
SoundSSGood
021f94a579 artifact utils 2023-05-17 17:00:31 +03:00
SoundSSGood
a10279e1cc Grail fix 2023-05-16 16:51:45 +03:00
Ivan Savenko
79982c4ad4 Fix broken bonuses due to calling PutArtifact before NewArtifact 2023-05-09 16:48:52 +03:00
nordsoft
ce80c83ca2 Merge remote-tracking branch 'upstream/develop' into town-buildings
# Conflicts:
#	lib/CTownHandler.cpp
#	lib/rewardable/Interface.cpp
2023-05-04 22:23:44 +04:00
Konstantin
05eccbc2bb vcmi: split bonus to enumerator and HeroBonus.h 2023-05-03 18:01:06 +03:00
nordsoft
92dcfd1f68 Fix garrisons hero 2023-05-02 15:09:02 +04:00
nordsoft
96420bfc05 Fix configurable reward for non-query scenrio 2023-05-02 14:45:42 +04:00
Konstantin
fbc05c70ac vcmi: camelCase methods of new classes
Also use EGameSettings for clamping morale and luck
2023-05-02 12:09:13 +03:00
Konstantin
a6de9097be vcmi: rename HeroBonus.h to Bonus.h 2023-05-02 11:20:58 +03:00
nordsoft
c4cf2a100b Fix behavior for hero bought in town tavern 2023-05-02 04:44:09 +04:00
Ivan Savenko
916b41d9a7
Merge pull request #2078 from IvanSavenko/shortcuts
Basic shortcuts system
2023-05-01 21:45:52 +03:00
nordsoft
59bc9326e9 Remove excess pointer from market interface 2023-05-01 21:49:37 +04:00
Ivan Savenko
a654cc2391 Removed vstd::advance. Added vstd::next to handle similar cases. 2023-05-01 17:58:18 +03:00
Ivan Savenko
ac09f78c67
Merge pull request #2109 from IvanSavenko/server_fix
Fix potential nullptr-to-reference conversion
2023-05-01 16:36:51 +03:00
Ivan Savenko
c7bee037d2 Fix potential nullptr-to-reference conversion 2023-05-01 14:44:52 +03:00
Ivan Savenko
4aa232a60a
Merge pull request #2055 from SoundSSGood/cartifactholder-rework
Artifact related code refactoring part2 (client CArtifactHolder)
2023-05-01 02:33:08 +03:00
Konstantin
86f5d6de69 vcmi: modernize headers 2023-04-30 13:35:54 +03:00
Ivan Savenko
d985ac90d3 Merge master -> develop 2023-04-28 22:57:25 +03:00
Ivan Savenko
c55f52e84f Fixed disabled special weeks 2023-04-28 16:54:00 +03:00
Konstantin P
b472c89276 vcmi: make some CStack properties private
There is a getters for this properties already available
2023-04-27 20:58:49 +03:00
Ivan Savenko
fb739e7186 Merge beta -> develop 2023-04-26 22:48:08 +03:00
Ivan Savenko
9296306fa3
Merge pull request #2041 from IvanSavenko/bugfixing_for_hotfix
Fixes for 1.2.1
2023-04-24 18:13:00 +03:00
Ivan Savenko
48abf46824
Merge pull request #2005 from IvanSavenko/advmap_refactor
Refactoring of adventure map interface
2023-04-24 17:19:22 +03:00
Andrii Danylchenko
eff158a9a8 Fix killing hero with grail 2023-04-23 16:17:27 +03:00
SoundSSGood
c86af54ce1 arts move condition fix 2023-04-23 14:18:55 +03:00
Nordsoft91
a553a4aa66
Merge pull request #2030 from Nordsoft91/boats 2023-04-22 03:27:00 +04:00
Ivan Savenko
7db67a3101 int3 now has proper hasher function 2023-04-20 22:04:24 +03:00
nordsoft
de159df481 Rename boats 2023-04-20 21:20:51 +04:00
Ivan Savenko
9882c37ce3 Good morale can no longer happen after battle is over 2023-04-20 13:10:03 +03:00
Ivan Savenko
d9939f0918 Bad morale can no longer happen after waiting 2023-04-20 13:08:55 +03:00
Ivan Savenko
4bb4d7e7a5
Merge pull request #1989 from SoundSSGood/refactoring-arts-p1
Artifact related code refactoring part1 (initial)
2023-04-19 15:31:11 +03:00
nordsoft
0a28262c15 Merge remote-tracking branch 'upstream/develop' into boats
# Conflicts:
#	AI/VCAI/Pathfinding/AINodeStorage.cpp
2023-04-19 02:22:19 +04:00
nordsoft
008db447e7 Minor changes 2023-04-19 02:11:24 +04:00
nordsoft
22da7a931d Boat as bonus system node 2023-04-19 01:11:51 +04:00
nordsoft
1c66cd221d Polish transport mechanics 2023-04-18 19:18:44 +04:00
nordsoft
3ff99a1a15 Mechanic for air and land transport 2023-04-18 18:33:28 +04:00
nordsoft
ddcdfb643a Try to enable air/land movement 2023-04-18 17:36:42 +04:00
nordsoft
ed798b06da Prepare transport enum 2023-04-18 13:04:49 +04:00
Konstantin
7a5775a9f9 vcmi: use std::optional 2023-04-17 00:43:13 +03:00
Konstantin
0d35606a44 vcmi: use std::variant 2023-04-17 00:43:13 +03:00
Ivan Savenko
e3ed728193
Merge pull request #1932 from rilian-la-te/proper-teleport
VCMI: teleport redesign
2023-04-16 22:52:01 +03:00
SoundSSGood
9a838598a6 arts refactoring part1 2023-04-15 00:10:39 +03:00
Konstantin P
f11fa8f0c8 Teleport: can trigger obstacles now 2023-04-13 11:24:19 +03:00
Konstantin
bc1aad3b26 vcmi: remove deprecated CStack::getCreature()
Function battle::Unit::unitType() does the same.
2023-04-13 11:24:19 +03:00
Ivan Savenko
506c3d29bc Replaced vstd clamp with std version 2023-04-12 01:03:14 +03:00
Ivan Savenko
63b197b78a Converted attributes to use c++17 functionality 2023-04-12 01:03:14 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Ivan Savenko
dfa2e2a349 Merge beta into develop 2023-04-11 19:37:35 +03:00
nordsoft
8e77b833d9 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 15:54:08 +04:00
Ivan Savenko
ff66592fad
Merge pull request #1882 from rilian-la-te/native-terrain-refactor
Native terrain refactor
2023-04-11 02:14:37 +03:00
nordsoft
bfc75ccd39 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2023-04-11 02:22:42 +04:00
Nordsoft91
ebd17c9e4a
Merge pull request #1928 from Nordsoft91/cast-reward
Spell cast reward
2023-04-10 22:49:36 +04:00
Konstantin
fedf7d377c vcmi: remove TFaction
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Ivan Savenko
42b2be4bbb
Merge pull request #1908 from SoundSSGood/art-client-server-fixes
Artifact related fixes
2023-04-10 18:26:49 +03:00
Konstantin
2eaecfd1ae ObstacleCasterProxy: beta branch 2023-04-10 15:41:58 +03:00
nordsoft
464ad63749 Implement behavior 2023-04-10 05:46:45 +04:00
nordsoft
c0b90432cb Change callback interface 2023-04-10 05:40:03 +04:00
nordsoft
e440343921 Bypass initial version of spell callback 2023-04-10 04:34:24 +04:00
SoundSSGood
e58be8e7f7 vcmiartifacts fixed 2023-04-08 12:28:53 +03:00
SoundSSGood
ea7dd14d8b client is able to erase artifact 2023-04-08 00:41:55 +03:00
Ivan Savenko
f3aed901fd
Merge pull request #1883 from rilian-la-te/fixup-healing-destination
CGameHandler: fixup healing destination
2023-04-07 12:42:52 +03:00
nordsoft
b1d06b6141 Complete quick combat feature 2023-04-06 22:49:38 +04:00
nordsoft
e85593dbb3 Save & restore mana 2023-04-06 21:19:46 +04:00
nordsoft
3e28b58c80 Fixes 2023-04-06 19:59:22 +04:00
nordsoft
ece8a2a41f Merge branch 'battle-dialog' into battle-dialog2
# Conflicts:
#	AI/BattleAI/BattleAI.h
#	AI/StupidAI/StupidAI.h
#	client/CPlayerInterface.cpp
#	client/CPlayerInterface.h
#	client/Client.cpp
#	client/NetPacksClient.cpp
#	client/battle/CBattleInterface.cpp
#	client/battle/CBattleInterface.h
#	client/battle/CBattleInterfaceClasses.cpp
#	client/battle/CBattleInterfaceClasses.h
#	config/schemas/settings.json
#	lib/CGameInterface.h
#	lib/IGameEventsReceiver.h
#	lib/NetPacks.h
#	lib/NetPacksLib.cpp
#	lib/battle/BattleInfo.cpp
#	server/CGameHandler.cpp
#	server/CQuery.h
2023-04-06 19:53:52 +04:00
nordsoft
ce3028bd73 Intermediate commit 2023-04-06 19:34:07 +04:00
Konstantin
dc7d0297a7 CGameHandler: fixup healing destination
If it contains hex, not unit, server complains.
Add actual unit there.
2023-04-06 00:21:21 +03:00
Konstantin
11b237a23c vcmi: massive refactoring v1 2023-04-05 22:33:12 +03:00
Konstantin
e0715a76c8 vcmi: reduce CStack usage a little bit 2023-04-04 23:02:54 +03:00
Konstantin
e946ddcfeb CGameHandler: obstacle trigger does not use CStack 2023-04-04 23:02:54 +03:00
Konstantin
4259d116e1 vcmi: move ServerSpellCastEnvironment in separate file
In theory, it should not know about CGameHandler
2023-04-04 23:02:54 +03:00
Ivan Savenko
307065a633 Merge beta into develop 2023-04-04 16:06:20 +03:00
Ivan Savenko
c661419897
Merge pull request #1700 from rilian-la-te/resource-array
Modernize resourceSet.
2023-04-02 20:12:45 +03:00
Ivan Savenko
2b1def4ef1
Merge pull request #1813 from Laserlicht/patch-1
hide messages from AI
2023-04-02 20:08:45 +03:00
Ivan Savenko
f471d1b23a
Merge pull request #1816 from krs0/feature/all_cheats_should_have_lotr_equivalent
Added LotR alternatives for vcmiarmy and vcmiexp
2023-04-02 20:08:33 +03:00
Ivan Savenko
efbc5cf581
Merge pull request #1815 from IvanSavenko/beta_fixes
Beta fixes
2023-04-02 20:02:41 +03:00
krs
28486a0b40 In the Silmarillion, Gandalf is referred to as "Olórin" 2023-04-02 10:58:20 +03:00
krs
7bec5bf606 Added LotR alternatives for vcmiarmy and vcmiexp 2023-04-02 10:58:20 +03:00
Ivan Savenko
63d0e437a9
Merge pull request #1820 from rilian-la-te/fix-magogs
GGameHandler: fix spell-like attack targeting
2023-04-01 23:09:08 +03:00
Konstantin
05cc7fbf67 GGameHandler: fix spell-like attack targeting 2023-04-01 01:06:26 +03:00
Ivan Savenko
56e1866db9 Remove final path node when directly attacking guards 2023-03-31 23:18:45 +03:00
Ivan Savenko
820c9be61b Use own resources when buying boat in allied shipyard 2023-03-31 23:18:45 +03:00
Michael
f7feeacc1f
hide messages from AI 2023-03-31 22:10:48 +02:00
Konstantin
6d17b9342d ResourceSet: resolve .at troubles 2023-03-31 14:12:38 +03:00
Konstantin
d8a237ba46 vcmi: add getTrigger method to obstacles
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00
Konstantin
d5e2933bee CGameHandler: slightly rework obstacle caster 2023-03-31 01:01:26 +03:00
Konstantin
53a6fb2836 CGameHandler: do not open-code toInfo
There is an obstacle function which is doing exactly this.
2023-03-31 01:01:25 +03:00
Konstantin
f704a17e1a vcmi: add a last hex setting
I consider this behaviour as H3 bug, but this is H3.
So, added a setting to disable this behaviour.
2023-03-31 01:01:25 +03:00
Konstantin
a8478a012b vcmi: check long bridge by moat
If moat is on GATE_BRIDGE hex, then it is a long bridge.
No need to check town type.
2023-03-31 01:01:25 +03:00
Konstantin
aab5b47038 vcmi: setup moats using MoatAbility
Setup moats using moat ability, need playtest for now.
-3 to defence not added for now.
2023-03-31 01:01:25 +03:00
Ivan Savenko
46ccd65080 Removed largely unused signal handling, fixes build with musl c library 2023-03-30 14:56:13 +03:00
Konstantin
cd1730b1fb vcmi: remove obstacle caster logic
It is possible now to cast something via obstacle
Immune creatures should not trigger an obstacle trigger now
and should not reveal it.
2023-03-30 14:41:40 +03:00
Konstantin
5716925b47 NetPacks: change GiveBonus enum to enum class. 2023-03-30 12:41:17 +03:00
Ivan Savenko
484f0a175a Blocked movement of war machines in tactics phase 2023-03-30 12:20:13 +03:00
Ivan Savenko
8a3e1b0230
Merge pull request #1789 from IvanSavenko/beta_fixes
Fixes for 1.2 release
2023-03-30 00:09:51 +03:00
Ivan Savenko
3e1506dba3
Merge pull request #1767 from Adriankhl/fix_battle_thread_shutdown
Properly shutdown battle thread
2023-03-29 14:40:15 +03:00
Ivan Savenko
0c7dae0913 Allow formation change while in hero exchange query 2023-03-28 19:12:35 +03:00
Ivan Savenko
b2f5042942
Merge pull request #1783 from vcmi/beta
Merge beta -> develop
2023-03-27 21:21:25 +03:00
Ivan Savenko
11088100a0
Merge pull request #1782 from korli/haiku
Haiku patch
2023-03-27 18:42:22 +03:00
Ivan Savenko
b875da108b
Merge pull request #1717 from SoundSSGood/backpack-limit-size
Introducing backpack size limit functionality
2023-03-27 17:17:49 +03:00