|
@@ -10,10 +10,10 @@
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
-VCMI_LIB_NAMESPACE_BEGIN
|
|
|
-
|
|
|
#include "../JsonNode.h"
|
|
|
|
|
|
+VCMI_LIB_NAMESPACE_BEGIN
|
|
|
+
|
|
|
#define BONUS_LIST \
|
|
|
BONUS_NAME(NONE) \
|
|
|
BONUS_NAME(LEVEL_COUNTER) /* for commander artifacts*/ \
|
|
@@ -22,29 +22,22 @@ VCMI_LIB_NAMESPACE_BEGIN
|
|
|
BONUS_NAME(LUCK) \
|
|
|
BONUS_NAME(PRIMARY_SKILL) /*uses subtype to pick skill; additional info if set: 1 - only melee, 2 - only distance*/ \
|
|
|
BONUS_NAME(SIGHT_RADIUS) \
|
|
|
- BONUS_NAME(MANA_REGENERATION) /*points per turn apart from normal (1 + mysticism)*/ \
|
|
|
+ BONUS_NAME(MANA_REGENERATION) /*points per turn*/ \
|
|
|
BONUS_NAME(FULL_MANA_REGENERATION) /*all mana points are replenished every day*/ \
|
|
|
BONUS_NAME(NONEVIL_ALIGNMENT_MIX) /*good and neutral creatures can be mixed without morale penalty*/ \
|
|
|
BONUS_NAME(SURRENDER_DISCOUNT) /*%*/ \
|
|
|
BONUS_NAME(STACKS_SPEED) /*additional info - percent of speed bonus applied after direct bonuses; >0 - added, <0 - subtracted to this part*/ \
|
|
|
BONUS_NAME(FLYING_MOVEMENT) /*value - penalty percentage*/ \
|
|
|
BONUS_NAME(SPELL_DURATION) \
|
|
|
- BONUS_NAME(AIR_SPELL_DMG_PREMY) \
|
|
|
- BONUS_NAME(EARTH_SPELL_DMG_PREMY) \
|
|
|
- BONUS_NAME(FIRE_SPELL_DMG_PREMY) \
|
|
|
- BONUS_NAME(WATER_SPELL_DMG_PREMY) \
|
|
|
BONUS_NAME(WATER_WALKING) /*value - penalty percentage*/ \
|
|
|
BONUS_NAME(NEGATE_ALL_NATURAL_IMMUNITIES) \
|
|
|
BONUS_NAME(STACK_HEALTH) \
|
|
|
- BONUS_NAME(FIRE_SPELLS) \
|
|
|
- BONUS_NAME(AIR_SPELLS) \
|
|
|
- BONUS_NAME(WATER_SPELLS) \
|
|
|
- BONUS_NAME(EARTH_SPELLS) \
|
|
|
BONUS_NAME(GENERATE_RESOURCE) /*daily value, uses subtype (resource type)*/ \
|
|
|
BONUS_NAME(CREATURE_GROWTH) /*for legion artifacts: value - week growth bonus, subtype - monster level if aplicable*/ \
|
|
|
BONUS_NAME(WHIRLPOOL_PROTECTION) /*hero won't lose army when teleporting through whirlpool*/ \
|
|
|
BONUS_NAME(SPELL) /*hero knows spell, val - skill level (0 - 3), subtype - spell id*/ \
|
|
|
BONUS_NAME(SPELLS_OF_LEVEL) /*hero knows all spells of given level, val - skill level; subtype - level*/ \
|
|
|
+ BONUS_NAME(SPELLS_OF_SCHOOL) /*hero knows all spells of given school, subtype - spell school; 0 - air, 1 - fire, 2 - water, 3 - earth*/ \
|
|
|
BONUS_NAME(BATTLE_NO_FLEEING) /*for shackles of war*/ \
|
|
|
BONUS_NAME(MAGIC_SCHOOL_SKILL) /* //eg. for magic plains terrain, subtype: school of magic (0 - all, 1 - fire, 2 - air, 4 - water, 8 - earth), value - level*/ \
|
|
|
BONUS_NAME(FREE_SHOOTING) /*stacks can shoot even if otherwise blocked (sharpshooter's bow effect)*/ \
|
|
@@ -81,7 +74,7 @@ VCMI_LIB_NAMESPACE_BEGIN
|
|
|
BONUS_NAME(SPELL_LIKE_ATTACK) /*subtype - spell, value - spell level; range is taken from spell, but damage from creature; eg. magog*/ \
|
|
|
BONUS_NAME(THREE_HEADED_ATTACK) /*eg. cerberus*/ \
|
|
|
BONUS_NAME(GENERAL_DAMAGE_PREMY) \
|
|
|
- BONUS_NAME(FIRE_IMMUNITY) /*subtype 0 - all, 1 - all except positive, 2 - only damage spells*/ \
|
|
|
+ BONUS_NAME(FIRE_IMMUNITY) /*subtype 0 - all, 1 - all except positive*/ \
|
|
|
BONUS_NAME(WATER_IMMUNITY) \
|
|
|
BONUS_NAME(EARTH_IMMUNITY) \
|
|
|
BONUS_NAME(AIR_IMMUNITY) \
|
|
@@ -122,7 +115,7 @@ VCMI_LIB_NAMESPACE_BEGIN
|
|
|
BONUS_NAME(NO_MORALE) /*eg. when fighting on cursed ground*/ \
|
|
|
BONUS_NAME(DARKNESS) /*val = radius */ \
|
|
|
BONUS_NAME(SPECIAL_SPELL_LEV) /*subtype = id, val = value per level in percent*/\
|
|
|
- BONUS_NAME(SPELL_DAMAGE) /*val = value, now works for sorcery*/\
|
|
|
+ BONUS_NAME(SPELL_DAMAGE) /*val = value, now works for sorcery, subtype - spell school; -1 - all, 0 - air, 1 - fire, 2 - water, 3 - earth*/\
|
|
|
BONUS_NAME(SPECIFIC_SPELL_DAMAGE) /*subtype = id of spell, val = value*/\
|
|
|
BONUS_NAME(SPECIAL_PECULIAR_ENCHANT) /*blesses and curses with id = val dependent on unit's level, subtype = 0 or 1 for Coronius*/\
|
|
|
BONUS_NAME(SPECIAL_UPGRADE) /*subtype = base, additionalInfo = target */\
|