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
Henning Koehler
f8a8f6ac72
re-fixed type registration bug properly
2018-02-18 17:33:23 +13:00
Henning Koehler
9a335cdb59
fixed type registration bug (order matters\!)
2018-02-18 17:33:23 +13:00
Henning Koehler
ef7900d0a2
added support for older saves (fails)
2018-02-18 17:33:23 +13:00
Henning Koehler
d594845c32
fixed serialization issues
2018-02-18 17:33:23 +13:00
Henning Koehler
3e0022be27
added support for new specialty json format; old format is converted to bonuses with updaters
2018-02-18 17:33:23 +13:00
Henning Koehler
f867b1a37e
invalidate bonus caching on update
2018-02-18 16:55:15 +13:00
Henning Koehler
f1fd00f005
renamed & reused CBonusSystemNode::updateBonuses; tweaked updater signature
2018-02-18 16:55:15 +13:00
Henning Koehler
67330efa4a
added basics for Bonus updater
2018-02-18 16:34:15 +13:00
Nikolay Shalakin
3795985de9
Eliminate warnings / errors. Pull request #388
2018-02-11 15:17:14 +03:00
Ivan Romanov
3c1c72319b
CMake: update version on each compiling
2018-02-11 13:52:29 +03:00
Arseniy Shestakov
8bbe747e8e
Cleanup undef for min / max. NOMINMAX is already in Global.h
2018-02-11 05:42:49 +03:00
ArseniyShestakov
e11e69750a
Merge pull request #411 from drizt/fallthrough
...
Hide "this statement may fall through" warnings
2018-02-10 22:34:39 +03:00
Arseniy Shestakov
324717acbe
Spelling fixes: privilaged -> privileged, retreive -> retrieve
2018-02-10 21:52:23 +03:00
Ivan Romanov
eea50a044c
Hide "this statement may fall through" warnings
2018-02-10 22:27:00 +05:00
AlexVinS
c94daf6faa
Fixed https://bugs.vcmi.eu/view.php?id=2864
2018-02-10 07:31:02 +03:00
AlexVinS
10dd7e8a43
Cleanup
2018-02-10 04:03:17 +03:00
Alexander Shishkin
936a310b0a
Merge pull request #413 from dydzio0614/sr9_vsfix
...
update VS files to match spellrefactoring9 changes
2018-02-09 21:13:40 +03:00
Dydzio
d4958ff5f8
update VS files to match spellrefactoring9 changes
2018-02-09 18:53:07 +01:00
AlexVinS
8220053864
Cleanup
2018-02-09 20:52:56 +03:00
Arseniy Shestakov
15c8b192b4
CStack::prepareAttacked: fix for REBIRTH bonus after merge
2018-02-08 14:37:52 +03:00
AlexVinS
0b70baa95e
Spells configuration version 2 (effect-based)
...
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +03:00
Arseniy Shestakov
ff2d01a03d
BinaryDeserializer: replace length check macro with inline function
2018-02-05 09:47:38 +03:00
Arseniy Shestakov
7c77249d37
Refactoring: get rid of macro in server-side request validation code
2018-01-28 08:03:48 +03:00
Dydzio
38d836d1a5
Update project files to Visual Studio 2017
2018-01-13 16:33:49 +01:00
Arseniy Shestakov
da117e9255
Code style: remove void from constructors without arguments
2018-01-13 11:51:47 +03:00
AlexVinS
6033d32b5b
Fixed https://bugs.vcmi.eu/view.php?id=2845
2018-01-09 10:14:56 +03:00
Arseniy Shestakov
c5ca75bc53
CRewardableObject: remove now unused soundID
2018-01-02 09:49:04 +01:00
Arseniy Shestakov
f15cadc87b
Implement configurable object sounds: ambient, visit and removal
...
* If there more than one sound for visit or removal random is played
* At moment only the first ambient sound will be used
2018-01-02 09:49:03 +01:00
Arseniy Shestakov
e9bfbb70c1
Ambient sounds: implement chebyshev distance for getTilesInRange
2018-01-02 09:48:17 +01:00
DjWarmonger
c2a0b13332
Merge pull request #371 from dydzio0614/NewAbilities
...
Tested and approved. Congrats!
2017-12-29 14:19:05 +01:00
Michał Kalinowski
26a222ac62
Change JsonType to enum class ( #393 )
...
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00
Dydzio
6df536bb31
Siege tower handling improvements ( #392 )
...
* Fix bug #2581 - siege tower damage
* Improved siege tower damage calculation a bit
2017-11-18 12:41:07 +03:00
AlexVinS
d7366f04a9
[Map format, PreGame] allow selection of any allowed faction
2017-11-16 02:06:07 +03:00
AlexVinS
b8d0dfac5f
[Map format] fixed player options "canPlay" field
2017-11-16 00:03:27 +03:00
godric3
5a01aba9c8
fix for banks(crypt, ships) not giving morale penalty ( #384 )
...
* fix for banks(crypt, ships) not giving morale penalty
also texts should be closer to original now
2017-11-15 23:16:44 +03:00
AlexVinS
d93ef36750
Fixed https://bugs.vcmi.eu/view.php?id=2818
2017-11-15 15:54:54 +03:00
Dydzio
c6731f3b90
Fix code formatting
2017-11-13 14:18:38 +01:00
Dydzio
da6d01b0c7
Ability rename + bugfix + changelog extend
2017-11-13 01:59:41 +01:00
DJWarmonger
8f42cdea67
Refactoring: use private pointer to CMapGenerator
2017-11-03 21:03:51 +01:00
Alexander Shishkin
fd4ecbd40b
Merge pull request #385 from Chocimier/altar
...
Fixed "Altar of Sacrifice only sacrifices creatures one kind at a time"
* https://bugs.vcmi.eu/view.php?id=2607
2017-10-28 14:04:34 +03:00
AlexVinS
c39cd5f951
Town building build mode fixes
...
* CGameHandler::buildStructure was using wrong requirements for buildings in auto mode.
* Build mode loading was wrong in case of omitted value
* Show town hall slot for not built building only if it have normal build mode
2017-10-28 03:27:39 +03:00
Piotr Wójcik
f145b4be91
Correctly sacrifice many stacks or many atrifacts, fixes #2607
2017-10-14 21:30:56 +02:00
ArseniyShestakov
4149662845
Merge pull request #376 from vcmi/newAnimations
...
New animations
2017-10-11 16:18:06 +03:00
Hao Hu
9cc2464cf6
Fixing bugs for external dwelling bonus of Golem Factory ( #382 )
...
* Fixing bugs for external dwelling bonus of Golem Factory.
[Problem]
The occupied Golem Factory on adventure map doesn't give
the player corresponding weekly growth bonus.
[Solution]
1. Add the dwelling (of multiple generators) to a player's dewelling set.
2. Created helper function to calculate external dwelling bonus
points.
[Test]
Manual testing on the map, works fine.
https://bugs.vcmi.eu/view.php?id=2789
2017-10-07 17:42:33 +03:00
godric3
e3f0126e41
Removed unnecessary code, fix #2737
...
bonus value is added to desciption inside Bonus
2017-10-05 16:50:39 +02:00
godric3
2a22d9ec12
Add terrain overlays morale and luck bonuses description, fix #2740
2017-10-05 14:53:39 +02:00
godric3
7d8adcc083
Add missing artifact name in wagon text, fix #2763
2017-10-05 14:52:51 +02:00
Arseniy Shestakov
ae13123129
CPlayerInterface: don't stop hero movement on embark / disembark
...
When hero have free boarding bonus there no reason to stop movement.
2017-09-16 10:42:27 +03:00
Dydzio
1162923d93
update VS files
2017-09-13 02:04:37 +03:00
AlexVinS
270e1b75ce
Support for creature 2-hex attack, alternate death and cast animation types
...
* margin option .json animation
* Use ranged attack animation for spell cast if there is no cast animation, display cast animation only on active casting.
2017-09-12 19:51:54 +03:00
Henning Koehler
feba7e1979
tactics distance increased to 1 + bonus ( #375 )
2017-09-10 00:26:56 +03:00
Dydzio
eab8e8f869
Fixed "commit merge" fail
2017-09-09 21:27:22 +02:00
Dydzio
14c07afd3c
Merge branch 'develop' into NewAbilities
2017-09-09 21:04:40 +02:00
Dydzio
3eef689005
Add TERMINATOR ability support, small fixes
2017-09-09 21:01:12 +02:00
ArseniyShestakov
d01ecbba90
Merge pull request #372 from vcmi/guiCleanup2
...
Gui cleanup2
2017-09-07 02:46:54 +03:00
Henning Koehler
a7104377d6
fixed CREATURE_TYPE_LIMITER for creatures without a stack instance ( #374 )
2017-09-06 15:27:26 +03:00
AlexVinS
3bbff27127
Wiped CDefEssential
2017-09-06 15:13:28 +03:00
Dydzio
7cbd9acd67
Add BLOCK_MAGIC_BELOW bonus
2017-09-06 00:03:32 +02:00
Dydzio
59764d8349
Implemented SHOOTS_ALL_ADJACENT
2017-09-05 23:45:31 +02:00
Dydzio
5c17e172b6
Revert some changes, update WIDE_BREATH
2017-09-05 22:29:31 +02:00
AlexVinS
3a9d73da23
[c::b] Update project, fixed build
2017-09-05 14:31:34 +03:00
ArseniyShestakov
ca066841f1
Merge pull request #370 from vcmi/issue/2780
...
Issue/2780
2017-09-05 01:21:58 +03:00
Dydzio
4cab76900f
Add SYNERGY_TARGET and [wip]-SHOOTS_ALL_ADJACENT
2017-09-04 23:32:24 +02:00
AlexVinS
2f7968b803
Fixed wrong animation paths
2017-09-04 18:41:22 +03:00
Henning Koehler
37df5c9d88
reworked mod loading to follow standard approach
2017-09-03 23:49:36 +12:00
Henning Koehler
cd35ece10c
fixed DLL_LINKAGE for << operators
2017-08-31 10:29:25 +12:00
Henning Koehler
03b7da93e2
use logMod for all mod-related logging
2017-08-31 09:23:19 +12:00
Henning Koehler
abdca71828
skill names and descriptions are fully managed by CSkillHandler
2017-08-30 22:35:23 +12:00
Henning Koehler
dba5186a6f
fixed skill schema definition
2017-08-30 20:01:09 +12:00
Henning Koehler
3764ec8be1
more code format issues
2017-08-30 19:47:06 +12:00
Henning Koehler
654ca96e9d
fixed code format and other minor issues
2017-08-30 19:19:54 +12:00
Henning Koehler
36d671b093
changed indentation from spaces to tabs
2017-08-30 16:23:03 +12:00
Henning Koehler
aadb5d93f7
added comment (and commented-out code) about skill legacy data
2017-08-30 16:03:24 +12:00
Henning Koehler
899e8403f7
skills.json uses base and struct for effects
2017-08-30 10:25:36 +12:00
Henning Koehler
3fe9bc34b8
CGHeroInstance::recreateSecondarySkillsBonuses() restores bonuses for all levels
2017-08-28 23:59:01 +12:00
Henning Koehler
9b3c61616f
made diplomacy join chance bonus-based
2017-08-28 23:33:19 +12:00
Henning Koehler
69a538a600
added bonus type MANUAL_CONTROL
2017-08-28 20:09:27 +12:00
Henning Koehler
5091b117e2
fixed serialization for older savegames
2017-08-28 13:56:00 +12:00
Henning Koehler
aa15feba62
moved SECONDARY_SKILL_VAL2 to end of list
2017-08-28 00:17:59 +12:00