Refactoring subtypes to make Maskwood Nexus work (ready for review) (#7432)

* removed and renamed SubTypeList

* updated subtype test

* refactored Changeling to be an ability that actually does something

* moved isAllCreatureTypes into SubTypes class

* renamed copyTo method to copyFrom

* added removeAllCreatureTypes where usable

* replaced some subtype methods

* replaced some more subtype methods

* replaced subtype mass add/remove methods

* updated more subtype methods

* fixed some errors

* made common shared creature type predicate

* refactored another card involving subtypes

* Added usage of object attribute in subTypes's write operations;

* Refactor: use same param styles in subtype methods

* Refactor: simplified usage of copy appliers;

* Refactor: fixed code usage in CopyApplier

Co-authored-by: Oleg Agafonov <jaydi85@gmail.com>
This commit is contained in:
Evan Kranzler 2021-01-26 08:52:35 -05:00 committed by GitHub
parent 6f42b90305
commit dacf30f4b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
259 changed files with 1857 additions and 1922 deletions

View file

@ -22,7 +22,7 @@ import mage.game.Game;
import mage.game.events.ZoneChangeEvent;
import mage.util.GameLog;
import mage.util.RandomUtil;
import mage.util.SubTypeList;
import mage.util.SubTypes;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
@ -163,8 +163,13 @@ public class Plane implements CommandObject {
}
@Override
public SubTypeList getSubtype(Game game) {
return new SubTypeList();
public SubTypes getSubtype() {
return new SubTypes();
}
@Override
public SubTypes getSubtype(Game game) {
return new SubTypes();
}
@Override
@ -187,6 +192,11 @@ public class Plane implements CommandObject {
return getAbilities().contains(ability);
}
@Override
public ObjectColor getColor() {
return emptyColor;
}
@Override
public ObjectColor getColor(Game game) {
return emptyColor;
@ -267,13 +277,19 @@ public class Plane implements CommandObject {
throw new UnsupportedOperationException("Unsupported operation");
}
public boolean isAllCreatureTypes() {
@Override
public boolean isAllCreatureTypes(Game game) {
return false;
}
@Override
public void setIsAllCreatureTypes(boolean value) {
}
@Override
public void setIsAllCreatureTypes(Game game, boolean value) {
}
public void discardEffects() {
for (Ability ability : abilites) {
for (Effect effect : ability.getEffects()) {