fixed: Changeling permanents did not have all creature types

master
melvin 2012-06-17 17:48:09 +08:00
parent f0dc27e2a3
commit a0861e510c
2 changed files with 46 additions and 0 deletions

View File

@ -401,6 +401,9 @@ public class MagicPermanent implements MagicSource,MagicTarget,Comparable<MagicP
}
public boolean hasSubType(final MagicSubType subType) {
if (subType.isCreatureType() && hasAbility(MagicAbility.Changeling)) {
return true;
}
return subType.hasSubType(getSubTypeFlags());
}

View File

@ -0,0 +1,43 @@
package magic.test;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.model.MagicPlayerDefinition;
import magic.model.MagicPlayerProfile;
import magic.model.MagicDuel;
import magic.model.phase.MagicMainPhase;
class TestChangeling extends TestGameBuilder {
public MagicGame getGame() {
final MagicDuel duel=new MagicDuel();
duel.setDifficulty(6);
final MagicPlayerProfile profile=new MagicPlayerProfile("bgruw");
final MagicPlayerDefinition player1=new MagicPlayerDefinition("Player",false,profile,15);
final MagicPlayerDefinition player2=new MagicPlayerDefinition("Computer",true,profile,14);
duel.setPlayers(new MagicPlayerDefinition[]{player1,player2});
duel.setStartPlayer(0);
final MagicGame game=duel.nextGame(true);
game.setPhase(MagicMainPhase.getFirstInstance());
final MagicPlayer player=game.getPlayer(0);
final MagicPlayer opponent=game.getPlayer(1);
MagicPlayer P = player;
P.setLife(20);
addToLibrary(P, "Plains", 10);
createPermanent(game,P,"Rupture Spire",false,8);
createPermanent(game,P,"Avian Changeling",false,1);
createPermanent(game,P,"Heavy Mattock",false,1);
P = opponent;
P.setLife(20);
addToLibrary(P, "Plains", 10);
createPermanent(game,P,"Rupture Spire",false,8);
createPermanent(game,P,"Serra Angel",false,1);
return game;
}
}