mirror of
https://github.com/magefree/mage.git
synced 2026-01-23 11:49:56 -08:00
improved AI targetting
This commit is contained in:
parent
6ea73a6726
commit
aed200bc11
13 changed files with 129 additions and 105 deletions
|
|
@ -100,7 +100,7 @@ class DuressEffect extends OneShotEffect<DuressEffect> {
|
|||
Player you = game.getPlayer(source.getControllerId());
|
||||
if (you != null) {
|
||||
TargetCard target = new TargetCard(Zone.PICK, filter);
|
||||
if (you.choose(player.getHand(), target, game)) {
|
||||
if (you.choose(Outcome.Benefit, player.getHand(), target, game)) {
|
||||
Card card = player.getHand().get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
return player.discard(card, source, game);
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ class CultivateEffect extends OneShotEffect<CultivateEffect> {
|
|||
if (target.getTargets().size() == 2) {
|
||||
TargetCard target2 = new TargetCard(Zone.PICK, filter);
|
||||
target2.setRequired(true);
|
||||
player.choose(revealed, target2, game);
|
||||
player.choose(Outcome.Benefit, revealed, target2, game);
|
||||
Card card = revealed.get(target2.getFirstTarget(), game);
|
||||
card.putOntoBattlefield(game, Zone.LIBRARY, source.getId(), source.getControllerId());
|
||||
revealed.remove(card);
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ class InquisitionOfKozilekEffect extends OneShotEffect<InquisitionOfKozilekEffec
|
|||
Player you = game.getPlayer(source.getControllerId());
|
||||
if (you != null) {
|
||||
TargetCard target = new TargetCard(Zone.PICK, filter);
|
||||
if (you.choose(player.getHand(), target, game)) {
|
||||
if (you.choose(Outcome.Benefit, player.getHand(), target, game)) {
|
||||
Card card = player.getHand().get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
return player.discard(card, source, game);
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ class SeaGateOracleEffect extends OneShotEffect<SeaGateOracleEffect> {
|
|||
TargetCard target = new TargetCard(Zone.PICK, filter);
|
||||
target.setRequired(true);
|
||||
player.lookAtCards(cards, game);
|
||||
player.choose(cards, target, game);
|
||||
player.choose(Outcome.Benefit, cards, target, game);
|
||||
card = cards.get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
card.moveToZone(Zone.HAND, source.getId(), game, false);
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ class SeeBeyondEffect extends OneShotEffect<SeeBeyondEffect> {
|
|||
if (player.getHand().size() > 0) {
|
||||
TargetCard target = new TargetCard(Zone.HAND, filter);
|
||||
target.setRequired(true);
|
||||
player.choose(player.getHand(), target, game);
|
||||
player.choose(Outcome.Detriment, player.getHand(), target, game);
|
||||
Card card = player.getHand().get(target.getFirstTarget(), game);
|
||||
if (card != null) {
|
||||
player.removeFromHand(card, game);
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ class HalimarDepthsEffect extends OneShotEffect<HalimarDepthsEffect> {
|
|||
TargetCard target2 = new TargetCard(Zone.PICK, filter2);
|
||||
target2.setRequired(true);
|
||||
while (cards.size() > 1) {
|
||||
player.choose(cards, target2, game);
|
||||
player.choose(Outcome.Detriment, cards, target2, game);
|
||||
Card card = cards.get(target2.getFirstTarget(), game);
|
||||
cards.remove(card);
|
||||
card.moveToZone(Zone.LIBRARY, source.getId(), game, true);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue