Merge pull request #2326 from tool4ever/agrusfix

Fix Agrus Kos free target selection for triggers
This commit is contained in:
Anthony Calosa
2023-01-27 20:51:21 +08:00
committed by GitHub
5 changed files with 6 additions and 21 deletions

View File

@@ -1090,7 +1090,7 @@ public class PlayerControllerAi extends PlayerController {
@Override
public void orderAndPlaySimultaneousSa(List<SpellAbility> activePlayerSAs) {
for (final SpellAbility sa : getAi().orderPlaySa(activePlayerSAs)) {
if (sa.isTrigger()) {
if (sa.isTrigger() && !sa.isCopied()) {
if (prepareSingleSa(sa.getHostCard(), sa, true)) {
ComputerUtil.playStack(sa, player, getGame());
}

View File

@@ -738,11 +738,7 @@ public class DamageDealAi extends DamageAiBase {
dump = true;
}
final int assignedDamage = dump ? dmg : ComputerUtilCombat.getEnoughDamageToKill(c, dmg, source, false, noPrevention);
if (assignedDamage <= dmg) {
sa.addDividedAllocation(c, assignedDamage);
} else {
sa.addDividedAllocation(c, dmg);
}
sa.addDividedAllocation(c, Math.min(assignedDamage, dmg));
dmg = dmg - assignedDamage;
if (dmg <= 0) {
break;
@@ -752,10 +748,12 @@ public class DamageDealAi extends DamageAiBase {
}
} else if ("OppAtTenLife".equals(logic)) {
for (final Player p : ai.getOpponents()) {
if (sa.canTarget(p) && p.getLife() == 10 && tcs.size() < tgt.getMaxTargets(source, sa)) {
if (sa.canTarget(p) && p.getLife() == 10) {
tcs.add(p);
return true;
}
}
return false;
}
// TODO: Improve Damage, we shouldn't just target the player just because we can
if (sa.canTarget(enemy) && tcs.size() < tgt.getMaxTargets(source, sa)) {