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

2588 Commits

Author SHA1 Message Date
Ivan Savenko
115439f16a Fix town events not actually giving offered creatures 2024-10-11 15:01:18 +00:00
Ivan Savenko
a8e84c55f6 Fix some of the new warnings from sonarcloud 2024-10-11 10:45:29 +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
81f0222c68
Merge pull request #4741 from IvanSavenko/serialize_local_state
Serialize local state of player interface
2024-10-10 15:03:14 +03:00
Ivan Savenko
5aebf287b9
Merge pull request #4735 from IvanSavenko/private_pos
Reduce usages of ambiguos CGObjectInstance::pos
2024-10-10 15:00:50 +03:00
Ivan Savenko
a8f8c3f4b1 Replaced most of accesses to CGObjectInstance::pos with anchorPoint() 2024-10-09 15:43:46 +00:00
Warzyw647
c4859d51d0 Changed Commander Resistance type from Dwarf to Golem
Only changed the bonus on level-ups
The starting bonus on level 1 needs to be changed in mods
2024-10-09 00:42:04 +02:00
Ivan Savenko
679181c103 Implemented serialization of local player state in json form 2024-10-08 20:04:32 +00:00
Xilmi
9a40577994 Merge remote-tracking branch 'upstream/develop' into develop 2024-10-08 16:15:22 +02:00
Ivan Savenko
d0606d2dc9 Fix scripting build 2024-10-07 15:14:03 +00:00
Ivan Savenko
c0f5c7c0ea Replace pointer with reference in pack apply functions 2024-10-07 14:59:46 +00:00
Ivan Savenko
48fb58e7a0 Replace few more pointers with references, remove manual delete call 2024-10-07 14:59:14 +00:00
Ivan Savenko
786f80871e Replace more usages of pointers to packs with references 2024-10-07 14:59:14 +00:00
Ivan Savenko
ee831c06e7 Reduced usage of CPack, replaced with CPackForServer where applicable 2024-10-07 14:59:14 +00:00
Ivan Savenko
c1c552d394 Replaced some of pointers to CPack's with references 2024-10-07 14:59:14 +00:00
Ivan Savenko
cc6d6b0d63 Replaced unique_ptr with simple references to packs 2024-10-07 14:59:14 +00:00
Ivan Savenko
f6f6f98580
Merge pull request #4699 from SoundSSGood/backpack-arts-sorting
Backpack artifacts sorting
2024-10-07 17:55:42 +03:00
Laserlicht
a826b88641
Merge branch 'develop' into spell 2024-10-07 12:55:23 +02:00
Ivan Savenko
f3af32b912
Merge pull request #4709 from IvanSavenko/genie_fix
Fix crash on casting spell by a random spellcaster (e.g. Master Genie)
2024-10-06 16:00:00 +03:00
Ivan Savenko
371eac070f Fixes for player disconnection handling
- Fixed lack of notification if player disconnects via connection loss,
e.g. app crash / network going down
- Replaced notification via chat message with notification via info window
2024-10-04 12:48:50 +00:00
Xilmi
6c44354843 Update CGameHandler.cpp
Improve debugability with more helpful error-texts.
2024-10-04 11:49:20 +02:00
Ivan Savenko
d8d652783a Fix crash on casting spell by a random spellcaster (e.g. Master Genie) 2024-10-02 11:04:40 +00:00
SoundSSGood
e6f4a63951 add sort buttons 2024-10-02 13:35:08 +03:00
SoundSSGood
e22d15b1d8 manageBackpackArtifacts 2024-10-02 12:45:50 +03: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
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
Laserlicht
e2b49bbf79 fix condition 2024-09-30 02:46:45 +02:00
Laserlicht
713fcd6543 research per day & seperate config 2024-09-30 02:40:28 +02:00
Xilmi
58eeccd119 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-29 12:35:44 +02:00
Dydzio
3bff68958e Change deleted objects format to use ObjectInstanceID 2024-09-28 22:58:05 +02:00
Dydzio
0589403ea3
Remove deleted objects from timed events data 2024-09-28 21:24:13 +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
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
857b2e9a35 spell replacement works 2024-09-27 23:52:33 +02:00
Laserlicht
a9327b3fa3 netpacks 2024-09-27 22:47:22 +02: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
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
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
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
Ivan Savenko
a7cdeb723e Fix blocking dialog handling in refusable rewardable town building 2024-09-23 13:00:02 +00: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
Ivan Savenko
292f4c8ad2 Do not process pack if it was blocked by a queryReply
Regression from earlier PR
2024-09-19 16:45:13 +00: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
735af83294 castSpellThisTurn to bool var 2024-09-18 21:24:27 +02:00
Xilmi
27aed74397 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-18 14:52:24 +02:00
Ivan Savenko
72819d5fe3
Merge pull request #4608 from godric3/map-editor-fix-event-regressions
Map editor fix event regressions
2024-09-18 14:15:58 +03:00
Ivan Savenko
bff2e064fc Wait for queries generated by town building visit to end before visiting
next building
2024-09-16 19:32:39 +00:00
godric3
8917c753bd adjust town event handling after introducing 8th creature in town 2024-09-16 20:16:36 +02:00
Ivan Savenko
1d7a89c79b Only visiting heroes can now activate manual rewardable buildings
- This is more clear - in case if building generates queries
- Avoids some edge cases, like what to do if building is single-use and
town has 2 heroes
- In line with hota version of this feature
2024-09-15 10:36:31 +00:00
Laserlicht
0aaafc4c8a cast without skip 2024-09-14 15:10:24 +02:00
Xilmi
0d48b6fd19 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-12 23:48:12 +02:00
Ivan Savenko
1e74216040
Merge pull request #4580 from IvanSavenko/crashfixes
Fixes for crashes caused by town building changes
2024-09-12 23:12:27 +03:00
Xilmi
a1a03d4b74 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-12 14:54:39 +02: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
76ee49f4ec Do not visit building on forced construction, e.g. from events 2024-09-11 16:08:49 +00:00
Ivan Savenko
40dff8ac17 Fix town visit via Town Portal not generating town visit query 2024-09-11 16:08:26 +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
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
7a0726bcff Apply x2 bonus only to creature growth of affected creature on new month 2024-09-04 19:46:15 +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
d34b4a141e Split map object visit from town building visit. Removes side effects
from building visit
2024-09-04 14:54:09 +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
Ivan Savenko
29f87d6407 pass object/hero parameters directly instead of passing query 2024-09-04 14:17:22 +00: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
Xilmi
5ee7061ab7 Merge remote-tracking branch 'upstream/develop' into develop 2024-09-02 17:27:08 +02:00
Xilmi
df5d143822 Difficulty-cheats
Added the difficulty-dependent resource-cheats from the original game.
2024-09-01 01:33:31 +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
K
ca12750dc3 fix crash when computer player loses
Changing dwelling's owner to neutral accesses a PlayerState but neutrals
don't have a PlayerState and that leads to crash.
2024-08-30 11:28:56 +02: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
21fc80a315 Growth of town garrison in neutral towns now uses H3 logic 2024-08-29 15:22:31 +00: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
a1a194d904 Allow replacing war machine if hero has a different machine in the slot 2024-08-28 13:49:42 +00:00
Ivan Savenko
8ef8ffa5c4 Implemented configurable blacksmith. Deprecated ballistaYard type 2024-08-28 13:49:42 +00:00
Ivan Savenko
e90d057296 Tweaks to fow reveal on new turn 2024-08-28 13:03:45 +00:00
Ivan Savenko
e5f1d60298 Add save compatibility 2024-08-28 13:03:44 +00:00