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

7331 Commits

Author SHA1 Message Date
Ivan Savenko
10ad0fc760 Split CHeroHandler.cpp/.h into 1 file per class
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
Ivan Savenko
ad7f0416a7 Added overloaded version of getObjectHandler to CGHeroInstance 2024-10-13 13:06:31 +00:00
Ivan Savenko
31095248ab Removed typeName and subtypeName properties from CGObjectInstance 2024-10-13 13:05:50 +00:00
Laserlicht
11eaed9fef code review 2024-10-12 23:01:14 +02:00
SoundSSGood
d4d3ddf685 fused artifacts 2024-10-12 16:43:04 +03:00
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
Ivan Savenko
a8e84c55f6 Fix some of the new warnings from sonarcloud 2024-10-11 10:45:29 +00:00
Ivan Savenko
6bed497f2c Fix mod validation reporting failure for well-formed mods 2024-10-10 21:18:43 +00:00
Ivan Savenko
15ad0440f7 Fix iOS build 2024-10-10 12:38:32 +00: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
a22de74323 Fixes for loading 1.5 mods in vcmi 1.6 2024-10-10 09:50:56 +00:00
Ivan Savenko
a8f8c3f4b1 Replaced most of accesses to CGObjectInstance::pos with anchorPoint() 2024-10-09 15:43:46 +00:00
Ivan Savenko
679181c103 Implemented serialization of local player state in json form 2024-10-08 20:04:32 +00:00
Ivan Savenko
c0f5c7c0ea Replace pointer with reference in pack apply functions 2024-10-07 14:59:46 +00:00
Ivan Savenko
786f80871e Replace more usages of pointers to packs with references 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
2399a5a765
Merge pull request #4712 from IvanSavenko/detect_conflict
Detection of potential conflicts between mods
2024-10-07 17:57:52 +03:00
Laserlicht
344e845684
Merge branch 'develop' into adv_search 2024-10-07 12:56:54 +02:00
Laserlicht
a826b88641
Merge branch 'develop' into spell 2024-10-07 12:55:23 +02:00
Ivan Savenko
8e4152bc81 It is now possible to define objects directly in mod.json instead of
using path to file with object definition
2024-10-06 19:42:15 +00:00
Ivan Savenko
1488629628 Add simple support for translation of strings that were changed by
another mod
2024-10-06 19:42:15 +00:00
Ivan Savenko
b85ccccb37 Minor refactoring of translations:
- removed unsuccessful and broken validation of translations
- pass JsonNode when registering strings to provide information on mod
source
2024-10-06 19:42:15 +00:00
Ivan Savenko
c77da2e476 Remove no longer used compatibility containers 2024-10-06 19:42:15 +00:00
Ivan Savenko
66fdad145c Added an option to configure validation level in launcher 2024-10-06 19:21:33 +00:00
Ivan Savenko
3e3f842fbe Respect dependencies when checking for filesystem conflicts 2024-10-06 17:20:58 +00:00
Ivan Savenko
d849e53499 Implement detection of mod compatibility patches 2024-10-06 16:11:32 +00:00
Ivan Savenko
d0aba56a5e Analyze json object modifications to detect mod conflicts 2024-10-06 13:58:41 +00:00
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
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
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
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
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
Laserlicht
844b078482 color shift parameter to config 2024-09-30 19:46:53 +02:00
Laserlicht
713fcd6543 research per day & seperate config 2024-09-30 02:40:28 +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
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
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
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
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