John Bolton
aee51ecc27
Update lib/CCreatureHandler.cpp
...
Undid change to type.
Co-authored-by: Alexander Shishkin <alexvins@users.noreply.github.com>
2020-10-05 16:15:52 -07:00
John Bolton
d7e82c1087
Fixed a bad fix. Fixed more warnings.
...
These warnings have not been fixed because the are legitimate and/or I don't know how to fix them:
test\googletest\googletest\include\gtest/gtest-printers.h(888,43): warning C4996: 'std::tr1': warning STL4002: The non-Standard std::tr1 namespace and TR1-only machinery are deprecated and will be REMOVED.
lib\serializer\JsonSerializeFormat.h(523,26): warning C4244: 'argument': conversion from 'type1' to 'type2', possible loss of data
include\boost/iostreams/positioning.hpp(96,15): warning C4996: 'std::fpos<_Mbstatet>::seekpos': warning STL4019: The member std::fpos::seekpos() is non-Standard, ...
source\lib\filesystem\FileStream.h(39,69): warning C4910: 'boost::iostreams::stream<FileBuf,std::char_traits<char>,std::allocator<char>>': '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation
include\boost/optional/optional.hpp(274,53): warning C4244: 'argument': conversion from 'T' to 'T', possible loss of data
client\widgets\../gui/SDL_Extensions.h(112,14): warning C4244: 'initializing': conversion from 'type1' to 'type2', possible loss of data
client\CServerHandler.cpp(421,24): warning C4834: discarding return value of function with 'nodiscard' attribute (see https://bugs.vcmi.eu/view.php?id=3144 )
client\CVideoHandler.cpp(130,25): warning C4996: 'AVStream::codec': was declared deprecated
2020-10-04 16:26:45 -07:00
John Bolton
a05ae78e67
Fixed lots of warnings.
...
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.
4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
John Bolton
6d8f1e4530
Fixed incorrect usage of const std::shared_ptr. Resolves 0003142.
...
Replaced const TBonusListPtr with TConstBonusListPtr where necessary
Replaced const std::shared_ptr<T> with std::shared_ptr<const T> where necessary.
Removed superfluous use of const.
Replaced const std::shared_ptr<T> with const std::shared_ptr<T> & in function parameters and ranged for-loops.
2020-09-30 22:56:28 -07:00
Sergey Nizovtsev
c7f76e8e0f
lib: fix CPathfinder build error on GCC 10.2
...
CPathfinder constructs boost::fibbonacci_heap handle manually using
private primitives. This stopped working with newer GCC and boost.
Replace this with proper handle_type from container's public typedef.
2020-09-30 00:28:07 +03:00
Dmitry Orlov
ae3b8e4916
Travis errors & warnings fix
2020-09-28 16:39:55 +03:00
Dmitry Orlov
38fd05f655
Minor fix: apply Monday bonuses to heroes who have slept overnight
2020-09-28 01:32:33 +03:00
Dmitry Orlov
30426b6a44
Fix: Random map generator crashes when nativeTerrain is not specified in the mod
2020-09-24 10:10:32 +03:00
Dmitry Orlov
5e0023704b
Fix PQ issues while calculating paths
2020-09-22 00:19:40 +03:00
laikh
edc1d06f4e
Random Map Generator Option: Allow having more computer only players than human/computer players
...
Remove unused variable humanPlayersCount and function getHumanOnlyPlayerCount()
2020-07-07 19:45:53 +08:00
Andrii Danylchenko
d782ee39df
hacks to optimize a few bonus requests
2020-07-04 17:52:22 +03:00
Alexander Shishkin
cc75b859d4
Merge pull request #609 from viciious/improve_battleai
...
Improve battle AI
2020-05-25 05:50:40 +03:00
Victor Luchits
f68b449e5e
More formatting
2020-05-17 11:21:49 +03:00
Victor Luchits
b4025fa1d6
More formatting
2020-05-16 16:14:58 +03:00
Victor Luchits
618d521407
Fix CMP_stack to follow strict weak ordering of elements
2020-05-11 18:14:36 +03:00
Victor Luchits
be10694b73
Some changes to make the battle AI smarter
...
- the AI will now consider attacking multiple units
- the preferred strategy now is to minimize collateral damage rather than to maximize damage to enemy units alone
- attacks that block enemy shooters will be prioritized over other attacks in cases when shooters have weaker melee attacks
2020-05-05 17:53:03 +03:00
Victor Luchits
d6e6182e65
Close the target file in CLogFileTarget's destructor
2020-05-05 15:25:02 +03:00
Victor Luchits
0fe71b7c44
Add CBasicLogConfigurator::deconfigure method to clear the global log targets
2020-05-04 18:56:15 +03:00
Toney Sui
dca5d86e7a
Fix bug: LandMine is not exploding to enemies. ( #630 )
...
* The reason is,
the mine has attribute hidden=true;
when enemy unit moves, the code in BattleInfo.cpp MoveUnit() (line 817) will update the revealed to true;
then in the CGameHandler.cpp handleDamageFromObstacle() (line 4846) is checking , and the condition battleIsObstacleVisibleForSide() will return true, so the effect will not be triggerred.
Resolution:
1. Remove the "revealed=true" in moveUnit(), and in handleDamageFromObstacle, remove the "const" restrict for obstacle, and then update revealed to true;
2. After the takeDamage function, add a pack "BattleObstaclesChanged" to update the obstacle to be "revealed=true".
2020-02-12 20:12:12 +03:00
Andrii Danylchenko
42cab00c38
Fix quest handling
2020-01-31 00:48:01 +02:00
Alexander Shishkin
00de1fd734
Merge pull request #625 from Toneyisnow/toneyisnow/Battle_Clone_Effect
...
Implement the Clone Effect in battle.
2020-01-27 13:42:58 +03:00
toneyisnow
0f3dabab9a
Initialize the change:
...
1. Make color shifter for CAnimation, and use that in the clone effect.
2. Update the original position of the cloned object.
2020-01-25 01:21:26 -08:00
krkos
ac81d0f7b4
Fix build with Boost versioni >= 1.70 ( #615 )
2020-01-21 11:55:28 +03:00
toneyisnow
8bfe510e9c
Fix one space issue.
2020-01-19 04:12:59 +00:00
toneyisnow
a1ea72d84a
Update according to comments.
2020-01-19 04:12:59 +00:00
toneyisnow
0fe3c0a569
Initialize the change.
2020-01-19 04:12:59 +00:00
Arseniy Shestakov
905d31b8d7
CModHandler: remove hardcoded wog mod integrity check
...
Now we have unpacked WoG mod version that dont need specific data files.
As far as I can tell only texts for commanders not going through proper mod system
2020-01-15 18:20:51 +00:00
Dydzio
f8c294ad0b
Fix attack cursor on guarded visitable object
2019-07-14 13:25:06 +03:00
AlexVinS
e7bced112c
Fixed https://bugs.vcmi.eu/view.php?id=3059
2019-06-09 22:46:29 +03:00
Dydzio
54550b50de
Update VS files to 2019, partially fix test project
2019-06-09 17:28:55 +02:00
Dydzio
2f15ca9406
Do not build pseudo-buildings explicitly with events
2019-06-04 22:29:07 +02:00
AlexVinS
1f2ee843aa
[C::B] Switched to boost shared linkage
2019-05-30 20:55:40 +03:00
Alexander Shishkin
21f74a9968
Merge pull request #590 from Ewilhan/fixCombatOrder
...
Fixed Battle Creature Ordering
2019-05-29 17:51:52 +03:00
Alexander Shishkin
40d65b40a2
Merge pull request #591 from dydzio0614/ShipyardCrashFix
...
Spawn ship placed outside map if it has visitable position inside map
2019-05-21 09:47:51 +03:00
Dydzio
cd78779d9c
Remove false warning indicating something is wrong
2019-05-19 12:22:41 +02:00
Dydzio
618cb29ae7
Spawn ship placed outside map if it has visitable position inside map
2019-05-18 20:57:33 +02:00
Ewilhan
cba94f8bb3
Code style
...
Co-Authored-By: Alexander Shishkin <alexvins@users.noreply.github.com>
2019-05-18 18:37:02 +02:00
Ewilhan
023d6c88fd
Code style and improved readability
2019-05-17 09:34:59 +01:00
Ewilhan
ab1c598d4e
Fixed Battle Creature Order
...
Fixed the messy creature order. It now follows correctly all creature ordering rules.
2019-05-16 14:41:02 +01:00
Alexander Shishkin
49404bfa24
Merge pull request #579 from vcmi/dydzio0614-patch-1
...
Hackfix crash on "victory by town capture"
2019-05-04 10:35:13 +03:00
Dydzio
e50efdc279
Creature spellcast refactor ( #569 )
...
* Move some logic to lib
* Mouse action priority queue enhancement
* Get rid of siegehandler dependency
* Improve AI offensive spellcasting
* CBattleInterface cleanup
2019-05-04 06:42:55 +03:00
Ewilhan
91177c412c
Fixed Crypt/Pyramid double visit sound.
...
Removed sound call from CBank to avoid two sounds from being launched at same time. Gave priority to JSON files.
2019-05-02 23:46:18 +01:00
Dydzio
4a21841ce2
Check other players startinfo for random hero pick ( #580 )
2019-04-29 08:45:30 +03:00
Dydzio
a79f11bed2
Hackfix crash on "victory by town capture"
2019-04-23 20:04:07 +02:00
Michał Kalinowski
97a8380d07
Simplification fixes
...
Return statement fixes
2019-03-31 09:43:14 +03:00
Michał Kalinowski
ac6b477aa2
Simplify statements
...
-Simplify return statements across the code
2019-03-31 09:43:14 +03:00
Michał Kalinowski
ec536e613c
CMake more transitive
...
-Moving AIs cmake to target focusing code
-Beign explicit when link libraries
2019-03-28 16:56:51 +03:00
Dydzio
df11e851ef
Acid breath should have absolute dispel immunity
2019-03-25 02:19:07 +03:00
Alexander Shishkin
34f934370b
Merge pull request #565 from dydzio0614/moralewaitfix
...
Fix lack of unit action with morale+wait
2019-03-24 10:49:49 +03:00
Alexander Shishkin
87f216ac0d
Merge pull request #560 from dydzio0614/bug2814
...
Fix for arrow cart at bank fights
2019-03-24 10:20:58 +03:00
Dydzio
9e4619c08d
Fix lack of unit action with morale+wait
2019-03-23 23:51:50 +01:00
Dydzio
9e5abeec35
Fix for arrow cart at bank fights
2019-03-22 00:02:32 +01:00
Alexander Shishkin
549d8c97df
Merge pull request #557 from dydzio0614/CrystalDragonAbility
...
Fix crystal dragon ability to match H3
2019-03-21 17:02:20 +03:00
Dydzio
53f4ba6464
Fix crystal dragon ability to match H3
2019-03-17 19:48:47 +01:00
Dydzio
36cb9f11c4
Hardcoded feature: no random week/month effects
2019-03-17 18:27:05 +01:00
Dydzio
5718048752
Fix magic school gold payment
2019-03-11 18:56:05 +01:00
AlexVinS
1855af9ed3
Fixed error handling in TownPortalMechanics::applyAdventureEffects
2019-02-23 20:51:03 +03:00
AlexVinS
9311966706
[C::B] Switch to MinGW 7.3
2019-02-19 14:59:10 +03:00
Dydzio
aafad18121
Style fixes
2019-02-12 19:47:19 +01:00
AlexVinS
14e294553d
Enabled GIF format for images (not GIF-animations) as requested by user.
2019-02-07 03:23:14 +03:00
AlexVinS
b3c26615df
Fixed map format regression: there is no default difficulty.
2019-01-26 17:05:35 +03:00
Mikko
ae7821462d
Update ISpellMechanics.cpp
2019-01-24 15:09:01 +00:00
Mikko
a77cbc311e
Update JsonSerializer.cpp
2019-01-24 14:49:30 +00:00
Mikko
eba4f1b514
Update CBattleInfoEssentials.cpp
2019-01-24 14:48:38 +00:00
Michał Kalinowski
a0d1808b62
CMake transitive compile dependency
...
Moving to more target focusing code that provides better transitive scope
2019-01-19 17:38:54 +03:00
Alexander Shishkin
b00e935e4d
Warnings fixes ( #538 )
...
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
AlexVinS
da20aa2388
Use the same cost value in Pathfinder and fuzzy evaluations.
2019-01-17 10:54:41 +03:00
AlexVinS
4b5910c2f4
VCAI performance improvements
...
* Node graph initialization optimized.
* Fixed "Unathorized obstacle access".
* Pathfinding tracing disabled with ifdef.
* Misc bonus calculation optimizations.
* Removed timestamp from log lines. Date formatting eats too much CPU.
* Paths for all heroes in Client are now cached
2019-01-17 10:50:56 +03:00
Andrii Danylchenko
8fee46de7c
AI: town portal support
2019-01-17 10:40:23 +03:00
Dydzio
216d50788b
Fix AI build, update default Windows SDK version for projects
2018-12-31 15:18:42 +01:00
Andrii Danylchenko
035d279ae8
Refactor CGHeroInstance, make spells private
2018-12-23 15:49:26 +03:00
DJWarmonger
f4a8a1294e
Optimizations based on MSVS profiler.
2018-12-16 15:46:48 +01:00
Andrii Danylchenko
83531f4355
Rename typo in NetPacksServer.cpp
2018-11-17 21:58:54 +02:00
Alexander Shishkin
845f0fbf5c
Merge pull request #512 from godric3/jsonSchemas
...
Support for using relative file path in json schema references
2018-11-02 13:07:34 +03:00
Arseniy Shestakov
708705aa96
CGLighthouse: workaround crash on map initialization. Fix issue 3020
...
Dirty hack here since proper fix would require to break saves
2018-11-01 23:31:23 +03:00
Michał Janiszewski
0ff2e1180d
Throw std::runtime_exception instead of a pointer to new one
...
cf. https://isocpp.org/wiki/faq/exceptions#what-to-throw
2018-10-31 07:27:54 +01:00
Alexander Shishkin
2a282c9a8e
Merge pull request #509 from godric3/bonusDescription
...
Skill and hero specialty bonus description
2018-10-31 00:59:05 +03:00
godric3
8650a8eea8
allow json schema references to use relative file path
2018-10-30 22:30:56 +01:00
godric3
1586868a5d
make source id optional in functions converting deprecated specialty bonuses
2018-10-30 20:58:22 +01:00
Alexander Shishkin
e26f6ff15f
Merge pull request #505 from janisozaur/catch-by-ref
...
Catch exceptions by const-ref, not by value
2018-10-30 05:08:30 +03:00
godric3
f9ac46576b
Add description for bonuses from hero specialty
2018-10-29 21:33:13 +01:00
godric3
c8ba3de821
Change skill bonuses description to use name instead of identifier
2018-10-29 20:53:13 +01:00
Michał Janiszewski
7be9aa4868
Prevent shadowing of function arguments by local vars
2018-10-29 16:56:14 +01:00
Michał Janiszewski
9822a8f2df
Catch exceptions by const-ref, not by value
2018-10-29 16:41:54 +01:00
Alexander Shishkin
e814aca29f
Merge pull request #500 from godric3/rmgCrash
...
Fix crash when generating random map with random number of players
2018-10-29 01:38:10 +03:00
Alexander Shishkin
f563712782
fix formatting
...
Co-Authored-By: godric3 <godric3@users.noreply.github.com>
2018-10-28 16:36:11 +01:00
godric3
7ded9dbda8
Fix crash when generating random map with random number of players
2018-10-27 18:18:08 +02:00
Andrii Danylchenko
72aff02418
AI pathfinding: buy boat
2018-10-21 14:17:55 +03:00
Andrii Danylchenko
cbaa834589
AI pathfinding: bug fix after refactoring
2018-10-10 14:51:57 +03:00
Andrii Danylchenko
f327c46fa3
AI pathfinding: rename and add const to functions
2018-10-07 14:51:27 +03:00
Andrii Danylchenko
49c872e4ec
AI: replace SectorMap with new PathfinderManager
2018-10-06 16:35:31 +03:00
Andrii Danylchenko
eb17313f7f
AI: pathfinder extensibility - add one more rule for movement to destination and some refactoring
2018-09-23 15:26:53 +03:00
Andrii Danylchenko
7150fc9f71
AI: pathfinder api supports configuration
2018-09-23 15:26:53 +03:00
Andrii Danylchenko
9ab44b950a
AI: pathfinder rework, rules refactored a bit.
2018-09-23 15:26:53 +03:00
Andrii Danylchenko
24221f3fb4
AI: move teleportation handling to pathfinder helper and neighbour finder
2018-09-23 15:26:53 +03:00
Andrii Danylchenko
6ac987794c
AI: first rule extracted for pathfinder
2018-09-23 15:26:53 +03:00
Andrii Danylchenko
9af0032f84
AI: try to add some pathfinder extensibility. Extracted neighbour nodes finder
2018-09-23 15:26:53 +03:00
Fior.in
cca46e311d
Fixed schemas for battle animation overwritting an solo attribute instead images attribute dependant. Now working for replacing battle sprites on pre-existant heroes too ( #490 )
2018-09-13 02:33:34 +03:00
Fior.in
47ba3b2476
Hero scheme: allow each hero to have a unique battle animation ( #480 )
...
* attribute for battle image added on hero class, allowing on hero schemes each hero have a unique battle .def in 'images' structures sided with portraits and specialties images
2018-08-27 09:42:36 +03:00
Dydzio
1471043cae
Update visual studio project files
2018-08-22 17:31:48 +03:00
Konstantin Vukolov
96215233bc
macOS: fix packet deserialization ( #479 )
2018-08-14 01:03:45 +03:00
Aleksei Iupinov
7ed318d156
Stop awarding single scenario bonuses in campaigns
2018-08-05 05:42:54 +03:00
Dydzio
2288e9b8aa
Merge branch 'develop' into AIMapObjectEvaluation
2018-07-30 01:33:49 +02:00
Dydzio
393b25eb7f
Minor tweaks/fixes
2018-07-29 19:31:01 +02:00
Dydzio
b37ba8e046
Initial version of AI object value config
2018-07-28 00:43:56 +02:00
Dydzio
615df6203d
Oprator overload correction...
2018-07-26 16:43:40 +02:00
DJWarmonger
273802c92c
I have no idea what I'm doing
2018-07-26 12:14:29 +02:00
Dydzio
21c1f47a78
Fixes
2018-07-22 19:12:11 +02:00
Dydzio
2c1d91e2ff
Move object ID struct to lib
2018-07-22 18:38:45 +02:00
Alexander Shishkin
9bd662b2f3
Merge pull request #459 from vcmi/issue2969
...
Fix for isuue 2969
2018-07-17 04:28:59 +03:00
Dydzio
6174df0a72
Revert only launcher saving to settings.json from PR441
2018-07-16 22:05:42 +02:00
AlexVinS
d6f889f08a
Setup town`s war machine in finalization step
...
* fixes https://bugs.vcmi.eu/view.php?id=2969
2018-07-16 15:16:55 +03:00
Dydzio
260981d586
Update project files to match vcmi code changes
2018-07-06 18:52:51 +02:00
Andrii Danylchenko
dcbcff41dc
apply review comments for CAndroidVMHelper
2018-05-26 14:50:49 +03:00
Andrii Danylchenko
ee033e9c9c
fix android build
2018-05-25 22:57:29 +03:00
Karlis Senko
224ea28433
Fix various memory errors related to server and connections.
...
* keep connection when restarting scenario
* wrong double free in Connection
* multiple use after free when stopping server
* double free of StartInfo
2018-05-01 00:04:20 +03:00
Karlis Senko
69330de89c
Avoid integer overflow and conversion related UB.
2018-05-01 00:02:07 +03:00
Karlis Senko
40e6292ed2
Fix memory leaks in launcher.
2018-05-01 00:01:20 +03:00
Johannes 'josch' Schauer
8ead3e3b91
lib/CGeneralTextHandler.cpp: fix misleading indentation
2018-04-19 15:12:18 +02:00
Johannes 'josch' Schauer
95bec98936
lib/rmg/CRmgTemplateZone.cpp: Remove a variable that was introduced in 2016 but never used
2018-04-19 15:07:21 +02:00
Johannes 'josch' Schauer
56fefca806
lib/rmg/CRmgTemplateZone.cpp: Add parenthesis to make operator precedence unambiguous
2018-04-19 15:06:26 +02:00
godric3
d9d01f0b68
Exposed more of existing limiters for modders ( #449 )
...
* Exposed alignment, faction and terrain limiters
* Limiters toString() use now boost:format
2018-04-17 19:59:30 +07:00
AlexVinS
d9d5b7b6e5
[c::b] update projects
2018-04-08 18:37:54 +03:00
Henning Koehler
2ede3783dd
Settings: savefrequency is now configurable in launcher
...
* Client command-line can modify arbitrary settings now
* Only launcher auto-saves to settings.json
2018-04-08 17:12:29 +07:00
Alexander Shishkin
5c09f751b3
Gui cleanup3 - UI refactoring to use smart pointers ( #440 )
...
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
AlexVinS
a8e1c51c36
[c::b] projects update
2018-04-05 21:12:21 +03:00
ArseniyShestakov
1a6f456ac0
Merge pull request #402 from vcmi/feature/multiplayer
...
Refactoring of all pre-gameplay UI and networking code.
This will break some things, but I'll be able to fix them without constant rebasing.
2018-04-05 23:29:27 +07:00
Arseniy Shestakov
f5d8e5b0cc
Move Boost Asio compatibility code to Global.h. Fix by @dydzio06143
2018-04-05 19:35:08 +07:00
Arseniy Shestakov
74e5c5bf05
CGameHandler: rename CPackForClient argument and add network logging
2018-04-04 14:24:32 +07:00
Arseniy Shestakov
ac66fc7f42
Full rework of pre-game interface and networking
...
New features for players:
* Loading for multiplayer. Any save could be used for multiplayer.
* Restart for multiplayer. All clients will restart together.
* Loading from single save.
* Hotseat mixed with network game. Multiple players per client.
* Now connection to server could be cancelled.
* Return to menu on disconnections instead of crashes.
* Restoring of last selected map, save or campaign on next run.
TLDR on important changes in engine code:
* UI: work with server separated from UI
* UI: all explitic blitting replaced with IntObject's
* UI: all new code use smart pointers instead of DISPOSE
* Gameplay always start through lobby controlled by server.
* Threads receiving netpacks now shared for lobby and gameplay.
* Campaigns: heroes for crossover now serialized as JsonNode.
2018-04-04 14:24:26 +07:00
AlexVinS
1fb25c46d3
cleanup
2018-04-03 21:46:12 +03:00
Henning Koehler
82f334b503
Enable Limiter nesting with AllOf, AnyOf, NoneOf ( #439 )
...
* Renamed LimiterList to AllOfLimiter and added AnyOfLimiter, NoneOfLimiter
* Updated bonus schema to new limiter format
2018-04-01 18:17:34 +07:00
Henning Koehler
6ddcb079a4
Enabled new secondary skills to be created ( #438 )
...
* Universities, Scholars and Witch Huts may offer new skills
* Moved encode/decodeSkill to CSkillHandler
* Refactored CSkill interface and CSkill::LevelInfo image storage
* Legacy game constants renamed to ORIGINAL_XXX_QUANTITY
2018-03-31 12:56:40 +07:00
Henning Koehler
02b5a5e830
Make bonus stacking configurable + fix duplicate propagation/inheritance ( #433 )
...
Addresses several related problems:
* Propagation / unpropagation of duplicate bonuses is inconsistent, causing bugs
* Duplicate bonuses never stack, which is not always intended behaviour (e.g. multiple copies of resource generating artifacts)
* Different bonuses always stack, which is not always intended behaviour (e.g. Angel + Archangel morale bonuses)
This is addressed as follows:
* Duplicate bonuses are never eliminated during propagation/inheritance.
* Unpropagation eliminates only a single copy of duplicated bonus
* Bonus receives a new field stacking that determines stacking behaviour:
* * empty string = no stacking with duplicates (default)
* * "ALWAYS" = stacks with duplicates & everything else
* * some other value = no stacking with bonuses with same stacking value
Also Morale/Luck window now hides non-stacking bonuses.
2018-03-27 14:54:58 +07:00
Henning Koehler
2b64bf29ed
Fix Issue 2214 ( #437 )
...
CGameInfoCallback::getAvailableHeroes: add checks for tavern
2018-03-22 18:14:43 +07:00
Henning Koehler
591928fc4b
fixed bug introduced in last CAddInfo fix
2018-03-20 12:58:02 +13:00
Henning Koehler
1685641357
Flexible necromancy ( #430 )
...
* made IMPROVED_NECROMANCY bonus configurable
* updated cloak of the undead king
2018-03-17 16:46:16 +08:00
AlexVinS
e666b2740c
Do not use CCreature in CSimpleArmy
2018-03-17 13:24:12 +08:00
AlexVinS
03cfd2cb78
Do not use StackLocation in netpacks
2018-03-17 13:24:12 +08:00
AlexVinS
8cec07afbd
Replaced CGHeroInstance and CGObjectInstance with ObjectInstanceID in NetPacks
2018-03-17 13:24:12 +08:00
Henning Koehler
8e7aa910cb
spacing fix
2018-03-17 11:32:30 +13:00
Henning Koehler
68b757eb53
fixed CAddInfo::operator[] (mutable version)
2018-03-17 11:03:02 +13:00
Henning Koehler
7f76648a7c
Extend Bonus.addInfo to integer vector ( #427 )
...
* changed Bonus::additionalInfo to integer vector
* fixed deserialization for old savegames
* removed newline from JsonNode::toJson()
* updated bonus schema; SPELL_AFTER_ATTACK and SPELL_BEFORE_ATTACK use new addInfo format
* removed unnecessary init in Bonus constructor
2018-03-12 08:20:18 +03:00
Raphnalor
83c6ffbda0
Reflect changes in boost::asio released in Boost 1.66. ( #428 )
...
The service template parameters are disabled by default for now.
Use BOOST_ASIO_ENABLE_OLD_SERVICES macro to enable the old interface.
2018-03-11 21:02:20 +08:00
AlexVinS
9d108d59db
Redone RMG template serialization using JSON serializer, added tests
2018-03-10 19:36:19 +03:00
AlexVinS
7d27d144a5
Possible fix for https://bugs.vcmi.eu/view.php?id=2913
2018-03-10 19:35:20 +03:00
ArseniyShestakov
079cd470c2
Merge pull request #425 from vcmi/CatapultRework
...
Catapult rework
2018-03-06 01:16:53 +08:00
Henning Koehler
e455d97fc7
cleanup of CBonusSystemNode::removeBonusesRecursive
2018-03-05 22:13:23 +08:00
Henning Koehler
6263c4c3eb
renamed CGHeroInstance::updateSkill to updateSkillBonus
2018-03-05 22:13:23 +08:00
Henning Koehler
d3e4fc6e7a
renamed CBonusSystemNode::popBonuses to removeBonusesRecursive
2018-03-05 22:13:23 +08:00
Henning Koehler
4c0a67041b
secondary skill bonuses get updated via replacement (issue 2796)
2018-03-05 22:13:23 +08:00
AlexVinS
26aad17295
Actually copy zone data from map generator template
...
* fixes https://bugs.vcmi.eu/view.php?id=2482
2018-03-05 17:05:48 +03:00
Dydzio
07cf59592b
Updated catapult spell effect to match new code
2018-03-05 12:55:44 +01:00
Henning Koehler
4ee9d7f65a
Configure JSON merge behaviour via #override flag ( #423 )
...
* added json flags; override flag affects how structs are merged
2018-03-05 11:30:10 +08:00
AlexVinS
f126a34a5e
Fixed https://bugs.vcmi.eu/view.php?id=2904
2018-03-04 11:15:24 +03:00
AlexVinS
5ea1888a14
Summon effect fixes.
2018-03-03 20:37:49 +03:00
Dydzio
44d653b835
Update VS files to match latest develop ( #424 )
2018-03-02 14:32:00 +03:00
Alexander Shishkin
8b002ad774
Issue2888 ( #421 )
...
Fixed issue 2888
* Merged AFTER_ATTACK & BEFORE_ATTACK cast modes.
* Introduced new caster class for creature ability usage
* Added few tests
2018-03-02 13:22:51 +03:00
ArseniyShestakov
7fd090786c
Merge pull request #379 from henningkoehlernz/hero_specialty_scaling
...
Hero specialty scaling
2018-02-28 15:03:24 +08:00
AlexVinS
f917ec5254
Revert "Fixed ancient backward compatibility regression"
...
This reverts commit 3c67e12620
.
2018-02-28 15:00:38 +08:00
AlexVinS
166c04e2e0
Hack fixed serializer assertion by completely disabling AI goals serialization
2018-02-28 15:00:38 +08:00
AlexVinS
3c67e12620
Fixed ancient backward compatibility regression
2018-02-24 19:48:49 +03:00
AlexVinS
080a81db3a
Fixed summoned units not being removed after battle
2018-02-23 21:58:05 +03:00
Henning Koehler
6c443d7094
SPECIAL_SPELL_LEV and SPECIAL_BLESS_DAMAGE no longer scale with hero level
2018-02-21 09:56:20 +13:00
AlexVinS
6d8536b12a
Fixed https://bugs.vcmi.eu/view.php?id=2882
2018-02-20 14:29:06 +03:00
Henning Koehler
89cb7b2780
formatting fix and code simplification in HeroBonus
2018-02-20 23:36:00 +13:00
AlexVinS
2b49df2cab
[Spells] Do not use Unit State in heal effect
2018-02-20 13:19:01 +03:00
AlexVinS
2add0e443e
[Spells] Added "summonByHealth" option to Summon effect
...
* with summonByHealth on, effect power (levelPower * SP) treated as HP
* default behavior (effect power = amount) not changed
* tests included
2018-02-20 08:08:34 +03:00
Henning Koehler
9850e7254e
updated serialization version to 781
2018-02-18 23:32:52 +13:00
Henning Koehler
e2f2568221
added extra debug info for Json parsing
2018-02-18 20:59:05 +13:00
Henning Koehler
6442842731
added one-line option for standard creature specialty; also fixes bug for creatures where upgrades have different attack/defense
2018-02-18 20:59:05 +13:00
Henning Koehler
95e2b44319
added TimesStackLevelUpdater
2018-02-18 20:36:24 +13:00
Henning Koehler
552bad08b3
added TimesHeroLevelUpdater; renamed ScalingUpdater to GrowsWithLevelUpdater
2018-02-18 20:36:24 +13:00
Henning Koehler
f9a8cb2876
fixed formatting and other small issues
2018-02-18 20:22:23 +13:00
Henning Koehler
73f782aa39
fixed various specialty bugs retained during conversion
2018-02-18 20:22:23 +13:00
Henning Koehler
2b8f111a81
converted special.json; fixed bugs in specialty json construction
2018-02-18 20:22:23 +13:00
Henning Koehler
dc7132d8b7
converted castle.json; fixed bugs in Bonus::toJsonNode()
2018-02-18 20:22:23 +13:00
Henning Koehler
00f51e0f98
Updaters replace bonuses during inheritance
2018-02-18 20:22:23 +13:00
Henning Koehler
ad5a9f7205
made HeroSpecial public again
2018-02-18 20:08:34 +13:00
Henning Koehler
20172dba7c
indentation fix
2018-02-18 20:08:34 +13:00
Henning Koehler
ee46862784
replaced JsonNode::isEmpty() with JsonNode::containsBaseData()
2018-02-18 20:08:34 +13:00
Henning Koehler
6414cd18e8
fixed bug with old specialty conversion
2018-02-18 20:08:34 +13:00
Henning Koehler
de6d4d8367
fixed indentation for switch statements
2018-02-18 20:08:34 +13:00
Henning Koehler
6037c19b9a
removed specialtyDeprecated from CGHeroInstance; improved savegame compatibility
2018-02-18 19:47:38 +13:00
Henning Koehler
81c44dac41
minor fixes
2018-02-18 19:47:38 +13:00
Henning Koehler
ab7ce6625e
moved nameForBonus into Bonus class
2018-02-18 19:47:37 +13:00
Henning Koehler
ba7709da50
middle-aged specialty format is converted properly and logged
2018-02-18 19:27:24 +13:00
Henning Koehler
16f59fb213
fixed base merging and limiter creation
2018-02-18 19:27:24 +13:00
Henning Koehler
6ae103dd63
print json in compact format
2018-02-18 19:27:24 +13:00
Henning Koehler
a002df399e
updated json loading and schema to fit new specialty format
2018-02-18 19:27:24 +13:00
Henning Koehler
038cb4bf19
remove base json from specialty bonuses
2018-02-18 19:27:24 +13:00
Henning Koehler
eb02ce0f31
changed specialty json format to struct with base (WIP)
2018-02-18 19:27:24 +13:00
Henning Koehler
d7942fd929
fixed typo in specialty log
2018-02-18 18:53:01 +13:00
Henning Koehler
c31950612c
convert spec format in afterLoadFinalization
2018-02-18 18:53:01 +13:00
Henning Koehler
26862b4c51
improved/fixed specialty json encoding
2018-02-18 18:25:49 +13:00
Henning Koehler
05838b3827
Bonuse::toJsonNode uses string constants for type/subtype
2018-02-18 17:33:23 +13:00
Henning Koehler
c79b776f3c
Limiters (at least creature type limiters) are printed as well
2018-02-18 17:33:23 +13:00
Henning Koehler
89b1ba7538
added basics for specialty format updating
2018-02-18 17:33:23 +13:00
Henning Koehler
5d3f6c3b91
removed CHeroInstance::specialty
2018-02-18 17:33:23 +13:00
Henning Koehler
2703b035a6
added updater to Bonus json format
2018-02-18 17:33:23 +13:00