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

4910 Commits

Author SHA1 Message Date
nordsoft
56b0e900d8 Add outer caster class 2023-04-10 05:39:25 +04:00
nordsoft
7041950ae1 Don't show empty window 2023-04-10 05:06:05 +04:00
nordsoft
e440343921 Bypass initial version of spell callback 2023-04-10 04:34:24 +04:00
nordsoft
fc310c6e79 Town portal fix 2023-04-10 01:46:37 +04:00
nordsoft
601e7e854f Dimensions door fix 2023-04-10 01:37:46 +04:00
nordsoft
0093a44889 Added abstract method to caster interface 2023-04-10 01:31:41 +04:00
nordsoft
72b2a09f0b Boat summon spell rewritten 2023-04-10 01:06:02 +04:00
nordsoft
69ad62ef58 Fixes from code review 2023-04-09 23:00:20 +04:00
nordsoft
a8f31fabd1 Fix bug 2023-04-09 23:00:20 +04:00
nordsoft
67c0d29478 Fix header 2023-04-09 23:00:20 +04:00
nordsoft
e7c6f596ee Little code improvement 2023-04-09 23:00:20 +04:00
nordsoft
ab7d316c3f Rename fields 2023-04-09 23:00:20 +04:00
nordsoft
b40a3a1b14 Banned arts and skills cannot be randomly rewarded 2023-04-09 23:00:20 +04:00
nordsoft
26c3277895 New format for skills selection 2023-04-09 23:00:20 +04:00
nordsoft
b7ccc4d649 Revert "Random selection for secondary skills"
This reverts commit 6e538dab30.
2023-04-09 23:00:20 +04:00
nordsoft
6c5f3f21a5 Extend loadKey function 2023-04-09 23:00:20 +04:00
nordsoft
fe21acb0d0 Revert "Random selection for resources"
This reverts commit 0e4ff3e2bf.
2023-04-09 23:00:20 +04:00
nordsoft
dce5a924b0 Random selection for secondary skills 2023-04-09 23:00:20 +04:00
nordsoft
53e16c7e22 Random selection for primary skills 2023-04-09 23:00:20 +04:00
nordsoft
bb915b0e7e Random selection for resources 2023-04-09 23:00:20 +04:00
Ivan Savenko
bfd77d871c
Merge pull request #1918 from IvanSavenko/fix_map_loading
Fix vcmi map loading
2023-04-09 20:08:23 +03:00
Ivan Savenko
6e90c0fd09
Merge pull request #1913 from IvanSavenko/fix_shooting_yourself_in_the_foot
Fix initialization of spell effects registry
2023-04-09 20:07:29 +03:00
Konstantin
235fddaf4b vcmi: constexpr IDs 2023-04-09 19:54:41 +03:00
Andrii Danylchenko
737c34b8c6 BattleAI: avoid selfblocking on siege 2023-04-09 16:22:37 +03:00
Ivan Savenko
a6ce99573c Added fallback identifiers for reading older vcmi maps 2023-04-09 12:27:33 +03:00
Ivan Savenko
ae5d273df9
Merge pull request #1905 from IvanSavenko/fix_rewardables
Fixed UI of objects that provide one reward that can be refused
2023-04-08 22:15:22 +03:00
Adriankhl
1d6192ca62 Shut down the thread for tactic phase properly 2023-04-08 22:52:46 +04:00
Ivan Savenko
a97ebc2bf1
Merge pull request #1874 from krs0/feature/separate_movement_highlight_for_hoverd_units_in_battle
Separate movement highlight for hovered units in battle
2023-04-08 21:47:49 +03:00
Ivan Savenko
f211207f83
Merge pull request #1893 from trofi/fix-build-without-pch
Add missing include headers when building with -DENABLE_PCH=OFF
2023-04-08 21:45:47 +03:00
Ivan Savenko
84af64ce6b Removed magical initialization of registry via static variables 2023-04-08 21:29:04 +03:00
krs
dab07bdef9 Now unit range is shown in Tactics phase as well
A new parameter: isActiveStack was needed in battleGetAvailableHexes, so that we show the propper Tactics range.
2023-04-08 20:39:59 +03:00
SoundSSGood
e58be8e7f7 vcmiartifacts fixed 2023-04-08 12:28:53 +03:00
SoundSSGood
ea7dd14d8b client is able to erase artifact 2023-04-08 00:41:55 +03:00
Ivan Savenko
50da080130 Fixed UI of objects that provide one reward that can be refused 2023-04-08 00:13:38 +03:00
Tomasz Zieliński
cf1f9c456b Removed unrelated comment 2023-04-07 21:40:47 +02:00
Tomasz Zieliński
37f1bf9d78 Merge remote-tracking branch 'origin/beta' into fix_pandora_amounts 2023-04-07 21:26:36 +02:00
Tomasz Zieliński
f1c52f501d Fix Pandora Box creature amounts to match OH3 exactly. 2023-04-07 21:23:34 +02:00
Ivan Savenko
1590c710dd
Merge pull request #1886 from rilian-la-te/fix-rmg-levels
vcmi: fix rmg header levels
2023-04-07 12:43:34 +03:00
Ivan Savenko
e306e8f9ce
Merge pull request #1879 from kambala-decapitator/single-process-development-mode
fix "development mode" condition when building in single process mode
2023-04-07 12:42:03 +03:00
Ivan Savenko
d8faacc9f2
Merge pull request #1875 from IvanSavenko/ttf_fonts_fallback
TTF fonts fallback
2023-04-07 12:41:00 +03:00
Sergei Trofimovich
2885536bf5 Add missing include headers when building with -DENABLE_PCH=OFF
Example build failure is missing `VCMI_LIB_NAMESPACE_BEGIN` declaration:

    [  0%] Building CXX object lib/CMakeFiles/vcmi.dir/spells/ObstacleCasterProxy.cpp.o
    In file included from lib/spells/ProxyCaster.h:13,
                     from lib/spells/ObstacleCasterProxy.h:11,
                     from lib/spells/ObstacleCasterProxy.cpp:11:
    lib/../include/vcmi/spells/Caster.h:13:1: error: 'VCMI_LIB_NAMESPACE_BEGIN' does not name a type
       13 | VCMI_LIB_NAMESPACE_BEGIN
          | ^~~~~~~~~~~~~~~~~~~~~~~~
2023-04-07 10:25:11 +01:00
nordsoft
e85593dbb3 Save & restore mana 2023-04-06 21:19:46 +04:00
nordsoft
ece8a2a41f Merge branch 'battle-dialog' into battle-dialog2
# Conflicts:
#	AI/BattleAI/BattleAI.h
#	AI/StupidAI/StupidAI.h
#	client/CPlayerInterface.cpp
#	client/CPlayerInterface.h
#	client/Client.cpp
#	client/NetPacksClient.cpp
#	client/battle/CBattleInterface.cpp
#	client/battle/CBattleInterface.h
#	client/battle/CBattleInterfaceClasses.cpp
#	client/battle/CBattleInterfaceClasses.h
#	config/schemas/settings.json
#	lib/CGameInterface.h
#	lib/IGameEventsReceiver.h
#	lib/NetPacks.h
#	lib/NetPacksLib.cpp
#	lib/battle/BattleInfo.cpp
#	server/CGameHandler.cpp
#	server/CQuery.h
2023-04-06 19:53:52 +04:00
nordsoft
ce3028bd73 Intermediate commit 2023-04-06 19:34:07 +04:00
Konstantin
a04d8b34f3 vcmi: fix rmg header levels
It was printed as char, not as int.
2023-04-06 12:48:53 +03:00
Konstantin
11b237a23c vcmi: massive refactoring v1 2023-04-05 22:33:12 +03:00
Andrey Filipenkov
1da06e04cc fix "development mode" condition when building in single process mode 2023-04-05 20:22:29 +03:00
Konstantin
ee489f18d2 vcmi: PlayerState is now an Entity
This will reduce code duplication a little bit.
2023-04-05 01:22:04 +03:00
Konstantin
8968f0ef0e vcmi: change EAlignment to enum class 2023-04-05 01:22:04 +03:00
Konstantin
0c7dbea990 HeroBonus: remove unused function 2023-04-04 23:02:55 +03:00
Konstantin
b7d6270272 vcmi: add getNativeTerrain method to factions 2023-04-04 23:02:55 +03:00
Konstantin
e0715a76c8 vcmi: reduce CStack usage a little bit 2023-04-04 23:02:54 +03:00
Konstantin
22dd97ad18 vcmi: use entilites when possible part 1 2023-04-04 23:02:54 +03:00
Ivan Savenko
c5225aab70 Fix serialization 2023-04-04 22:22:58 +03:00
Ivan Savenko
fc750d0917 Fix identifiers resolving for stack experience bonuses 2023-04-04 17:12:40 +03:00
Ivan Savenko
307065a633 Merge beta into develop 2023-04-04 16:06:20 +03:00
Ivan Savenko
6b2b8bb5c0
Merge pull request #1863 from IvanSavenko/fix_mod_identifiers
Fix mod identifiers
2023-04-04 11:22:30 +03:00
DjWarmonger
53df84459f
Merge pull request #1781 from vcmi/object_distribution
Improved object distribution
2023-04-04 06:52:10 +02:00
Tomasz Zieliński
1e18887c9c Merge remote-tracking branch 'origin/beta' into object_distribution 2023-04-04 05:52:57 +02:00
Ivan Savenko
255bb145b9 Added fallback for 1.2 compatibility 2023-04-03 16:26:43 +03:00
Ivan Savenko
766fb066c6 Fix debug build 2023-04-03 15:15:51 +03:00
Ivan Savenko
c5acb8bb7d Fixed empty scope on resolving map overrides 2023-04-03 15:15:29 +03:00
Ivan Savenko
191959ae05 Fixed moat identifiers requests - will now always request spells 2023-04-03 15:15:12 +03:00
Ivan Savenko
2d0344f905 VCMI will now correctly resolve identifiers in unexpected form 2023-04-03 15:14:34 +03:00
Ivan Savenko
6683c866ee Disabled check for unused lines in translations due to false positives 2023-04-03 01:12:48 +03:00
Ivan Savenko
10e852fcb9 Fix scope of identifiers resolving for commanders abilities 2023-04-03 01:12:04 +03:00
Konstantin
f41b2475fe vcmi: fix stack smash 2023-04-02 23:27:15 +03:00
Ivan Savenko
c661419897
Merge pull request #1700 from rilian-la-te/resource-array
Modernize resourceSet.
2023-04-02 20:12:45 +03:00
Ivan Savenko
6dac15c5b2
Merge pull request #1706 from rilian-la-te/moats-landmines
Proper moats: mechanincs
2023-04-02 20:12:33 +03:00
Ivan Savenko
c5ca17a324
Merge pull request #1853 from Nordsoft91/fix-scope-guard
Fix ScopeGuard move behavior
2023-04-02 20:10:26 +03:00
Ivan Savenko
1cb0c6b270
Merge pull request #1848 from Nordsoft91/editor-fix
Fix map editor crash with cutting random town
2023-04-02 20:09:24 +03:00
Ivan Savenko
a3074e2741
Merge pull request #1835 from rilian-la-te/fix-native-type
CCreatureHandler: fix native terrain for any
2023-04-02 20:08:18 +03:00
nordsoft
91ef7cbb4f Fix ScopeGuard move behavior 2023-04-02 15:46:56 +04:00
nordsoft
d63e32841d Fix divide by zero crash 2023-04-02 15:28:41 +04:00
nordsoft
1e5362cb07 Fix crash with cutting random town 2023-04-02 14:06:16 +04:00
Konstantin
cabe228ebc CCreatureHandler: fix native terrain for any 2023-04-02 02:32:40 +03:00
Konstantin
ff3e761f3b CTownHandler: remove hardcoded Cove grail
We have now exactly same definition in Json
2023-04-02 00:27:29 +03:00
Ivan Savenko
4d6b88f10d
Merge pull request #1821 from rilian-la-te/remove-cove-hardcode
CTownHandler: remove hardcoded Cove grail
2023-04-02 00:20:49 +03:00
Ivan Savenko
042e46580b Fix uninitialized variable 2023-04-01 23:59:31 +03:00
Tomasz Zieliński
aca227b5e4 Manually adjust the position of town - noticeable on S maps. 2023-04-01 17:07:43 +02:00
Konstantin
3df5964847 CTownHandler: remove hardcoded Cove grail
We have now exactly same definition in Json
2023-04-01 03:14:35 +03:00
Ivan Savenko
a64f35c933
Merge pull request #1765 from vcmi/fix_horde_buildings_load
Fix loading horde buildings predefined in editor
2023-03-31 17:59:26 +03:00
Tomasz Zieliński
308b42549b Merge remote-tracking branch 'origin/beta' into object_distribution 2023-03-31 15:44:14 +02:00
Konstantin
6d17b9342d ResourceSet: resolve .at troubles 2023-03-31 14:12:38 +03:00
Konstantin
c1fd7309ad ResourceSet: composition 2023-03-31 14:00:49 +03:00
Ivan Savenko
ea1d177c9b Fixed false error messages on game startup 2023-03-31 01:28:56 +03:00
Konstantin
d8a237ba46 vcmi: add getTrigger method to obstacles
Fixes advanced remove obstacle spell
2023-03-31 01:01:26 +03:00
Konstantin
25956e3f37 vcmi: bump serializer version 2023-03-31 01:01:25 +03:00
Konstantin
ecae600563 effects: Moat now includes battlefield bonus
This is an implementation which works exactly like in H3
2023-03-31 01:01:25 +03:00
Konstantin
f704a17e1a vcmi: add a last hex setting
I consider this behaviour as H3 bug, but this is H3.
So, added a setting to disable this behaviour.
2023-03-31 01:01:25 +03:00
Konstantin
179cee3e88 vcmi: add obstacle animation helper functions 2023-03-31 01:01:25 +03:00
Konstantin
eff41f66ed vcmi: now obstacles can have disappearing anim
It is a reverse version of appearingAnimation.
2023-03-31 01:01:25 +03:00
Konstantin
c4d5a7a2d6 vcmi:towns now can choose if moat render is needed
Using invalid points. Also removed unused variable.
2023-03-31 01:01:25 +03:00
Konstantin
3bbff0588d CSpell: !isMagical() -> no sorcery and no generic spell dmg reduction
Other bonus are still applied.
2023-03-31 01:01:25 +03:00
Konstantin
a639bd2606 spells: rework isMagical()
Now it is a flag of a spell, and not a target condition.
This fixes resistance to bind effect
2023-03-31 01:01:25 +03:00
Konstantin
aab5b47038 vcmi: setup moats using MoatAbility
Setup moats using moat ability, need playtest for now.
-3 to defence not added for now.
2023-03-31 01:01:25 +03:00
Konstantin
1100bc7a5b obstacle: remove trigger animation and sound
It was not working anyway. Now it is handled by trigger ability.
Trigger ability hit animation + trigger ability cast sound.
2023-03-31 01:01:25 +03:00
Ivan Savenko
508d68f77c Rewardables will use per-object name, if available 2023-03-30 22:29:58 +03:00
Ivan Savenko
e652b3eef0 Removed old code - VCMI now supports json-based animations everywhere 2023-03-30 19:59:19 +03:00
Konstantin
cd1730b1fb vcmi: remove obstacle caster logic
It is possible now to cast something via obstacle
Immune creatures should not trigger an obstacle trigger now
and should not reveal it.
2023-03-30 14:41:40 +03:00
Konstantin
db428faeeb vcmi: allow obstacles to store another spells
It will be used as trigger spell, if set
If not set, it will be ignored
2023-03-30 14:41:40 +03:00
Konstantin
57c35f39ca WIP: Moat placer 2023-03-30 14:41:40 +03:00
Konstantin
d90d00eeac vcmi: rework ProxyCaster
Now ProxyCaster can be used without hero and can even cast something
with default values.
2023-03-30 14:41:40 +03:00
Konstantin
847437bbfa BattleInfo: update bonus tree when unit is moved
This is a semi-dirty hack to force uncaching a bonuses with
UnitOnHexLimiter
2023-03-30 12:51:59 +03:00
Konstantin
4c08e6a0f9 vcmi: add UnitOnHex limiter
Bonus will be accepted, if unit stands in listed hexes
2023-03-30 12:51:59 +03:00
Konstantin
ffe24627e7 HeroBonus: change limiters to enum class
Also remove unused functions.
2023-03-30 12:42:24 +03:00
Konstantin
777818b388 HeroBonus: use 64 bit for tree counter (to be more robust) 2023-03-30 12:41:17 +03:00
Konstantin
0e69aac96f HeroBonus: removed unused functions 2023-03-30 12:41:17 +03:00
Konstantin
89fd742c1a NetPacks: add BATTLE type to GiveBonus
Will work as battlefield effect of current battle.
2023-03-30 12:41:17 +03:00
Konstantin
5716925b47 NetPacks: change GiveBonus enum to enum class. 2023-03-30 12:41:17 +03:00
Tomasz Zieliński
46a24043e8 Add back Mines. 2023-03-29 17:06:17 +02:00
Tomasz Zieliński
401f2342c0 Place Mines after Towns and Monoliths. 2023-03-29 16:54:22 +02:00
Tomasz Zieliński
5ed3c2d518 Place towns and monoliths first - preferably at the zone border. 2023-03-29 16:25:13 +02:00
Tomasz Zieliński
045942fd68 Fixed warning-as-error 2023-03-28 18:25:56 +02:00
Tomasz Zieliński
b184e80b72 Use the most suitable template for object 2023-03-28 17:53:08 +02:00
Tomasz Zieliński
49c029ea6c Minor refactor 2023-03-28 17:13:24 +02:00
Ivan Savenko
8d0d5341db Refactoring of hero specialty loading code:
- removed no longer used code
- follow creature upgrade chains (e.g. third upgrades)
2023-03-28 17:09:54 +03:00
Ivan Savenko
39ff7efb78 Fix crash on starting Launcher without H3 data 2023-03-27 22:33:36 +03:00
Ivan Savenko
b2f5042942
Merge pull request #1783 from vcmi/beta
Merge beta -> develop
2023-03-27 21:21:25 +03:00
Ivan Savenko
a4fe11d413
Merge pull request #1766 from vcmi/fix_editor_shortcut
Fix editor shortcut
2023-03-27 21:20:14 +03:00
Ivan Savenko
11088100a0
Merge pull request #1782 from korli/haiku
Haiku patch
2023-03-27 18:42:22 +03:00
Tomasz Zieliński
b3a457c71a Skip objects with value too low to be placed in the zone. 2023-03-27 17:29:46 +02:00
Ivan Savenko
b875da108b
Merge pull request #1717 from SoundSSGood/backpack-limit-size
Introducing backpack size limit functionality
2023-03-27 17:17:49 +03:00
Ivan Savenko
e3b5db0ade
Merge pull request #1778 from rilian-la-te/fix-obstacle-removal-mechanincs
Fix landmines staying on battlefield after trigger
2023-03-27 17:17:14 +03:00
Konstantin
9a229d6e48 vcmi: really correct obstacle trigger
Now obstacle trigger really matches H3
2023-03-27 16:11:17 +03:00
Konstantin
8c1d6c8e13 CBattleInfoCallback: use obstacle only once
We should not affect creature by obstacle twice.
2023-03-27 15:45:41 +03:00
Konstantin
88a7b3141d vcmi: really correct BFS
AFAIK, all is working as H3.
2023-03-27 15:45:41 +03:00
Jerome Duval
518f8d69e5 Haiku patch 2023-03-27 10:10:09 +02:00
Tomasz Zieliński
511a42f9b9 Oops missed that part. 2023-03-27 09:35:52 +02:00
Tomasz Zieliński
18a87d1ec0 Distribute limited objects evenly in zones with matching terrain 2023-03-27 09:09:58 +02:00
Tomasz Zieliński
a88e1dc1f6 Add only one template per object 2023-03-27 08:44:49 +02:00
Konstantin
5b50191af7 NetPacksLib: remove obstacle ACTIVATE* actions
Actually these actions was not working anyway.
2023-03-26 22:59:34 +03:00
Konstantin
26db14b7b4 vcmi: expert dispel now works mechanically correct 2023-03-26 21:25:26 +03:00
Konstantin
edc9812559 obstacle: correct logic as in OH3
Obstacle spells should not be cast if they are affected by native
terrain and enemy have at least one stack with native terrain
2023-03-26 21:22:38 +03:00
Konstantin
705afbb898 UnitEffect: it should not always assume smart
It is normal than non-smart spell will be cast on our units.
2023-03-26 21:19:49 +03:00
Konstantin
44a625aa6b vcmi: check spell obstacles by type 2023-03-26 21:17:39 +03:00
Andrii Danylchenko
a0de223901
Merge pull request #1772 from vcmi/fix_invalid_native_terrain
Fix the case of invalid native town type
2023-03-26 13:19:01 +03:00
Ivan Savenko
9287d1b837
Merge pull request #1776 from vcmi/beta
Merge beta -> develop
2023-03-26 01:48:23 +02:00
Ivan Savenko
7477e4a8cc Handle mods with "keepDisabled" propertly on client 2023-03-25 23:54:51 +02:00
Ivan Savenko
4eed0b2c9e Added workaround for Dungeon towers 2023-03-25 23:54:51 +02:00
Ivan Savenko
8fbeff2a02 Fix movement over lowered drawbridge in Fortress 2023-03-25 23:54:51 +02:00
Ivan Savenko
5288e3761e
Merge pull request #1764 from IvanSavenko/selectable_spellcaster
Implemented support for multi-spell casters
2023-03-25 20:08:47 +02:00
Ivan Savenko
6f631a0aa7
Merge pull request #1759 from IvanSavenko/kills_in_tooltip
Show potential kill amount in attack tooltip
2023-03-25 20:03:27 +02:00
Tomasz Zieliński
00a77e3c5f Probably found the root cause of terrain problems. 2023-03-25 18:52:18 +01:00
DjWarmonger
2c4cde060a
Merge pull request #1694 from vcmi/extra_rmg_monoliths
This could be controversial solution, but since there were no objections, I'll give it a shot.
2023-03-25 18:38:06 +01:00
DjWarmonger
114e7d196b
Merge pull request #1698 from vcmi/object_placement_tweaks
No objections, works fine for me as well.
2023-03-25 18:13:15 +01:00
Tomasz Zieliński
68a2bb78a5 Fix the case of invalid native town type :? 2023-03-25 18:08:46 +01:00
Tomasz Zieliński
9d7d4b6a5f Fixed editor shortcut on Windows 2023-03-25 11:40:44 +01:00
Tomasz Zieliński
392061e97e Fix loading towns which in OH3 editor have defined horde buildings level 1 - 5 (inluding random town). 2023-03-25 11:17:49 +01:00
Ivan Savenko
9a19feaf4a Fix spellcasters with massive spells 2023-03-25 01:23:49 +02:00