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

1391 Commits

Author SHA1 Message Date
Ivan Savenko
c55a75cc4e Remove copy-pasted code in rewardable town building leading to hero not
registered as visitor
2024-10-11 15:02:48 +00:00
Ivan Savenko
d1e7cb72c2 Fix game gang on random map generation 2024-10-11 15:02:14 +00:00
Ivan Savenko
e221cdccab Fix initialization of hero type in map editor 2024-10-11 15:01:55 +00:00
Xilmi
61fba1fedd Merge remote-tracking branch 'upstream/develop' into develop 2024-10-10 17:23:39 +02:00
Ivan Savenko
3dd4fa2528 Reduce usage of pointers to VLC entities
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.

CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.

VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town

VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
a8f8c3f4b1 Replaced most of accesses to CGObjectInstance::pos with anchorPoint() 2024-10-09 15:43:46 +00:00
Xilmi
9a40577994 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-08 16:15:22 +02:00
Ivan Savenko
c0f5c7c0ea Replace pointer with reference in pack apply functions 2024-10-07 14:59:46 +00:00
Laserlicht
a826b88641
Merge branch 'develop' into spell 2024-10-07 12:55:23 +02: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
godric3
87ebb22a55 map editor: fix reading town faction name for non random towns on h3m maps 2024-10-06 13:59:34 +02:00
Ivan Savenko
5d64da9b6c Fixes randomization of Witch Hut preconfigured in map editor 2024-10-03 12:35:15 +00: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
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
9c6bd20159 code review 2024-10-01 16:32:28 +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
godric3
d078c5ff2d store ObjectInstanceID of objects to remove instead of their position 2024-09-30 20:44:40 +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
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
7707adc44f checks on server 2024-09-28 01:18:10 +02: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
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
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
Ivan Savenko
e93a060500 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-09-23 14:25:53 +00:00
Xilmi
d679ee72b9 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-22 12:21:20 +02:00
Tomasz Zieliński
79c4d7d51f Merge remote-tracking branch 'origin/develop' into custom_objects_per_zone 2024-09-21 14:20:56 +02:00
Laserlicht
081ba4839c added town info 2024-09-18 22:39:53 +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
8b2821456a Show generic dialog if building was already visited 2024-09-16 19:51:10 +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
Ivan Savenko
95df330843 Remove unused files 2024-09-14 10:47:43 +00: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
9591ce1ab4 Move CompoundMapObjectID to separate file 2024-09-14 08:55:28 +02: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
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
Xilmi
065125e770 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-10 14:57:27 +02:00
Xilmi
d4ee899565 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-06 17:04:34 +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
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
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
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
SoundSSGood
b06426ac43 CMap removed from CArtifactSet level 2024-09-04 15:12:40 +03:00
Xilmi
3f8a8733a2 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-03 20:33:19 +02:00
Laserlicht
ff65a33d44
fixes bug for 8th creature 2024-09-03 11:03:37 +02:00
Xilmi
5ee7061ab7 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-02 17:27:08 +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
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
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
aea05b3fb8 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-29 14:42:37 +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
8ef8ffa5c4 Implemented configurable blacksmith. Deprecated ballistaYard type 2024-08-28 13:49:42 +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
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
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
SoundSSGood
2e3e6b1553 market->getObjInstanceID() 2024-08-21 01:01:23 +03: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
SoundSSGood
fd45b5144d IMarket serializeable 2024-08-20 18:49:47 +03:00
Xilmi
2df293f95d Merge remote-tracking branch 'upstream/develop' into develop 2024-08-19 21:15:34 +02:00
Ivan Savenko
22a126cf2d Restored replacement of town building bonuses via building upgrade 2024-08-19 11:47:13 +00:00
Ivan Savenko
2f3f3c21df Rename town building types to more clear names 2024-08-19 11:47:13 +00:00
Ivan Savenko
01a9509ccb Remove unused code, reduce includes 2024-08-19 11:47:13 +00:00
Ivan Savenko
f1e63792f0 Greatly simplify town buildings logic 2024-08-19 11:47:13 +00:00
Xilmi
e6d907af55 Merge remote-tracking branch 'upstream/develop' into develop 2024-08-18 09:52:59 +02:00