Difference between revisions of "List of all bonus types"

From VCMI Project Wiki
Jump to: navigation, search
m (Update for new subtype formats in 1.4.)
(Replaced content with "{{Template:MovedToWebpage|https://vcmi.eu/modders/Bonus/Bonus_Types/}}")
 
Line 1: Line 1:
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.
+
{{Template:MovedToWebpage|https://vcmi.eu/modders/Bonus/Bonus_Types/}}
 
 
= 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.
 
 
 
{{Bonuses}}
 

Latest revision as of 16:37, 16 July 2024

Logo256.png    Page moved to VCMI-Homepage