CardFactoryUtil: moved Dredge to ReplacementEffect

This commit is contained in:
Hanmac
2017-10-18 06:24:50 +00:00
parent 1b542e936b
commit 0e666f07e9

View File

@@ -2178,22 +2178,7 @@ public class CardFactoryUtil {
addTriggerAbility(keyword, card, null);
}
else if (keyword.startsWith("Dredge")) {
final int dredgeAmount = card.getKeywordMagnitude("Dredge");
final String actualRep = "Event$ Draw | ActiveZones$ Graveyard | ValidPlayer$ You | "
+ "ReplaceWith$ DredgeCards | Secondary$ True | Optional$ True | CheckSVar$ "
+ "DredgeCheckLib | SVarCompare$ GE" + dredgeAmount + " | References$ "
+ "DredgeCheckLib | AICheckDredge$ True | Description$ " + card.getName()
+ " - Dredge " + dredgeAmount;
final String abString = "DB$ Mill | Defined$ You | NumCards$ " + dredgeAmount + " | "
+ "SubAbility$ DredgeMoveToPlay";
final String moveToPlay = "DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | "
+ "Defined$ Self";
final String checkSVar = "Count$ValidLibrary Card.YouOwn";
card.setSVar("DredgeCards", abString);
card.setSVar("DredgeMoveToPlay", moveToPlay);
card.setSVar("DredgeCheckLib", checkSVar);
card.addReplacementEffect(ReplacementHandler.parseReplacement(actualRep, card, true));
addReplacementEffect(keyword, card, null);
} else if (keyword.startsWith("Prevent all") || keyword.startsWith("PreventAllDamageBy") ) {
addReplacementEffect(keyword, card, null);
}else if (keyword.startsWith("Tribute")) {
@@ -3439,6 +3424,37 @@ public class CardFactoryUtil {
ReplacementEffect cardre = card.addReplacementEffect(re);
if (!intrinsic) {
kws.addReplacement(cardre);
}
} else if (keyword.startsWith("Dredge")) {
final String dredgeAmount = keyword.split(" ")[1];
final String actualRep = "Event$ Draw | ActiveZones$ Graveyard | ValidPlayer$ You | "
+ "ReplaceWith$ DredgeCards | Secondary$ True | Optional$ True | CheckSVar$ "
+ "DredgeCheckLib | SVarCompare$ GE" + dredgeAmount
+ " | AICheckDredge$ True | Description$ " + card.getName()
+ " - Dredge " + dredgeAmount;
final String abString = "DB$ Mill | Defined$ You | NumCards$ " + dredgeAmount;
final String moveToPlay = "DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ Self";
SpellAbility saMill = AbilityFactory.getAbility(abString, card);
AbilitySub saMove = (AbilitySub) AbilityFactory.getAbility(moveToPlay, card);
saMill.setSubAbility(saMove);
if (!intrinsic) {
saMill.setIntrinsic(false);
}
ReplacementEffect re = ReplacementHandler.parseReplacement(actualRep, card, intrinsic);
re.setLayer(ReplacementLayer.Other);
re.setSVar("DredgeCheckLib", "Count$ValidLibrary Card.YouOwn");
ReplacementEffect cardre = card.addReplacementEffect(re);
if (!intrinsic) {
kws.addReplacement(cardre);
}