added damagePlayerOrPlaneswalker method to Game to make some things easier, fixed some more cards

This commit is contained in:
Evan Kranzler 2018-04-20 09:59:03 -04:00
parent 687d3bdc97
commit e6bb4f4b83
6 changed files with 41 additions and 25 deletions

View file

@ -471,4 +471,8 @@ public interface Game extends MageItem, Serializable {
UUID getMonarchId();
void setMonarchId(Ability source, UUID monarchId);
int damagePlayerOrPlaneswalker(UUID playerOrWalker, int damage, UUID sourceId, Game game, boolean combatDamage, boolean preventable);
int damagePlayerOrPlaneswalker(UUID playerOrWalker, int damage, UUID sourceId, Game game, boolean combatDamage, boolean preventable, List<UUID> appliedEffects);
}

View file

@ -3159,4 +3159,22 @@ public abstract class GameImpl implements Game, Serializable {
fireEvent(new GameEvent(GameEvent.EventType.BECOMES_MONARCH, monarchId, source == null ? null : source.getSourceId(), monarchId));
}
}
@Override
public int damagePlayerOrPlaneswalker(UUID playerOrWalker, int damage, UUID sourceId, Game game, boolean combatDamage, boolean preventable) {
return damagePlayerOrPlaneswalker(playerOrWalker, damage, sourceId, game, combatDamage, preventable, null);
}
@Override
public int damagePlayerOrPlaneswalker(UUID playerOrWalker, int damage, UUID sourceId, Game game, boolean combatDamage, boolean preventable, List<UUID> appliedEffects) {
Player player = getPlayer(playerOrWalker);
if (player != null) {
return player.damage(damage, sourceId, game, combatDamage, preventable, appliedEffects);
}
Permanent permanent = getPermanent(playerOrWalker);
if (permanent != null) {
return permanent.damage(damage, sourceId, game, combatDamage, preventable, appliedEffects);
}
return 0;
}
}