Effects

Effects

> Concepts and strategies

An effect can represent two things: a game mechanism or the application of that mechanism.

Effects of weapons and chips

They are used in the description of a weapon or a chip. They can be retrieved with getWeaponEffects and getChipEffects respectively. The result is a list of effects in the form of an array of tables. Each effect consists of:

Type

Type Value Action

EFFECT_ABSOLUTE_SHIELD 6 Provides absolute shielding to an entity, reducing the amount of hit points removed by damage (EFFECT_DAMAGE) by a fixed amount amplified by Resistance.

EFFECT_ABSOLUTE_VULNERABILITY 27 Removes absolute shield from an entity. Is not amplified by any characteristic. Allows to increase the life points removed by damage (EFFECT_DAMAGE) by an absolute amount.

EFFECT_AFTEREFFECT 25 Removes life points from an entity. Amplified by Science. Reduces maximum hit points by 5% of the amount of hit points removed.

EFFECT_ANTIDOTE 23 Removes all poison (EFFECT_POISON) present on a target.

EFFECT_BOOST_MAX_LIFE 12 Increases an entity's Life Points and maximum life points. Amplified by Wisdom.

EFFECT_BUFF_AGILITY 4 Provides Agility to an entity. Amplified by Science.

EFFECT_BUFF_MP 7 Provides Movement Points to an entity. Amplified by Science.

EFFECT_BUFF_RESISTANCE 21 Provides Resistance to an entity. Amplified by Science.

EFFECT_BUFF_STRENGTH 3 Provides Strength to an entity. Amplified by Science.

EFFECT_BUFF_TP 8 Provides Turn Points to an entity. Amplified by Science.

EFFECT_BUFF_WISDOM 22 Provides Wisdom to an entity. Amplified by Science.

EFFECT_DAMAGE 1 Removes life points from an entity. Amplified by strength. Interacts with shields (EFFECT_ABSOLUTE_SHIELD, EFFECT_RELATIVE_SHIELD, EFFECT_VULNERABILITY, EFFECT_ABSOLUTE_VULNERABILITY), life theft (except caster), and damage return (EFFECT_DAMAGE_RETURN). Reduces maximum life points by 5% of the amount of life points removed.

EFFECT_DAMAGE_RETURN 20 Provides damage return to an entity, allowing the removal of life points from entities inflicting damage to the recipient. Amplified by Agility. Reduces maximum life points by 5% of the amount of Life Points removed.

EFFECT_DAMAGE_TO_ABSOLUTE_SHIELD 34 Provides absolute shield (EFFECT_ABSOLUTE_SHIELD) to the entity according to the damage received (EFFECT_DAMAGE)

EFFECT_DAMAGE_TO_STRENGTH 35 Provides strength according to the damage received (EFFECT_DAMAGE)

EFFECT_DEBUFF 9 Reduces the value of all effects present on an entity by a percentage.

EFFECT_HEAL 2 Restores Life Points to an entity, limited by maximum life points. Amplified by Wisdom.

EFFECT_INVERT 11 Switch the position of the launcher with the position of an entity.

EFFECT_KILL 16 Removes all the Life Points of an entity.

EFFECT_LIFE_DAMAGE 28 Removes life points from an entity, depending on a percentage of the caster's life. Interacts with shields (EFFECT_ABSOLUTE_SHIELD, EFFECT_RELATIVE_SHIELD, EFFECT_VULNERABILITY, EFFECT_ABSOLUTE_VULNERABILITY) and damage return (EFFECT_DAMAGE_RETURN). Reduces maximum life points by 5% of the amount of life points removed.

EFFECT_NOVA_DAMAGE 30 Removes max life points. Amplified by Science.

EFFECT_NOVA_DAMAGE_TO_MAGIC 36 Provides Magic according to the Nova damage received (EFFECT_NOVA_DAMAGE).

EFFECT_POISON 13 Removes Life Points from an entity. Amplified by Magic. Reduces maximum life points by 10% of the amount of life points removed.

EFFECT_POISON_TO_SCIENCE 33 Provides Science based on poison damage (EFFECT_POISON) received.

EFFECT_RAW_ABSOLUTE_SHIELD 37 Provides absolute shield to an entity, allowing to reduce the amount of life removed by damage (EFFECT_DAMAGE) by a fixed amount. Not amplifiable.

EFFECT_RAW_BUFF_AGILITY 41 Provides Agility to an entity. Not amplifiable.

EFFECT_RAW_BUFF_MAGIC 39 Provides Magic to an entity. Not amplifiable.

EFFECT_RAW_BUFF_MP 31 Provides Movement Points to an entity. Not amplifiable.

EFFECT_RAW_BUFF_SCIENCE 40 Provides Science to an entity. Not amplifiable.

EFFECT_RAW_BUFF_STRENGTH 38 Provides Strength to an entity. Not amplifiable.

EFFECT_RAW_BUFF_TP 32 Provides Turn Points to an entity. Not amplifiable.

EFFECT_RELATIVE_SHIELD 5 Provides a relative shield, reducing the amount of life points removed by damage (EFFECT_DAMAGE) by a relative amount. Amplified by Resistance.

EFFECT_RESURRECT 15 Resurrects an entity, with a maximum number of HP equal to half the entity's maximum HP before resurrection, and a current number of HP equal to a quarter of the maximum HP before resurrection.

EFFECT_SHACKLE_MAGIC 24 Removes Magic from an entity. Amplified by Magic.

EFFECT_SHACKLE_MP 17 Removes Movement Points from an entity. Amplified by magic.

EFFECT_SHACKLE_STRENGTH 19 Removes Strength from an entity. Amplified by Magic.

EFFECT_SHACKLE_TP 18 Removes Turn Points from an entity. Amplified by Magic.

EFFECT_STEAL_ABSOLUTE_SHIELD 29 Removes a certain amount of absolute shield (EFFECT_ABSOLUTE_SHIELD) from the target entity and returns it to the caster.

EFFECT_SUMMON 14 Summons a bulb. No effect if the team's summoning limit is reached.

EFFECT_TELEPORT 10 Changes the position of the launcher on the map.

EFFECT_VULNERABILITY 26 Removes the shield relative to an entity. Is not amplified by a characteristic. Allows to increase the life points removed by the damage (EFFECT_DAMAGE) by a relative amount.

Min and max values

All effects have a minimum and maximum value. The final value will be drawn randomly between the minimum and the maximum.

If you want to make sure you don't underestimate the value of the effect, use the min. If you feel lucky, aim for the max. Not sure? An average between the min and the max will satisfy you.

It's up to you to decide what value you think you have!

The following formula allows you to choose a confidence coefficient: if it is 0, final_value will be equal to effect_min, if it is 1, final_value will be equal to effect_max. Here it is 0.5 to get the average.

Don't forget that the effect value can be multiplied by 1.3 in case of Critical_Strike!

Duration

This is the number of turns during which the effect will be active on the target.

In the case of one-time effects (heal, poison, damage), a value of 0 means that the effect will take place at the time the effect is cast, and a non-zero value (1 or more) will cause it to take effect at the beginning of the target's turn.

Affected Entities

The entities affected by an effect are encoded in a binary way: if the bit corresponding to a category of entity is 1, this category will be affected by the effect.

Testing whether an entity is vulnerable is then done by using the bitwise AND operator (with symbol &), allowing here to check the state of a single bit of the given number (the == and === operators cannot be used: several bits can be active).

Effect Value (binary) Value (numerical) Affected Entities

EFFECT_TARGET_ALLIES 00010 2 allied entities of the one applying the effect

EFFECT_TARGET_ENEMIES 00001 1 enemies entity that applies the effect

EFFECT_TARGET_CASTER 00100 4 entity applying the effect

EFFECT_TARGET_SUMMONS 10000 16 bulbs

EFFECT_TARGET_NON_SUMMONS 01000 8 leeks (!=bulbs)

For example, if the number representing the entities affected is 14 (in binary: 01110), it means that the entities affected by the effect are the allied bulbs, as well as the one applying the effect. So bulbs and enemies will not be affected.

The following code tests whether an effect affects enemy bulbs:

Modifiers

Like affected entities, modifiers are encoded in binary. These modifiers are applied to the effect to change its target or value.

EFFECT_MODIFIER_STACKABLE 00001 1 The effect is stackable

EFFECT_MODIFIER_MULTIPLIED_BY_TARGETS 00010 2 The effect is multiplied by the number of targets hit in the area

EFFECT_MODIFIER_ON_CASTER 00100 4 Always affects the launcher.

The EFFECT_MODIFIER_STACKABLE modifier is used to indicate that this effect is stackable, i.e. an entity can have multiple effects of this type applied by the same weapon or chip. For example, an entity can have multiple poison effects cast by the same chip, but cannot have two absolute shield effects by the Helmet chip. If you try to reroll Helmet on a leek that already has the effect of Helmet, the original effect will be replaced by the new one. Be careful not to lose protection by using Helmet with your puny bulb on a leek already equipped with a better Helmet!

The EFFECT_MODIFIER_MULTIPLIED_BY_TARGETS modifier multiplies the base value of the effect by the number of entities in the object's AoE.

the modifier EFFECT_MODIFIER_ON_CASTER indicates that this effect will always apply to the launcher. It is present for example on the Glaive(eng)'s Strength boost effect, which allows you to tap in the void to gain Strength.

Effects applied on entities

They are used to report the precise status of an Entity. They can be retrieved with getEffects. The result is a list of effects in the form of an array of tables. It is also possible to retrieve the list of effects applied by an entity with getLaunchedEffects, this can be used for example to decide to eliminate it in case it is an important figure of the opponent. Each effect consists of the following information:

Unlike the effect obtained by getWeaponEffects or getChipEffects, you have here an effect that has already been launched and whose value is known, no estimation to do this time.

Nota : an Entity cannot recieve several time the same effect. For instance if you cast an armor on you and your mettalic bulb cast the same armor on you, it will not add up. The timer will be reset though.

Sequence of effects

At the beginning of each entity's turn, in order:

What this means: