mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
in payCostDuringAbilityResolve used CostPartWithList overloads to execute the action needed to pay.
addListToHash - removed second parameter, since it can be obtained from the same instance.
This commit is contained in:
@@ -80,7 +80,8 @@ public abstract class CostPartWithList extends CostPart {
|
|||||||
* @param hash
|
* @param hash
|
||||||
* the hash
|
* the hash
|
||||||
*/
|
*/
|
||||||
public final void addListToHash(final SpellAbility sa, final String hash) {
|
public final void addListToHash(final SpellAbility sa) {
|
||||||
|
final String hash = getHashForList();
|
||||||
for (final Card card : this.getList()) {
|
for (final Card card : this.getList()) {
|
||||||
Card copy = CardUtil.getLKICopy(card);
|
Card copy = CardUtil.getLKICopy(card);
|
||||||
sa.addCostToHashList(copy, hash);
|
sa.addCostToHashList(copy, hash);
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public class CostPayment {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if( part instanceof CostPartWithList )
|
if( part instanceof CostPartWithList )
|
||||||
((CostPartWithList) part).addListToHash(ability, ((CostPartWithList) part).getHashForList());
|
((CostPartWithList) part).addListToHash(ability);
|
||||||
setPaidPart(part);
|
setPaidPart(part);
|
||||||
}
|
}
|
||||||
this.resetUndoList();
|
this.resetUndoList();
|
||||||
|
|||||||
@@ -192,7 +192,7 @@ public class CostSacrifice extends CostPartWithList {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public final void payAI(final AIPlayer ai, final SpellAbility ability, final Card source, final CostPayment payment, final GameState game) {
|
public final void payAI(final AIPlayer ai, final SpellAbility ability, final Card source, final CostPayment payment, final GameState game) {
|
||||||
this.addListToHash(ability, "Sacrificed");
|
this.addListToHash(ability);
|
||||||
for (final Card c : this.getList()) {
|
for (final Card c : this.getList()) {
|
||||||
executePayment(ability, c);
|
executePayment(ability, c);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ public class CostUnattach extends CostPartWithList {
|
|||||||
Card equippingCard = cardToUnattach.getEquipping().get(0);
|
Card equippingCard = cardToUnattach.getEquipping().get(0);
|
||||||
cardToUnattach.unEquipCard(equippingCard);
|
cardToUnattach.unEquipCard(equippingCard);
|
||||||
this.addToList(cardToUnattach);
|
this.addToList(cardToUnattach);
|
||||||
this.addListToHash(ability, "Unattached");
|
this.addListToHash(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import forge.card.cost.CostDiscard;
|
|||||||
import forge.card.cost.CostExile;
|
import forge.card.cost.CostExile;
|
||||||
import forge.card.cost.CostPart;
|
import forge.card.cost.CostPart;
|
||||||
import forge.card.cost.CostPartMana;
|
import forge.card.cost.CostPartMana;
|
||||||
|
import forge.card.cost.CostPartWithList;
|
||||||
import forge.card.cost.CostPayLife;
|
import forge.card.cost.CostPayLife;
|
||||||
import forge.card.cost.CostPutCounter;
|
import forge.card.cost.CostPutCounter;
|
||||||
import forge.card.cost.CostRemoveCounter;
|
import forge.card.cost.CostRemoveCounter;
|
||||||
@@ -526,9 +527,11 @@ public final class GameActionUtil {
|
|||||||
hasPaid = false;
|
hasPaid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
CostPartWithList cpl = (CostPartWithList)part;
|
||||||
for(Card c : toSac) {
|
for(Card c : toSac) {
|
||||||
p.getGame().getAction().sacrifice(c, ability);
|
cpl.executePayment(ability, c);
|
||||||
}
|
}
|
||||||
|
cpl.addListToHash(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (part instanceof CostReturn) {
|
else if (part instanceof CostReturn) {
|
||||||
@@ -544,10 +547,11 @@ public final class GameActionUtil {
|
|||||||
hasPaid = false;
|
hasPaid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
((CostReturn)part).addListToHash(ability, "Returned");
|
CostPartWithList cpl = (CostPartWithList)part;
|
||||||
for(Card c : inp.getSelected()) {
|
for(Card c : inp.getSelected()) {
|
||||||
p.getGame().getAction().moveTo(ZoneType.Hand, c);
|
cpl.executePayment(ability, c);
|
||||||
}
|
}
|
||||||
|
cpl.addListToHash(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (part instanceof CostDiscard) {
|
else if (part instanceof CostDiscard) {
|
||||||
@@ -563,10 +567,11 @@ public final class GameActionUtil {
|
|||||||
hasPaid = false;
|
hasPaid = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
((CostDiscard)part).addListToHash(ability, "Discarded");
|
CostPartWithList cpl = (CostPartWithList)part;
|
||||||
for(Card c : inp.getSelected()) {
|
for(Card c : inp.getSelected()) {
|
||||||
p.discard(c, ability);
|
cpl.executePayment(ability, c);
|
||||||
}
|
}
|
||||||
|
cpl.addListToHash(ability);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (part instanceof CostPartMana ) {
|
else if (part instanceof CostPartMana ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user