1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-18 17:40:48 +02:00
Commit Graph

2515 Commits

Author SHA1 Message Date
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
Ivan Savenko
e3b5db0ade
Merge pull request #1778 from rilian-la-te/fix-obstacle-removal-mechanincs
Fix landmines staying on battlefield after trigger
2023-03-27 17:17:14 +03:00
Konstantin
9a229d6e48 vcmi: really correct obstacle trigger
Now obstacle trigger really matches H3
2023-03-27 16:11:17 +03:00
Jerome Duval
518f8d69e5 Haiku patch 2023-03-27 10:10:09 +02:00
Konstantin
5b50191af7 NetPacksLib: remove obstacle ACTIVATE* actions
Actually these actions was not working anyway.
2023-03-26 22:59:34 +03:00
Adriankhl
21a4113fc1 Properly shutdown battle thread in CGameHandler destructor 2023-03-25 20:29:33 +01:00
Ivan Savenko
5288e3761e
Merge pull request #1764 from IvanSavenko/selectable_spellcaster
Implemented support for multi-spell casters
2023-03-25 20:08:47 +02:00
Ivan Savenko
dc099b2a35 Implemented support for multi-spell casters 2023-03-25 00:48:14 +02:00
Ivan Savenko
970981cfc9 Show information on potential kills in attack tooltip 2023-03-24 17:18:47 +02:00
SoundSSGood
19096f39f0 Backpack limit. Amount of fixes. 2023-03-21 22:11:42 +02:00
Ivan Savenko
575fb29a22
Merge pull request #1534 from kambala-decapitator/pathfinder-fly
fix movement cost with Fly
2023-03-21 14:32:56 +02:00
SoundSSGood
f0f9eecf97 Backpack limit part5. End of battle. Other stuff 2023-03-21 12:14:33 +02:00
SoundSSGood
9f8aa25297 Backpack limit part4 (Using cheats, buying) 2023-03-21 12:14:33 +02:00
SoundSSGood
e23766280f Backpack limit part2 (Pick up, Dig up, Object rewards) 2023-03-21 12:14:33 +02:00
SoundSSGood
96e8a1f21c Backpack limit part1 (move, disassemble) 2023-03-21 12:14:33 +02:00
SoundSSGood
72122fb433 CArtifact, CArtifactInstance, CCombinedArtifactInstance reorganization 2023-03-21 12:14:33 +02:00
Adriankhl
8d549bf030 Fix town portal query when it calls level up query 2023-03-20 16:08:18 +01:00
Andrey Filipenkov
aae9e70771 remove duplicate call
already performed in CPathfinderHelper constructor
2023-03-20 11:35:19 +03:00
Ivan Savenko
a0e9e01b48 Renamed & reorganized all game mechanics settings names 2023-03-16 18:11:35 +02:00
Ivan Savenko
383387ef29 Integrated defaultMods into mod system 2023-03-16 17:55:09 +02:00
Konstantin
ebbc8cf208 vcmi: remove BLOCK_LUCK bonus
To block a luck, just set both INDEPENDENT_MAX and INDEPENDENT_MIN
to 0 of LUCK bonus
2023-03-16 16:46:42 +03:00
Konstantin
c07e74250b vcmi: remove BLOCKS_MORALE bonus
To block morale, just set INDEPENDENT_MAX and INDEPENDENT_MIN
to 0, there is no need for separate bonus.
2023-03-16 16:46:42 +03:00
Konstantin
20a9332a3f vcmi: translate wisdom
Make wisdom as separate bonus. It will be enough for now. But
next is should be done as IsLearnable for each spell.
2023-03-16 16:46:41 +03:00
Konstantin
64ad7558c6 vcmi: skill-agnostic artillery
Now it should work for any creature and with any damage percentage.
2023-03-16 16:46:41 +03:00
Konstantin
9205ef2c91 vcmi: skill-agnostic ballistics
Made ballistics by using spell action and more code is shared now.
2023-03-16 16:46:41 +03:00
Konstantin
84f53485e2 vcmi: skill-agnostic first aid
Now first aid is passive battle spell, and skill just bumps
specific spell power for this spell. Everything about healing
is handled into Heal spell effect.
2023-03-16 16:46:41 +03:00
Konstantin
300a8a15ba vcmi: remove estates bonus
Now it is handled by GENERATE_RESOURCE::GOLD.
2023-03-16 16:46:41 +03:00
Konstantin
43f09dd2e4 vcmi: convert scholar to new bonus
Convert scholar to new skill-agnostic bonus. Now works only for any
school (not from specific). In all schools form identical to
past's SECONDARY_SKILL_PREMY::SCHOLAR
2023-03-16 16:46:41 +03:00
Konstantin
4a89418ada vcmi: replace SecondarySkillPremy:EAGLE_EYE
Replace this bonus to new ArcaneIntuition bonus, which
will work independently from the rest of skill bonuses.
Proof of concept for other skills.
2023-03-16 16:46:41 +03:00
Konstantin
496c1def12 vcmi: remove FULL_HP_REGENERATION bonus
Just set HP_REGENERATION to high number
(in OH3 doubled stack health is sufficient)
2023-03-16 16:46:41 +03:00
Ivan Savenko
865f9f7d2b
Merge pull request #1511 from IvanSavenko/launcher_welcome_page
Add welcome/setup page to Laucher
2023-03-16 15:04:49 +02:00
Ivan Savenko
2a2af34788
Merge pull request #1650 from SoundSSGood/arts-swap-regression-fix
Arts swap regression fixed
2023-03-16 14:47:31 +02:00
Ivan Savenko
369e925af8 Loading of translation mods is now skipped on language mismatch 2023-03-14 16:02:16 +02:00
Konstantin
4c31db52be vcmi: add artifact component to second grail msg 2023-03-11 21:41:57 +03:00
Konstantin
bc228a938a vcmi: use enum class for EComponentType
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
716dd9a43b vcmi: remove a bunch of duplicated showInfoDialog
These methods duplicated in almost every map object
Just replace it by one such method
2023-03-11 21:41:57 +03:00
Konstantin
8edba4fb06 vcmi: use MODAL by default
Convert only some objects to AUTO, need futher testing
than no non-adventure objects will not use AUTO or INFO
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5 vcmi: allow showing more than one components in infobar
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e vcmi: reduce boost::lexical_cast usage 2023-03-09 16:36:46 +03:00
SoundSSGood
e24eb6cc12 regression fixed 2023-03-08 17:20:38 +02:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Ivan Savenko
5905dd6111 Grail digging check is now in library 2023-03-05 17:48:02 +02:00
Ivan Savenko
4501036a04 Basic version of hero movement on map. Removed old code. 2023-03-05 17:48:02 +02:00
Ivan Savenko
8b3309b47d Fixed custom hero names text ID's 2023-03-05 17:39:27 +02:00
Andrey Filipenkov
fd56f86a84 introduce VCMI_MOBILE macro 2023-03-02 12:09:49 +03:00
Andrey Filipenkov
313d479d42 fix using JNI from server in single process build 2023-03-02 12:09:48 +03:00
Andrey Filipenkov
c4e7e91850 fix single process build for Android 2023-03-02 12:09:48 +03:00
Andrey Filipenkov
4c19d8794d add option to compile AI code into libvcmi directly
- used on Android by default
- AI sources and libs are propagated to upper level with set(... PARENT_SCOPE)
2023-03-02 12:09:48 +03:00
Andrey Filipenkov
2a28109f2d fix indentation 2023-03-02 12:09:47 +03:00
Andrey Filipenkov
970bd6ed34 adjust project for Android (except AI) 2023-03-02 12:09:47 +03:00
Andrii Danylchenko
9f55666931 rework netpacks to avoid double typeinfo 2023-02-13 20:26:39 +02:00
Andrii Danylchenko
8855829527 Andorid: remove server main 2023-02-13 20:26:39 +02:00
Andrii Danylchenko
14d27c788f hide AI cheating message 2023-02-05 11:00:58 +02:00
Ivan Savenko
dbbbba5f2d Fix typo 2023-02-02 13:25:55 +02:00
Ivan Savenko
f1ea88ae9a
Merge pull request #1505 from dydzio0614/cheats-improvements
Cheats improvements
2023-02-02 12:21:19 +02:00
Ivan Savenko
57ee9a9bf3 Merge vcmi/beta into vcmi/develop 2023-01-29 18:21:55 +02:00
Dydzio
5b8e8e60fb Change vcmiarmy handling a bit 2023-01-25 12:50:18 +01:00
Dydzio
3d9f04c6e0 Minor cheats code changes 2023-01-25 12:10:48 +01:00
Andrii Danylchenko
4cfc93d2da Somehow it works but JNI signatures were incorrect 2023-01-25 08:59:59 +02:00
Dydzio
583f1ce911 Implemented vcmiexp cheat 2023-01-23 23:12:41 +01:00
Dydzio
75e0bfa80c Add vcmiarmy cheat 2023-01-23 21:18:43 +01:00
Dydzio
d5b02f8dc2 Add sane aliases for cheat names + "vcmiazure" "vcmifaerie" cheats 2023-01-23 18:56:00 +01:00
Ivan Savenko
05a1d7c6e3 All text for factions/towns/building are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
388ed88b5d All artifact strings now pass through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
d2b837b116 All creature-related texts go through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8 All heroes-related strings are passed through translator 2023-01-20 15:18:36 +02:00
Ivan Savenko
b86969909a Fixes compilation due to changes in callback interface 2023-01-20 15:18:10 +02:00
Ivan Savenko
17fc9d8d8f Merge with vcmi/develop 2023-01-18 01:04:34 +02:00
Ivan Savenko
05ac217b0f Merge with vcmi/develop 2023-01-17 23:02:25 +02:00
nordsoft
c0c1be2645 Fix invalid host connection 2023-01-16 20:58:19 +04:00
Ivan Savenko
246281e62a Merged vcmi/beta with vcmi/develop 2023-01-15 17:46:42 +02:00
Ivan Savenko
6ea7add4bb
Merge pull request #1394 from SoundSSGood/art-move-fix
Artifact movement refactoring
2023-01-15 17:29:36 +02:00
Ivan Savenko
ccc6ebee0d Cleared up gate blocking, Force Field can now block gates 2023-01-13 15:44:42 +02:00
Ivan Savenko
1d7f004658 Implemented reinforced walls in towns with Castle 2023-01-13 01:09:24 +02:00
Ivan Savenko
500cf7f15d EWallPart & EWallState are now enum class 2023-01-13 00:35:58 +02:00
Ivan Savenko
b86704bece Ballistics mechanics should now match H3 2023-01-12 23:53:29 +02:00
Ivan Savenko
e188060480 Fix server shutdown on transferring artifact to commander 2023-01-12 16:27:59 +02:00
SoundSSGood
a0568823a9 swap contitutient 2023-01-11 13:17:33 +02:00
Ivan Savenko
4f3ea0d1d9 Renamed Terrain.h/cpp -> TerrainHandler.h/cpp 2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67 Map/Road/River identifiers are now private members 2023-01-10 00:01:35 +02:00
Ivan Savenko
e1799379dd Terrain/Road/River handler are now in compileable state 2023-01-10 00:01:35 +02:00
Ivan Savenko
1468f6aded Converted terrainTypeHandler into proper handler class 2023-01-10 00:01:35 +02:00
Ivan Savenko
1fece0ce18
Merge pull request #1229 from IvanSavenko/battle_improvements
Battle: Fixing bugs & Implementation of missing features
2023-01-09 22:07:13 +02:00
Ivan Savenko
bde988ca43
Merge pull request #1329 from IvanSavenko/translate_game
Translations support - base functionality for main game texts
2023-01-09 20:33:56 +02:00
SoundSSGood
4005b48360 Regressions fixed 2023-01-08 23:31:12 +02:00
SoundSSGood
6b7ce798d0 artifactTransitionPos created 2023-01-08 23:24:13 +02:00
SoundSSGood
d5cef0c069 end of battle art assembling fix 2023-01-05 17:37:14 +02:00
Ivan Savenko
a1eaf4d9c8 Do not apply Fire Shield effect that deals 0 damage 2023-01-04 17:55:19 +02:00
Ivan Savenko
85d7b470d4 Access to quests texts is now processed via translator 2023-01-01 14:56:45 +02:00
Ivan Savenko
bdb8e0ee5c Introduced string identifiers for H3 texts, still WIP 2023-01-01 14:56:44 +02:00
Ivan Savenko
5d80457eda Merge with vcmi/develop branch 2022-12-30 00:52:23 +02:00
Ivan Savenko
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
Fix remaining compiler warnings
2022-12-29 21:51:55 +02:00
Ivan Savenko
bb65246aa3 Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-26 01:15:44 +02:00
Ivan Savenko
405b2976d5 Renamed getUpgradeInfo -> fillUpgradeInfo 2022-12-25 14:03:43 +02:00
Nordsoft91
64fb4a744e
Merge pull request #1269 from vcmi/beta
Merge android fix into develop
2022-12-24 22:07:04 +04:00
nordsoft
2953b8fe9d Fix android build 2022-12-23 19:12:48 +04:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
nordsoft
1250f67771 Fix android build 2022-12-23 16:42:32 +04:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +02:00
Ivan Savenko
9248e06ae0 Demon summon is now a spell. DEMON_SUMMONING bonus has been removed 2022-12-22 23:11:55 +02:00
Ivan Savenko
b2279484fc
Merge pull request #1227 from Shatur/opendingux
Port to OpenDingux handhelds
2022-12-22 16:56:55 +02:00
Ivan Savenko
b423b3fa6b Fix dragon breath & fire shield 2022-12-21 18:04:54 +02:00
nordsoft
12d4204334 Fix closing server on ios 2022-12-19 01:37:38 +04:00
Ivan Savenko
52fc5b3c39 Exploded mines now send ACTIVATE flag to client to play effect 2022-12-17 19:37:00 +02:00
Ivan Savenko
deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +02:00
Ivan Savenko
ced2ece954 Fixes #809 - do not print error message after stepping onto mine 2022-12-17 14:40:54 +02:00
Ivan Savenko
a1ab90fb05 Creatures with double strike will not hit 2nd time after blinding 2022-12-16 21:52:46 +02:00
Andrii Danylchenko
56bf8ec2c4 #1228 - prevent second AI activation on AI defeat due to wrong EndTurn packet 2022-12-14 22:13:26 +02:00
Ivan Savenko
60a00b450e Multiple fixes & improvements to animation ordering 2022-12-13 21:31:49 +02:00
Ivan Savenko
c79634b6a7 Moved all animation ordering logic to callers
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Ivan Savenko
b3deea24e0 Earthquake spell: do not target already destroyed sections 2022-12-13 21:31:49 +02:00
Hennadii Chernyshchyk
de33eb44f9
Port to OpenDingux handhelds 2022-12-13 03:55:54 +02:00
Ivan Savenko
25bceda4ea Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
facf77b3ae vstd::unique -> std::unique 2022-12-07 23:36:20 +02:00
Ivan Savenko
d85ee019ec Removed CGHeroInstance::convertPosition method 2022-12-07 22:51:32 +02:00
Ivan Savenko
49cbd5adc9 CGHeroInstance::convertPosition is no longer static method 2022-12-07 22:34:08 +02:00
Ivan Savenko
908e6892f3 Removed CGHeroInstance::getPosition pseudo-override
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Ivan Savenko
2855606a88 Enabled & fixed -Woverloaded-virtual warning from gcc/cland
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
fd97b51183 Yet another attempt to fix Windows compile:
when building vcmi_lib statically (or linking against static vcmi_lib)
do not place dllexport/dllimport tags
2022-12-06 18:35:24 +02:00
Ivan Savenko
fa23965d0b Renamed for consistency BUILD_SINGLE_APP -> ENABLE_SINGLE_APP_BUILD 2022-12-06 00:00:56 +02:00
Ivan Savenko
6463e906d5 vcmi can be compiled as single app on Linux
TODO: check compilation on Win/Mac using Github Actions
2022-12-05 21:36:02 +02:00
Ivan Savenko
848454d48a Check for end-of-battle after opening spells are cast, fixes potentially
infinite battle
2022-12-02 21:38:59 +02:00
nordsoft
b7cab0e01d Merge remote-tracking branch 'upstream/develop' into battle-dialog 2022-11-30 01:03:57 +04:00
nordsoft
e865f484ff Fix some problems with network game 2022-11-30 00:10:40 +04:00
Nordsoft91
89b8b87a6b
Merge pull request #1156 from vcmi/features/online
Online mode
2022-11-29 20:43:39 +04:00
nordsoft
e9e172164c Implemented correct logic for battle queries 2022-11-25 03:02:34 +04:00
nordsoft
52375468e4 Remove unused variable 2022-11-23 01:02:17 +04:00
SoundSSGood
e6e669d024 ArtifactUtils::isSlotBackpack() func + refactoring 2022-11-18 23:13:44 +02:00
SoundSSGood
e9ab894638 backpack assemble 2022-11-18 01:55:29 +02:00
SoundSSGood
2d078132bf assemble in backpack initial 2022-11-17 19:43:54 +02:00
nordsoft
b253b19dc3 Support draw scenario (doesnt work properly) 2022-11-16 02:50:47 +04:00
nordsoft
9b597fc8d4 Merge remote-tracking branch 'upstream/develop' into battle-dialog 2022-11-15 23:08:20 +04:00
nordsoft
915d215076 Fix connections amount problem 2022-11-15 22:09:47 +04:00
nordsoft
694fedc662 Fix crash due to passing args 2022-11-15 22:09:46 +04:00
nordsoft
e7a8466e2b Merge remote-tracking branch 'upstream/develop' into lobby 2022-11-15 22:09:46 +04:00
Andrii Danylchenko
6974d4ea53
Merge pull request #1130 from IvanSavenko/banned_skills_fix
Fixes #1096 - do not propose banned skills on levelup
2022-11-15 09:32:12 +02:00
Ivan Savenko
729357824b Added common method for secondary skill availability checks 2022-11-14 19:08:49 +02:00
SoundSSGood
f9738f0d0b nullptr checks 2022-11-13 16:28:26 +02:00
SoundSSGood
aef87dd482 Apply suggested cosmetic changes 2022-11-13 15:28:09 +02:00
nordsoft
eeeca5ba8d Add additional logging 2022-11-11 18:00:09 +04:00
SoundSSGood
3142f32cbb Fix for callback return. More code optimization 2022-11-11 01:28:04 +02:00
SoundSSGood
30db38c0fe Unified CGameHandler::bulkMoveArtifacts and CGameHandler::bulkSwapArtifacts to one 2022-11-10 20:11:26 +02:00
SoundSSGood
ad47a7573c Code style. Typo. Code clean up. 2022-11-10 18:29:39 +02:00
SoundSSGood
b9087e2d63
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-10 17:45:54 +02:00
SoundSSGood
f2afd9e831
Update server/CGameHandler.cpp
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-10 17:37:50 +02:00
nordsoft
9ffc50457a Bypass command line args to vcmiserver 2022-11-08 18:05:47 +04:00
nordsoft
97e5fc8a07 Lobby works 2022-11-08 04:44:34 +04:00
SoundSSGood
3a3b559a0b attempt to fix the build 2022-11-07 14:20:28 +02:00
SoundSSGood
203c54e956 BulkMoveArtifacts structure optimization 2022-11-07 14:13:36 +02:00
SoundSSGood
0032947735 regression fixed. Artifact assemble dialog shows multiple times. 2022-11-07 00:36:13 +02:00
SoundSSGood
a35db9a696 server blocksPack upd 2022-11-07 00:19:43 +02:00
SoundSSGood
f72a3e3884 function ArtifactUtils::checkSpellbookIsNeeded for the artifacts like a Titan's thunder 2022-11-07 00:18:05 +02:00
SoundSSGood
0f391e19d5 server side funcs 2022-11-06 23:59:30 +02:00
SoundSSGood
95ab343116 Net Packs BulkMoveArtifacts structure and BulkMoveArtifacts::applyCl 2022-11-06 23:54:50 +02:00
nordsoft
4ccad9178e Fix potential BattleInfo destruction before usage 2022-11-06 21:46:56 +04:00
nordsoft
e9cf3ede2a Try to handle queries by ai 2022-11-05 06:34:38 +04:00
nordsoft
0c4e50b63c Initial prototype works 2022-11-05 03:35:51 +04:00
nordsoft
48925a50f2 Development 2022-11-05 03:35:46 +04:00
nordsoft
219a282916 First step 2022-11-05 03:35:32 +04:00
nordsoft
6eb43d3834 Minor changes 2022-10-27 01:39:57 +04:00
nordsoft
21a1706627 First working prototype 2022-10-27 00:52:39 +04:00
nordsoft
dd45d1a9cf Develop game part 2022-10-25 05:27:53 +04:00
nordsoft
2645843d4f Fix dead server 2022-10-08 22:23:02 +04:00
nordsoft
63b29cbaea Code review tweaks 2022-10-08 19:52:53 +04:00
nordsoft
e718f7fe39 Fix reconnection 2022-10-06 19:23:34 +04:00
nordsoft
ea49b8cf40 Cleanup code 2022-10-06 17:56:54 +04:00
nordsoft
16e185343a Add host commands to control game 2022-10-06 15:54:46 +04:00
nordsoft
895ec2d302 Make console available during other players' turn 2022-10-05 19:04:51 +04:00
nordsoft
3ff38b84a2 Support hotseat over multiplier 2022-10-05 01:54:31 +04:00
nordsoft
77ff6a64e6 Show message about client connecting and disconnecting 2022-10-05 00:51:34 +04:00
nordsoft
930f03e812 uuid check 2022-10-04 20:54:40 +04:00
nordsoft
0ea5a8fbe7 Merge remote-tracking branch 'upstream/develop' into mp-disconnection
# Conflicts:
#	server/CVCMIServer.cpp
2022-10-04 17:41:43 +04:00
nordsoft
722acb2a1d Reconnection works 2022-10-04 05:42:14 +04:00
nordsoft
16a5414247 Reconnection partially works 2022-10-04 05:09:03 +04:00
nordsoft
b91bb41a80 One step forward 2022-10-04 02:25:22 +04:00
Andrii Danylchenko
5c44c8f4da
Merge pull request #1011 from kambala-decapitator/fix-multiple-heals
allow healing ability only before first turn of each round
2022-10-03 21:43:08 +03:00
Andrii Danylchenko
382b3ae94a
Merge pull request #1041 from vcmi/nkai-fixes
NKAI: android fixes
2022-10-03 20:30:05 +03:00
Andrii Danylchenko
04490b709a
Merge pull request #1000 from vcmi/multiplayer
Multiplayer
2022-10-03 20:16:39 +03:00
nordsoft
512cf014aa Freeze current state 2022-10-03 20:47:00 +04:00
nordsoft
f4b7cf8196 Transfer player ownership to AI 2022-10-03 20:47:00 +04:00
Andrey Filipenkov
52371a4d3e allow healing ability before first turn attempt of each round 2022-10-03 15:48:39 +03:00
Andrii Danylchenko
8f599ed043 NKAI: android fixes 2022-10-03 09:01:15 +03:00
Andrii Danylchenko
2434fe3f6f NK: fix AI speed 2022-10-01 13:49:27 +03:00
nordsoft
fea05a4320 Finally game restart works
# Conflicts:
#	lib/CGameState.cpp
#	server/CVCMIServer.cpp
2022-09-29 21:08:05 +04:00
Andrii Danylchenko
dae726b82d
Merge pull request #1005 from kambala-decapitator/ios-min-12
raise iOS deployment target to 12.0
2022-09-29 19:57:04 +03:00
nordsoft
cbfa125085 Remove commented line 2022-09-29 14:29:57 +04:00
Tomasz Zieliński
20c102e648 Remove T prefix from new typedefs 2022-09-29 11:44:46 +02:00
nordsoft
bebe0dd86c Some change 2022-09-29 00:35:38 +04:00
nordsoft
2eb497b477 Looks like everything works 2022-09-28 23:38:41 +04:00
nordsoft
7ee4fca120 Pass whole gamestate over network 2022-09-28 23:15:05 +04:00
Tomasz Zieliński
f386f42166 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
#	lib/battle/CBattleInfoEssentials.cpp
#	lib/rmg/ObstaclePlacer.cpp
#	lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Andrey Filipenkov
53ac61b52b iOS: don't create unused CConsoleHandler 2022-09-27 07:05:10 +03:00
Nordsoft91
d4f97aadf0
Merge branch 'develop' into incomatibility-response 2022-09-25 13:26:07 +04:00
Tomasz Zieliński
4ea57ea7fc A variety of suggested style tweaks 2022-09-25 09:33:56 +02:00
Andrey Filipenkov
9f46bf5bff Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-09-24 15:55:26 +03:00
Andrey Filipenkov
605d5b6481 add dedicated macro when building as single process
fix kambala-decapitator/vcmi#40
2022-09-24 15:55:25 +03:00
Andrey Filipenkov
cd4b68c034 fix repeated launches of single player
now server actually terminates
2022-09-24 15:55:22 +03:00
Andrey Filipenkov
342a859a3f fix typo 2022-09-24 15:55:21 +03:00
Andrey Filipenkov
24a5dd797c fix starting local server 2022-09-24 15:55:21 +03:00
Andrey Filipenkov
de05479532 Revert "attempt to run server in a separate app"
This reverts commit 99fe55b295ad95033626c15011cfe49779269156.
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
e61e283b75 [iOS] remove everything related to server app 2022-09-24 15:55:21 +03:00
Andrey Filipenkov
c6e51852d0 add ability to build VCMI as single process
"Client process -> shared VCMI lib <- Server process" is turned into "shared Client-VCMI lib -> process <- static Server-VCMI lib"
- adds lib_client and lib_server targets that define distinct namespaces
- lib_client is a dynamic library which is shared with AI libs, lib_server is static
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
ff635edc0b wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Andrey Filipenkov
3388583089 use component-based install to copy only what's needed for every app 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
fae295da88 allow building without codesigning 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
9dc5f3ed8b improve RPATH handling, apply RPATH when installing dylibs 2022-09-24 15:55:20 +03:00
Andrey Filipenkov
bb9d19deee fix whitespace 2022-09-24 15:55:19 +03:00
Andrey Filipenkov
2354023731 move extern "C" to header 2022-09-24 15:55:18 +03:00
Andrey Filipenkov
2fc4d48215 load game data from shared dir
kambala-decapitator/vcmi#15
2022-09-24 15:55:18 +03:00
Andrey Filipenkov
e20a6c3670 server: add buttons to start server and to move data to shared directory
kambala-decapitator/vcmi#9 kambala-decapitator/vcmi#15
2022-09-24 15:55:18 +03:00
Andrey Filipenkov
4647bd8981 add App Group entitlement
kambala-decapitator/vcmi#9
2022-09-24 15:55:18 +03:00
Andrey Filipenkov
7def214740 more Xcode-compatible Info.plist 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
13dd451ff5 add simple app icons 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
dde9a5d5d2 todo updates 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
6e41e3154c fix running on device from Xcode
proper codesigning
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
cfa22c33ad use rpath properly 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
b6c4126bed install files after building server/client
package required files inside app bundle
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
92a7936202 add Info.plist to sources 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
09f5ea52f2 remove background audio hack 2022-09-24 15:55:17 +03:00
Andrey Filipenkov
e72e5cea6f attempt to run server in a separate app
partially reverts 3258f8bb40487e3731bf452dbda1add6294ff4b2
2022-09-24 15:55:17 +03:00
Andrey Filipenkov
26a1cc5b73 todos 2022-09-24 15:55:16 +03:00
Andrey Filipenkov
2e18299897 make server a static lib, run it in a separate thread
issues to solve:
- dynamic_cast error 2: One or more of the following type_info's has hidden visibility or is defined in more than one translation unit. They should all have public visibility. 13CPackForLobby, 20LobbyClientConnected, 20LobbyClientConnected.
- error setting socket option: set_option: No buffer space available
2022-09-24 15:55:16 +03:00
Andrey Filipenkov
c4233ad706 exclude some code similar to android 2022-09-24 15:55:16 +03:00
Tomasz Zieliński
a5077245a8 Merge remote-tracking branch 'origin/develop' into terrain-rewrite
# Conflicts:
#	lib/Terrain.cpp
#	lib/Terrain.h
2022-09-23 20:01:13 +02:00
nordsoft
8f6f9707a6 Read error message from translate.json 2022-09-23 15:20:11 +04:00
nordsoft
e74890c4b1 Add system message about mods incompatibility 2022-09-23 15:02:45 +04:00
Andrii Danylchenko
328fe4a556
Merge pull request #952 from kambala-decapitator/fix-vampire-drain-effect
server-side fixes to battle events
2022-09-22 18:37:29 +03:00
Andrii Danylchenko
b4d3445559
Merge pull request #971 from kambala-decapitator/fix-warnings
Fix most project warnings
2022-09-22 16:05:32 +03:00
Andrey Filipenkov
1d57c40740 wrap && conditions in parentheses when near || 2022-09-22 11:54:09 +03:00
Andrey Filipenkov
7e6ed0583c disable all scripting code when configuring without scripting modules 2022-09-21 19:31:42 +03:00
Tomasz Zieliński
494b0f0226 First version that compiles 2022-09-21 11:34:23 +02:00
Andrey Filipenkov
87a88da3a9 add Fire Shield damage to the battle log 2022-09-21 10:42:42 +03:00
Andrey Filipenkov
b95841dabb fix creating "creatures perished" battle log entry 2022-09-21 10:38:42 +03:00
Andrey Filipenkov
1313da191b trigger Drain Life effects after the attack
- animation and sound are played after the attack
- amount of drained life appears after damage dealt in the battle log
2022-09-20 18:00:00 +03:00
DjWarmonger
7ba271edf1
Rotation rebase2 (#912)
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
Andrey Filipenkov
99af5bbe4c add dedicated method to get logs path 2022-09-18 09:24:36 +03:00
Tomasz Zieliński
40585a66c0 Style, commend - requested 2022-09-11 11:31:28 +03:00
Tomasz Zieliński
6fb7301e8e Fixed issue with taking creatures from a Bank, Pandora or joiners 2022-09-11 11:31:27 +03:00
Andrii Danylchenko
4b4cc3cf4b battlefields in VLC and custom bonuses for terrain patches 2022-09-11 11:31:27 +03:00
Nordsoft91
c4035134e5 New battlegrounds (#758) 2022-09-11 11:31:26 +03:00
Nordsoft91
aaa07e4d2e New terrain support - part 1 (#755)
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Soar Qin
188607b05f Replace cotire with CMake builtin precompiled headers support (Requires CMake version >= 3.16) 2022-06-17 17:20:08 +03:00
Konstantin
8fc14369a4
CMake presets. (#744)
* CI: use single build action
* CMake: use imported targets
* CI: do not build boost for linux
* CMake: add FORCE_BUNDLED_MINIZIP option
* linux: use external minizip and fuzzylite
* CMake: add presets
* .gitignore: ignore cmake build dirs
* github: use cmake presets
2022-05-26 08:55:20 +03:00
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) (#739)
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet

Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
e220918230 full crash dump 2022-05-14 13:23:09 +03:00
Andrii Danylchenko
0d15089dd4 Do not remove hero if left only with commander 2022-05-01 09:30:30 +03:00
Arseniy Lartsev
bfd57ab5b5 Fixed scholar skill icon in the scholar dialog
The icon was for one level higher than the actuall skill level,
especially problematic for expert where right-clicking the icon
woould cause a crash
2022-03-13 16:47:52 +02:00
Andrii Danylchenko
550f544592 Add logging of network failure during connect 2022-03-05 15:53:07 +02:00
Dmitry Orlov
8cae3398ba Feature: Army Management Shortcuts should work as in HD+ Mod 2021-11-28 20:00:43 +02:00
Dmitry Orlov
7cfd1fe0ca Fix: Captured town should not be duplicated on the UI 2021-10-31 17:33:26 +02:00
Dmitry Orlov
e4c2f0c822 Fix: Skyship Grail should work immediately after capturing without battle 2021-10-31 09:01:49 +02:00
Dmitry Orlov
30b879ae5d Fixed: duplicated bonusing building. Improved: opposite bonus propagation 2021-09-12 14:30:54 +03:00
Dmitry Orlov
2a39c401b8 Feature: Opposite Side Limiter. Added: Old saves support. 2021-09-04 14:15:38 +03:00
Dmitry Orlov
25d9ea1ddf Feature: Opposite Side Limiter 2021-09-04 14:15:38 +03:00
Andrii Danylchenko
9c8d776398 Merge branch 'develop' into handlersAbstraction
# Conflicts:
#	CI/linux/before_install.sh
#	CI/mac/before_install.sh
#	CI/mxe/before_install.sh
#	lib/CModHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.h
#	lib/mapObjects/CommonConstructors.cpp
#	server/CGameHandler.cpp
#	test/CMakeLists.txt
#	test/spells/effects/TeleportTest.cpp
2021-07-16 00:32:13 +03:00
Andrey Filipenkov
7f3b06eb86 fix server crash on unexpected client disconnect 2021-03-20 17:12:56 +03:00
AlexVinS
483a4689ce Fixes for code review issues 2021-02-20 04:57:50 +03:00
AlexVinS
ecaa9f5d0b Entities redesign and a few ERM features
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Dmitry Orlov
3add3156e2 Fix: 'Restart Scenario' button should work properly 2021-01-20 21:29:50 +03:00
Dmitry Orlov
854a2e6c39 Feature: Mods system improvement, Part III. Bunusing buildings customization. 2021-01-14 01:02:13 +03:00
Andrii Danylchenko
3614330b3d moat bypass when no targets to attack 2020-12-02 19:40:24 +02:00
Andrii Danylchenko
4e359cd2a3 fix automatic towers when out of ammo 2020-12-02 08:38:31 +02:00
Dmitry Orlov
39de2f6435 Fix: Morale bonus should be shown correctly 2020-11-11 22:43:40 +03:00
Dmitry Orlov
b25baf66be Fix level up crashes: 1) Crash on double level up. 2) Crash on custom class level up. 2020-10-19 22:39:57 +03:00
Dmitry Orlov
934c4e511d Special buildings support : Patch 1 2020-10-15 15:03:01 +03:00
Dmitry Orlov
bf07cd0ad9 Mod system improvement Part I : Old saves support & MSVS build fix 2020-10-07 15:12:32 +03:00
Dmitry Orlov
f4816b0824 Mod system improvement Part I : Special buildings should work in the modders towns 2020-10-07 12:35:11 +03:00
Alexander Shishkin
124b2a7613
Merge pull request #655 from jambolo/bug/fix-0003143
Fixed lots of warnings.
2020-10-06 11:44:54 +03:00
xtouqh
0095db4a30 FreeBSD: need libexecinfo for backtrace() 2020-10-05 17:57:31 +03:00
John Bolton
a05ae78e67 Fixed lots of warnings.
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.

4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
John Bolton
6d8f1e4530 Fixed incorrect usage of const std::shared_ptr. Resolves 0003142.
Replaced const TBonusListPtr with TConstBonusListPtr where necessary
Replaced const std::shared_ptr<T> with std::shared_ptr<const T> where necessary.
Removed superfluous use of const.
Replaced const std::shared_ptr<T> with const std::shared_ptr<T> & in function parameters and ranged for-loops.
2020-09-30 22:56:28 -07:00
Dmitry Orlov
ae3b8e4916 Travis errors & warnings fix 2020-09-28 16:39:55 +03:00
Dmitry Orlov
38fd05f655 Minor fix: apply Monday bonuses to heroes who have slept overnight 2020-09-28 01:32:33 +03:00
Victor Luchits
febbeaeeed Close the global log targets on exit, flushing log files to disk 2020-05-05 15:25:07 +03:00
Toney Sui
dca5d86e7a
Fix bug: LandMine is not exploding to enemies. (#630)
* The reason is,

the mine has attribute hidden=true;
when enemy unit moves, the code in BattleInfo.cpp MoveUnit() (line 817) will update the revealed to true;
then in the CGameHandler.cpp handleDamageFromObstacle() (line 4846) is checking , and the condition battleIsObstacleVisibleForSide() will return true, so the effect will not be triggerred.

Resolution:
1. Remove the "revealed=true" in moveUnit(), and in handleDamageFromObstacle, remove the "const" restrict for obstacle, and then update revealed to true;
2. After the takeDamage function, add a pack "BattleObstaclesChanged" to update the obstacle to be "revealed=true".
2020-02-12 20:12:12 +03:00
krkos
ac81d0f7b4 Fix build with Boost versioni >= 1.70 (#615) 2020-01-21 11:55:28 +03:00
Dydzio
54550b50de Update VS files to 2019, partially fix test project 2019-06-09 17:28:55 +02:00
Dydzio
2f15ca9406 Do not build pseudo-buildings explicitly with events 2019-06-04 22:29:07 +02:00
Dydzio
e1b72ead6e Update CGameHandler.cpp
Fix hero recruit serverside check
2019-06-01 20:29:49 +03:00
AlexVinS
1f2ee843aa [C::B] Switched to boost shared linkage 2019-05-30 20:55:40 +03:00
Dydzio
f49bd3f18b
Do not display warning if player already lost 2019-05-28 22:34:55 +02:00
Ewilhan
ec4797d856 Fix Neutral Creatures Weekly Growth
Made it so neutral creatures could not be picked as "Flavour of the Week".
It is checking neutral creatures hometown to do so.

Fixes #3046.
2019-05-06 14:12:14 +01:00
Dydzio
97869fc36f Fixed single map victory crash 2019-03-29 22:01:51 +01:00
Michał Kalinowski
ec536e613c CMake more transitive
-Moving AIs cmake to target focusing code
-Beign explicit when link libraries
2019-03-28 16:56:51 +03:00
Dydzio
c310a05ee0 Allow learning secondary skills in ally towns 2019-03-25 02:21:32 +03:00
Dydzio
e1857df4bb Fix defense battle action logic (#563)
* Fix defense battle action logic
2019-03-25 02:16:47 +03:00
Alexander Shishkin
549d8c97df
Merge pull request #557 from dydzio0614/CrystalDragonAbility
Fix crystal dragon ability to match H3
2019-03-21 17:02:20 +03:00
Dydzio
53f4ba6464 Fix crystal dragon ability to match H3 2019-03-17 19:48:47 +01:00
Dydzio
36cb9f11c4 Hardcoded feature: no random week/month effects 2019-03-17 18:27:05 +01:00
AlexVinS
9311966706 [C::B] Switch to MinGW 7.3 2019-02-19 14:59:10 +03:00
Michał Kalinowski
a0d1808b62 CMake transitive compile dependency
Moving to more target focusing code that provides better transitive scope
2019-01-19 17:38:54 +03:00
Alexander Shishkin
b00e935e4d
Warnings fixes (#538)
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
AlexVinS
da20aa2388 Use the same cost value in Pathfinder and fuzzy evaluations. 2019-01-17 10:54:41 +03:00
Dydzio
216d50788b Fix AI build, update default Windows SDK version for projects 2018-12-31 15:18:42 +01:00
Andrii Danylchenko
035d279ae8 Refactor CGHeroInstance, make spells private 2018-12-23 15:49:26 +03:00
Andrii Danylchenko
83531f4355 Rename typo in NetPacksServer.cpp 2018-11-17 21:58:54 +02:00
Andrii Danylchenko
9a36572446 Build boat in allied shipyards is allowed now 2018-11-17 21:58:54 +02:00
Dydzio
c3088e293a Workaround linker bug, set higher optimization by default 2018-11-17 11:34:39 +01:00
Andrii Danylchenko
6ac987794c AI: first rule extracted for pathfinder 2018-09-23 15:26:53 +03:00
KasyanDiGris
fa5a14e2d8 Stabilize vcmi (#488)
* Shared statusbar
* Fixed server fails on client disconnected
2018-08-26 19:09:56 +03:00
Konstantin Vukolov
96215233bc macOS: fix packet deserialization (#479) 2018-08-14 01:03:45 +03:00
Alexander Shishkin
84be667363
Merge pull request #463 from dydzio0614/skel_transformer_fix
Fix bone/ghost dragon handling in skeleton transformer
2018-07-19 00:03:32 +03:00
Dydzio
301b70ddd8 Fix bone/ghost dragon handling in skeleton transformer 2018-07-18 20:21:19 +02:00
Dydzio
d5d2c65c4b Fix counterattack wrong mechanics 2018-07-18 15:52:33 +02:00
Dydzio
260981d586 Update project files to match vcmi code changes 2018-07-06 18:52:51 +02:00
Andrii Danylchenko
dcbcff41dc apply review comments for CAndroidVMHelper 2018-05-26 14:50:49 +03:00