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
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