AlexVinS
7af4f44237
rewrite CGHeroInstance::canCastThisSpell
2014-11-13 17:57:35 +03:00
AlexVinS
3fcb1254f7
Rewrite CGHeroInstance::getSpellSchoolLevel using SPELL_SCHOOL_CONFIG
2014-11-13 17:24:30 +03:00
AlexVinS
5d1077161c
Change spell school serialization
2014-11-13 16:57:49 +03:00
AlexVinS
3da27243c8
Fix SPELL_DAMAGE_REDUCTION calculation.
2014-11-13 15:07:39 +03:00
AlexVinS
9e8b09d747
Use clearAffected flag
2014-11-13 15:00:45 +03:00
AlexVinS
00013ed31a
Fix spell school immunity evaluation
2014-11-13 14:10:25 +03:00
AlexVinS
ce8fa33efc
Introduced new spell configuration options (not used yet)
2014-11-13 13:37:42 +03:00
AlexVinS
c7480e7fe5
Move getAffectedStacks to mechanics classes
2014-11-13 12:33:51 +03:00
AlexVinS
4042757f93
Move spell range calculation to Mechanics
...
* made ISpellMechanics opaque
2014-11-13 07:34:20 +03:00
AlexVinS
b62ee20880
Move TargetInfo initialization to constructor
2014-11-13 06:29:41 +03:00
AlexVinS
0015027ec7
Draft fo CHAIN_LIGHTNING
...
* fix usage of RECEPTIVE bonus
2014-11-13 05:40:52 +03:00
AlexVinS
a06dae1f96
Move getAffectedCreatures to CSpell. + more drafts
2014-11-13 04:53:25 +03:00
AlexVinS
5ba53da9bf
Extract SpellMechanics to separate file
2014-11-12 11:36:34 +03:00
AlexVinS
22178151aa
More general spell school handling
2014-11-12 11:03:55 +03:00
AlexVinS
d7800b834e
get rid of CBattleInfoCallback::calculateSpellDmg
2014-11-12 09:52:11 +03:00
AlexVinS
e4b726151d
get rid of CBattleInfoCallback::battleStackIsImmune
2014-11-12 09:20:20 +03:00
AlexVinS
ddf98a5920
+SpecialRisingSpellMechanics::isImmuneByStack
2014-11-12 08:34:43 +03:00
AlexVinS
639b915391
Move calculateSpellBonus to CSpell
2014-11-12 08:02:27 +03:00
AlexVinS
059698217c
Use CLONE and DISPEL_HELPFUL_SPELLS Mechanics classes in immunity caculation
2014-11-12 07:41:12 +03:00
AlexVinS
61d6bca3ff
Extract some spell imuunity mechanics + draft of overall design (UNTESTED)
2014-11-12 07:09:05 +03:00
AlexVinS
a49da360d2
Use ESpellCastProblem inside SpellHandler
2014-11-12 06:17:03 +03:00
AlexVinS
24efb9b413
SpellHandler: add more error checking + cleanup.
2014-11-12 03:48:11 +03:00
AlexVinS
54453aee73
get rid of boost::assign
2014-10-04 00:34:13 +04:00
AlexVinS
eff801f39a
Extract "inherit node" function
2014-05-19 02:28:44 +04:00
AlexVinS
2fc16b231f
Implemented inheritance semantic for spell level configuration.
...
This allows more simplification.
2014-05-18 21:16:10 +04:00
AlexVinS
f2b61f7e69
Spell configuration: introduce simplifaction mechanism for level conficuration
...
* also aviable for other handlers
2014-05-18 18:47:18 +04:00
AlexVinS
950ca1156a
Use absoluteLimit
...
* all "old" limits are now absolute
2014-05-18 17:55:26 +04:00
AlexVinS
7cf64a0628
Made onlyAlive flag a part of TargetInfo
2014-05-18 17:03:01 +04:00
AlexVinS
d9368ca5ba
Use new battleGetStacksIf method
2014-05-18 17:02:59 +04:00
AlexVinS
3e101d89ef
few formatting. Mostly space-> tab
2014-05-07 03:58:58 +04:00
alexvins
1aff899f5b
Hotfix 2
...
* fix loading range attribute
* fix config for massive spells
2014-03-17 14:39:28 +00:00
alexvins
9cac0af7be
[Spells] More spell related refactoring
...
+ smart target modifier
- CREATURE_EXPERT_MASSIVE target type
* save format changed
spell format changes already documented in http://wiki.vcmi.eu/index.php?title=Spell_Format
2014-03-17 13:11:10 +00:00
alexvins
065b8366fb
[Spells] Added basic support for icons and sounds
...
* few changes in spell format
* save format changed
2014-03-10 16:00:58 +00:00
alexvins
c959fdcce0
SpellHandler: cleanup, formatting, simplification.
2014-03-08 23:18:51 +00:00
Michał W. Urbańczyk
7d1e54baa7
Fixed compilation with MSVC.
2014-03-08 19:02:47 +00:00
alexvins
afcb7072eb
Implemented #1379
...
+ added new flag for special spells. Special spells can be obtained only with BONUS::SPELL.
* made Titans` thunder special.
2014-03-07 16:10:20 +00:00
alexvins
4203d69525
Part 2 of new spell configuration
...
1) spell handler refactored to support modding in general way
2) imunnity icons moved to WoG as they depends on wog`s graphics
3) introduced new class template for handlers (todo: use this in other handlers)
4) save format changed
5) introduced "absolute immunity" - unaffected by "the Orb" etc. (todo: use it in config)
6) new format documented on wiki, added json schema.
* more split of registertypes - fixes 32 mingw build
2014-03-07 13:21:09 +00:00
Ivan Savenko
b87897096c
Filesystem handling is now more flexible
...
- removed CResourceLoader class in favor of one that implements resource loader interface
- removed global pool of files, in favour of more dynamic approach
- renamed some files to match current situation
All these changes are needed mostly for future mod manager + .zip support
2013-07-28 14:49:50 +00:00
DjWarmonger
257be7a968
Fixed #1342 . Animate Dead won't affect living creatures.
2013-07-28 10:05:37 +00:00
DjWarmonger
3aec2daca1
Fixed Firewall ( #1363 )
2013-07-22 09:01:10 +00:00
DjWarmonger
18794af2cb
Fixed elemental immunity handling: #1335 , #1343 ,
2013-07-18 17:24:17 +00:00
Ivan Savenko
f82122d9be
second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
...
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
Michał W. Urbańczyk
fc6e72dc75
* Fixed enchantments ( #1265 ). Their effects were not properly added when reading config. Battle interface will be little less likely to block itself after corrupted spell cast.
...
* Fail gracefully when the file from which game is started is in invalid version.
* Bumped versions.
2013-05-19 15:14:23 +00:00
DjWarmonger
0dc5a13596
Fixed missing spell effects, root cause of #1257 .
2013-04-23 09:54:57 +00:00
Ivan Savenko
4db13ba845
- proper destructors for handlers and lib objects
2013-04-21 16:38:31 +00:00
Ivan Savenko
c6cc6e6301
Large changeset, first part of editing H3 objects via mods feature. Changes:
...
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector
- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)
Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
beegee1
c7c2686379
- Integrated the logging API into the client and the lib - Remove some more comments and switched to /// style - Fixed recursive locks - Added Global.h to CMakeLists(now visible in qt-creator) - Removed usage of shared_mutex - Added unique_ptr to CLogger targets
2013-04-09 14:31:36 +00:00
beegee1
ee51c5beb5
- Renamed /lib subfolders to lowercase
2013-04-07 10:48:07 +00:00
alexvins
f686edc1b8
Cleanup
...
* simplify JSON values getting
* ensure initialization of Bonus fields
2013-03-14 17:21:16 +00:00
alexvins
2eb8263e51
Basic Configuration for bonus types
...
* introduced new handler BonusTypeHandler
* config\bonusnames.json converted to common format and splitted info main and localizable parts
* hanlders initialization refactored
2013-03-06 18:49:56 +00:00