A list of Attack +3 (1d6+2) becomes less useful the more attacks there are. A better format would be "Bite, claw x2 (probable miss)", with scratch/hit/wound/injury/death if a hit is more probable. This would require changing the Target preview, ChanceNodes, StatsScreen, Attack selection... which may turn out to be a decent-size change as it would involve having Target and null-Target scenarios API-wise.
BattleAi-side, this would enable culling Attacks rather than branching them into the decision tree (or at least for Attacks without damage Effects) - it's not ideal but it's trivial enough to warrant the performance gain. In the case of Effects, cull down to one per effect (plus one for non-Effect, if any).
To achieve obth goals, this would involve a numeric and textual return. AttackResolver would seem like the most likely unit for all that.
A list of Attack +3 (1d6+2) becomes less useful the more attacks there are. A better format would be "Bite, claw x2 (probable miss)", with
scratch/hit/wound/injury/deathif a hit is more probable. This would require changing the Target preview, ChanceNodes, StatsScreen, Attack selection... which may turn out to be a decent-size change as it would involve having Target and null-Target scenarios API-wise.BattleAi-side, this would enable culling Attacks rather than branching them into the decision tree (or at least for Attacks without damage Effects) - it's not ideal but it's trivial enough to warrant the performance gain. In the case of Effects, cull down to one per effect (plus one for non-Effect, if any).
To achieve obth goals, this would involve a numeric and textual return. AttackResolver would seem like the most likely unit for all that.