Difference between revisions of "List of all bonus types"
(→MOVEMENT) |
InfernoDevil (talk | contribs) m (Update for new subtype formats in 1.4.) |
||
(47 intermediate revisions by 8 users not shown) | |||
Line 3: | Line 3: | ||
= General-purpose bonuses = | = General-purpose bonuses = | ||
=== NONE === | === NONE === | ||
− | === MORALE === | + | === MORALE, LUCK === |
− | = | + | *val = value |
=== MAGIC_SCHOOL_SKILL === | === MAGIC_SCHOOL_SKILL === | ||
− | eg. for magic plains terrain | + | eg. for magic plains terrain and for magic school secondary skills |
− | *subtype: school of magic (0 | + | *subtype: school of magic (0 for all, 1 for air, 2 for fire, 4 for water, 8 for earth before 1.4, spellSchool.air / spellSchool.fire / spellSchool.water / spellSchool.earth after 1.4) |
− | * | + | *val - level |
=== NO_TYPE === | === NO_TYPE === | ||
Line 16: | Line 16: | ||
= Hero bonuses = | = Hero bonuses = | ||
=== MOVEMENT === | === MOVEMENT === | ||
− | both water / land | + | Before 1.2: both water / land |
+ | After 1.2: subtype 0 for sea, subtype 1 for land | ||
+ | After 1.4: subtype = heroMovementLand / heroMovementSea | ||
+ | * val = number of movement points (100 points for a tile) | ||
+ | |||
+ | === LAND_MOVEMENT, SEA_MOVEMENT (before 1.2) === | ||
* val = number of movement points (100 points for a tile) | * val = number of movement points (100 points for a tile) | ||
− | |||
− | |||
=== WATER_WALKING === | === WATER_WALKING === | ||
− | + | Before 1.4: subtype 1 without penalty, 2 with penalty | |
+ | After 1.4: val = Penalty to movement, in percent | ||
=== FLYING_MOVEMENT === | === FLYING_MOVEMENT === | ||
− | + | Before 1.4: subtype 1 without penalty, 2 with penalty | |
+ | After 1.4: val = Penalty to movement, in percent | ||
+ | |||
+ | === NO_TERRAIN_PENALTY (since 0.98f) === | ||
+ | Hero does not get movement penalty on certain terrain type (Nomads ability). | ||
+ | *subtype - type of terrain | ||
=== PRIMARY_SKILL === | === PRIMARY_SKILL === | ||
Line 31: | Line 40: | ||
* additional info if set: 1 - only melee, 2 - only distance | * additional info if set: 1 - only melee, 2 - only distance | ||
− | === SIGHT_RADIOUS === | + | === SIGHT_RADIOUS (before 1.2) === |
+ | Additional bonus to range of sight (Used for Scouting secondary skill) | ||
+ | * val = distance in tiles | ||
+ | |||
+ | === SIGHT_RADIUS (after 1.2) === | ||
+ | Sight radius of a hero. Used for base radius + Scouting secondary skill | ||
+ | * val = distance in tiles | ||
+ | |||
=== MANA_REGENERATION === | === MANA_REGENERATION === | ||
− | points per turn apart from normal (1 + mysticism) | + | Before 1.2: points per turn apart from normal (1 + mysticism) |
+ | After 1.2: points per turn (used for artifacts, global 1 point/turn regeneration and mysticism secondary skill) | ||
+ | |||
=== FULL_MANA_REGENERATION === | === FULL_MANA_REGENERATION === | ||
− | all mana points are replenished every day | + | all mana points are replenished every day |
+ | |||
=== NONEVIL_ALIGNMENT_MIX === | === NONEVIL_ALIGNMENT_MIX === | ||
− | good and neutral creatures can be mixed without morale penalty | + | good and neutral creatures can be mixed without morale penalty |
− | === SECONDARY_SKILL_PREMY === | + | |
+ | === SECONDARY_SKILL_PREMY (before 1.2) === | ||
% | % | ||
=== SURRENDER_DISCOUNT === | === SURRENDER_DISCOUNT === | ||
% | % | ||
+ | |||
=== IMPROVED_NECROMANCY === | === IMPROVED_NECROMANCY === | ||
− | allows Necropolis units other than skeletons to be raised by necromancy | + | Before 1.2: allows Necropolis units other than skeletons to be raised by necromancy |
+ | After 1.2: determine units which is raised by necromancy skill. | ||
+ | * subtype: creature raised | ||
+ | * val: Necromancer power | ||
+ | * addInfo: limiter by Necromancer power | ||
+ | * Example (from Necromancy skill): | ||
+ | "power" : { | ||
+ | "type" : "IMPROVED_NECROMANCY", | ||
+ | "subtype" : "creature.skeleton", | ||
+ | "addInfo" : 0 | ||
+ | } | ||
+ | |||
+ | ===LEARN_BATTLE_SPELL_CHANCE (since 1.2)=== | ||
+ | *subtype: 0 - from enemy hero, 1 - from entire battlefield (not implemented now). (Removed in 1.4) | ||
+ | *val: chance to learn spell after battle victory | ||
+ | Note: used for Eagle Eye skill | ||
+ | |||
+ | ===LEARN_BATTLE_SPELL_LEVEL_LIMIT (since 1.2)=== | ||
+ | *subtype: school (-1 for all), others TODO | ||
+ | *val: maximum learning level | ||
+ | Note: used for Eagle Eye skill | ||
+ | |||
+ | ===LEARN_MEETING_SPELL_LIMIT (since 1.2)=== | ||
+ | *subtype: school (-1 for all), others TODO | ||
+ | *val: maximum learning level for learning a spell during hero exchange | ||
+ | Note: used for Scholar skill | ||
+ | |||
+ | ===ROUGH_TERRAIN_DISCOUNT (since 1.2)=== | ||
+ | *val: Non-road terrain discount in movement points | ||
+ | Note: used for Pathfinding skill | ||
+ | |||
+ | ===WANDERING_CREATURES_JOIN_BONUS (since 1.2)=== | ||
+ | *val: value than used as level of diplomacy inside joining probability calculating | ||
+ | |||
+ | ===BEFORE_BATTLE_REPOSITION (since 1.2)=== | ||
+ | *val: number of hexes - 1 than should be used as repositionable hexes before battle (like H3 tactics skill) | ||
+ | |||
+ | ===BEFORE_BATTLE_REPOSITION_BLOCK (since 1.2)=== | ||
+ | *val: value than block opposite tactics, if value of opposite tactics is less than this value of your hero (for 1.2, double-side tactics is not working). | ||
+ | |||
+ | ===HERO_EXPERIENCE_GAIN_PERCENT (since 1.2)=== | ||
+ | *val: how many experience hero gains from any source. There is a global effect which set it by 100 (global value) and it is used as learning skill | ||
+ | |||
+ | ===UNDEAD_RAISE_PERCENTAGE (since 1.2)=== | ||
+ | *val: Percentage of killed enemy creatures to be raised after battle as undead. | ||
+ | Note: used for Necromancy secondary skill, Necromancy artifacts and town buildings. | ||
+ | |||
+ | ===MANA_PER_KNOWLEDGE (since 1.2)=== | ||
+ | *val: Percentage rate of translating 10 hero knowledge to mana, used for intelligence and global bonus | ||
+ | |||
+ | ===HERO_GRANTS_ATTACKS (since 1.2)=== | ||
+ | *subtype: creature to have additional attacks | ||
+ | *val: Number of attacks | ||
+ | Note: used for Artillery secondary skill | ||
+ | |||
+ | ===BONUS_DAMAGE_PERCENTAGE (since 1.2)=== | ||
+ | *subtype: creature to have additional damage percentage | ||
+ | *val: percentage to be granted | ||
+ | Note: used for Artillery secondary skill | ||
+ | |||
+ | ===BONUS_DAMAGE_CHANCE (since 1.2)=== | ||
+ | *subtype: creature to have additional damage chance (will have BONUS_DAMAGE_PERCENTAGE applied before attack concluded) | ||
+ | *val: chance in percent | ||
+ | |||
+ | ===MAX_LEARNABLE_SPELL_LEVEL (since 1.2)=== | ||
+ | *val: maximum level of spells than hero can learn from any source. This bonus have priority above any other LEARN_*SPELL_LEVEL bonuses. | ||
+ | Note: used as global effect and as wisdom secondary skill. | ||
+ | |||
== Hero specialties == | == Hero specialties == | ||
− | |||
− | |||
− | |||
=== SPECIAL_SPELL_LEV === | === SPECIAL_SPELL_LEV === | ||
− | *subtype = | + | *subtype = identifier of affected spell |
*additionalInfo = value per level in percent | *additionalInfo = value per level in percent | ||
=== SPELL_DAMAGE === | === SPELL_DAMAGE === | ||
+ | Since 1.2: used for Sorcery secondary skill | ||
*val = value in percent | *val = value in percent | ||
Line 60: | Line 146: | ||
*val = value in percent (Luna, Ciele) | *val = value in percent (Luna, Ciele) | ||
− | === SPECIAL_BLESS_DAMAGE === | + | === SPECIAL_BLESS_DAMAGE (before 1.2) === |
*subtype = spell (bless by default) | *subtype = spell (bless by default) | ||
*val = value per level in percent | *val = value per level in percent | ||
− | === MAXED_SPELL === | + | === MAXED_SPELL (before 1.2) === |
+ | Spell always has expert effects but not expert range | ||
*subtype = id | *subtype = id | ||
=== SPECIAL_PECULIAR_ENCHANT === | === SPECIAL_PECULIAR_ENCHANT === | ||
blesses and curses with id = val dependent on unit's level | blesses and curses with id = val dependent on unit's level | ||
− | + | Before 1.4: subtype = 0 or 1 for Coronius | |
+ | After 1.4: subtype - affected spell identifier | ||
=== SPECIAL_UPGRADE === | === SPECIAL_UPGRADE === | ||
− | * | + | *subtype = base creature ID |
− | * | + | *addInfo = target creature ID |
= Artifact bonuses = | = Artifact bonuses = | ||
=== SPELL_DURATION === | === SPELL_DURATION === | ||
=== AIR_SPELL_DMG_PREMY, EARTH_SPELL_DMG_PREMY, FIRE_SPELL_DMG_PREMY, WATER_SPELL_DMG_PREMY === | === AIR_SPELL_DMG_PREMY, EARTH_SPELL_DMG_PREMY, FIRE_SPELL_DMG_PREMY, WATER_SPELL_DMG_PREMY === | ||
− | === BLOCK_MORALE, BLOCK_LUCK === | + | |
+ | Effect of original Orb artifacts. | ||
+ | |||
+ | * val - '''percent''' bonus to air / earth / fire / water spell damage. | ||
+ | |||
+ | === BLOCK_MORALE, BLOCK_LUCK (removed in 1.2) === | ||
=== SPELL === | === SPELL === | ||
− | + | Hero knows spell, even if this spell is banned in map options or set to "special". | |
*subtype - spell id | *subtype - spell id | ||
*val - skill level (0 - 3) | *val - skill level (0 - 3) | ||
Line 86: | Line 179: | ||
=== SPELLS_OF_LEVEL === | === SPELLS_OF_LEVEL === | ||
hero knows all spells of given level | hero knows all spells of given level | ||
− | *subtype - level | + | *subtype - level (in form "spellLevelX" after 1.4, where X is desired level) |
*val - skill level | *val - skill level | ||
+ | Does not grant spells banned in map options. | ||
=== FIRE_SPELLS, AIR_SPELLS, WATER_SPELLS, EARTH_SPELLS === | === FIRE_SPELLS, AIR_SPELLS, WATER_SPELLS, EARTH_SPELLS === | ||
− | All spells of this school are granted to hero, eg. by Tomes of Magic | + | All spells of this school are granted to hero, eg. by Tomes of Magic. |
+ | Does not grant spells banned in map options. | ||
=== GENERATE_RESOURCE === | === GENERATE_RESOURCE === | ||
Line 105: | Line 200: | ||
*val - percentage | *val - percentage | ||
− | === | + | === BATTLE_NO_FLEEING === |
− | for Shackles of War | + | for Shackles of War |
+ | |||
=== NEGATE_ALL_NATURAL_IMMUNITIES === | === NEGATE_ALL_NATURAL_IMMUNITIES === | ||
Orb of Vulnerability | Orb of Vulnerability | ||
Line 125: | Line 221: | ||
=== CREATURE_DAMAGE === | === CREATURE_DAMAGE === | ||
− | + | Before 1.4: subtype 0 for both, 1 for min, 2 for max | |
+ | After 1.4: subtype = creatureDamageBoth / creatureDamageMin / creatureDamageMax | ||
=== SHOTS === | === SHOTS === | ||
Line 134: | Line 231: | ||
== Static abilities and immunities == | == Static abilities and immunities == | ||
=== NON_LIVING === | === NON_LIVING === | ||
− | eg. | + | eg. golems, elementals |
− | === UNDEAD === | + | === GARGOYLE === |
+ | Gargoyle is special than NON_LIVING, cannot be rised or healed | ||
+ | === UNDEAD === | ||
+ | === SIEGE_WEAPON === | ||
+ | War machines have it. They cannot be raised or healed, have no morale and don't move. | ||
=== DRAGON_NATURE === | === DRAGON_NATURE === | ||
− | === KING1, KING2, KING3 === | + | === KING1, KING2, KING3 (before 1.2) === |
Creatures take more damage from basic, advanced or expert Slayer effect. | Creatures take more damage from basic, advanced or expert Slayer effect. | ||
− | + | === KING (after 1.2) === | |
+ | Creatures take more damage from Slayer effect than have greater or equal value than KING bonus. | ||
=== FEARLESS === | === FEARLESS === | ||
=== NO_LUCK === | === NO_LUCK === | ||
Line 145: | Line 247: | ||
=== NO_MORALE === | === NO_MORALE === | ||
eg. when fighting on cursed ground | eg. when fighting on cursed ground | ||
− | === SELF_MORALE === | + | === SELF_MORALE (before 1.2) === |
eg. minotaur | eg. minotaur | ||
− | === SELF_LUCK === | + | === SELF_LUCK (before 1.2) === |
halfling | halfling | ||
== Combat abilities == | == Combat abilities == | ||
=== FLYING === | === FLYING === | ||
− | + | Before 1.4: subtype 0 for regular flying, 1 - teleporting | |
+ | After 1.4: subtype = movementFlying / movementTeleporting | ||
=== SHOOTER === | === SHOOTER === | ||
Line 162: | Line 265: | ||
=== JOUSTING === | === JOUSTING === | ||
− | for champions | + | for champions |
+ | *val: percentage of charge | ||
+ | |||
=== HATE === | === HATE === | ||
eg. angels hate devils, | eg. angels hate devils, | ||
Line 183: | Line 288: | ||
in % (value) eg. behemots | in % (value) eg. behemots | ||
=== GENERAL_DAMAGE_REDUCTION === | === GENERAL_DAMAGE_REDUCTION === | ||
− | shield | + | Before 1.4: subtype 0 for melee damage (shield), 1 for ranged damage (air shield effect), -1 for all damage (armorer secondary skill, since 1.2) |
+ | After 1.4: subtype = damageTypeMelee / damageTypeRanged / damageTypeAll | ||
+ | |||
+ | === PERCENTAGE_DAMAGE_BOOST (since 1.2) === | ||
+ | Before 1.4: subtype -1 for any damage (not used), 0 for melee damage (offence), 1 for ranged damage (archery) | ||
+ | After 1.4: subtype = damageTypeMelee / damageTypeRanged | ||
+ | |||
=== GENERAL_ATTACK_REDUCTION === | === GENERAL_ATTACK_REDUCTION === | ||
eg. while stoned or blinded - in % | eg. while stoned or blinded - in % | ||
Line 201: | Line 312: | ||
=== BLOCKS_RETALIATION === | === BLOCKS_RETALIATION === | ||
eg. naga | eg. naga | ||
+ | |||
+ | === SOUL_STEAL === | ||
+ | WoG ability. Gains new creatures for each enemy killed | ||
+ | *val: number of units gained per enemy killed | ||
+ | Before 1.4: subtype 0 means gained units survive after battle, 1 means they do not | ||
+ | After 1.4: subtype = soulStealPermanent / soulStealBattle | ||
+ | |||
+ | === TRANSMUTATION === | ||
+ | WoG ability. % chance to transform attacked unit to other type | ||
+ | *val: chance to trigger in % | ||
+ | Before 1.4: subtype 0 for resurrection based on HP, 1 for that based on unit count | ||
+ | After 1.4: subtype = transmutationPerHealth / transmutationPerUnit | ||
+ | *addInfo: additional info - target creature ID (attacker default) | ||
+ | |||
+ | === SUMMON_GUARDIANS === | ||
+ | WoG ability. Summon guardians surrounding desired stack | ||
+ | *val - amount in % of stack count | ||
+ | *subtype = creature ID | ||
+ | |||
+ | === RANGED_RETALIATION === | ||
+ | Allows shooters to perform ranged retaliation | ||
+ | *no additional parameters | ||
+ | |||
+ | === BLOCKS_RANGED_RETALIATION === | ||
+ | Disallows ranged retaliation for shooter unit, BLOCKS_RETALIATION bonus is for melee retaliation only | ||
+ | *no additional parameters | ||
+ | |||
+ | === WIDE_BREATH === | ||
+ | Dragon breath affecting multiple nearby hexes | ||
+ | *no additional parameters | ||
+ | |||
+ | === FIRST_STRIKE === | ||
+ | First counterattack, then attack if possible | ||
+ | *no additional parameters | ||
+ | |||
+ | === SHOOTS_ALL_ADJACENT === | ||
+ | H4 Cyclops-like shoot (attacks all hexes neighboring with target) without spell-like mechanics | ||
+ | *no additional parameters | ||
+ | |||
+ | === DESTRUCTION === | ||
+ | Kills extra units after hit | ||
+ | Before 1.4: subtype 0 to kill percentage of units, 1 to kill amount | ||
+ | After 1.4: subtype = destructionKillPercentage / destructionKillAmount | ||
+ | *val: chance in percent to trigger | ||
+ | *addInfo: amount/percentage to kill | ||
+ | |||
+ | === LIMITED_SHOOTING_RANGE (since VCMI 1.2) === | ||
+ | Limits shooting range and/or changes long range penalty | ||
+ | *val: max shooting range in hexes | ||
+ | *addInfo: optional - sets range for "broken arrow" half damage mechanic - default is 10 | ||
== Special abilities == | == Special abilities == | ||
− | === CATAPULT === | + | === CATAPULT === |
+ | *subtype: (since 1.2) ability to use when catapulting (usually it contains ballistics parameters, ability for standard catapult and affected by ballistics is core:spell.catapultShot) | ||
+ | |||
+ | === CATAPULT_EXTRA_SHOTS === | ||
+ | *subtype: (since 1.2) ability to be affected. Ability of CATAPULT bonus should match. Used for ballistics secondary skill with subtype of core:spell.catapultShot. | ||
+ | *val: (since 1.2) ability level to be used with catapult. Additional shots configured in ability level, not here. | ||
+ | *val: (before 1.2) number of additional shots, requires CATAPULT bonus to work | ||
+ | |||
+ | === MANUAL_CONTROL === | ||
+ | * manually control warmachine with | ||
+ | *id = subtype | ||
+ | *val = chance | ||
+ | |||
=== CHANGES_SPELL_COST_FOR_ALLY === | === CHANGES_SPELL_COST_FOR_ALLY === | ||
eg. mage | eg. mage | ||
Line 215: | Line 388: | ||
eg. unicorns | eg. unicorns | ||
*value - resistance bonus in % for adjacent creatures | *value - resistance bonus in % for adjacent creatures | ||
+ | |||
=== HP_REGENERATION === | === HP_REGENERATION === | ||
creature regenerates val HP every new round | creature regenerates val HP every new round | ||
− | + | * val: amount of HP regeneration per round | |
− | |||
− | |||
− | |||
=== MANA_DRAIN === | === MANA_DRAIN === | ||
value - spell points per turn | value - spell points per turn | ||
+ | |||
=== MANA_CHANNELING === | === MANA_CHANNELING === | ||
eg. familiar | eg. familiar | ||
Line 229: | Line 401: | ||
=== LIFE_DRAIN === | === LIFE_DRAIN === | ||
− | * val - precentage of life drained | + | * val - precentage of life drained |
=== DOUBLE_DAMAGE_CHANCE === | === DOUBLE_DAMAGE_CHANCE === | ||
Line 238: | Line 410: | ||
=== HEALER === | === HEALER === | ||
First aid tent | First aid tent | ||
+ | *subtype: (since 1.2) ability used for healing. | ||
+ | |||
=== FIRE_SHIELD === | === FIRE_SHIELD === | ||
=== MAGIC_MIRROR === | === MAGIC_MIRROR === | ||
Line 247: | Line 421: | ||
=== DEATH_STARE === | === DEATH_STARE === | ||
− | + | Before 1.4: subtype 0 for gorgon, 1 for commander | |
− | *val: if subtype is 0, its the (average) percentage of killed creatures related to size of attacking stack | + | After 1.4: subtype = deathStareGorgon / deathStareCommander |
+ | *val: if subtype is 0 or deathStareGorgon, its the (average) percentage of killed creatures related to size of attacking stack; if it is 1 or deathStareCommander, it means the number of creatures to kill (total amount of killed creatures is (attacker level / defender level) * val) | ||
+ | |||
+ | |||
+ | === SPECIAL_CRYSTAL_GENERATION === | ||
+ | Crystal dragon crystal generation | ||
+ | |||
+ | === NO_SPELLCAST_BY_DEFAULT === | ||
+ | Spellcast will not be default attack option for this creature | ||
== Creature spellcasting and activated abilities == | == Creature spellcasting and activated abilities == | ||
Line 257: | Line 439: | ||
*additional info - weighted chance | *additional info - weighted chance | ||
use SPECIFIC_SPELL_POWER, CREATURE_SPELL_POWER or CREATURE_ENCHANT_POWER for calculating the power | use SPECIFIC_SPELL_POWER, CREATURE_SPELL_POWER or CREATURE_ENCHANT_POWER for calculating the power | ||
+ | (since 1.2 those bonuses can be used for calculating CATAPULT and HEALER bonuses) | ||
=== ENCHANTER === | === ENCHANTER === | ||
Line 263: | Line 446: | ||
*subtype - spell id | *subtype - spell id | ||
*additionalInfo - cooldown (number of turns) | *additionalInfo - cooldown (number of turns) | ||
+ | |||
=== RANDOM_SPELLCASTER === | === RANDOM_SPELLCASTER === | ||
eg. master genie | eg. master genie | ||
Line 270: | Line 454: | ||
*subtype - spell id | *subtype - spell id | ||
*value - chance % | *value - chance % | ||
− | *additional info | + | *additional info - [X, Y] |
− | * | + | *X - spell level |
+ | *Y = 0 - all attacks, 1 - shot only, 2 - melee only | ||
+ | |||
=== SPELL_BEFORE_ATTACK === | === SPELL_BEFORE_ATTACK === | ||
*subtype - spell id | *subtype - spell id | ||
*value - chance % | *value - chance % | ||
− | *additional info | + | *additional info - [X, Y] |
− | * | + | *X - spell level |
+ | *Y = 0 - all attacks, 1 - shot only, 2 - melee only | ||
+ | |||
=== CASTS === | === CASTS === | ||
how many times creature can cast activated spell | how many times creature can cast activated spell | ||
+ | |||
=== SPECIFIC_SPELL_POWER === | === SPECIFIC_SPELL_POWER === | ||
− | *value used for Thunderbolt and Resurrection casted by units | + | *value used for Thunderbolt and Resurrection casted by units, also for Healing secondary skill (for core:spell.firstAid used by First Aid tent) |
− | *subtype - spell id | + | *subtype - spell id |
+ | |||
=== CREATURE_SPELL_POWER === | === CREATURE_SPELL_POWER === | ||
*value per unit, divided by 100 (so faerie Dragons have 500) | *value per unit, divided by 100 (so faerie Dragons have 500) | ||
=== CREATURE_ENCHANT_POWER === | === CREATURE_ENCHANT_POWER === | ||
total duration of spells casted by creature | total duration of spells casted by creature | ||
− | |||
− | |||
− | |||
− | |||
=== REBIRTH === | === REBIRTH === | ||
− | *val - percent of | + | *val - percent of total stack HP restored |
− | + | Before 1.4: subtype 0 for regular rebirth, 1 means at least one unit would rebirth (sacred Phoenix) | |
+ | After 1.4: subtype = rebirthRegular / rebirthSpecial | ||
+ | |||
===ENCHANTED=== | ===ENCHANTED=== | ||
Stack is permanently enchanted with spell subID of skill level = val, if val > 3 then spell is mass and has level of val-3. | Stack is permanently enchanted with spell subID of skill level = val, if val > 3 then spell is mass and has level of val-3. | ||
Line 305: | Line 493: | ||
eg. golems | eg. golems | ||
*value - reduction in % | *value - reduction in % | ||
− | + | Before 1.4: subtype - spell school; -1 for all, 0 for air, 1 for fire, 2 for water, 3 for earth | |
+ | After 1.4: subtype - spell school identifier | ||
=== MORE_DAMAGE_FROM_SPELL === | === MORE_DAMAGE_FROM_SPELL === | ||
*value - damage increase in % | *value - damage increase in % | ||
Line 311: | Line 500: | ||
=== FIRE_IMMUNITY,WATER_IMMUNITY, EARTH_IMMUNITY, AIR_IMMUNITY === | === FIRE_IMMUNITY,WATER_IMMUNITY, EARTH_IMMUNITY, AIR_IMMUNITY === | ||
*subtype 0 - all, 1 - all except positive, 2 - only damage spells | *subtype 0 - all, 1 - all except positive, 2 - only damage spells | ||
+ | === SPELL_SCHOOL_IMMUNITY (Since 1.4) === | ||
+ | Affected unit is immune to all spells of a specified spell school | ||
+ | * subtype - spell school to which this unit is immune to | ||
=== MIND_IMMUNITY === | === MIND_IMMUNITY === | ||
Creature is immune to all mind spells. | Creature is immune to all mind spells. | ||
=== SPELL_IMMUNITY === | === SPELL_IMMUNITY === | ||
*subtype - spell id | *subtype - spell id | ||
+ | * ainfo - 0 - normal, 1 - absolute | ||
+ | |||
=== DIRECT_DAMAGE_IMMUNITY === | === DIRECT_DAMAGE_IMMUNITY === | ||
WoG ability. Creature is completely immune to damage spells. | WoG ability. Creature is completely immune to damage spells. | ||
=== RECEPTIVE === | === RECEPTIVE === | ||
WoG ability. Creature accepts all friendly spells even though it would be normally immune to it. | WoG ability. Creature accepts all friendly spells even though it would be normally immune to it. | ||
+ | |||
+ | == Deprecated creature abilities == | ||
+ | === DAEMON_SUMMONING === | ||
+ | pit lord - removed in VCMI 1.2 as part of major battles refactoring | ||
+ | *subtype - type of creatures | ||
+ | *val - hp per unit | ||
= Spell effects = | = Spell effects = | ||
Line 334: | Line 534: | ||
=== ALWAYS_MINIMUM_DAMAGE === | === ALWAYS_MINIMUM_DAMAGE === | ||
unit does its minimum damage from range | unit does its minimum damage from range | ||
− | + | Before 1.4: subtype -1 for any attack, 0 for only melee attacks, 1 for only ranged attacks | |
*value: additional damage penalty (it'll subtracted from dmg) | *value: additional damage penalty (it'll subtracted from dmg) | ||
*additional info - multiplicative anti-bonus for dmg in % [eg 20 means that creature will inflict 80% of normal minimal dmg] | *additional info - multiplicative anti-bonus for dmg in % [eg 20 means that creature will inflict 80% of normal minimal dmg] | ||
Line 340: | Line 540: | ||
=== ALWAYS_MAXIMUM_DAMAGE === | === ALWAYS_MAXIMUM_DAMAGE === | ||
eg. bless effect | eg. bless effect | ||
− | + | Before 1.4: subtype -1 for any attack, 0 for only melee attacks, 1 for only ranged attacks | |
*value: additional damage | *value: additional damage | ||
*additional info - multiplicative bonus for dmg in % | *additional info - multiplicative bonus for dmg in % | ||
Line 349: | Line 549: | ||
=== HYPNOTIZED === | === HYPNOTIZED === | ||
+ | |||
+ | === NO_RETALIATION === | ||
+ | Eg. when blinded or paralyzed. | ||
{{Bonuses}} | {{Bonuses}} |
Revision as of 15:09, 17 December 2023
The bonuses were grouped according to their original purpose. The bonus system allows them to propagate freely betwen the nodes, however they may not be recognized properly beyond the scope of original use.
Contents
- 1 General-purpose bonuses
- 2 Hero bonuses
- 2.1 MOVEMENT
- 2.2 LAND_MOVEMENT, SEA_MOVEMENT (before 1.2)
- 2.3 WATER_WALKING
- 2.4 FLYING_MOVEMENT
- 2.5 NO_TERRAIN_PENALTY (since 0.98f)
- 2.6 PRIMARY_SKILL
- 2.7 SIGHT_RADIOUS (before 1.2)
- 2.8 SIGHT_RADIUS (after 1.2)
- 2.9 MANA_REGENERATION
- 2.10 FULL_MANA_REGENERATION
- 2.11 NONEVIL_ALIGNMENT_MIX
- 2.12 SECONDARY_SKILL_PREMY (before 1.2)
- 2.13 SURRENDER_DISCOUNT
- 2.14 IMPROVED_NECROMANCY
- 2.15 LEARN_BATTLE_SPELL_CHANCE (since 1.2)
- 2.16 LEARN_BATTLE_SPELL_LEVEL_LIMIT (since 1.2)
- 2.17 LEARN_MEETING_SPELL_LIMIT (since 1.2)
- 2.18 ROUGH_TERRAIN_DISCOUNT (since 1.2)
- 2.19 WANDERING_CREATURES_JOIN_BONUS (since 1.2)
- 2.20 BEFORE_BATTLE_REPOSITION (since 1.2)
- 2.21 BEFORE_BATTLE_REPOSITION_BLOCK (since 1.2)
- 2.22 HERO_EXPERIENCE_GAIN_PERCENT (since 1.2)
- 2.23 UNDEAD_RAISE_PERCENTAGE (since 1.2)
- 2.24 MANA_PER_KNOWLEDGE (since 1.2)
- 2.25 HERO_GRANTS_ATTACKS (since 1.2)
- 2.26 BONUS_DAMAGE_PERCENTAGE (since 1.2)
- 2.27 BONUS_DAMAGE_CHANCE (since 1.2)
- 2.28 MAX_LEARNABLE_SPELL_LEVEL (since 1.2)
- 2.29 Hero specialties
- 3 Artifact bonuses
- 3.1 SPELL_DURATION
- 3.2 AIR_SPELL_DMG_PREMY, EARTH_SPELL_DMG_PREMY, FIRE_SPELL_DMG_PREMY, WATER_SPELL_DMG_PREMY
- 3.3 BLOCK_MORALE, BLOCK_LUCK (removed in 1.2)
- 3.4 SPELL
- 3.5 SPELLS_OF_LEVEL
- 3.6 FIRE_SPELLS, AIR_SPELLS, WATER_SPELLS, EARTH_SPELLS
- 3.7 GENERATE_RESOURCE
- 3.8 CREATURE_GROWTH
- 3.9 CREATURE_GROWTH_PERCENT
- 3.10 BATTLE_NO_FLEEING
- 3.11 NEGATE_ALL_NATURAL_IMMUNITIES
- 3.12 OPENING_BATTLE_SPELL
- 3.13 FREE_SHIP_BOARDING
- 3.14 WHIRLPOOL_PROTECTION
- 4 Creature bonuses
- 5 Creature abilities
- 5.1 Static abilities and immunities
- 5.2 Combat abilities
- 5.2.1 FLYING
- 5.2.2 SHOOTER
- 5.2.3 CHARGE_IMMUNITY
- 5.2.4 ADDITIONAL_ATTACK
- 5.2.5 UNLIMITED_RETALIATIONS
- 5.2.6 ADDITIONAL_RETALIATION
- 5.2.7 JOUSTING
- 5.2.8 HATE
- 5.2.9 SPELL_LIKE_ATTACK
- 5.2.10 THREE_HEADED_ATTACK
- 5.2.11 ATTACKS_ALL_ADJACENT
- 5.2.12 TWO_HEX_ATTACK_BREATH
- 5.2.13 RETURN_AFTER_STRIKE
- 5.2.14 ENEMY_DEFENCE_REDUCTION
- 5.2.15 GENERAL_DAMAGE_REDUCTION
- 5.2.16 PERCENTAGE_DAMAGE_BOOST (since 1.2)
- 5.2.17 GENERAL_ATTACK_REDUCTION
- 5.2.18 DEFENSIVE_STANCE
- 5.2.19 NO_DISTANCE_PENALTY
- 5.2.20 NO_MELEE_PENALTY
- 5.2.21 NO_WALL_PENALTY
- 5.2.22 FREE_SHOOTING
- 5.2.23 BLOCKS_RETALIATION
- 5.2.24 SOUL_STEAL
- 5.2.25 TRANSMUTATION
- 5.2.26 SUMMON_GUARDIANS
- 5.2.27 RANGED_RETALIATION
- 5.2.28 BLOCKS_RANGED_RETALIATION
- 5.2.29 WIDE_BREATH
- 5.2.30 FIRST_STRIKE
- 5.2.31 SHOOTS_ALL_ADJACENT
- 5.2.32 DESTRUCTION
- 5.2.33 LIMITED_SHOOTING_RANGE (since VCMI 1.2)
- 5.3 Special abilities
- 5.3.1 CATAPULT
- 5.3.2 CATAPULT_EXTRA_SHOTS
- 5.3.3 MANUAL_CONTROL
- 5.3.4 CHANGES_SPELL_COST_FOR_ALLY
- 5.3.5 CHANGES_SPELL_COST_FOR_ENEMY
- 5.3.6 SPELL_RESISTANCE_AURA
- 5.3.7 HP_REGENERATION
- 5.3.8 MANA_DRAIN
- 5.3.9 MANA_CHANNELING
- 5.3.10 LIFE_DRAIN
- 5.3.11 DOUBLE_DAMAGE_CHANCE
- 5.3.12 FEAR
- 5.3.13 HEALER
- 5.3.14 FIRE_SHIELD
- 5.3.15 MAGIC_MIRROR
- 5.3.16 ACID_BREATH
- 5.3.17 DEATH_STARE
- 5.3.18 SPECIAL_CRYSTAL_GENERATION
- 5.3.19 NO_SPELLCAST_BY_DEFAULT
- 5.4 Creature spellcasting and activated abilities
- 5.5 Spell immunities
- 5.6 Deprecated creature abilities
- 6 Spell effects
- 7 Bonus string constants
- 8 Additional links
General-purpose bonuses
NONE
MORALE, LUCK
- val = value
MAGIC_SCHOOL_SKILL
eg. for magic plains terrain and for magic school secondary skills
- subtype: school of magic (0 for all, 1 for air, 2 for fire, 4 for water, 8 for earth before 1.4, spellSchool.air / spellSchool.fire / spellSchool.water / spellSchool.earth after 1.4)
- val - level
NO_TYPE
DARKNESS
- val = radius
Hero bonuses
MOVEMENT
Before 1.2: both water / land After 1.2: subtype 0 for sea, subtype 1 for land After 1.4: subtype = heroMovementLand / heroMovementSea
- val = number of movement points (100 points for a tile)
LAND_MOVEMENT, SEA_MOVEMENT (before 1.2)
- val = number of movement points (100 points for a tile)
WATER_WALKING
Before 1.4: subtype 1 without penalty, 2 with penalty After 1.4: val = Penalty to movement, in percent
FLYING_MOVEMENT
Before 1.4: subtype 1 without penalty, 2 with penalty After 1.4: val = Penalty to movement, in percent
NO_TERRAIN_PENALTY (since 0.98f)
Hero does not get movement penalty on certain terrain type (Nomads ability).
- subtype - type of terrain
PRIMARY_SKILL
- uses subtype to pick skill
- additional info if set: 1 - only melee, 2 - only distance
SIGHT_RADIOUS (before 1.2)
Additional bonus to range of sight (Used for Scouting secondary skill)
- val = distance in tiles
SIGHT_RADIUS (after 1.2)
Sight radius of a hero. Used for base radius + Scouting secondary skill
- val = distance in tiles
MANA_REGENERATION
Before 1.2: points per turn apart from normal (1 + mysticism) After 1.2: points per turn (used for artifacts, global 1 point/turn regeneration and mysticism secondary skill)
FULL_MANA_REGENERATION
all mana points are replenished every day
NONEVIL_ALIGNMENT_MIX
good and neutral creatures can be mixed without morale penalty
SECONDARY_SKILL_PREMY (before 1.2)
%
SURRENDER_DISCOUNT
%
IMPROVED_NECROMANCY
Before 1.2: allows Necropolis units other than skeletons to be raised by necromancy After 1.2: determine units which is raised by necromancy skill.
- subtype: creature raised
- val: Necromancer power
- addInfo: limiter by Necromancer power
- Example (from Necromancy skill):
"power" : { "type" : "IMPROVED_NECROMANCY", "subtype" : "creature.skeleton", "addInfo" : 0 }
LEARN_BATTLE_SPELL_CHANCE (since 1.2)
- subtype: 0 - from enemy hero, 1 - from entire battlefield (not implemented now). (Removed in 1.4)
- val: chance to learn spell after battle victory
Note: used for Eagle Eye skill
LEARN_BATTLE_SPELL_LEVEL_LIMIT (since 1.2)
- subtype: school (-1 for all), others TODO
- val: maximum learning level
Note: used for Eagle Eye skill
LEARN_MEETING_SPELL_LIMIT (since 1.2)
- subtype: school (-1 for all), others TODO
- val: maximum learning level for learning a spell during hero exchange
Note: used for Scholar skill
ROUGH_TERRAIN_DISCOUNT (since 1.2)
- val: Non-road terrain discount in movement points
Note: used for Pathfinding skill
WANDERING_CREATURES_JOIN_BONUS (since 1.2)
- val: value than used as level of diplomacy inside joining probability calculating
BEFORE_BATTLE_REPOSITION (since 1.2)
- val: number of hexes - 1 than should be used as repositionable hexes before battle (like H3 tactics skill)
BEFORE_BATTLE_REPOSITION_BLOCK (since 1.2)
- val: value than block opposite tactics, if value of opposite tactics is less than this value of your hero (for 1.2, double-side tactics is not working).
HERO_EXPERIENCE_GAIN_PERCENT (since 1.2)
- val: how many experience hero gains from any source. There is a global effect which set it by 100 (global value) and it is used as learning skill
UNDEAD_RAISE_PERCENTAGE (since 1.2)
- val: Percentage of killed enemy creatures to be raised after battle as undead.
Note: used for Necromancy secondary skill, Necromancy artifacts and town buildings.
MANA_PER_KNOWLEDGE (since 1.2)
- val: Percentage rate of translating 10 hero knowledge to mana, used for intelligence and global bonus
HERO_GRANTS_ATTACKS (since 1.2)
- subtype: creature to have additional attacks
- val: Number of attacks
Note: used for Artillery secondary skill
BONUS_DAMAGE_PERCENTAGE (since 1.2)
- subtype: creature to have additional damage percentage
- val: percentage to be granted
Note: used for Artillery secondary skill
BONUS_DAMAGE_CHANCE (since 1.2)
- subtype: creature to have additional damage chance (will have BONUS_DAMAGE_PERCENTAGE applied before attack concluded)
- val: chance in percent
MAX_LEARNABLE_SPELL_LEVEL (since 1.2)
- val: maximum level of spells than hero can learn from any source. This bonus have priority above any other LEARN_*SPELL_LEVEL bonuses.
Note: used as global effect and as wisdom secondary skill.
Hero specialties
SPECIAL_SPELL_LEV
- subtype = identifier of affected spell
- additionalInfo = value per level in percent
SPELL_DAMAGE
Since 1.2: used for Sorcery secondary skill
- val = value in percent
SPECIFIC_SPELL_DAMAGE
- subtype = id of spell
- val = value in percent (Luna, Ciele)
SPECIAL_BLESS_DAMAGE (before 1.2)
- subtype = spell (bless by default)
- val = value per level in percent
MAXED_SPELL (before 1.2)
Spell always has expert effects but not expert range
- subtype = id
SPECIAL_PECULIAR_ENCHANT
blesses and curses with id = val dependent on unit's level Before 1.4: subtype = 0 or 1 for Coronius After 1.4: subtype - affected spell identifier
SPECIAL_UPGRADE
- subtype = base creature ID
- addInfo = target creature ID
Artifact bonuses
SPELL_DURATION
AIR_SPELL_DMG_PREMY, EARTH_SPELL_DMG_PREMY, FIRE_SPELL_DMG_PREMY, WATER_SPELL_DMG_PREMY
Effect of original Orb artifacts.
- val - percent bonus to air / earth / fire / water spell damage.
BLOCK_MORALE, BLOCK_LUCK (removed in 1.2)
SPELL
Hero knows spell, even if this spell is banned in map options or set to "special".
- subtype - spell id
- val - skill level (0 - 3)
SPELLS_OF_LEVEL
hero knows all spells of given level
- subtype - level (in form "spellLevelX" after 1.4, where X is desired level)
- val - skill level
Does not grant spells banned in map options.
FIRE_SPELLS, AIR_SPELLS, WATER_SPELLS, EARTH_SPELLS
All spells of this school are granted to hero, eg. by Tomes of Magic. Does not grant spells banned in map options.
GENERATE_RESOURCE
- subtype - resource type
- val - daily income
CREATURE_GROWTH
for legion artifacts
- value - weekly growth bonus,
- subtype - monster level if aplicable
CREATURE_GROWTH_PERCENT
increases growth of all units in all towns,
- val - percentage
BATTLE_NO_FLEEING
for Shackles of War
NEGATE_ALL_NATURAL_IMMUNITIES
Orb of Vulnerability
OPENING_BATTLE_SPELL
casts a spell at expert level at beginning of battle
- subtype - spell id
- val - spell power
FREE_SHIP_BOARDING
movement points preserved with ship boarding and landing
WHIRLPOOL_PROTECTION
hero won't lose army when teleporting through whirlpool
Creature bonuses
STACK_HEALTH
STACKS_SPEED
- additional info - percent of speed bonus applied after direct bonuses; >0 - added, <0 - subtracted to this part
CREATURE_DAMAGE
Before 1.4: subtype 0 for both, 1 for min, 2 for max After 1.4: subtype = creatureDamageBoth / creatureDamageMin / creatureDamageMax
SHOTS
EXP_MULTIPLIER
- val - percent of additional exp gained by stack / commander (base value 100)
Creature abilities
Static abilities and immunities
NON_LIVING
eg. golems, elementals
GARGOYLE
Gargoyle is special than NON_LIVING, cannot be rised or healed
UNDEAD
SIEGE_WEAPON
War machines have it. They cannot be raised or healed, have no morale and don't move.
DRAGON_NATURE
KING1, KING2, KING3 (before 1.2)
Creatures take more damage from basic, advanced or expert Slayer effect.
KING (after 1.2)
Creatures take more damage from Slayer effect than have greater or equal value than KING bonus.
FEARLESS
NO_LUCK
eg. when fighting on cursed ground
NO_MORALE
eg. when fighting on cursed ground
SELF_MORALE (before 1.2)
eg. minotaur
SELF_LUCK (before 1.2)
halfling
Combat abilities
FLYING
Before 1.4: subtype 0 for regular flying, 1 - teleporting After 1.4: subtype = movementFlying / movementTeleporting
SHOOTER
CHARGE_IMMUNITY
ADDITIONAL_ATTACK
UNLIMITED_RETALIATIONS
ADDITIONAL_RETALIATION
- value - number of additional retaliations
JOUSTING
for champions
- val: percentage of charge
HATE
eg. angels hate devils,
- subtype - ID of hated creature,
- val - damage bonus percent
SPELL_LIKE_ATTACK
range is taken from spell, but damage from creature; eg. magog, lich
- subtype - spell,
- value - spell level
THREE_HEADED_ATTACK
eg. cerberus
ATTACKS_ALL_ADJACENT
eg. hydra
TWO_HEX_ATTACK_BREATH
eg. dragons
RETURN_AFTER_STRIKE
ENEMY_DEFENCE_REDUCTION
in % (value) eg. behemots
GENERAL_DAMAGE_REDUCTION
Before 1.4: subtype 0 for melee damage (shield), 1 for ranged damage (air shield effect), -1 for all damage (armorer secondary skill, since 1.2) After 1.4: subtype = damageTypeMelee / damageTypeRanged / damageTypeAll
PERCENTAGE_DAMAGE_BOOST (since 1.2)
Before 1.4: subtype -1 for any damage (not used), 0 for melee damage (offence), 1 for ranged damage (archery) After 1.4: subtype = damageTypeMelee / damageTypeRanged
GENERAL_ATTACK_REDUCTION
eg. while stoned or blinded - in %
- subtype: -1 - any damage, 0 - melee damage, 1 - ranged damage
DEFENSIVE_STANCE
WoG ability.
- val - bonus to defense while defending
NO_DISTANCE_PENALTY
NO_MELEE_PENALTY
Ranged stack does full damage in melee.
NO_WALL_PENALTY
FREE_SHOOTING
stacks can shoot even if otherwise blocked (sharpshooter's bow effect)
BLOCKS_RETALIATION
eg. naga
SOUL_STEAL
WoG ability. Gains new creatures for each enemy killed
- val: number of units gained per enemy killed
Before 1.4: subtype 0 means gained units survive after battle, 1 means they do not After 1.4: subtype = soulStealPermanent / soulStealBattle
TRANSMUTATION
WoG ability. % chance to transform attacked unit to other type
- val: chance to trigger in %
Before 1.4: subtype 0 for resurrection based on HP, 1 for that based on unit count After 1.4: subtype = transmutationPerHealth / transmutationPerUnit
- addInfo: additional info - target creature ID (attacker default)
SUMMON_GUARDIANS
WoG ability. Summon guardians surrounding desired stack
- val - amount in % of stack count
- subtype = creature ID
RANGED_RETALIATION
Allows shooters to perform ranged retaliation
- no additional parameters
BLOCKS_RANGED_RETALIATION
Disallows ranged retaliation for shooter unit, BLOCKS_RETALIATION bonus is for melee retaliation only
- no additional parameters
WIDE_BREATH
Dragon breath affecting multiple nearby hexes
- no additional parameters
FIRST_STRIKE
First counterattack, then attack if possible
- no additional parameters
SHOOTS_ALL_ADJACENT
H4 Cyclops-like shoot (attacks all hexes neighboring with target) without spell-like mechanics
- no additional parameters
DESTRUCTION
Kills extra units after hit Before 1.4: subtype 0 to kill percentage of units, 1 to kill amount After 1.4: subtype = destructionKillPercentage / destructionKillAmount
- val: chance in percent to trigger
- addInfo: amount/percentage to kill
LIMITED_SHOOTING_RANGE (since VCMI 1.2)
Limits shooting range and/or changes long range penalty
- val: max shooting range in hexes
- addInfo: optional - sets range for "broken arrow" half damage mechanic - default is 10
Special abilities
CATAPULT
- subtype: (since 1.2) ability to use when catapulting (usually it contains ballistics parameters, ability for standard catapult and affected by ballistics is core:spell.catapultShot)
CATAPULT_EXTRA_SHOTS
- subtype: (since 1.2) ability to be affected. Ability of CATAPULT bonus should match. Used for ballistics secondary skill with subtype of core:spell.catapultShot.
- val: (since 1.2) ability level to be used with catapult. Additional shots configured in ability level, not here.
- val: (before 1.2) number of additional shots, requires CATAPULT bonus to work
MANUAL_CONTROL
- manually control warmachine with
- id = subtype
- val = chance
CHANGES_SPELL_COST_FOR_ALLY
eg. mage
- value - reduction in mana points
CHANGES_SPELL_COST_FOR_ENEMY
eg. Silver Pegasus
- value - mana points penalty
SPELL_RESISTANCE_AURA
eg. unicorns
- value - resistance bonus in % for adjacent creatures
HP_REGENERATION
creature regenerates val HP every new round
- val: amount of HP regeneration per round
MANA_DRAIN
value - spell points per turn
MANA_CHANNELING
eg. familiar
- value in %
LIFE_DRAIN
- val - precentage of life drained
DOUBLE_DAMAGE_CHANCE
eg. dread knight
- value in %
FEAR
HEALER
First aid tent
- subtype: (since 1.2) ability used for healing.
FIRE_SHIELD
MAGIC_MIRROR
- value - chance of redirecting in %
ACID_BREATH
- val - damage per creature after attack,
- additional info - chance in percent
DEATH_STARE
Before 1.4: subtype 0 for gorgon, 1 for commander After 1.4: subtype = deathStareGorgon / deathStareCommander
- val: if subtype is 0 or deathStareGorgon, its the (average) percentage of killed creatures related to size of attacking stack; if it is 1 or deathStareCommander, it means the number of creatures to kill (total amount of killed creatures is (attacker level / defender level) * val)
SPECIAL_CRYSTAL_GENERATION
Crystal dragon crystal generation
NO_SPELLCAST_BY_DEFAULT
Spellcast will not be default attack option for this creature
Creature spellcasting and activated abilities
SPELLCASTER
Creature gain activated ability to cast a spell. Example: Archangel, Faerie Dragon
- subtype - spell id
- value - level of school
- additional info - weighted chance
use SPECIFIC_SPELL_POWER, CREATURE_SPELL_POWER or CREATURE_ENCHANT_POWER for calculating the power (since 1.2 those bonuses can be used for calculating CATAPULT and HEALER bonuses)
ENCHANTER
for Enchanter spells
- val - skill level
- subtype - spell id
- additionalInfo - cooldown (number of turns)
RANDOM_SPELLCASTER
eg. master genie
- val - spell mastery level
SPELL_AFTER_ATTACK
- subtype - spell id
- value - chance %
- additional info - [X, Y]
- X - spell level
- Y = 0 - all attacks, 1 - shot only, 2 - melee only
SPELL_BEFORE_ATTACK
- subtype - spell id
- value - chance %
- additional info - [X, Y]
- X - spell level
- Y = 0 - all attacks, 1 - shot only, 2 - melee only
CASTS
how many times creature can cast activated spell
SPECIFIC_SPELL_POWER
- value used for Thunderbolt and Resurrection casted by units, also for Healing secondary skill (for core:spell.firstAid used by First Aid tent)
- subtype - spell id
CREATURE_SPELL_POWER
- value per unit, divided by 100 (so faerie Dragons have 500)
CREATURE_ENCHANT_POWER
total duration of spells casted by creature
REBIRTH
- val - percent of total stack HP restored
Before 1.4: subtype 0 for regular rebirth, 1 means at least one unit would rebirth (sacred Phoenix) After 1.4: subtype = rebirthRegular / rebirthSpecial
ENCHANTED
Stack is permanently enchanted with spell subID of skill level = val, if val > 3 then spell is mass and has level of val-3. Enchantment is refreshed every turn.
Spell immunities
LEVEL_SPELL_IMMUNITY
creature is immune to all spell with level below or equal to value of this bonus
MAGIC_RESISTANCE
- value - percent
SPELL_DAMAGE_REDUCTION
eg. golems
- value - reduction in %
Before 1.4: subtype - spell school; -1 for all, 0 for air, 1 for fire, 2 for water, 3 for earth After 1.4: subtype - spell school identifier
MORE_DAMAGE_FROM_SPELL
- value - damage increase in %
- subtype - spell id
FIRE_IMMUNITY,WATER_IMMUNITY, EARTH_IMMUNITY, AIR_IMMUNITY
- subtype 0 - all, 1 - all except positive, 2 - only damage spells
SPELL_SCHOOL_IMMUNITY (Since 1.4)
Affected unit is immune to all spells of a specified spell school
- subtype - spell school to which this unit is immune to
MIND_IMMUNITY
Creature is immune to all mind spells.
SPELL_IMMUNITY
- subtype - spell id
- ainfo - 0 - normal, 1 - absolute
DIRECT_DAMAGE_IMMUNITY
WoG ability. Creature is completely immune to damage spells.
RECEPTIVE
WoG ability. Creature accepts all friendly spells even though it would be normally immune to it.
Deprecated creature abilities
DAEMON_SUMMONING
pit lord - removed in VCMI 1.2 as part of major battles refactoring
- subtype - type of creatures
- val - hp per unit
Spell effects
POISON
- val - max health penalty from poison possible
SLAYER
- value - spell level
BIND_EFFECT
doesn't do anything particular, works as a marker
FORGETFULL
forgetfulness spell effect
- value - level
NOT_ACTIVE
ALWAYS_MINIMUM_DAMAGE
unit does its minimum damage from range Before 1.4: subtype -1 for any attack, 0 for only melee attacks, 1 for only ranged attacks
- value: additional damage penalty (it'll subtracted from dmg)
- additional info - multiplicative anti-bonus for dmg in % [eg 20 means that creature will inflict 80% of normal minimal dmg]
ALWAYS_MAXIMUM_DAMAGE
eg. bless effect Before 1.4: subtype -1 for any attack, 0 for only melee attacks, 1 for only ranged attacks
- value: additional damage
- additional info - multiplicative bonus for dmg in %
ATTACKS_NEAREST_CREATURE
while in berserk
IN_FRENZY
- value - level
HYPNOTIZED
NO_RETALIATION
Eg. when blinded or paralyzed.
Bonus string constants
- List of all bonus types
- List of bonus value types
- List of bonus range types
- List of bonus duration types
- List of bonus sources
- List of bonus limiters
- List of bonus propagators
- List of bonus updaters