Fixed Omniscience

This commit is contained in:
magenoxx 2012-07-30 22:36:36 +04:00
parent 9d4714507a
commit 89e025ce9d

View file

@ -35,6 +35,8 @@ import mage.abilities.effects.CostModificationEffectImpl;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.game.Game; import mage.game.Game;
import mage.game.stack.Spell;
import mage.game.stack.StackObject;
import mage.players.Player; import mage.players.Player;
import java.util.UUID; import java.util.UUID;
@ -87,6 +89,10 @@ class OmniscienceEffect extends CostModificationEffectImpl<OmniscienceEffect> {
public boolean applies(Ability abilityToModify, Ability source, Game game) { public boolean applies(Ability abilityToModify, Ability source, Game game) {
if (abilityToModify instanceof SpellAbility) { if (abilityToModify instanceof SpellAbility) {
Card sourceCard = game.getCard(abilityToModify.getSourceId()); Card sourceCard = game.getCard(abilityToModify.getSourceId());
StackObject stackObject = game.getStack().getStackObject(abilityToModify.getSourceId());
if (stackObject != null && stackObject instanceof Spell) {
Zone zone = ((Spell)stackObject).getFromZone();
if (zone != null && zone.equals(Zone.HAND)) {
if (sourceCard != null && sourceCard.getOwnerId().equals(source.getControllerId()) if (sourceCard != null && sourceCard.getOwnerId().equals(source.getControllerId())
&& !sourceCard.getCardType().contains(CardType.LAND)) { && !sourceCard.getCardType().contains(CardType.LAND)) {
Player player = game.getPlayer(source.getControllerId()); Player player = game.getPlayer(source.getControllerId());
@ -96,6 +102,8 @@ class OmniscienceEffect extends CostModificationEffectImpl<OmniscienceEffect> {
} }
} }
} }
}
}
return false; return false;
} }