Ivan Savenko
e2718db791
Converted several enumerations into constants
2023-08-25 13:38:02 +03:00
Ivan Savenko
c2d5f7f22f
Formatting & cleanup
2023-08-25 13:38:02 +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
f9410145d6
Fix handling of "7 days without town" loss condition
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
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
Michael
e317c23a59
fix
2023-08-24 20:31:06 +02:00
Michael
37e2292720
count unicode chars to extra function
2023-08-24 18:34:00 +02:00
Michael
485af4b4b5
avoid forbidden chars in path
2023-08-23 22:23:05 +02:00
Ivan Savenko
26bddbac44
Fix possible uncaught exception
2023-08-23 22:46:28 +03:00
Michael
b22a9ff2d0
Merge branch 'develop' into autosave
2023-08-23 21:39:04 +02:00
Michael
4784ae94b5
revert uuid
2023-08-23 20:03:40 +02:00
Ivan Savenko
4ab2e617d5
Fix infinite loop on Fear trigger
2023-08-23 19:34:33 +03:00
Ivan Savenko
81242d3500
Fixed ending of battles due to retreat/surrender
2023-08-23 18:46:56 +03:00
Konstantin
e6710a4eb0
vcmi: bump serialization version
2023-08-23 17:53:09 +03:00
Konstantin
d746a96d55
vcmi: use SpellSchool identifier instead of enum
...
Use identifier instead of enum inside callbacks. It is better and more
expandable solution.
2023-08-23 17:53:09 +03:00
Konstantin
75c39c6562
vcmi: handle icons for SPELL_DAMAGE_REDUCTION
...
For all schools and for ANY subtype
2023-08-23 17:53:09 +03:00
Konstantin
d20711bcd6
immunities: polishing
2023-08-23 17:53:09 +03:00
Konstantin
344593e891
vcmi: made some CSpell properties private
...
There are getters for it.
2023-08-23 17:53:08 +03:00
Konstantin
4d67a7e3d1
BonusParams: add XXX_IMMUNITY to deprecated
...
This bonuses does not exist now.
2023-08-23 17:52:16 +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
Konstantin
c9bc3fd4e1
CSpellHandler: use getBonusBearer
...
Use getBonusBearer method and cachingStr method for optimization
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
Michael
d2bbe0f35a
starttime in foldername
2023-08-23 01:47:55 +02:00
Michael
538acfe3c0
Update StartInfo.h
...
fix
2023-08-23 01:08:57 +02:00
Michael
a0450d1363
format...
2023-08-23 00:39:09 +02: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
Michael
68a1b883eb
autosave folders
2023-08-22 20:43:44 +02:00
nordsoft
dfaf778d16
Redesign loading solution
2023-08-22 20:10:20 +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
Dydzio
764608f100
Merge remote-tracking branch 'dydzio/configurable-autobattle-spells' into configurable-autobattle-spells
2023-08-21 20:10:04 +02:00
Dydzio
e81cd4e0e6
Delete empty file
2023-08-21 20:09:50 +02: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
5f7f0ec2ea
Declare enum classes as int8_t
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
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
Dydzio
ed12f20609
Improve neutral creature adventure map popup
2023-08-21 14:42:41 +02:00
Dydzio
78f56df44f
Comment out unused OH3 options so they do not clutter code suggestions
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2023-08-20 19:11:36 +02:00
Nordsoft91
ef4fddd0c4
Merge pull request #2570 from Laserlicht/town_selection_window
...
Town selection window
2023-08-20 17:37:45 +04:00
Dydzio
6bfbe80cc9
Allow toggling quick combat spells usage
2023-08-19 17:23:55 +02:00
Nordsoft91
4a6deedd5e
Merge pull request #2530 from Nordsoft91/tutorial
...
Support tutorial
2023-08-19 18:06:15 +04:00
Ivan Savenko
70ddc1f3e5
Merge pull request #2577 from wb180/secondarySkillSerialization
...
Preserve order of secondary skills during hero json serialization/deserialization
2023-08-18 15:24:02 +03:00
Ivan Savenko
d0b3319f6a
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-18 15:08:23 +03:00
Ivan Savenko
83b00bb7c3
Merge pull request #2610 from vcmi/master
...
Merge master -> beta
2023-08-18 12:56:05 +03:00
DjWarmonger
f9564dc8e4
Merge pull request #2563 from vcmi/fix_resources_near_mines
...
Fix resources placed behind mines
2023-08-18 09:12:56 +02:00
Michael
e1e16018d1
code review first batch
2023-08-17 17:29:31 +02:00
Ivan Savenko
daa8a494fc
Merge branch 'release_131' into master
2023-08-17 16:19:20 +03:00
Nordsoft91
96e820ddac
Merge pull request #2517 from Laserlicht/folders
2023-08-17 10:09:37 +04:00
Ivan Savenko
ef0cd0ba6e
Fixed mod dependencies check on save loading to prevent crashes:
...
- mods that don't affect game objects can be ignored when loading save
- gameplay-affecting mods that were present in save must be active
- gameplay-affecting mods that were not in save must not be active
2023-08-14 23:55:04 +03:00
nordsoft
d26fdaefe4
Battle timer
2023-08-14 23:31:44 +04:00
nordsoft
2ce50915e1
Fix ios compilation
2023-08-14 05:03:50 +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
Evgeniy Meshcheryakov
2a83f06905
Preserve order of secondary skills during hero serialization/deserialization
2023-08-14 00:06:22 +03:00
nordsoft
4b1224ec8c
Implement turn timer feature
2023-08-13 14:07:48 +04:00
Andrii Danylchenko
a7859dae39
Battle AI: archangels cast again
2023-08-13 09:08:30 +03: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
Tomasz Zieliński
abacb5f0ea
Fix resources placed behind mines
2023-08-12 10:53:25 +02:00
Ivan Savenko
ccf31d19f8
Merge pull request #2558 from IvanSavenko/localization_fix
...
Do not ignore translations for maps & campaigns
2023-08-12 11:24:19 +03:00
DjWarmonger
654489d5d3
Merge pull request #2525 from vcmi/battle-fast-targets
...
Battle fast targets
2023-08-12 09:22:25 +02:00
DjWarmonger
917f846a3a
Merge pull request #2562 from vcmi/fix_artifact_replacement
...
Fix regression with replacing quest artifact
2023-08-12 09:14:21 +02:00
Michael
52f00ec308
extra function: getFormattedDateTime
2023-08-12 01:13:03 +02:00
Michael
4d507f3d8a
format fix
2023-08-12 00:00:35 +02:00
Michael
f0b60cf166
suggestions; use internally uppercase; fix; fullname
2023-08-11 23:56:20 +02:00
Tomasz Zieliński
4741bd546f
Fix regression
2023-08-11 20:13:25 +02:00
Tomasz Zieliński
8f450cf253
Fix for monsters spawning at left side of the map
2023-08-11 18:43:22 +02:00
Ivan Savenko
942f8bbf05
Fix possible access to non-existing building
2023-08-11 18:50:39 +03:00
Ivan Savenko
474045194a
Do not ignore translations for maps & campaigns
2023-08-11 16:12:02 +03:00
Tomasz Zieliński
83d97626fe
Merge remote-tracking branch 'origin/beta' into fix_rmg_object_pos
2023-08-11 10:58:26 +02:00
Ivan Savenko
b2de5d32d1
Merge pull request #2546 from vcmi/fix_crash_after_battle
...
Fix crash at battle end
2023-08-11 11:37:30 +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
Tomasz Zieliński
0252d0f986
Fix hota offset + 2 possible crashes
2023-08-11 07:45:24 +02:00
DjWarmonger
f5926c4023
Merge pull request #2498 from vcmi/fix_roads_in_rock
...
Fix placing road inside underground rock
2023-08-11 07:22:36 +02:00
Michael
2b093b8850
case handling
2023-08-11 01:46:22 +02:00
Tomasz Zieliński
84436f7f18
Throw runtime error explicitely
2023-08-10 18:29:49 +02:00
Tomasz Zieliński
f483f7bb53
Fix crash at battle end
2023-08-10 11:52:31 +02:00
Ivan Savenko
1f9ee6aa38
Merge pull request #2524 from Nordsoft91/reward_canrefuse
...
[1.3.1] Reward can refuse fix
2023-08-09 20:06:26 +03:00
nordsoft
1def98a862
Tutorial implemented
2023-08-09 03:54:09 +04:00
Andrii Danylchenko
ba9998ac66
BattleAI: fast targets optimization
2023-08-08 20:10:29 +03:00
nordsoft
be6f6da397
Fix for canRefuse flag in rewardable building
2023-08-08 19:27:00 +04:00
Ivan Savenko
2e7e8bb52b
Better error message on missing object constructor
2023-08-08 12:50:39 +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
f0ede46186
Clear spell list, not hero army
2023-08-07 19:12:04 +03:00
Michael
a9e895c08f
basic subdirectory support
2023-08-06 21:39:39 +02:00
Tomasz Zieliński
c089e55893
Fix placing road inside underground rock
2023-08-06 21:14:16 +02:00
Ivan Savenko
c524caee5c
Fixed possible uncaught exception on starting map
2023-08-06 17:46:49 +03:00
Ivan Savenko
8b0f9c86f8
Fixed possible crash on invalid town building name
2023-08-06 13:30:20 +03:00
Ivan Savenko
041236837b
Possible fix for crash from Android crash reporting
2023-08-05 12:49:38 +03:00
Ivan Savenko
dd17896082
Fix crash on bonus parsing failure (outdated mods?)
2023-08-05 12:49:02 +03:00
Ivan Savenko
ad8695ac91
Fix saving games - regression from filesystem changes
2023-08-04 18:41:42 +03:00
Ivan Savenko
537f9fa048
Merged master into develop
2023-08-03 23:38:32 +03:00
Tomasz Zieliński
44fae4945d
Update distances in all zones adjacent to object
2023-08-02 20:41:29 +02:00
DjWarmonger
ca0eacc283
Merge pull request #2458 from vcmi/fix_water_tavern
...
Fix crash at water tavern
2023-08-02 20:03:02 +02:00
Tomasz Zieliński
250b27ba46
Fix crash due to missing boat for neutrla heroes
2023-08-02 17:19:23 +02:00
Tomasz Zieliński
f6247164ad
Fix crash, fix invisible boat blocking the tile
2023-08-01 18:51:33 +02:00
Ivan Savenko
8a81b3013f
Fixed transferring of artifacts from backpack in campaigns
2023-07-31 22:06:54 +03:00
Ivan Savenko
d9e7a8f88a
Merge pull request #2446 from IvanSavenko/bugfixing
...
(1.3.0) Bugfixing
2023-07-31 16:21:43 +03: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
8ea7e91189
moved mod-related files to new directory
2023-07-30 20:38:32 +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
Ivan Savenko
397c4c7595
Fix dismissing heroes on map with "Capture town" victory condition
2023-07-30 15:28:56 +03:00
Ivan Savenko
95dd4b3ffb
Fix incorrect warnings about missing translations
2023-07-30 13:19:52 +03:00
Ivan Savenko
6c52293dd9
Merge pull request #2425 from IvanSavenko/fix_combat_replay
...
Attempt to fix combat replay queries
2023-07-29 00:03:44 +03:00
Ivan Savenko
4d08a131d3
Reorganization of boost filesystem usage
...
- Removed (most of) boost filesystem namespace usings
- Replaced boost::filesystem::fstream with std::fstream and different
constructor that should be available on any plaftorm
2023-07-28 19:12:04 +03:00
Ivan Savenko
21a39f0b01
Removed boost::iostreams in favor of std::stream / boost::filesystem
2023-07-28 19:12:04 +03:00
Ivan Savenko
6153c1b203
Merge pull request #2422 from IvanSavenko/hero_pool_fix
...
Fix errors about "hero has no army" for defeated heroes
2023-07-28 13:43:50 +03:00
heroesiiifan
bee59b3c1c
Update Languages.h
2023-07-28 00:48:06 +00:00
heroesiiifan
917229b988
Update Languages.h
2023-07-28 00:29:57 +00:00
Ivan Savenko
aed8c411fc
Minor rework & cleanup of combat replays
2023-07-27 19:25:55 +03:00
Ivan Savenko
72210afc92
Do not attempt to reset movement for inactive heroes in pool
2023-07-27 15:51:38 +03:00
Tomasz Zieliński
2747174810
Fix incorrect sand shore id
2023-07-26 17:12:09 +02: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
1335a834e2
Merge pull request #2408 from IvanSavenko/remove_log_warning
...
Remove log warning
2023-07-25 18:15:52 +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
DjWarmonger
ae1aa816d3
Merge pull request #2405 from vcmi/fix-2389
...
#1965 - treat dwelling defenders as neutrals
2023-07-25 17:02:45 +02:00
DjWarmonger
b4c9b81a33
Update SideInBattle.cpp
2023-07-25 15:02:28 +03:00
DjWarmonger
71fe5c556f
Merge pull request #2203 from vcmi/remove_seed_info
...
Remove random seed from map description
2023-07-25 10:36:32 +02:00
Andrii Danylchenko
ec8898a0e7
#1965 - treat dwelling defenders as neutrals
2023-07-25 10:13:41 +03:00
Andrii Danylchenko
fe9090ddfa
#2044 - changed order of destructors to avoid crash
2023-07-25 10:09:28 +03:00
Ivan Savenko
37437224f9
Remove excessive warning
2023-07-24 23:16:34 +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
a280cc8845
Merge pull request #2384 from IvanSavenko/bugfixing_beta
...
Bugfixing iteration
2023-07-24 00:49:34 +03:00
Ivan Savenko
a619193e3c
Fixed initialization of heroes in taverns
2023-07-22 22:04:32 +03:00
Ivan Savenko
5aa2492a90
Fixed crash on ending battle with a draw
2023-07-22 22:04:12 +03:00
DjWarmonger
bf7b77600a
Merge pull request #2375 from vcmi/fix_roads
...
Fix RMG failing to place roads sometimes
2023-07-22 15:56:25 +02:00
DjWarmonger
0be3d6911c
Merge pull request #2236 from vcmi/limit_seer_huts
...
Create only a single seer hut for every artifact we have
2023-07-22 08:17:03 +02:00
Ivan Savenko
8456f92bf7
Merge pull request #2292 from IvanSavenko/radial_wheel_garrison
...
Radial wheel for army management
2023-07-21 20:54:49 +03:00
DjWarmonger
377bec277d
Merge pull request #2350 from vcmi/ban_stuff_on_water_maps
...
Ban objects on maps without water
2023-07-21 15:48:13 +02:00
Tomasz Zieliński
1762df2b77
Formatting
2023-07-21 14:55:49 +02:00
Tomasz Zieliński
8bfa34e97b
Allow routing road behind objects not visitable from top if that's absolutely neccessary.
2023-07-21 14:55:34 +02:00
Ivan Savenko
d26595cef7
Radial menu is now a proper window. Minor fixes to positioning.
2023-07-21 15:47:42 +03:00
Ivan Savenko
cfdc7e6e65
Merge pull request #2363 from IvanSavenko/rewardable_translation
...
Translation support for configurable objects
2023-07-21 15:44:46 +03:00
Ivan Savenko
cefbe5152e
Merge pull request #2359 from IvanSavenko/crashfixing
...
Fix crashes from 1.2.1 statistics on Google Play
2023-07-21 15:44:37 +03:00
Ivan Savenko
3c6839722a
Merge pull request #2362 from IvanSavenko/banks_guard_preview
...
Implemented support for showing amount of guards in banks
2023-07-21 15:44:11 +03:00
Ivan Savenko
3a348abf4f
Text of configurable/rewardable objects now uses translator
2023-07-19 22:25:52 +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
5660884ee5
Fix revisiting of cleared banks
2023-07-19 14:21:33 +03:00
Ivan Savenko
7f1b982264
Implemented support for showing amount of guards in banks
2023-07-19 13:17:50 +03:00
Tomasz Zieliński
ad5081f9fe
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-19 12:05:30 +02:00
Ivan Savenko
556763fb7b
Fixed handling of tactics
2023-07-18 22:02:35 +03:00
Tomasz Zieliński
e2940d2b0c
Fix Subterranean Gates incorrectly placed outside the map
...
(cherry picked from commit acf455a1c3b02c0f8d5085c23fe2230779b7560b)
2023-07-18 19:28:36 +02:00
Tomasz Zieliński
545f047cae
Fix HoTA guard once again
...
(cherry picked from commit 138a7c8024573f46962ad0f6e8e03ba53fa56076)
2023-07-18 19:28:20 +02:00
Ivan Savenko
1bf6bbd9b6
Significantly simplified threading model in battles
2023-07-18 19:55:59 +03:00
Ivan Savenko
5e8a778e7d
Attempt to fix / trace crashes from Google Play statistics
2023-07-18 17:31:21 +03:00
Tomasz Zieliński
9b649b0b79
Build fix
2023-07-18 10:55:26 +02:00
Tomasz Zieliński
03b3771f19
Ban Navigation on maps without water
2023-07-18 10:54:36 +02:00
Tomasz Zieliński
025b0814c8
+ Handled banning spells and artifacts
...
+ Rename allowedSpell => allowedSpells
2023-07-17 17:21:28 +02:00
Tomasz Zieliński
fbd1d728ec
Water heroes will now be correctly banned on random maps.
2023-07-17 16:23:34 +02:00
Ivan Savenko
6fd3c0f8bc
Fixes loading of hota maps with enabled wog mod (identifiers conflict)
2023-07-17 16:38:23 +03:00
Ivan Savenko
22b09f7164
Fixed parsing of some hota campaigns
2023-07-17 16:22:43 +03:00
Ivan Savenko
81d0ac4d6b
Removed excessive warnings from console - this is legal case
2023-07-17 16:22:29 +03:00
Tomasz Zieliński
bda126a1fd
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-16 18:54:50 +02:00
Ivan Savenko
a4ba5a9b65
Merge pull request #2327 from IvanSavenko/bugfixing_from_stream
...
Fix accumulated minor bugs
2023-07-15 21:55:19 +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
Ivan Savenko
1c55835b8b
Merge pull request #2329 from rilian-la-te/fix-M-stack
...
CCreatureHandler: fix positive morale
2023-07-15 19:46:40 +03:00
Ivan Savenko
199f9eb6f5
Fix build
2023-07-15 19:29:11 +03:00
Ivan Savenko
8129cbc514
Allow dismissing hero from town
2023-07-15 16:09:44 +03:00
Ivan Savenko
8ed5f412e2
Show per-type object names in editor
2023-07-15 16:09:44 +03:00
Ivan Savenko
0a27539fb5
Fixed crashes on loading with Tides of War mod
2023-07-15 16:09:44 +03:00
Ivan Savenko
8a92941681
Allow merging stack on recruitment to give place for recruited unit
2023-07-15 16:09:44 +03:00
Tomasz Zieliński
a200e87640
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-15 14:36:32 +02:00
Tomasz Zieliński
a968903c51
Fix HoTA guard offset in RMG
2023-07-14 16:45:13 +02:00
Konstantin P
6988b288ba
Rect: fix serialization
2023-07-14 11:39:04 +03:00
Konstantin P
118b68349a
CCreatureHandler: fix positive morale
2023-07-14 11:33:21 +03:00
Ivan Savenko
37f3560b9c
Fix build in debug mode
2023-07-11 15:21:31 +03:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
...
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00
DjWarmonger
f6cc61e0be
Merge pull request #2297 from vcmi/rmg_roads
...
Rmg roads
2023-07-11 09:25:24 +02:00
Ivan Savenko
8750aa2c5b
Merged server savegame and (broken and unused) client savegame files
2023-07-09 15:30:47 +03:00
Tomasz Zieliński
700d8459ac
Checking flags and conditions
2023-07-09 11:16:36 +02:00
Tomasz Zieliński
b4fcf20b19
Fix
2023-07-08 10:26:10 +02:00
Tomasz Zieliński
fabad20aa1
Compile fixes, cleanup
2023-07-08 10:21:36 +02:00
Tomasz Zieliński
3711ce846e
Check road settings for connections
2023-07-08 09:11:20 +02:00
Tomasz Zieliński
730b36612c
Respect GUI settings for roads. By default, all road types are enabled.
2023-07-08 08:44:10 +02:00
Tomasz Zieliński
27c4882237
Compile fix
2023-07-07 21:40:55 +02:00
Tomasz Zieliński
7e07ed65c8
- Check road connection for Shipyards
2023-07-07 21:27:24 +02:00
Tomasz Zieliński
1cad64c470
Move road flag to placeObject() method
2023-07-07 20:17:20 +02:00
Tomasz Zieliński
3889193a48
Reorganize namespaces
2023-07-07 16:32:17 +02:00
Ivan Savenko
fa4a0004b2
Merge pull request #2291 from IvanSavenko/terrain_animations_config
...
Moved hardcoded terrain palette-cycling animations to config
2023-07-07 14:28:39 +03:00
Ivan Savenko
ae8579558d
Merge pull request #2282 from IvanSavenko/adventure_map_fixes
...
Adventure map fixes for 1.3
2023-07-07 14:27:58 +03:00
Tomasz Zieliński
8463fe200c
Merge remote-tracking branch 'origin/develop' into rmg_roads
2023-07-07 08:19:52 +02:00
DjWarmonger
f9e1a70ab8
Merge pull request #2278 from vcmi/rmg_factions
...
Rmg factions
2023-07-06 22:15:36 +02:00
Tomasz Zieliński
0d3ac4a502
- Add new option for connection
...
- Store info about objects and roads in RequiredObjectInfo
2023-07-06 22:15:00 +02:00
Tomasz Zieliński
a592f5604b
Add "bannedTerrains", "bannedMonsters" options for templates.
2023-07-06 17:30:23 +02:00
Tomasz Zieliński
06449ce7b0
Another compile fix
2023-07-05 21:18:30 +02:00
Tomasz Zieliński
506a0cdda0
- Better name as suggested in PR
...
- Compile fix
2023-07-05 21:08:32 +02:00
Ivan Savenko
3bce245780
Moved hardcoded terrain palette-cycling animations to config
2023-07-05 22:07:20 +03:00
Tomasz Zieliński
9f2bfbc1d8
Improve serialization of IDs from mods, so they are resolved correctly after all mods are loaded.
2023-07-05 20:53:00 +02:00
SoundSSGood
9b5f6ec7cf
CArtifact getters setters
2023-07-05 15:48:08 +03:00
Nikolay Kostov
fa3568dca1
Small fix in characters encodings in Languages.h
2023-07-05 13:12:49 +03:00
Ivan Savenko
1cbc6457ce
Fix possible assertion failure on removing non-owned town
2023-07-04 20:28:02 +03:00
SoundSSGood
fd9c7352a0
suggested changes
2023-07-03 22:54:03 +03:00
Ivan Savenko
5f8a125a98
Updated translations
2023-07-03 14:34:53 +03:00
Ivan Savenko
8ac56f06b0
Added Hungarian
2023-07-03 14:34:53 +03:00
Ivan Savenko
bcc335e0a8
Added Finnish, Portuguese, Swedish, Turkish languages
2023-07-03 14:34:53 +03:00
Ivan Savenko
4b366e1fe8
Added new languages: Czech, Italian, Korean
2023-07-03 14:34:53 +03:00
Ivan Savenko
8efa7911b7
Implemented "Allied Adventure Map AI" option
2023-07-03 14:34:53 +03:00
Ivan Savenko
fc696fa0b3
Added detection of OS language on first run
2023-07-03 14:34:53 +03:00
Tomasz Zieliński
73b78dd75e
Handle "bannedTowns" (alredy used on Jebus).
2023-07-02 11:41:47 +02:00
Tomasz Zieliński
cb4d818241
Inherit terrain types only after all terrain Ids are resolved.
2023-07-02 09:28:51 +02:00
Tomasz Zieliński
04e2cf728e
Allow all terrains from mods by default (including Wasteland).
2023-07-02 08:13:06 +02:00
Tomasz Zieliński
dc3dda7676
Fix new factions not appearing in random maps
2023-07-01 15:25:20 +02:00
SoundSSGood
11a109f3af
fix build
2023-07-01 14:59:23 +03:00
SoundSSGood
aa90433418
bump serialization version
2023-07-01 14:59:23 +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
d44821e733
CArtifactInstance moved to own file
2023-06-30 19:41:19 +03:00
SoundSSGood
58fc2efd41
CGrowingArtifactInstance
2023-06-30 19:41:12 +03:00
SoundSSGood
f8023ad283
CScrollArtifactInstance
2023-06-30 19:41:04 +03:00
SoundSSGood
07c811dd67
CCombinedArtifactInstance refactoring
2023-06-30 19:40:57 +03:00
Ivan Savenko
9cd246ab8b
Merge pull request #2259 from IvanSavenko/campaign_refactoring
...
Fix accumulated issues with campaigns
2023-06-30 12:59:48 +03:00
Ivan Savenko
cdc27d1fcf
Play correct music file in campaign menu
2023-06-27 20:09:11 +03:00
Ivan Savenko
0fdbf54937
Use HeroTypeID instead of int
2023-06-27 19:32:27 +03:00
Ivan Savenko
4a5c1556a1
Always use std::vector<uint8_t> to store binary map
2023-06-27 16:27:35 +03:00
Ivan Savenko
96eab03b16
Fix UI updates
2023-06-27 14:09:04 +03:00
Ivan Savenko
cc91be3518
Added workaround for loading spellbook existance status
2023-06-27 13:58:45 +03:00
Ivan Savenko
33cbd46406
Merge pull request #2252 from SoundSSGood/crash_fix
...
Crash fix. Cosmetic fixes.
2023-06-26 23:06:20 +03:00
Ivan Savenko
7fc66c2797
Fix loading of experience for predefined heroes
2023-06-26 20:02:43 +03:00
Ivan Savenko
3d66455cd1
Fix build
2023-06-26 19:44:38 +03:00
Ivan Savenko
098e68b8dd
Fix granting of building upgrade as bonus
...
Such as granting Mages Guild Level 4 when town does not have Mages Guild
Level 1
2023-06-26 17:15:59 +03:00
Ivan Savenko
48ac84110b
Replaced hero crossover logic with one that actually matches H3
2023-06-26 17:15:59 +03:00
Ivan Savenko
e2bd98e21e
CampaignRegions class encapsulation
2023-06-26 17:15:59 +03:00
Ivan Savenko
f6b2f58da9
Use inheritance instead of composition for campaign header
2023-06-26 17:15:59 +03:00
Ivan Savenko
a08fe09517
Added encapsulation for CampaignState class
2023-06-26 17:15:59 +03:00
Ivan Savenko
8420a90aa4
Reorganization of campaigns code
2023-06-26 17:15:59 +03:00
Ivan Savenko
d1e5a347ff
Refactoring of campaign handler: rename types and use strong typing
2023-06-26 17:15:59 +03:00
Ivan Savenko
453d441562
Remove heroes placeholders even in single scenarios
2023-06-26 17:15:59 +03:00
Ivan Savenko
2882e2d248
Added loading of reserved heroes from H3M
2023-06-26 17:15:59 +03:00
Ivan Savenko
2b7e554807
Formatting & cleanup
2023-06-26 17:15:59 +03:00
Ivan Savenko
0fb284f948
Extracted campaign-related code from GameState into a separate class
2023-06-26 17:15:59 +03:00
Ivan Savenko
85262cf4f5
Moved CGameState files into a separate directory
2023-06-26 17:15:59 +03:00
Ivan Savenko
5c3cacd290
Merge pull request #2247 from IvanSavenko/pathfinding_fixes
...
Fix accumulated issues with pathfinding
2023-06-25 21:13:52 +03:00
DjWarmonger
a560eaea51
Merge pull request #2237 from vcmi/fictive_connections
...
Wide, fictive, repulsive connections
2023-06-25 19:57:08 +02:00
Tomasz Zieliński
43d666a2ff
Refactor duplicated code
2023-06-25 18:31:54 +02:00
Ivan Savenko
c77d353086
Fix build
2023-06-25 17:42:36 +03:00
Ivan Savenko
e0ea994656
Moved some pathfinding options to game settings
2023-06-25 17:42:36 +03:00
Ivan Savenko
03c3797945
Fixed pathfinding with free ship boarding (Admiral's Hat)
2023-06-25 17:42:36 +03:00
Ivan Savenko
08cfbe79cf
Added encapsulation for movement points access
2023-06-25 17:42:36 +03:00
Ivan Savenko
f66a8a9cf0
Do not allow stopping movement while in air
...
(client-side check, since proper fix would require major rewrite)
2023-06-25 17:42:36 +03:00
Ivan Savenko
f7b27da00e
Implemented support for "coast visitable" objects:
...
- objects marked as coast visitable can be visited from land even when
placed in water
- added isBlockedVisitable and isCoastVisitable method to
CGObjectInstance
- implemented json config for these properties in banks
2023-06-25 17:42:33 +03:00
Ivan Savenko
a84ccb37c2
Merge pull request #2250 from IvanSavenko/event_handling_fixes
...
Slider input event fix
2023-06-25 17:39:55 +03:00
SoundSSGood
b135045dcd
cosmetic fixes
2023-06-24 19:01:42 +03:00
SoundSSGood
8751d9ab8b
CArtifactInstance::putAt, CArtifactInstance::removeFrom, CArtifactInstance::move interface unified. Small optimization.
2023-06-24 19:01:36 +03:00
SoundSSGood
20d86edbd1
crash fixed
2023-06-24 19:01:25 +03:00
Tomasz Zieliński
a5ddc225ac
Place objects away from connection even if it's empty (not guarded)
2023-06-23 21:43:49 +02:00
Tomasz Zieliński
64e8b9b2b9
Smarter scaling for forces between zones.
2023-06-23 21:43:12 +02:00
krs
27c488e62f
Small changes after review.
2023-06-23 20:05:15 +03:00
krs
756dd398c2
Added constant for BATTLE_SHOOTING_RANGE_DISTANCE
2023-06-23 19:13:39 +03:00
krs
e938152c1d
Fix for showing penalty limit in red for unlimited ranged archers
2023-06-23 19:13:39 +03:00
krs
33bbbefdeb
First working prototype that mimics rangedFullDamageLimit code
...
Next step is to create more generic functions that can be shared between the 2.
2023-06-23 19:13:39 +03:00
Ivan Savenko
ce3e150d59
Minor formatting
2023-06-23 13:55:52 +03:00
Ivan Savenko
1fb2b60999
Remove no longer relevant check
2023-06-23 13:42:09 +03:00
Ivan Savenko
44261ecc21
Fix boat positioning
2023-06-23 13:42:09 +03:00
Ivan Savenko
caccd58eb0
boat offsets for shipyards are counted from visitable position
2023-06-23 13:42:09 +03:00
Ivan Savenko
6a08a96d0c
Added createObject call as wrapper around NewObject netpack
2023-06-23 13:42:08 +03:00
Ivan Savenko
d8879f1e53
NewObject pack now receives visitable position instead of h3m position
2023-06-23 13:34:51 +03:00
Ivan Savenko
56680e102d
Merge pull request #2245 from IvanSavenko/platform_settings
...
Allow defining default values of settings per platform
2023-06-23 13:32:30 +03:00
Ivan Savenko
69dc95c3c8
Merge pull request #2235 from IvanSavenko/hota_h3m_support
...
Hota h3m support
2023-06-23 13:32:10 +03:00
Ivan Savenko
a505cc464e
Fixed slider's behavior, especially for mobile systems
2023-06-22 23:49:38 +03:00
Ivan Savenko
ebc7a82c2e
Converted pathfinder enum's to enum class
2023-06-21 15:38:57 +03:00
Ivan Savenko
f78470a301
Fix build
2023-06-21 14:55:25 +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
8f602b2ef6
Allow defining default values of settings per platform
2023-06-21 10:55:30 +03:00
Ivan Savenko
c4772ae59d
Load new hota quests as empty quests, to avoid unexpected behavior
2023-06-20 19:37:27 +03:00
Ivan Savenko
6564502a0e
Implemented mapping of hero portraits
2023-06-20 19:37:27 +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
9b5e81929f
Fix build
2023-06-20 19:37:27 +03:00
Ivan Savenko
d4728f78ce
Support for hota victory conditions
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
2636a0dcc3
Moved MetaString to a new file
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
c43783db58
Use string ID's instead of raw strings for win/loss conditions
2023-06-20 19:37:27 +03:00
Ivan Savenko
8dde8018d0
Implemented support for fixed monster def's from hota
2023-06-20 19:37:27 +03:00
Ivan Savenko
6f743916db
Moved CGCreature to a new file
2023-06-20 19:37:27 +03:00
Ivan Savenko
7c88bb7e4f
Detect mirror maps
2023-06-20 19:37:27 +03:00
Ivan Savenko
636b2ea856
Removed no longer used code - moved to hota mod
2023-06-20 19:37:27 +03:00
Ivan Savenko
d742b6b809
Fix mapping of map objects linked to game entities
2023-06-20 19:37:27 +03:00
Ivan Savenko
f86133705e
Fix loading of allowed artifacts from hota h3m
2023-06-20 19:37:27 +03:00
Tomasz Zieliński
25707b6d5e
Place zones in order given by template. Yields better results in a number of cases.
2023-06-18 20:23:25 +02:00
Tomasz Zieliński
8510af487e
Place objects away from wide connection
2023-06-18 19:20:12 +02:00
Tomasz Zieliński
47726625c2
Do not generate passable connections for virtual connections.
2023-06-18 12:03:41 +02:00
Tomasz Zieliński
acc141d626
Fix unused variable
2023-06-17 19:31:16 +02:00
Tomasz Zieliński
65d10cf9f2
+ Handle Wide Connections
...
+ Possibly hide fictive and repulsive connections, needs testing
2023-06-17 19:09:38 +02:00
DjWarmonger
02ea798c97
Merge pull request #2229 from vcmi/zone_placement_improvements
...
Zone placement improvements
2023-06-17 08:53:08 +02:00
Tomasz Zieliński
30f81297c3
Create only a single seer hut for every artifact we have.
2023-06-17 08:45:10 +02:00
Ivan Savenko
ece9982ca0
Fix build
2023-06-16 18:11:45 +03:00
Ivan Savenko
58661fc8ec
Moved DwellingInstanceConstructor to a new file
2023-06-16 17:59:50 +03:00
Ivan Savenko
77b58bc66d
Cleaned up object constructors to reduce duplicated code
2023-06-16 17:59:50 +03:00
Ivan Savenko
4d947be287
Adventure map shipyard nwo has configurable boat type
2023-06-16 17:59:50 +03:00
Ivan Savenko
487f441f47
Implemented boat selection for town shipyards
2023-06-16 17:59:49 +03:00
Ivan Savenko
6aedb99117
Cleaned up IShipyard interface
2023-06-16 17:59:10 +03:00
Ivan Savenko
a94b68e6aa
Hill fort upgrade costs are now loaded from json
2023-06-16 17:59:10 +03:00
Ivan Savenko
2e7c382612
Moved creature upgrade logic to CGObjectInstance inheritors
2023-06-16 17:59:10 +03:00
Ivan Savenko
fc190b14bb
Spell shrines can now be configured in json
2023-06-16 17:59:10 +03:00
Ivan Savenko
5cfbdd2967
Partially split CommonConstructors.cpp into few separate files
2023-06-16 17:59:10 +03:00
Ivan Savenko
0901c8feaf
Use boost::multiarray instead of manual memory management in CMap
2023-06-16 17:59:10 +03:00
DjWarmonger
c52b5d3bd0
Merge pull request #2216 from vcmi/water_prison_tavern
...
Water Prison & Tavern
2023-06-16 16:30:05 +02:00
Tomasz Zieliński
190244369c
Fix empty Pandora message
2023-06-15 22:06:31 +02: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
f1356dd5bf
Merge remote-tracking branch 'origin/develop' into water_prison_tavern
2023-06-14 20:58:02 +02:00
Tomasz Zieliński
ce25ed4de2
Fix crash which coudl occur if we can't add any Seer Hut to RMG pool (Fear template).
2023-06-14 20:50:14 +02:00
Ivan Savenko
3924f0f081
Merge pull request #2211 from SoundSSGood/art-refactoring-hotfix
...
Fixing regressions
2023-06-14 16:06:35 +03:00
Ivan Savenko
8614419954
Merge pull request #2208 from IvanSavenko/obstacles_foreground
...
Implemented foreground/background obstacles
2023-06-14 15:49:08 +03:00
Tomasz Zieliński
14d46cbed8
Keep the distance between zone guards and other objects, while trying to place them closer to zone centers at the same time.
2023-06-14 14:12:42 +02:00
Tomasz Zieliński
2603e11f48
Simplify and correct ZonePlacer main loop, make sure to save optimal solution at every step.
2023-06-14 14:07:31 +02:00
DjWarmonger
3be7720868
Merge pull request #2218 from vcmi/pregenerate_treasures
...
Okay, merging this for PvP feedback.
2023-06-13 20:46:34 +02:00
Tomasz Zieliński
e1f8ae94ac
+ Do not limit treasures to make space for more treasures if there are none ;eft
...
+ Make sure RMG won't get stuck in infinite loop for weird treasure values (eg. 0).
2023-06-12 22:15:59 +02:00
Tomasz Zieliński
3d3c97bf93
Fix potential infinite loop
2023-06-12 20:32:58 +02:00
krs
56b8fb39f3
Removed neighbouringTilesWithDirection and using
...
allNeighbouringTiles
2023-06-11 18:40:47 +03:00
krs
b8ad5b41f3
UnitState has getRangedFullDamageDistance()
2023-06-11 18:40:47 +03:00
krs
c0591573bf
Working Version
2023-06-11 18:40:47 +03:00
Tomasz Zieliński
983633d73b
Do not decrease the density of obstacles in zones of medium treasure value. For high values, decrease them more rapidly.
2023-06-10 18:02:26 +02:00
Tomasz Zieliński
65a8478b74
Fix override
2023-06-10 15:07:03 +02:00
Tomasz Zieliński
8ef25155df
Remove dependencies of surface and underground zones
2023-06-10 14:58:12 +02:00
Tomasz Zieliński
b65870f31e
A bunch of magic formulas to assure nice balance of blocked areas and obstacles on every template
2023-06-10 14:57:25 +02:00
Tomasz Zieliński
1bb2b5b571
+ Maintain clear perimeter of a treasure pile.
...
+ Make sure that separate blocked areas remain unconnected so it's possible to pass between them.
2023-06-10 14:56:03 +02:00
Tomasz Zieliński
d5b799278e
Allow center Town touch the blocked area, it's no longer a problem with correct pathfinder.
2023-06-09 21:22:44 +02:00
Tomasz Zieliński
682e9ae297
Unused variable
2023-06-08 20:05:51 +02:00
Tomasz Zieliński
52d33fc7a6
Generate all treasures of certain value beforehand and try to place them all, don't interrupt at first failure.
2023-06-08 19:51:21 +02:00
Tomasz Zieliński
66b6fba51f
Use all tiles covered by treasure pile to determine distance to other treasures.
2023-06-08 19:31:38 +02:00
Tomasz Zieliński
d92ac6bcbe
Do not exceed rolled treasure value - matches OH3.
2023-06-08 19:23:23 +02:00
Tomasz Zieliński
651b1a8bea
Remove unused variable.
2023-06-08 09:27:55 +02:00