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

7508 Commits

Author SHA1 Message Date
Ivan Savenko
2439d176a0 Analyze filesystem of mods to detect potential mod conflicts 2024-10-06 13:58:41 +00:00
Ivan Savenko
cd52625657
Merge pull request #4710 from kdmcser/display_attack_type
display attack type(melee/ranged) in popup window
2024-10-06 16:04:39 +03:00
Ivan Savenko
a7027e10f4
Merge pull request #4696 from Laserlicht/color_param
color shift parameter to config
2024-10-06 16:03:45 +03:00
Ivan Savenko
f17fe6a48e
Merge pull request #4708 from IvanSavenko/subterra_pathfinder_fix
Fixes pathfinding via subterranean gates located on right edge of map
2024-10-06 16:00:09 +03:00
Ivan Savenko
9850ef5b89
Merge pull request #4718 from IvanSavenko/witch_hut_fix
Fixes randomization of Witch Hut preconfigured in map editor
2024-10-06 15:59:30 +03:00
godric3
87ebb22a55 map editor: fix reading town faction name for non random towns on h3m maps 2024-10-06 13:59:34 +02:00
SoundSSGood
c472b2ce5e BulkEraseArtifacts crash fix 2024-10-04 15:19:57 +03:00
Ivan Savenko
b79897f598
Merge pull request #4714 from IvanSavenko/integer_overflow_fix
Fix potential int32_t overflow when computing total army value
2024-10-03 15:35:47 +03:00
Ivan Savenko
5d64da9b6c Fixes randomization of Witch Hut preconfigured in map editor 2024-10-03 12:35:15 +00:00
Xilmi
ddfeab8748 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-03 13:38:51 +02:00
Ivan Savenko
f5c2772f8d Fix potential int32_t overflow when computing total army value 2024-10-02 19:48:08 +00:00
kdmcser
60177bffab
remove bracket 2024-10-02 19:57:26 +08:00
kdmcser
4896b51a5d display attack type(melee/ranged) in popup window 2024-10-02 19:08:40 +08:00
Ivan Savenko
5aebc83bca Fixes pathfinding via subterranean gates located on right edge of map
In this case, 'pos' is actually outside of map borders, so never visible
to a player
2024-10-02 09:24:53 +00:00
Xilmi
c19d885603 Subterranean Gateway fix
Fixed an issue that caused pathfinding for player and AI not working when a subterranean gate was too close to the edge of the map.

Fixed another issue that played into pathfinding for AI not working when a subterranean gate was too close to the edge of the map.
2024-10-02 00:10:45 +02:00
Laserlicht
e85e938865 use subid 2024-10-01 20:44:08 +02:00
Laserlicht
9c6bd20159 code review 2024-10-01 16:32:28 +02:00
Ivan Savenko
f816c3306b
Merge pull request #4694 from Laserlicht/spell_cast_only_self
cast only on self
2024-10-01 17:20:20 +03:00
Laserlicht
be31041a48
"general" -> "interface" 2024-10-01 16:09:22 +02:00
Xilmi
3d9892f6b3 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-01 16:08:57 +02:00
Ivan Savenko
cef7466c71
Merge pull request #4643 from SoundSSGood/CArtHandler-refactoring
CArtifactSet  tidy up
2024-10-01 16:26:32 +03:00
DjWarmonger
ffed9480e0
Merge pull request #4483 from vcmi/custom_objects_per_zone
Customizable objects in RMG zones
2024-10-01 14:58:35 +02:00
Ivan Savenko
f39d515d54
Merge pull request #4687 from dydzio0614/chain-lightning-magic-immunity
Fix chain lightning wasting effect on creatures immune to magic
2024-10-01 15:27:15 +03:00
Ivan Savenko
a4c3dd622f
Merge pull request #4685 from Laserlicht/turn_timer_load_change
turn timer and simturn change on load
2024-10-01 15:27:04 +03:00
Ivan Savenko
9c91559414
Merge pull request #4677 from IvanSavenko/rewardable_fixes
Unify rewardable map object and town building code
2024-10-01 15:26:50 +03:00
godric3
d078c5ff2d store ObjectInstanceID of objects to remove instead of their position 2024-09-30 20:44:40 +02:00
Laserlicht
844b078482 color shift parameter to config 2024-09-30 19:46:53 +02:00
godric3
e50ba14bbe Use exact position of object to remove + add object name to list of objects to remove 2024-09-30 19:17:21 +02:00
Laserlicht
713fcd6543 research per day & seperate config 2024-09-30 02:40:28 +02:00
godric3
253af651cc Add map editor ui to set objects to remove on timed event 2024-09-29 13:37:24 +02:00
Xilmi
58eeccd119 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-29 12:35:44 +02:00
Dydzio
99f49ee6ad Remove objects deleted by event from owned objects list 2024-09-29 00:10:09 +02:00
Dydzio
3bff68958e Change deleted objects format to use ObjectInstanceID 2024-09-28 22:58:05 +02:00
Laserlicht
e6cb87abac cast only on self 2024-09-28 17:32:53 +02:00
Dydzio
63b711758f Fix chain lightning wasting effect on creatures immune to magic 2024-09-28 17:22:26 +02:00
Laserlicht
f94f0a3274 new dialog 2024-09-28 15:51:53 +02:00
Laserlicht
d929bfb9d1 rename; introduce factor 2024-09-28 15:05:13 +02:00
Laserlicht
2052a26031 code review 2024-09-28 14:25:11 +02:00
Laserlicht
1558cbdfa9 turn timer and simturn change on load 2024-09-28 13:45:04 +02:00
Laserlicht
3559f9f923 HMI for spell research 2024-09-28 01:47:32 +02:00
Laserlicht
7707adc44f checks on server 2024-09-28 01:18:10 +02:00
Laserlicht
5b2aa4dc71 swapping spells 2024-09-28 00:34:25 +02:00
Dydzio
3fe90e19a5 Merge branch 'develop' into map-objects-removal-2 2024-09-28 00:08:59 +02:00
Laserlicht
a9327b3fa3 netpacks 2024-09-27 22:47:22 +02:00
Laserlicht
efcac3b933 settings 2024-09-27 20:16:41 +02:00
Ivan Savenko
7f8f09c8fa
Merge pull request #4668 from Laserlicht/scenario_name
Chronicles improvements
2024-09-27 20:01:47 +03:00
Ivan Savenko
19db016473
Merge pull request #4654 from dydzio0614/any-hex-shooting
Allow targeting empty hex by shooters with multi-tile SPELL_LIKE_ABILITY
2024-09-27 19:23:33 +03:00
Laserlicht
0e1bb73994 code review 2024-09-27 18:23:02 +02:00
Ivan Savenko
69d9e34ebf
Merge pull request #4642 from Laserlicht/invincible_improvements
Invincible bonus: only blocking non positive spells; counterstrike
2024-09-27 18:58:00 +03:00
Ivan Savenko
f2c20b54d0 Unify rewardable map object and town building code 2024-09-27 15:41:24 +00:00
Ivan Savenko
072aa8aadd Remove unused method 2024-09-27 15:41:24 +00:00
Dydzio
e56b8e86e5 Do not use VisitableObjects - BlockedObjects should suffice 2024-09-26 21:25:02 +02:00
Dydzio
9004b88c7e Mapping of deletable coordinates to objects on map start 2024-09-26 20:05:46 +02:00
Xilmi
1d831022e8 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-25 14:08:34 +02:00
MichalZr6
edf43f5702 Get and translate messages on client side 2024-09-24 19:12:05 +02:00
MichalZr6
303b0a6552 Fixes based on review remarks 2024-09-24 18:29:01 +02:00
Laserlicht
138cbc6a81 scenario name for campaigns 2024-09-24 11:23:10 +02:00
SoundSSGood
586a32a616 CArtifactSet cleanup 2024-09-23 23:39:19 +03:00
SoundSSGood
b9ae7f1138 CMap put move and remove artifact method 2024-09-23 23:30:38 +03:00
Dydzio
cf5ce96aeb Backend implementation of object removal possibility by timed map events 2024-09-23 21:45:50 +02:00
Tomasz Zieliński
a4392fce36 Allow mod name in camelCase 2024-09-23 20:34:26 +02:00
Tomasz Zieliński
54ba4d50d6 Allow to ban spell scrolls 2024-09-23 17:09:46 +02:00
Ivan Savenko
92c5fd4156
Merge pull request #4655 from IvanSavenko/bugfixing
Bugfixing
2024-09-23 18:01:27 +03:00
Dydzio
230893f423 Merge branch 'develop' into any-hex-shooting 2024-09-23 16:57:27 +02:00
Ivan Savenko
bb74ffa382
Merge pull request #4640 from godric3/map-editor-fix-quest-editor-lists
Add all artifacts/spells/skills to quest widget lists and disable banned
2024-09-23 17:37:15 +03:00
Ivan Savenko
dbfa5b8b2d
Merge pull request #4637 from IvanSavenko/validate_gamesettings
Added validation of game settings
2024-09-23 17:28:37 +03:00
Ivan Savenko
1fb108b79d
Merge pull request #4636 from IvanSavenko/bank_compat
Compatibility hack for mods with old banks format
2024-09-23 17:28:20 +03:00
Ivan Savenko
e93a060500 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-09-23 14:25:53 +00:00
Ivan Savenko
0058c9ba2e Fix crash on transfer of multiple artifacts in a backpack to another
hero on starting next campaign scenario without hero that held these
artifacts before
2024-09-22 20:31:52 +00:00
Ivan Savenko
123f9ee676 Fix missing registration of onGuardedMessage string for banks 2024-09-22 20:30:55 +00:00
Dydzio
5dda4aa0f0 Remove overly strict condition 2024-09-22 21:43:20 +02:00
Dydzio
bb69ab1a1a Fix assert and condition for counting spell hexes 2024-09-22 18:25:18 +02:00
Dydzio
bf9a9283a4 Make any hex shooting possibility configurable 2024-09-22 16:58:15 +02:00
Dydzio
1a2d349267 Initial unconditionally working version 2024-09-22 15:07:44 +02:00
Xilmi
d679ee72b9 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-22 12:21:20 +02:00
Laserlicht
899d3a14a0 only blocking non positive spells; counterstrike 2024-09-21 23:50:35 +02:00
godric3
f4dc2dcd22 add missing serialization of spells in Limiter 2024-09-21 22:40:58 +02:00
Ivan Savenko
e07340b531 Added validation of game settings
Should detect invalid config in all sources of settings - vcmi config,
mods, random map templates
2024-09-21 15:34:33 +00:00
Ivan Savenko
9ee2ee45bc Compatibility hack for mods with old banks format 2024-09-21 15:11:57 +00:00
Ivan Savenko
4a5818aa7d
Merge pull request #4631 from Laserlicht/fix_error_output
fix error with description
2024-09-21 17:46:31 +03:00
Tomasz Zieliński
79c4d7d51f Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone 2024-09-21 14:20:56 +02:00
Tomasz Zieliński
55e2a99154 Default object limit to unlimited 2024-09-21 13:36:51 +02:00
Tomasz Zieliński
ec603f46ae - Handle new configurable banks
- Handle "all" object banned option
2024-09-21 13:36:28 +02:00
Laserlicht
629da99679 fix error with description 2024-09-20 18:21:52 +02:00
Ivan Savenko
cb96b9959e
Merge pull request #4623 from Laserlicht/invincible_bonus
INVINCIBLE bonus
2024-09-20 11:50:29 +03:00
Ivan Savenko
26aeb1dd48
Merge pull request #4616 from Laserlicht/show_level
show creature level
2024-09-20 11:50:17 +03:00
Laserlicht
5e3630adae adjust texts 2024-09-19 20:57:43 +02:00
Xilmi
7c8f4c423c Merge remote-tracking branch 'upstream/develop' into develop 2024-09-19 17:35:18 +02:00
Ivan Savenko
65355925e9
Merge pull request #4595 from Laserlicht/cast_without_skip
Bonus for spell: cast without skip the turn
2024-09-19 16:17:48 +03:00
Laserlicht
b36c05df1d INVINCIBLE bonus 2024-09-19 03:14:45 +02:00
Laserlicht
081ba4839c added town info 2024-09-18 22:39:53 +02:00
Laserlicht
735af83294 castSpellThisTurn to bool var 2024-09-18 21:24:27 +02:00
K
bda1adbdfd miniscule bonus system cleanup
update comments, remove one never used method, make another method private
2024-09-18 16:41:41 +02:00
Xilmi
27aed74397 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-18 14:52:24 +02:00
Laserlicht
6aa29ac8ee show creature level 2024-09-17 22:34:09 +02:00
Dydzio
7979f62f82 Add status bar movement points info for own hero on adventure map or hero list 2024-09-17 21:38:28 +02:00
Ivan Savenko
d0ac6458b9
Merge pull request #4609 from IvanSavenko/building_fixes
Building fixes
2024-09-17 17:50:49 +03:00
Ivan Savenko
8b2821456a Show generic dialog if building was already visited 2024-09-16 19:51:10 +00:00
Ivan Savenko
e09fbe5ea4 Implement detection of typos in json using Levenshtein Distance 2024-09-15 20:14:08 +00:00
Ivan Savenko
c2dc88bf06 Fix refusing a reward, for example from Tree of Knowledge 2024-09-15 10:32:29 +00:00
Xilmi
ca4a46466b Merge remote-tracking branch 'upstream/develop' into develop 2024-09-15 11:32:46 +02:00
Laserlicht
0aaafc4c8a cast without skip 2024-09-14 15:10:24 +02:00
Ivan Savenko
90733cfe0e Do not place obstacles during sieges 2024-09-14 11:02:23 +00:00
Ivan Savenko
95df330843 Remove unused files 2024-09-14 10:47:43 +00:00
Xilmi
737a8d4966 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-14 12:45:25 +02:00
Tomasz Zieliński
2fe54504ab Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone
# Conflicts:
#	lib/rmg/CRmgTemplate.cpp
2024-09-14 10:19:22 +02:00
Tomasz Zieliński
4d4538a48d Use CompoundMapObjectID in ObjectInfo 2024-09-14 09:23:28 +02:00
Tomasz Zieliński
9591ce1ab4 Move CompoundMapObjectID to separate file 2024-09-14 08:55:28 +02:00
Tomasz Zieliński
e89649ec1c Move ObjectConfig to separate file 2024-09-14 08:41:00 +02:00
Ivan Savenko
4772311160 Fix positioning of defender war machines 2024-09-12 20:27:32 +00:00
Ivan Savenko
6c0b9415c0 Fix positioning of defender units in non-bank battles 2024-09-12 20:11:26 +00:00
Tomasz Zieliński
4b263b6d41 Add specific objects and configure their frequency / value 2024-09-12 21:04:27 +02:00
Xilmi
a1a03d4b74 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-12 14:54:39 +02:00
Ivan Savenko
45c8553ecb Remove old code 2024-09-12 12:11:18 +00:00
Ivan Savenko
d20d9bd96b Fix generation of placeholders for banks 2024-09-12 12:11:18 +00:00
Ivan Savenko
ca13fe04df Use alphabetic ordering for game settings 2024-09-12 12:11:18 +00:00
Ivan Savenko
2ee4e42348 Implement placeholders for creature banks messages 2024-09-12 12:11:18 +00:00
Ivan Savenko
39a2c29c97 Removed creatureBank flag from battle, battles now receive BattleLayout
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
Ivan Savenko
31dff8f8da Add coastVisitable property to rewardables, update schemas 2024-09-12 12:11:18 +00:00
Ivan Savenko
503b87561e Converted all h3 banks to rewardable, remove most of hardcoded checks 2024-09-12 12:11:18 +00:00
Ivan Savenko
cb5df096c1 Added per-team tracking of scouted state of an object 2024-09-12 12:11:17 +00:00
Ivan Savenko
785036836c Rewardable objects may now define guards. Converted Crypt to rewardable. 2024-09-12 12:10:40 +00:00
Ivan Savenko
a9c4683da6
Merge pull request #4566 from Laserlicht/outro_support
Campaign outro
2024-09-12 14:20:56 +03:00
Ivan Savenko
9a08e2eb0f
Merge pull request #4573 from kdmcser/stack_level_updater_for_commander
make TimesStackLevelUpdater support commander
2024-09-12 14:16:16 +03:00
Xilmi
065125e770 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-10 14:57:27 +02:00
Laserlicht
258d298775
Merge branch 'develop' into outro_support 2024-09-09 23:09:44 +02:00
Ivan Savenko
ce4548718c
Merge pull request #4544 from IvanSavenko/map_settings
Per-map game settings
2024-09-10 00:03:10 +03:00
Ivan Savenko
a58e209cbd
Merge pull request #4490 from godric3/fix-campaign-hero-placeholder
Fix campaign hero placeholder
2024-09-09 23:39:20 +03:00
kdmcser
b84d653a99 make TimesStackLevelUpdater support commander 2024-09-09 19:23:23 +08:00
Xilmi
d4ee899565 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-06 17:04:34 +02:00
Laserlicht
6d9385b8bd outro for RoE 2024-09-05 21:31:17 +02:00
Xilmi
581a142a20 HeroStrengthForCampaign
Make sure to take our magic-specialist to the next campaign-mission even if he's totally out of mana.
2024-09-05 17:38:27 +02:00
Ivan Savenko
ff8d36c350 It is now possible to define game settings in rmg template 2024-09-05 15:16:28 +00:00
Ivan Savenko
8225eb454e Added GameSettings to gamestate, potentially allowing to define game
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Xilmi
7c42e43fe5 Update CCreatureSet.cpp
Use getMarketValue instead of getCost.
2024-09-05 17:16:06 +02:00
Xilmi
20cfe712c9 Update ResourceSet.h
Rename income to availableFunds
2024-09-05 16:34:42 +02:00
Xilmi
044dc272c2
Update lib/CCreatureSet.h
Use a better name and add a comment to explain what it does.

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-09-05 16:31:44 +02:00
Xilmi
79531c8596 Update ResourceSet.h
Use a more descriptive method name and add comment of what it does.
2024-09-05 16:30:15 +02:00
Xilmi
51b9d16291 Merge branch 'develop' of https://github.com/xilmi/vcmi into develop 2024-09-05 16:22:30 +02:00
Xilmi
23cd54c998 Preparations for merge
No longer using FuzzyEngine just to create a log-message. It's now only used when isUseFuzzy is set.
Also:
Removed < operator and instead use already existing "canAfford"-Method.
2024-09-05 16:22:25 +02:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
Xilmi
07afb2d649
Update lib/ResourceSet.h
Use suggestion.

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-09-05 16:20:15 +02:00
Ivan Savenko
a72715ad31
Merge pull request #4563 from SoundSSGood/vcmiScrolls
Improvements to the artifact creation
2024-09-05 17:10:13 +03:00
Xilmi
dd5a34d994 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-05 15:54:03 +02:00
SoundSSGood
7466d7452d vcmiscrolls 2024-09-05 15:51:45 +03:00
Ivan Savenko
a87ab4e4d7
Merge pull request #4557 from utzuro/fix/rmg-road-type-not-saving
RMG: Enable only those roads, that are enabled in persistentStorage.json
2024-09-05 15:06:15 +03:00
Ivan Savenko
2566576c95
Merge pull request #4565 from kaja47/one-loop-less
avoid one loop in BonusList::totalValue()
2024-09-05 15:05:48 +03:00
Ivan Savenko
c52533a961
Merge pull request #4543 from Laserlicht/chronicles_installer
Chronicles support
2024-09-05 15:04:13 +03:00
K
a6c7fda649 avoid one loop in BonusList::totalValue() 2024-09-04 23:10:54 +02:00
Ivan Savenko
44fdb71933 Machine Factory and Refugee Camp can't be owned 2024-09-04 19:46:58 +00:00
Ivan Savenko
dae9e1e316 Implement IOwnableObject interface for shipyard 2024-09-04 19:46:36 +00:00
SoundSSGood
30fa2846aa ArtifactUtils::createArtifact ArtifactUtils::createNewArtifactInstance unified 2024-09-04 21:25:55 +03:00
Ivan Savenko
b09d9d501b Pass pointer to actual caller in showBlockingDialog callWith
Fixes activation of all rewardable buildings in town on blocking dialog
answer
2024-09-04 15:14:56 +00:00
Ivan Savenko
81af66d35b Move visit query to a separate class, remove no longer needed Cast.h 2024-09-04 14:32:36 +00:00
SoundSSGood
b06426ac43 CMap removed from CArtifactSet level 2024-09-04 15:12:40 +03:00
void
de4f63da90 RMG: Enable only those roads, that are enabled in persistentStorage.json 2024-09-04 08:37:45 +09:00
Xilmi
3f8a8733a2 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-03 20:33:19 +02:00
Ivan Savenko
327ff01471 Implemented explicitly visitable town buildings, e.g. hota mana vortex
Added flag `manualHeroVisit` flag to town building. If this flag is set,
then building will only be activated on click and will not give its
effect on hero recrutiment, hero visit, or new day.

This allows implementing changes to Mana Vortex from HotA
2024-09-03 16:31:07 +00:00
Laserlicht
ff65a33d44
fixes bug for 8th creature 2024-09-03 11:03:37 +02:00
Laserlicht
609906f015 code review (first part) 2024-09-02 22:51:30 +02:00
Xilmi
5ee7061ab7 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-02 17:27:08 +02:00
Laserlicht
c7064377da code review 2024-09-01 12:23:10 +02:00
Laserlicht
e31ace2661 make sonar cloud (a little bit) happy 2024-09-01 02:16:03 +02:00
Laserlicht
0280254810 tarnum icon 2024-08-31 22:05:36 +02:00
Laserlicht
46872b764b integrate campaign intro 2024-08-31 17:57:27 +02:00
Laserlicht
36914682a5
Merge branch 'develop' into chronicles_installer 2024-08-31 16:18:52 +02:00
Laserlicht
16cbd6a7d2 allow custom loadbar-backgrounds for campaigns 2024-08-31 16:03:42 +02:00
Laserlicht
2fef4b5d69 voice override 2024-08-31 14:17:25 +02:00
Laserlicht
e4ec26e613 override 2024-08-31 13:15:07 +02:00
Ivan Savenko
39e5ba32f6
Merge pull request #4530 from IvanSavenko/town_fortifications
Support for configurable town fortifications
2024-08-31 13:59:40 +03:00
Ivan Savenko
71c7beb7a5
Merge pull request #4533 from IvanSavenko/town_growth
Change logic of neutral towns garrisons to match H3
2024-08-31 13:52:36 +03:00
Ivan Savenko
0a72a0a48e
Merge pull request #4534 from SoundSSGood/BulkEraseArtifacts
BulkEraseArtifacts network pack
2024-08-31 13:52:26 +03:00
Ivan Savenko
8cfc1c4ee1
Merge pull request #4535 from IvanSavenko/savecompat_bump
Removed save compatibility with 1.4
2024-08-31 13:51:10 +03:00
Laserlicht
46c169d20f chr loading 2024-08-31 12:39:23 +02:00
Laserlicht
0e500efe5a extract lod 2024-08-31 00:44:20 +02:00
Xilmi
987a51cccb Merge remote-tracking branch 'upstream/develop' into develop 2024-08-30 16:45:06 +02:00
Ivan Savenko
727cd2e9e1
Merge pull request #4539 from IvanSavenko/crashfix
Crashfixes
2024-08-30 17:19:24 +03:00
Ivan Savenko
7f926fc30e
Merge pull request #4478 from Laserlicht/resource_generation
generate assets to file
2024-08-30 15:36:51 +03:00
Ivan Savenko
01697e4387 Fix player not being marked as defeated on losing all heroes and towns 2024-08-30 12:25:34 +00:00
Ivan Savenko
82c37573fa Removed save compatibility with 1.4
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6

Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.

Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00:00
SoundSSGood
e15ea4fc75 BulkEraseArtifacts network pack 2024-08-29 20:22:08 +03:00
Ivan Savenko
73459876bf Initial garrison of a town should now match H3 logic 2024-08-29 15:46:22 +00:00
Ivan Savenko
b436290d16 Fix crash on right-clicking a neutral town 2024-08-29 15:45:46 +00:00
Ivan Savenko
21fc80a315 Growth of town garrison in neutral towns now uses H3 logic 2024-08-29 15:22:31 +00:00
Xilmi
cc30675730 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-29 17:10:20 +02:00
Ivan Savenko
d0b3bb95b2 Change gamestate initialization order - list of owned objects must be
initialized before connecting towns with visiting heroes, but after
generateion of starting heroes
2024-08-29 13:18:33 +00:00
Xilmi
aea05b3fb8 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-29 14:42:37 +02:00
Laserlicht
f327224d45 remove original resource functionality 2024-08-28 23:44:31 +02:00
Ivan Savenko
36c1ed670f Support for configurable town fortifications
Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.

It is now possible to define which parts of town fortifications are
provided by town buildings

Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".

Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
2024-08-28 19:42:14 +00:00
Ivan Savenko
408a632002 Deprecate artifact-related building types 2024-08-28 13:50:08 +00:00
Ivan Savenko
55fd7bd7aa Thieves guild information level is now a bonus type 2024-08-28 13:50:07 +00:00
Ivan Savenko
8ef8ffa5c4 Implemented configurable blacksmith. Deprecated ballistaYard type 2024-08-28 13:49:42 +00:00
Ivan Savenko
462aea7e9a Fix build 2024-08-28 13:12:11 +00:00
Ivan Savenko
d4ba7e12b0 Fix regressions 2024-08-28 13:03:45 +00:00
Ivan Savenko
e5f1d60298 Add save compatibility 2024-08-28 13:03:44 +00:00
Ivan Savenko
ce1e0b8875 Moved NewTurn pack generation to NewTurnProcessor 2024-08-28 13:03:24 +00:00
Ivan Savenko
10a9d777c7 Moved mana and movement points refresh to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko
020f1d1f46 Moved rumors generation to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko
691a1a666d Moved most of town growth handling to NewTurnProcessor 2024-08-28 13:03:13 +00:00
Ivan Savenko
d49a61645c All objects that can be owned by player now implement IOwnableObject 2024-08-28 12:51:28 +00:00
Ivan Savenko
a481f07daf PlayerState now stores all objects owned by player 2024-08-28 12:51:27 +00:00
Ivan Savenko
0fd9dbf240 Unified income handling, added IOwnableObject interface 2024-08-28 12:40:44 +00:00
Ivan Savenko
189cb1c762 Moved most of daily income handling to a separate method 2024-08-28 12:40:44 +00:00
Ivan Savenko
8371232d29
Merge pull request #4504 from Laserlicht/hota_bonus
disintegrate bonus
2024-08-28 14:00:11 +03:00
Laserlicht
70190ea1fe
Merge branch 'develop' into resource_generation 2024-08-28 00:03:46 +02:00
Ivan Savenko
20d5b33ea6 Remove marketModes as member
marketModes are now generated in runtime and are not a member of
IMarket. Was not a bad change, but towns load buildings before town type
is randomized, leading to case where market modes are not actually known
when building is added to town (like random towns with market built)

Since altar requires CArtifactSet for work, IMarket will now always
contain it, but it will only be accessible if market supports altar
mode.
2024-08-27 14:07:00 +00:00
Ivan Savenko
f765f212bb Restore save compatibility 2024-08-26 20:52:37 +00:00
Ivan Savenko
ac271c09b9 Add mechanism to provide save compatibility if class is removed or
addded
2024-08-26 20:06:36 +00:00
Ivan Savenko
c64dcfaa0f Fix build 2024-08-26 20:06:36 +00:00
Ivan Savenko
77faa14119 Added explicit indexing of type indexes for serialization 2024-08-26 20:06:35 +00:00
Ivan Savenko
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
Ivan Savenko
232a759db7 Remove type registration from library pack applying 2024-08-26 19:48:46 +00:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
IMarket refactoring
2024-08-26 22:48:23 +03:00
Ivan Savenko
897bc65e64
Merge pull request #4508 from kaja47/dead-code-must-die
remove never used code in CBonusSystemNode
2024-08-26 19:11:03 +03:00
Ivan Savenko
3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
K
462c79e190 remove never used code in CBonusSystemNode
Method CBonusSystemNode::getAllBonuses have 'root' parameter which is never
set to anythig else than nullptr. This patch removes the parameter and all
code that depends on it as preparatory work for further bonus system
optimization.
2024-08-25 14:15:21 +02:00
Xilmi
6a98f116ce Merge remote-tracking branch 'upstream/develop' into develop 2024-08-24 21:39:25 +02:00
Tomasz Zieliński
bfe75a6a02 It is now possible to copy object settings between zones 2024-08-24 20:18:36 +02:00
Ivan Savenko
a819c3fc29
Merge pull request #4482 from MichalZr6/mapeditor_fixes
Mapeditor refactor, fixes and additional validation checks
2024-08-24 16:18:53 +03:00
Tomasz Zieliński
64fc2e5ed0 Move ObjectConfig to ObjectInfo.cpp. Preliminary version of banning object categories. 2024-08-24 15:12:22 +02:00
Ivan Savenko
51fafe66cb
Merge pull request #4485 from kaja47/opto-isinthemap
Optimize CMap::isInTheMap
2024-08-24 16:06:44 +03:00
Ivan Savenko
3e605253db
Merge pull request #4481 from Laserlicht/fix_hota
fix for 8th creature
2024-08-24 16:06:12 +03:00
SoundSSGood
4035ab1550 added CMarketWindow::getMarketTitle() 2024-08-24 13:52:54 +03:00
Xilmi
bfd6ee2b09 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-24 12:25:03 +02:00
SoundSSGood
0c5022cae8 Loading market modes from json 2024-08-24 11:51:57 +03:00
Laserlicht
9c4d4e89d6 disintegrate 2024-08-24 00:29:36 +02:00
MichalZr6
0d5a9b8e3b Refactor for previous fix in CSpellHandler 2024-08-23 09:43:41 +02:00
MichalZr6
a82ce2f96a Fix negative QColor values 2024-08-23 09:43:40 +02:00
MichalZr6
568a792f88 Refactor containers names in CObjectClassesHandler 2024-08-23 09:43:40 +02:00
Ivan Savenko
d1aa55de91 Fix rewards not rerolling correctly on reset due to cached variables 2024-08-22 16:38:53 +00:00
godric3
cda66c4196 attempt to fix hero placeholder while reading h3m 2024-08-22 17:09:23 +02:00
godric3
355bf4ec3e read reservedCampaignHeroes from vmaps 2024-08-22 16:52:35 +02:00
K
18a69dfeb5 move CMap::isInTheMap to the header file and make it inline 2024-08-22 14:27:01 +02:00
K
3a27725fcb Optimize CMap::isInTheMap
replace x >= 0 && x < size by (unsigned)x < size

By converting signed coordinate to unsigned number, negative values became
very large positive ones, larger than every positive signed number and
therefore also bigger than the map size. As a result check against size
also implicitly checks if coordinate is negative.

Compiler cannot do this transformation automatically because it doesn't
know that map dimensions are always positive.

The change shrinks isInTheMap from 19 instructions to 11 on x86.
2024-08-22 11:39:24 +02:00
Laserlicht
c2290f5f6e fix 2024-08-21 23:01:32 +02:00
Andrii Danylchenko
ff8a745a50 BattleAI: optional simulation depth 2024-08-21 23:27:42 +03:00
Laserlicht
02002ce69d
Merge branch 'develop' into resource_generation 2024-08-21 21:52:08 +02:00
Laserlicht
43fc741a15 cleaner 2024-08-21 21:24:06 +02:00
Andrii Danylchenko
8cdfa26fb5 BattleAI: fix bait for archers when need to go long way 2024-08-21 22:18:40 +03:00
Ivan Savenko
4386339354 Fix crash on rmg generation (regression from previous commit) 2024-08-21 18:19:58 +00:00
Tomasz Zieliński
85ee859b6e First version that works - banning objects is possible 2024-08-21 20:16:41 +02:00
Ivan Savenko
ff33fbd3a0
Merge pull request #4480 from IvanSavenko/update_prebuilts
Update ffmpeg
2024-08-21 15:57:50 +03:00
SoundSSGood
2e3e6b1553 market->getObjInstanceID() 2024-08-21 01:01:23 +03:00
Laserlicht
d8869a33da remove resource 2024-08-20 22:45:11 +02:00
Ivan Savenko
efcf1e1ba9 Add .ogv (HD Edition) as recognized extension for video 2024-08-20 19:23:55 +00:00
Laserlicht
01e55beef1
Merge branch 'develop' into resource_generation 2024-08-20 20:26:52 +02:00
Laserlicht
01c14ae9ce
Merge branch 'develop' into extended_statistic 2024-08-20 20:25:16 +02:00
SoundSSGood
58bb2b58e3 IMarket suggestions
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
cd7ebea9e3 cleanup unused code 2024-08-20 18:49:47 +03:00
SoundSSGood
39bb6d5f39 IMarket now able to store artifacts 2024-08-20 18:49:47 +03:00