CombatAi Archetypes And Modifiers

From Divinity Engine Wiki
Revision as of 16:40, 12 September 2017 by Rimevan (talk | contribs)
Jump to: navigation, search

The following archetypes already exist in D:OS2 and can have their modifiers overridden:

  • base
  • berserker
  • bomber
  • healer
  • mage
  • melee
  • ranged
  • ranger
  • rogue
  • warrior

The following table lists all modifiers, their default value in the base archetype, and a short desciption on how their used. More information on the italic terms and a basic explanation on how scores work for Ai can be found here:

Modifier Base Value Description
SCORE_MOD 100.0 A general modifier that you probably shouldn't change, but you're welcome to try
MULTIPLIER_DAMAGE_SELF_POS 1.0 Damage score on self that's considered positive (e.g. when removing the Burning status, which 'removes' damage)
MULTIPLIER_DAMAGE_SELF_NEG 1.0 Damage score on self that's considered negative (this is just damage)
MULTIPLIER_DAMAGE_ENEMY_POS 1.0 Same as MULTIPLIER_DAMAGE_SELF_POS, but for enemies (this is just damage)
MULTIPLIER_DAMAGE_ENEMY_NEG 1.0 Same as MULTIPLIER_DAMAGE_SELF_NEG, but for enemies (e.g. when removing the Burning status, which 'removes' damage)
MULTIPLIER_DAMAGE_ALLY_POS 1.0 Same as MULTIPLIER_DAMAGE_SELF_POS, but for allies
MULTIPLIER_DAMAGE_ALLY_NEG 1.5 Same as MULTIPLIER_DAMAGE_SELF_NEG, but for allies
MULTIPLIER_DAMAGE_NEUTRAL_POS 1.0 Same as MULTIPLIER_DAMAGE_SELF_POS, but for neutrals
MULTIPLIER_DAMAGE_NEUTRAL_NEG 1.0 Same as MULTIPLIER_DAMAGE_SELF_NEG, but for neutrals
MULTIPLIER_HEAL_SELF_POS 1.0 Healing score on self that's considered positive (this is just healing)
MULTIPLIER_HEAL_SELF_NEG 1.0 Healing score on self that's considered negative (e.g. when removing the Restoration status, which 'removes' healing)
MULTIPLIER_HEAL_ENEMY_POS 1.0 Same as MULTIPLIER_HEAL_SELF_POS, but for enemies (e.g. when removing the Restoration status, which 'removes' healing)
MULTIPLIER_HEAL_ENEMY_NEG 1.0 Same as MULTIPLIER_HEAL_SELF_NEG, but for enemies (this is just healing)
MULTIPLIER_HEAL_ALLY_POS 1.0 Same as MULTIPLIER_HEAL_SELF_POS, but for allies
MULTIPLIER_HEAL_ALLY_NEG 1.0 Same as MULTIPLIER_HEAL_SELF_NEG, but for allies
MULTIPLIER_HEAL_NEUTRAL_POS 1.0 Same as MULTIPLIER_HEAL_SELF_POS, but for neutrals
MULTIPLIER_HEAL_NEUTRAL_NEG 1.0 Same as MULTIPLIER_HEAL_SELF_NEG, but for neutrals
MULTIPLIER_DOT_SELF_POS 1.0 Same as MULTIPLIER_DAMAGE_SELF_POS, but for damage over time
MULTIPLIER_DOT_SELF_NEG 1.0 Same as MULTIPLIER_DAMAGE_SELF_NEG, but for damage over time
MULTIPLIER_DOT_ENEMY_POS 1.0 Same as MULTIPLIER_DAMAGE_ENEMY_POS, but for damage over time
MULTIPLIER_DOT_ENEMY_NEG 1.0 Same as MULTIPLIER_DAMAGE_ENEMY_NEG, but for damage over time
MULTIPLIER_DOT_ALLY_POS 1.0 Same as MULTIPLIER_DAMAGE_ALLY_POS, but for damage over time
MULTIPLIER_DOT_ALLY_NEG 1.0 Same as MULTIPLIER_DAMAGE_ALLY_NEG, but for damage over time
MULTIPLIER_DOT_NEUTRAL_POS 1.0 Same as MULTIPLIER_NEUTRAL_SELF_POS, but for damage over time
MULTIPLIER_DOT_NEUTRAL_NEG 1.0 Same as MULTIPLIER_NEUTRAL_SELF_NEG, but for damage over time
MULTIPLIER_HOT_SELF_POS 1.0 Same as MULTIPLIER_HEAL_SELF_POS, but for healing over time
MULTIPLIER_HOT_SELF_NEG 1.0 Same as MULTIPLIER_HEAL_SELF_NEG, but for healing over time
MULTIPLIER_HOT_ENEMY_POS 1.0 Same as MULTIPLIER_HEAL_ENEMY_POS, but for healing over time
MULTIPLIER_HOT_ENEMY_NEG 1.0 Same as MULTIPLIER_HEAL_ENEMY_NEG, but for healing over time
MULTIPLIER_HOT_ALLY_POS 1.0 Same as MULTIPLIER_HEAL_ALLY_POS, but for healing over time
MULTIPLIER_HOT_ALLY_NEG 1.0 Same as MULTIPLIER_HEAL_ALLY_NEG, but for healing over time
MULTIPLIER_HOT_NEUTRAL_POS 1.0 Same as MULTIPLIER_NEUTRAL_SELF_POS, but for healing over time
MULTIPLIER_HOT_NEUTRAL_NEG 1.0 Same as MULTIPLIER_NEUTRAL_SELF_NEG, but for healing over time
MULTIPLIER_CONTROL_SELF_POS 1.0 Control score on self that's considered positive. Control score comes from the statuses KnockedDown, Blind, ShacklesOfPain, Fear, Charmed, Incapacitated, and any Consume status that makes you lose control. (e.g. removing KnockedDown)
MULTIPLIER_CONTROL_SELF_NEG 2.0 Control score on self that's considered negative. (e.g. applying KnockedDown)
MULTIPLIER_CONTROL_ENEMY_POS 1.0 Same as MULTIPLIER_CONTROL_SELF_POS, but for enemies (e.g. applying KnockedDown)
MULTIPLIER_CONTROL_ENEMY_NEG 1.0 Same as MULTIPLIER_CONTROL_SELF_NEG, but for enemies (e.g. removing KnockedDown)
MULTIPLIER_CONTROL_ALLY_POS 1.0 Same as MULTIPLIER_CONTROL_SELF_POS, but for allies
MULTIPLIER_CONTROL_ALLY_NEG 2.0 Same as MULTIPLIER_CONTROL_SELF_NEG, but for allies
MULTIPLIER_CONTROL_NEUTRAL_POS 1.0 Same as MULTIPLIER_CONTROL_SELF_POS, but for neutrals
MULTIPLIER_CONTROL_NEUTRAL_NEG 1.0 Same as MULTIPLIER_CONTROL_SELF_NEG, but for neutrals
MULTIPLIER_BOOST_SELF_POS 1.0 Boost score on self that's considered positive (e.g. buffs like resistance increase)
MULTIPLIER_BOOST_SELF_NEG 1.0 Boost score on self that's considered negative (e.g. debuffs like a intelligence penalty)
MULTIPLIER_BOOST_ENEMY_POS 1.0 Same as MULTIPLIER_BOOST_ENEMY_POS, but for enemies (e.g. debuffs like a intelligence penalty)
MULTIPLIER_BOOST_ENEMY_NEG 1.0 Same as MULTIPLIER_BOOST_ENEMY_NEG, but for enemies (e.g. buffs like resistance increase)
MULTIPLIER_BOOST_ALLY_POS 1.0 Same as MULTIPLIER_BOOST_ALLY_POS, but for allies
MULTIPLIER_BOOST_ALLY_NEG 1.0 Same as MULTIPLIER_BOOST_ALLY_NEG, but for allies
MULTIPLIER_BOOST_NEUTRAL_POS 1.0 Same as MULTIPLIER_BOOST_NEUTRAL_POS, but for neutrals
MULTIPLIER_BOOST_NEUTRAL_NEG 1.0 Same as MULTIPLIER_BOOST_NEUTRAL_NEG, but for neutrals
MULTIPLIER_ARMOR_SELF_POS 0.75 Armor (both physical and magical) score on self that's considered positive (e.g. when removing the Acid status, which 'removes' armor damage)
MULTIPLIER_ARMOR_SELF_NEG 0.75 Armor score on self that's considered negative (this is just armor damage)
MULTIPLIER_ARMOR_ENEMY_POS 0.75 Same as MULTIPLIER_ARMOR_ENEMY_POS, but for enemies (this is just armor damage)
MULTIPLIER_ARMOR_ENEMY_NEG 0.75 Same as MULTIPLIER_ARMOR_ENEMY_NEG, but for enemies (e.g. when removing the Acid status, which 'removes' armor damage)
MULTIPLIER_ARMOR_ALLY_POS 0.75 Same as MULTIPLIER_ARMOR_ALLY_POS, but for allies
MULTIPLIER_ARMOR_ALLY_NEG 1.50 Same as MULTIPLIER_ARMOR_ALLY_NEG, but for allies
MULTIPLIER_ARMOR_NEUTRAL_POS 0.75 Same as MULTIPLIER_ARMOR_NEUTRAL_POS, but for neutrals
MULTIPLIER_ARMOR_NEUTRAL_NEG 0.75 Same as MULTIPLIER_ARMOR_NEUTRAL_NEG, but for neutrals
MULTIPLIER_FREE_ACTION 0.25 The 'final' score of an action (combined score of damage, heal, dot, hot, armor, boost, and control) is multiplied by a CostModifier and divided by an ActionCostModifier. If an action is free (meaning 0 AP) the ActionCostModifier will be equal to MULTIPLIER_FREE_ACTION
MULTIPLIER_ACTION_COST_MULTIPLIER 1.00 Used in the ActionCostModifier explained in MULTIPLIER_FREE_ACTION. MULTIPLIER_ACTION_COST_MULTIPLIER is multiplied with the AP cost of the action itself and added to the ActionCostModifier
MULTIPLIER_MOVEMENT_COST_MULTPLIER 0.90 Used in the ActionCostModifier explained in MULTIPLIER_FREE_ACTION. MULTIPLIER_MOVEMENT_COST_MULTIPLIER is multiplied with the AP cost of the movement needed to execute the action and added to the ActionCostModifier
MULTIPLIER_INVISIBLE_MOVEMENT_COST_MULTPLIER 0.30 If the player is sneaking or invisible this modifier is used on top of MULTIPLIER_MOVEMENT_COST_MULTIPLIER
MULTIPLIER_SOURCE_COST_MULTIPLIER 1.00 Used in the ActionCostModifier explained in MULTIPLIER_FREE_ACTION. MULTIPLIER_SOURCE_COST_MULTIPLIER is multiplied with the SP cost of the action itself and added to the ActionCostModifier
MULTIPLIER_COOLDOWN_MULTIPLIER 0.01 Used in the CostModifier explained in MULTIPLIER_FREE_ACTION. MULTIPLIER_COOLDOWN_MULTIPLIER is used in combination with the cooldown of the action and a higher MULTIPLIER_COOLDOWN_MULTIPLIER results in a lower CostModifier
MULTIPLIER_LOW_ITEM_AMOUNT_MULTIPLIER 0.45 Used in the CostModifier explained in MULTIPLIER_FREE_ACTION. MULTIPLIER_LOW_ITEM_AMOUNT_MULTIPLIER is used in combination with MULTIPLIER_HIGH_ITEM_AMOUNT_MULTIPLIER and we lerp between the LOW and HIGH value based on the health of the source character before multiplying it with the CostModifier. This way we make sure that lower health characters are more likely to use items
MULTIPLIER_HIGH_ITEM_AMOUNT_MULTIPLIER 1.00 See MULTIPLIER_LOW_ITEM_AMOUNT_MULTIPLIER
MULTIPLIER_CANNOT_EXECUTE_THIS_TURN 0.50 Used in the CostModifier explained in MULTIPLIER_FREE_ACTION. MULTIPLIER_CANNOT_EXECUTE_THIS_TURN is multiplied with the CostModifier if the action can not be executed this turn
MULTIPLIER_TARGET_MY_ENEMY 1.50 Used whtn the target of the action is attacking the source character
MULTIPLIER_TARGET_MY_HOSTILE 3.00 Used when the target of the action is already under attack by the source character
MULTIPLIER_TARGET_SUMMON 0.35 Used when the target is a summon
MULTIPLIER_TARGET_AGGRO_MARKED 5.00 Used when the target has the status AggroMarked
MULTIPLIER_TARGET_HOSTILE_COUNT_ONE 0.50 Used when the target already is under attack by another character
MULTIPLIER_TARGET_HOSTILE_COUNT_TWO_OR_MORE 0.25 Used when the target already is under attack by 2 or more characters
MULTIPLIER_TARGET_IN_SIGHT 1.05 Used when the target is in sight from the current position of the source character
MULTIPLIER_TARGET_INCAPACITATED 0.20 Used when the character is incapacitated (e.g. due to Frozen status)
MULTIPLIER_TARGET_KNOCKED_DOWN 1.25 Used when the character has the KnockedDown status. Replaces MULTIPLIER_TARGET_INCAPACITATED (because KnockedDown is also incapacitates)
MULTIPLIER_TARGET_PREFERRED 20.00 Used when the target has the AI_PREFERRED_TARGET tag
MULTIPLIER_TARGET_UNPREFERRED 0.20 Used when the target has the AI_UNPREFERRED_TARGET tag
ENDPOS_NEARBY_DISTANCE 6.00 The maximum distance that's considered to be 'nearby'. Is used in combination with several other modifiers
MULTIPLIER_ENDPOS_ALLIES_NEARBY 0.00 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_ALLIES_NEARBY is multiplied with the amount of allies nearby (defined by ENDPOS_NEARBY_DISTANCE) and added to the PositionScore
MULTIPLIER_ENDPOS_ENEMIES_NEARBY 0.00 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_ENEMIES_NEARBY is multiplied with the amount of enemies nearby (defined by ENDPOS_NEARBY_DISTANCE) and added to the PositionScore
MULTIPLIER_ENDPOS_STENCH 0.25 Used when the target has the Stench talen
MULTIPLIER_ENDPOS_FLANKED 0.05 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_FLANKED is multiplied with the amount of characters that would flank the source character and added to the PositionScore
MULTIPLIER_ENDPOS_HEIGHT_DIFFERENCE 0.002 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_HEIGHT_DIFFERENCE is multiplied with the height difference between the current and the new position and added to the PositionScore
MULTIPLIER_ENDPOS_TURNED_INVISIBLE 0.01 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_TURNED_INVISIBLE is used when invisible for the difference between the old and new position and substracted from the PositionScore (going invisible and not moving is bad)
MULTIPLIER_ENDPOS_NOT_IN_AIHINT 0.01 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_NOT_IN_AIHINT is substracted from the PositionScore if it's not in an AiHint (and if it's not forced, because then the action would be completely aborted)
MULTIPLIER_ENDPOS_NOT_IN_SMOKE 0.00 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_NOT_IN_SMOKE is added the the PositionScore when the position is not inside a smoke surface
MULTIPLIER_ENDPOS_NOT_IN_DANGEROUS_SURFACE 0.10 Used when calculating the PositionScore. MULTIPLIER_ENDPOS_NOT_IN_DANGEROUS_SURFACE is added the the PositionScore when the position is inside a dangerous surface that has positive effects (e.g. when you heal from a poison surface)
DANGEROUS_ITEM_NEARBY 0.00 Used when calculating the PositionScore. DANGEROUS_ITEM_NEARBY is multiplied by all dangerous items (e.g. barrels) nearby (defined by ENDPOS_NEARBY_DISTANCE) and added to the PositionScore