Pure relational predicate behind SohlCombatantLogic.isEnemyOf.
Under the SoHL combat invariant, two combatants are enemies iff they belong to different CombatantGroups. A combatant is never its own enemy. Absent grouping (a null/undefined group id on either side) is treated defensively as enemy.
null
undefined
The group id of the subject combatant.
The group id of the other combatant.
True when both ids refer to the same combatant.
True if the two combatants are enemies.
Pure relational predicate behind SohlCombatantLogic.isEnemyOf.
Under the SoHL combat invariant, two combatants are enemies iff they belong to different CombatantGroups. A combatant is never its own enemy. Absent grouping (a
null/undefinedgroup id on either side) is treated defensively as enemy.