mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
* Saskia, the Unyielding - Fixed a NPE bug caused the triggered ability.
This commit is contained in:
parent
0db7a0427d
commit
618ee3698b
3 changed files with 16 additions and 15 deletions
|
@ -106,7 +106,10 @@ class SaskiaTheUnyieldingEffect extends OneShotEffect {
|
|||
UUID playerId = (UUID) game.getState().getValue(source.getSourceId() + "_player");
|
||||
Player player = game.getPlayer(playerId);
|
||||
if (player != null && player.canRespond()) {
|
||||
player.damage((Integer) this.getValue("damage"), source.getSourceId(), game, false, true);
|
||||
Integer damage = (Integer) this.getValue("damage");
|
||||
if (damage > 0) {
|
||||
player.damage(damage, source.getSourceId(), game, false, true);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ import mage.target.TargetCard;
|
|||
public class SatyrWayfinder extends CardImpl {
|
||||
|
||||
public SatyrWayfinder(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}");
|
||||
this.subtype.add("Satyr");
|
||||
|
||||
this.power = new MageInt(1);
|
||||
|
@ -100,7 +100,7 @@ class SatyrWayfinderEffect extends OneShotEffect {
|
|||
cards.addAll(controller.getLibrary().getTopCards(game, 4));
|
||||
boolean properCardFound = cards.count(filterPutInHand, source.getControllerId(), source.getSourceId(), game) > 0;
|
||||
if (!cards.isEmpty()) {
|
||||
controller.revealCards(sourceObject.getName(), cards, game);
|
||||
controller.revealCards(sourceObject.getIdName(), cards, game);
|
||||
TargetCard target = new TargetCard(Zone.LIBRARY, filterPutInHand);
|
||||
if (properCardFound
|
||||
&& controller.chooseUse(outcome, "Put a land card into your hand?", source, game)
|
||||
|
|
|
@ -78,19 +78,17 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp
|
|||
Permanent permanent = game.getPermanent(event.getSourceId());
|
||||
if (permanent != null) {
|
||||
if (filter.match(permanent, getSourceId(), getControllerId(), game)) {
|
||||
if (!setTargetPointer.equals(SetTargetPointer.NONE)) {
|
||||
for (Effect effect : this.getEffects()) {
|
||||
effect.setValue("damage", event.getAmount());
|
||||
switch (setTargetPointer) {
|
||||
case PLAYER:
|
||||
effect.setTargetPointer(new FixedTarget(permanent.getControllerId()));
|
||||
break;
|
||||
case PERMANENT:
|
||||
effect.setTargetPointer(new FixedTarget(permanent.getId(), permanent.getZoneChangeCounter(game)));
|
||||
break;
|
||||
}
|
||||
|
||||
for (Effect effect : this.getEffects()) {
|
||||
effect.setValue("damage", event.getAmount());
|
||||
switch (setTargetPointer) {
|
||||
case PLAYER:
|
||||
effect.setTargetPointer(new FixedTarget(permanent.getControllerId()));
|
||||
break;
|
||||
case PERMANENT:
|
||||
effect.setTargetPointer(new FixedTarget(permanent.getId(), permanent.getZoneChangeCounter(game)));
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue