Impact (Bi-Entity Condition Type)

Compares one player's origin impact against the other player's, or against a fixed value.

The bi-entity form of origins:impact. Compares the impact of one side’s origins against the other side’s, so a power can behave differently when it is punching up or punching down.

Type ID: apoli:impact

Fields

FieldTypeDefaultDescription
subjectStringactorWhose impact is the left-hand value: actor or target.
compare_toInteger or impact nameoptionalA fixed value to compare against — 03, or none, low, medium, high. Leave it out to compare against the other entity’s impact instead.
comparisonComparison>=How the subject’s impact is compared to the right-hand value.
offsetDouble0Added to the right-hand value before comparing. "offset": 1 with >= means “at least one step above them”.
layerIdentifieroptionalOnly look at the origin each side has in this layer. Omit to look at every layer.
aggregateStringmaxHow several layers combine when layer is omitted: max, min, sum or average.

false if the side being read is not a player — including the other side, when compare_to is omitted and both are needed.

Examples

Deal bonus damage only to someone weaker than you:

{
    "type": "apoli:action_on_hit",
    "bientity_action": {
        "type": "apoli:damage",
        "amount": 3,
        "damage_type": "minecraft:player_attack"
    },
    "bientity_condition": {
        "type": "apoli:impact",
        "comparison": ">"
    }
}

With no compare_to, the actor’s impact is the left-hand value and the target’s is the right-hand one, so ">" reads as “I outrank them”.

A guard that only triggers when the attacker outclasses you by a full step:

{
    "type": "apoli:impact",
    "subject": "target",
    "comparison": ">=",
    "offset": 1
}

Read as: the target’s impact is at least one higher than the actor’s.

Used as a plain check on one side, by giving it a fixed value — here the target, so a bi-entity action can gate on who it is hitting:

{
    "type": "apoli:impact",
    "subject": "target",
    "comparison": "<=",
    "compare_to": "low"
}