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
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
Laserlicht
6d9385b8bd
outro for RoE
2024-09-05 21:31:17 +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
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
Ivan Savenko
a72715ad31
Merge pull request #4563 from SoundSSGood/vcmiScrolls
...
Improvements to the artifact creation
2024-09-05 17:10:13 +03: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
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
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
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
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
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
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
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
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