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

5811 Commits

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