Made attack selection only select alive enemies #45

Merged
Jonathan merged 1 commits from bug/attack_dead_enemy into develop 4 weeks ago

@ -12,6 +12,7 @@ public class TargetSelectActionDetail : FighterAction.FighterActionDetail
// settings // settings
public required bool selectEnemy; public required bool selectEnemy;
public required bool selectAlly; public required bool selectAlly;
public required bool aliveOnly;
public VisualRange visualRange = VisualRange.Single; public VisualRange visualRange = VisualRange.Single;
// result // result

@ -13,7 +13,8 @@ public class AllyAttackAction : FighterAction
public TargetSelectActionDetail targetSelect = new() public TargetSelectActionDetail targetSelect = new()
{ {
selectEnemy = true, selectEnemy = true,
selectAlly = false selectAlly = false,
aliveOnly = true
}; };
public MinigameActionDetail minigameDetail = new(); public MinigameActionDetail minigameDetail = new();

@ -117,11 +117,13 @@ public partial class AllFightersVisual : Node
if (targetDetail.selectEnemy) if (targetDetail.selectEnemy)
_fighterVisuals _fighterVisuals
.Where(kv => kv.Key.IsInFormation(HappeningData.enemyFighterFormation)) .Where(kv => kv.Key.IsInFormation(HappeningData.enemyFighterFormation))
.Where(kv => !targetDetail.aliveOnly || kv.Key.IsAlive())// if aliveOnly: take where IsAlive
.ForEach(kv => kv.Value.SetTargetSelectionActive(true)); .ForEach(kv => kv.Value.SetTargetSelectionActive(true));
if (targetDetail.selectAlly) if (targetDetail.selectAlly)
_fighterVisuals _fighterVisuals
.Where(kv => kv.Key.IsInFormation(HappeningData.allyFighterFormation)) .Where(kv => kv.Key.IsInFormation(HappeningData.allyFighterFormation))
.Where(kv => !targetDetail.aliveOnly || kv.Key.IsAlive())// if aliveOnly: take where IsAlive
Review

Können wir für den Moment drinlassen, aber das würde ja auch verhindern, dass man irgendwann mal KO-Allies reviven kann, oder? Weil man sie nie selecten kann.

Können wir für den Moment drinlassen, aber das würde ja auch verhindern, dass man irgendwann mal KO-Allies reviven kann, oder? Weil man sie nie selecten kann.
Jonathan commented 4 weeks ago
Review

Es gibt ja schon aliveOnly. Wenn wir irgendwann nur Tote selektieren wollen, kann man noch ein deadOnly einfügen oder zu einem aliveStatus ändern

Es gibt ja schon `aliveOnly`. Wenn wir irgendwann nur Tote selektieren wollen, kann man noch ein `deadOnly` einfügen oder zu einem `aliveStatus` ändern
.ForEach(kv => kv.Value.SetTargetSelectionActive(true)); .ForEach(kv => kv.Value.SetTargetSelectionActive(true));
} }

Loading…
Cancel
Save