Support duplicate objects per effect (#4518)

* Fix Serrated Biskelion

* Fix Angel of Destiny

* Fix Diviner Spirit
This commit is contained in:
tool4ever
2024-01-17 11:02:04 +01:00
committed by GitHub
parent 1d92e7f915
commit 96b3d07051
26 changed files with 134 additions and 69 deletions

View File

@@ -738,12 +738,11 @@ public class SpecialCardAi {
// Grothama, All-Devouring
public static class GrothamaAllDevouring {
public static boolean consider(final Player ai, final SpellAbility sa) {
final Card source = sa.getHostCard();
final Card devourer = AbilityUtils.getDefinedCards(source, sa.getParam("ExtraDefined"), sa).getFirst(); // maybe just getOriginalHost()?
final Card fighter = sa.getHostCard();
final Card devourer = sa.getOriginalHost();
if (ai.getTeamMates(true).contains(devourer.getController())) {
return false; // TODO: Currently, the AI doesn't ever fight its own (or allied) Grothama for card draw. This can be improved.
}
final Card fighter = AbilityUtils.getDefinedCards(source, sa.getParam("Defined"), sa).getFirst();
boolean goodTradeOrNoTrade = devourer.canBeDestroyed() && (devourer.getNetPower() < fighter.getNetToughness() || !fighter.canBeDestroyed()
|| ComputerUtilCard.evaluateCreature(devourer) > ComputerUtilCard.evaluateCreature(fighter));
return goodTradeOrNoTrade && fighter.getNetPower() >= devourer.getNetToughness();