[WHO] Implement The Thirteenth Doctor

This commit is contained in:
theelk801 2023-08-05 13:44:40 -04:00
parent 9fede85c06
commit 8830fd0cc8
5 changed files with 108 additions and 1 deletions

View file

@ -138,6 +138,7 @@ public enum SubType {
DEVIL("Devil", SubTypeSet.CreatureType),
DINOSAUR("Dinosaur", SubTypeSet.CreatureType), // With Ixalan now being spoiled, need this to be selectable
DJINN("Djinn", SubTypeSet.CreatureType),
DOCTOR("Doctor", SubTypeSet.CreatureType),
DOG("Dog", SubTypeSet.CreatureType),
DRAGON("Dragon", SubTypeSet.CreatureType),
DRAKE("Drake", SubTypeSet.CreatureType),
@ -378,6 +379,7 @@ public enum SubType {
THALAKOS("Thalakos", SubTypeSet.CreatureType),
THOPTER("Thopter", SubTypeSet.CreatureType),
TIEFLING("Tiefling", SubTypeSet.CreatureType),
TIME_LORD("Time Lord", SubTypeSet.CreatureType),
TRANDOSHAN("Trandoshan", SubTypeSet.CreatureType, true), // Star Wars
THRULL("Thrull", SubTypeSet.CreatureType),
TREEFOLK("Treefolk", SubTypeSet.CreatureType),

View file

@ -0,0 +1,34 @@
package mage.util.validation;
import mage.abilities.keyword.DoctorsCompanionAbility;
import mage.cards.Card;
import mage.constants.SubType;
/**
* @author TheElk801
* <p>
* We check for Brushwagg because it can't be a changeling
*/
public enum DoctorsCompanionValidator implements CommanderValidator {
instance;
@Override
public boolean checkPartner(Card commander1, Card commander2) {
return commander1.getAbilities().containsClass(DoctorsCompanionAbility.class)
&& commander2.hasSubTypeForDeckbuilding(SubType.TIME_LORD)
&& commander2.hasSubTypeForDeckbuilding(SubType.DOCTOR)
&& !commander2.hasSubTypeForDeckbuilding(SubType.BRUSHWAGG);
}
@Override
public boolean checkBothPartners(Card commander1, Card commander2) {
return checkPartner(commander1, commander2) || checkPartner(commander2, commander1);
}
@Override
public boolean specialCheck(Card commander) {
return commander.hasSubTypeForDeckbuilding(SubType.TIME_LORD)
&& commander.hasSubTypeForDeckbuilding(SubType.DOCTOR)
&& !commander.hasSubTypeForDeckbuilding(SubType.BRUSHWAGG);
}
}