engine.resistance¶
Reference documentation of the engine.resistance module of the openage modding API.
resistance.Resistance¶
Resistance(Entity):
Generalization object for all resistances.
Standard behavior without specializations:
Effects are only applied if the resistor has a matching
Resistanceobject. Matching can be further defined depending on the concrete effect.Resisting costs no attribute points.
resistance.continuous.ContinuousResistance¶
ContinuousResistance(Resistance):
Generalization object for resistances to continuous effects.
resistance.continuous.flat_attribute_change.FlatAttributeChange¶
FlatAttributeChange(ContinuousResistance):
type : AttributeChangeType
block_rate : set(AttributeRate)
Generalization object for resistances to continuous FlatAttributeChange effects.
Note that you cannot use this resistance object directly and have to choose one of the specializations FlatAttributeChangeDecrease or FlatAttributeChangeIncrease.
type
Effects of type Effect.ContinuousEffect.FlatAttributeChange are matched to this resistance if they store the same AttributeChangeType object in their type member. Otherwise, the effect will not be applied.
block_rate
The per-second attribute rate that is blocked by the resistor. The net change rate (applied rate) is calculated by subtracting the effector’s change_rate from the resistor’s block_rate.
The applied rate is further bound by the interval defined by min_change_rate and max_change_rate in the effect, if these members are set.
resistance.continuous.flat_attribute_change.type.FlatAttributeChangeDecrease¶
FlatAttributeChangeDecrease(FlatAttributeChange):
Specialization of the continuous FlatAttributeChange resistance that blocks the effector’s attribute decrease rate.
resistance.continuous.flat_attribute_change.type.FlatAttributeChangeIncrease¶
FlatAttributeChangeIncrease(FlatAttributeChange):
Specialization of the continuous FlatAttributeChange resistance that blocks the effector’s attribute increase rate.
resistance.continuous.type.Lure¶
Lure(ContinuousResistance):
type : LureType
Resistance to the Lure effect.
type
Effects of type Effect.ContinuousEffect.Lure are matched to this resistance if they store the same LureType object in their type member. Otherwise, the effect will not be applied.
resistance.continuous.time_relative_attribute_change.TimeRelativeAttributeChange¶
TimeRelativeAttributeChange(ContinuousResistance):
type : AttributeChangeType
Generalization object for resistances to continuous TimeRelativeAttributeChange effects.
Note that you cannot use this resistance object directly and have to choose one of the specializations TimeRelativeAttributeDecrease or TimeRelativeAttributeIncrease.
type
Effects of type Effect.ContinuousEffect.TimeRelativeAttributeChange are matched to this resistance if they store the same AttributeChangeType object in their type member. Otherwise, the effect will not be applied.
resistance.continuous.time_relative_attribute_change.type.TimeRelativeAttributeDecrease¶
TimeRelativeAttributeDecrease(TimeRelativeAttributeChange):
Specialization of the continuous TimeRelativeAttributeChange resistance that decreases the resistor’s current attribute value in a fixed amount of time relative to their attribute’s max_value.
resistance.continuous.time_relative_attribute_change.type.TimeRelativeAttributeIncrease¶
TimeRelativeAttributeIncrease(TimeRelativeAttributeChange):
Specialization of the continuous TimeRelativeAttributeChange resistance that increases the resistor’s current attribute value in a fixed amount of time relative to their attribute’s max_value.
resistance.continuous.time_relative_progress.TimeRelativeProgress¶
TimeRelativeProgress(ContinuousResistance):
type : ProgressType
Generalization object for resistances to continuous TimeRelativeProgress effects.
Note that you cannot use this resistance object directly and have to choose one of the specializations TimeRelativeProgressDecrease or TimeRelativeProgressIncrease.
type
Effects of type Effect.ContinuousEffect.TimeRelativeProgress are matched to this resistance if they store the same ProgressType object in their type member. Otherwise, the effect will not be applied.
resistance.continuous.time_relative_progress.type.TimeRelativeProgressDecrease¶
TimeRelativeProgressDecrease(TimeRelativeProgress):
Specialization of the continuous TimeRelativeProgress resistance that decreases the resistor’s progress amount in a fixed amount of time relative to 100%.
resistance.continuous.time_relative_progress.type.TimeRelativeProgressIncrease¶
TimeRelativeProgressIncrease(TimeRelativeProgress):
Specialization of the continuous TimeRelativeProgress resistance that increases the resistor’s progress amount in a fixed amount of time relative to 100%.
resistance.discrete.DiscreteResistance¶
DiscreteResistance(Resistance):
Generalization object for resistances to discrete effects.
resistance.discrete.convert.Convert¶
Convert(DiscreteResistance):
type : ConvertType
chance_resist : float
Resistance to the Convert effect.
type
Effects of type Effect.ContinuousEffect.Convert are matched to this resistance if they store the same ConvertType object in their type member. Otherwise, the effect will not be applied.
chance_resist
Percentage amount subtracted from the effector’s success chance. The percentage should be stored as a float value between 0.0 and 1.0. The net chance (applied chance) of success is calculated by subtracting the effector’s chance_success from the resistor’s chance_resist.
Any value below 0.0 is an automatic fail, while any value above 1.0 is an automatic success. The applied chance is further bound by the interval defined by min_chance_success and max_chance_success in the effect, if these members are set.
resistance.discrete.convert.type.AoE2Convert¶
AoE2Convert(Convert):
guaranteed_resist_rounds : int
protected_rounds : int
protection_round_recharge_time : float
Resistance to the AoE2Convert effect.
guaranteed_resist_rounds Number of rounds at the start where the success chance is guaranteed to be 0.0.
protected_rounds Number of rounds that are needed for the success chance to always be 1.0.
protection_round_recharge_time Time it takes until one protected round is added back to the number of protected rounds.
When the effector stops applying the effect, the number of protected rounds is increased until they reach their maximum value again. Running out of the range of the effector does not count as stopping the effect application.
resistance.discrete.flat_attribute_change.FlatAttributeChange¶
FlatAttributeChange(DiscreteResistance):
type : AttributeChangeType
block_value : set(AttributeAmount)
Generalization object for resistances to discrete FlatAttributeChange effects.
Note that you cannot use this resistance object directly and have to choose one of the specializations FlatAttributeChangeDecrease or FlatAttributeChangeIncrease.
type
Effects of type Effect.DiscreteEffect.FlatAttributeChange are matched to this resistance if they store the same AttributeChangeType object in their type member. Otherwise, the effect will not be applied.
change_value
The flat attribute amount that is blocked by the resistor. The net change value (applied value) is calculated by subtracting the effector’s change_value from the resistor’s block_value.
The applied value is further bound by the interval defined by min_change_value and max_change_value in the effect, if these members are set.
resistance.discrete.flat_attribute_change.type.FlatAttributeChangeDecrease¶
FlatAttributeChangeDecrease(FlatAttributeChange):
Specialization of the discrete FlatAttributeChange resistance that blocks the effector’s attribute decrease value.
resistance.discrete.flat_attribute_change.type.FlatAttributeChangeIncrease¶
FlatAttributeChangeIncrease(FlatAttributeChange):
Specialization of the discrete FlatAttributeChange resistance that blocks the effector’s attribute increase value.
resistance.discrete.type.MakeHarvestable¶
MakeHarvestable(DiscreteResistance):
resource_spot : ResourceSpot
harvest_conditions : set(HarvestableRequirement)
Resistance to the MakeHarvestable effect.
resource_spot
Resource spot that should be made harvestable. Effects of type Effect.DiscreteEffect.MakeHarvestable are matched to this resistance if they store the same ResourceSpot object in their resource_spot member. Additionally, the target needs to have a Harvestable ability that contains the resource spot.
harvest_conditions The requirements under which the resource spots will be made harvestable.
resistance.discrete.type.SendToContainer¶
SendToContainer(DiscreteResistance):
type : SendToContainerType
search_range : float
ignore_containers : set(Container)
Resistance to the SendToContainer effect.
type
Effects of type Effect.DiscreteEffect.SendToContainer are matched to this resistance if they store the same SendToContainerType object in their type member. Otherwise, the effect will not be applied.
search_range The range in which the resistor will search for a container.
ignore_containers Excludes the containers from the set when searching for a target container.
resistance.specialization.CostResistance¶
AttributeCostResistance(Resistance):
cost : Cost
Can be inherited to make the resistance cost attribute points or resources.
cost The amount of attribute points or resources removed from the resistor.