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

2017 Commits

Author SHA1 Message Date
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