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

55 Commits

Author SHA1 Message Date
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
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
Dydzio
e0982ce9a7 Fix mantis bugs: #2884. #2885, #2886
Fixed creature abilities
2018-02-24 08:18:25 +03:00
Dydzio
baaa1a0f13 Add magic resistance for crystal dragons 2018-01-12 13:36:17 +01: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
misiokles
02eb4fbfb0 Zombies sholud cast Disease after attack (H3 ability). 2017-06-22 19:13:21 +02:00
DjWarmonger
6d37c8bceb Merge pull request #272 from dydzio0614/bug2600
Nice, thanks :)
2017-02-01 17:57:58 +01:00
dydzio
4c4539b00e Rename ADVANCED_CATAPULT bonus to reflect the purpose better 2017-02-01 15:05:46 +01:00
dydzio
a8f04aede7 Extend creature siege support. Fix bug #2600 2017-02-01 11:25:57 +01:00
Dydzio
90d638179c Fix mantis #2642
Add meteor shower vulnerability to magma elementals
2017-02-01 10:25:25 +01:00
Dydzio
97bae58f47 Fixing magog shoot sound
In H3 magog shooting sound is same as fireball spell sound.
2016-09-30 00:46:14 +02:00
Arseniy Shestakov
dba58e5eb1 Faerie Dragon: decrease Magic Mirror cast chance from 30 to 20 percent
Povelitel find out it's work too often and FizMiG doc confirms this.
2016-09-21 19:09:02 +03:00
AlexVinS
21fff9d827 Fixed old regression from 0cf969d5 2016-06-12 07:21:57 +03:00
DjWarmonger
b98a83f743 Added string identifiers for terrain types. 2016-02-04 17:57:51 +01:00
Vadim Markovtsev
97bae518fc Fix 1376 turrets damage can decrease 2016-02-01 20:39:51 +03:00
ArseniyShestakov
596e0d7b40 Fix issue 1230. Implement Nomads sandwalker bonus 2015-10-15 01:11:15 +03:00
AlexVinS
3d7435c520 Introduced absolute specific spell immunity. 2015-09-29 17:26:44 +03:00
DjWarmonger
ff6638b9f9 Rogues now grant expert Vision effect. 2015-05-25 09:53:32 +02:00
DjWarmonger
16aa230dd1 Enchanters, sharpshooters and dragons are not "special" and should normally spawn on the map. 2014-07-26 10:42:12 +02:00
AlexVinS
c22908651c Tweak Earth, Air elemantals immunities. Also fixes #1553 2014-05-19 12:04:49 +04:00
AlexVinS
0e3f59294c fix for #1779
"val" of SPELLCASTER bonus = spell level. Set it to expert for archangel.
2014-05-18 16:52:54 +04:00
alexvins
67450dfed6 config\creatures\neutral.json syntax fix 2014-04-02 04:24:55 +00:00
DjWarmonger
8683c8c0eb - Added and improved some propagators, including Crystal Dragons ability (#1232)
- Minor refactoring in AI
2014-03-29 21:39:19 +00:00
DjWarmonger
d2d1a2f544 Restored code from previous commit. 2013-12-28 19:37:35 +00:00
DjWarmonger
14065f8c80 Fixed #1637 - Water and Ice Elementals will now be immune to water damage spells. 2013-12-28 19:27:19 +00:00
Ivan Savenko
71d6b0fea9 - Fixed some warnings from cppcheck
- Minor improvements to JSON validation
- Cleanup in SDL_Extensions.cpp
- Implemented new propery for creature format: idle animation duration
- Disabled idle animation of some of conflux creatures (was clearly
broken)
2013-11-06 13:42:58 +00:00
Ivan Savenko
9237e6d97d Improved json validation
- split JsonNode.cpp into JsonNode and JsonDetail files
- validation should be notably faster (at least 10% faster loading)
- support for "format" field, allows checking existance of files.
- minor fixes in schemas
- msk/msg files are now optional
2013-10-26 19:33:34 +00:00
Ivan Savenko
208df34fc2 bigfixing & new file: launcher/jsonutils.cpp
- launcher uses json parser from vcmi lib instead of one from Qt #1469
- fixed abilities overrides for some creatures #1476
- fixed hero portraits in seer huts #1402
- ttf fonts will render text in utf-8 mode. Not really useful at this point
- new settings entry, available in launcher: encoding. Unused for now.
2013-09-21 18:29:26 +00:00
Ivan Savenko
cf4b3c91cb - updated wog/vcmi mod.json files
- found situation where JsonNode parser won't report warning: comma after last element in arrays or objects. Fixed this in our config files but parser change is disabled for now due to huge number of warnings from mods.
2013-08-20 19:32:21 +00:00
DjWarmonger
a20e53acb5 Wyverns will cast Poison instead of Stone Gaze. 2013-07-31 19:38:22 +00:00
DjWarmonger
abaa5b1c59 Fixed #1352. Implemented correct death stare algorithm. 2013-07-28 08:48:29 +00:00
DjWarmonger
13acb58d55 - Undead and non-living creatures will be now immune to mind spells (should be hardcoded?). It solves #1334.
- Added lots of missing spell immunities from Strategija
- Added stone gaze immunity for Troglodytes (did you know about it?)
2013-07-22 14:12:20 +00:00
DjWarmonger
18794af2cb Fixed elemental immunity handling: #1335, #1343, 2013-07-18 17:24:17 +00:00
Ivan Savenko
09e2f0f021 minor fixes:
- fixed duplicated bode dragon ability
- fixed enchanter animation
- removed plural ID from wog sorceress
2013-05-25 11:01:27 +00:00
DjWarmonger
5436950119 Fixed abilities of Efreet. 2013-05-25 07:21:02 +00:00
DjWarmonger
c9e95f76df - Fixed Phoenix fire immunity. Again.
- Cheat code with grant all artifacts, including the ones added by mods
- Some clean-up of Berserk effect, however it doesn't work at the moment.
2013-05-25 07:06:00 +00:00
Michał W. Urbańczyk
c85829a00c * creature window prints morale/luck for actual stack in battle (CStack), not stack as seen in hero screen (CStackInstance), fixes #1264
* creature abilities bonus properties are updated when the creature id is assigned
* removed decrease morale ability from config file (it was duplicating the one from ZCRTRAIT.TXT
2013-05-19 19:53:03 +00:00
Ivan Savenko
8be801a6dc - CMappedFileLoader class to remap WoG files to h3 names
- WoG should be optional, all remapped files are listed in WoG/config/wogFileOverrides.json
- fixed several cases of incorrect positioning of creatures in battles
- some missing sounds for battle effects
- negative luck support, disabled by default
- a bit hackish detection of WoG presence, VCMI should work on SoD-only installs
2013-05-04 13:14:23 +00:00
DjWarmonger
32c87f532f - Added missing abilities for devil & ghost dragon
- Stack affected by Berserk should not try to attack itself

Neither of these can be actually seen in game duo to more general engine bugs :/
2013-04-27 06:39:59 +00:00
Ivan Savenko
8273f323b1 - it is possible to edit data of another mod or H3 data via mods
- mods can access only ID's from dependenies, virtual "core" mod and itself (optional for some mods compatibility)
- metadata field for JsonNode, used to track source mod
- moved wog creatures into wog mod
- (linux) convertMP3 option for vcmibuilder for systems where SDL_Mixer can't play mp3's
2013-04-25 14:03:35 +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
Ivan Savenko
0cf969d508 - console logger by default uses same format as previously (no extra data)
- a lot of changes in configs;
- - update to creature format - abilities are now json structure
- - multiple bugfixes revealed by validation
- made schemas a bit more strict
- creatures data can be replaced via mods
- it is possible to validate vcmi configs using schemas (disabled)
2013-04-11 19:24:14 +00:00
Ivan Savenko
619a07da03 - projectile blitting should be closer to original H3. But still not perfect.
- removed no longer needed field "projectile spins"
2013-04-04 13:18:38 +00:00
Ivan Savenko
b413d80ccc - better logging of some config files errors
- restored lvl 10 for some dragons
2013-03-09 13:16:35 +00:00
DjWarmonger
ae7f3560a3 Moved phoenix immunity to .json. This fixes #978 2013-03-04 19:38:09 +00:00
DjWarmonger
5252e2aefe Added few more icons for creature abilities.
Graphics here http://forum.vcmi.eu/viewtopic.php?p=8715#8715
2013-03-04 18:33:58 +00:00
Ivan Savenko
b4e54f76ea - split heroes.json in manner similar to creatures\factions
- string ID's for H3 heroes
- data in vcmi configs for heroes will replace data in h3 txt's
2013-03-03 18:00:37 +00:00
DjWarmonger
ef6be76480 WoG creature sounds from Kuririn. 2013-03-03 17:00:45 +00:00
alexvins
856c7feeba [refactor]
* creature config use string ids now
+ support string subtype id in short bonus format
* crexp parser: less magic nombers
2013-02-23 22:48:22 +00:00
DjWarmonger
b554af25d3 - Compile fix
- Fixed Basilisk spawning at Hive
- Fixed double-shot of Marksman
2013-02-11 17:23:55 +00:00