1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-20 20:23:03 +02:00
Commit Graph

60 Commits

Author SHA1 Message Date
AlexVinS
6dbed27b65 Add more "const" 2014-11-23 14:10:29 +03:00
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
9e8b09d747 Use clearAffected flag 2014-11-13 15:00:45 +03:00
AlexVinS
ce8fa33efc Introduced new spell configuration options (not used yet) 2014-11-13 13:37:42 +03:00
AlexVinS
bab7198cd7 Use some constants in SRSLPraserHelpers 2014-11-13 08:13:06 +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
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
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
c4fdca45d9 Small cleanup 2014-11-12 03:48:10 +03: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
Ivan Savenko
9c0df68cb8 Fixing spelling mistakes. Patch from josch, fixes #1759 2014-03-23 12:59:03 +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
2b45e13c5c c++03 -> c++11 switch:
- use std versions of function, bind and ref
- OVERRIDE -> override
- NULL -> nullptr
- use std versions of random distributions

NOTE: this may be last revision that supports gcc-4.5
2013-06-26 11:18:27 +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
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
alexvins
ceea466f54 [refactor] spell handling
* more config options for spells
  + mind immunity handled by config
  + direct damage immunity handled by config
  + immunity icon configurable
- removed mind_spell flag 
* more use of new spell identifacation
2013-02-13 19:35:43 +00:00
mateuszb
86dc9386d6 * refactoring, including a generic solution for IDs 2013-02-10 23:24:57 +00:00
mateuszb
0003d30991 * refactoring 2013-02-08 22:42:46 +00:00
alexvins
a9d458c8f4 few more refactorings 2013-02-04 21:58:42 +00:00
alexvins
b376ac8568 refactor map loading, few small tweaks 2013-02-02 17:20:31 +00:00
alexvins
53b684180d [refactor]
* use spells configuration (all timed effects for battle spells)
* a few more cleanups
+register erm resource types (useful in future and less noise in log now)
2013-01-16 11:19:04 +00:00
alexvins
68e91ada1c [refactor]
* spells are now more configurable (unused yet, WiP)
* a few more cleanups
2013-01-15 14:20:48 +00:00
beegee1
0311e5e6f5 - Added basic mock/test generation - Added stub for terrain editing 2013-01-06 19:30:12 +00:00
Ivan Savenko
94c55e2632 - string ID's for spells (not configurable due to hardcode)
- spell chances in new towns guilds can be specified in config
2012-12-18 10:32:11 +00:00
Michał W. Urbańczyk
74f9c19a7c Implemented spell countering. 2012-09-13 23:41:03 +00:00
Michał W. Urbańczyk
d390113c23 * New files for lib: CBattleCallback.cpp and CBattleCallback.h
* Updated MSVC project files
* Filesystem: My version of .SND archive does not have \0 after WAV extension. Fixed (though hardcoded 3-char extension length).
* New bonus types: BLOCK_MAGIC_ABOVE for blocking casting spells above given level and BLOCK_ALL_MAGIC for blocking all magic.
* Heavy rewrite of battle callbacks. Fixed some minor bugs. Code reusage between lib/client/server (removed proxy calls). Better access control and support for various perspectives.
* Fixed #1031
* Fixed Orb of Inhibition and Recanter's Cloak (they were incorrectly implemented). Fixed #97.
* Fleeing hero won't lose artifacts. Spellbook won't be captured. Fixed #980.
* Fixed crash when attacking stack dies before counterattack (ie. because of Fire Shield)
* Server does some basic checks if action requests during battle are valid
* Minor stuff.
2012-08-26 09:07:48 +00:00
Ivan Savenko
cf15ca1cf0 - replaced loadToIt with better H3 parser.
- moved hero class to heroes.json
2012-08-25 08:44:51 +00:00
Michał W. Urbańczyk
d168f3eac2 * Implemented Moat functionality during siege (stops movement and deals dmg)
* Mostly implemented battle spells:
 - Fire Wall
 - Force Field
 - Land Mine
 - Quicksands
2012-05-18 20:50:16 +00:00
Ivan Savenko
45c2809a40 - pregame will use same resolution as main game
- disabled most of now unused code for changing resolution
- added missing spell effect sounds
- adventure map spells sounds
- remaining fixes for big endian systems
2012-05-18 17:35:46 +00:00