mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
Make order of parameters the same for methods player.damage and permanent.damage
This commit is contained in:
parent
f81af16fa4
commit
e5b2b39701
139 changed files with 162 additions and 162 deletions
|
@ -1337,7 +1337,7 @@ public class ComputerPlayer extends PlayerImpl implements Player {
|
||||||
public void assignDamage(int damage, List<UUID> targets, String singleTargetName, UUID sourceId, Game game) {
|
public void assignDamage(int damage, List<UUID> targets, String singleTargetName, UUID sourceId, Game game) {
|
||||||
log.debug("assignDamage");
|
log.debug("assignDamage");
|
||||||
//TODO: improve this
|
//TODO: improve this
|
||||||
game.getPermanent(targets.get(0)).damage(damage, sourceId, game, true, false);
|
game.getPermanent(targets.get(0)).damage(damage, sourceId, game, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -429,7 +429,7 @@ public class SimulatedPlayerMCTS extends MCTSPlayer {
|
||||||
}
|
}
|
||||||
Permanent permanent = game.getPermanent(targetId);
|
Permanent permanent = game.getPermanent(targetId);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, sourceId, game, true, false);
|
permanent.damage(amount, sourceId, game, false, true);
|
||||||
remainingDamage -= amount;
|
remainingDamage -= amount;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -803,7 +803,7 @@ public class HumanPlayer extends PlayerImpl {
|
||||||
int damageAmount = getAmount(0, remainingDamage, "Select amount", game);
|
int damageAmount = getAmount(0, remainingDamage, "Select amount", game);
|
||||||
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damageAmount, sourceId, game, true, false);
|
permanent.damage(damageAmount, sourceId, game, false, true);
|
||||||
remainingDamage -= damageAmount;
|
remainingDamage -= damageAmount;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -107,7 +107,7 @@ class LavalancheEffect extends OneShotEffect {
|
||||||
filter.add(new ControllerIdPredicate(targetPlayer.getId()));
|
filter.add(new ControllerIdPredicate(targetPlayer.getId()));
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getId(), game);
|
||||||
for (Permanent permanent: permanents) {
|
for (Permanent permanent: permanents) {
|
||||||
permanent.damage(amount.calculate(game, source), source.getSourceId(), game, true, false);
|
permanent.damage(amount.calculate(game, source), source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,7 +102,7 @@ class VengefulRebirthEffect extends OneShotEffect {
|
||||||
int damage = card.getManaCost().convertedManaCost();
|
int damage = card.getManaCost().convertedManaCost();
|
||||||
Permanent permanent = game.getPermanent(source.getTargets().get(1).getTargets().get(0));
|
Permanent permanent = game.getPermanent(source.getTargets().get(1).getTargets().get(0));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damage, source.getSourceId(), game, true, false);
|
permanent.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getTargets().get(0));
|
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getTargets().get(0));
|
||||||
if (targetPlayer != null) {
|
if (targetPlayer != null) {
|
||||||
|
|
|
@ -121,7 +121,7 @@ class OrimsThunderEffect2 extends OneShotEffect {
|
||||||
}
|
}
|
||||||
boolean kicked = KickedCondition.getInstance().apply(game, source);
|
boolean kicked = KickedCondition.getInstance().apply(game, source);
|
||||||
if (kicked && secondTarget != null) {
|
if (kicked && secondTarget != null) {
|
||||||
secondTarget.damage(damage, source.getId(), game, true, false);
|
secondTarget.damage(damage, source.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -99,7 +99,7 @@ class AggraveteEffect extends OneShotEffect {
|
||||||
filter.add(new ControllerIdPredicate(player.getId()));
|
filter.add(new ControllerIdPredicate(player.getId()));
|
||||||
List<Permanent> creatures = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getId(), game);
|
List<Permanent> creatures = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getId(), game);
|
||||||
for (Permanent creature : creatures) {
|
for (Permanent creature : creatures) {
|
||||||
creature.damage(1, source.getSourceId(), game, true, false);
|
creature.damage(1, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,7 +95,7 @@ class BonfireOfTheDamnedEffect extends OneShotEffect {
|
||||||
if (damage > 0) {
|
if (damage > 0) {
|
||||||
player.damage(damage, source.getId(), game, false, true);
|
player.damage(damage, source.getId(), game, false, true);
|
||||||
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
||||||
perm.damage(damage, source.getId(), game, true, false);
|
perm.damage(damage, source.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,7 +101,7 @@ class BurnAtTheStakeEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -124,7 +124,7 @@ class DivineDeflectionPreventDamageTargetEffect extends PreventionEffectImpl {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
game.informPlayers("Dealing " + prevented + " to " + permanent.getName() + " instead");
|
game.informPlayers("Dealing " + prevented + " to " + permanent.getName() + " instead");
|
||||||
// keep the original source id as it is redirecting
|
// keep the original source id as it is redirecting
|
||||||
permanent.damage(prevented, event.getSourceId(), game, true, false);
|
permanent.damage(prevented, event.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(redirectTo);
|
Player player = game.getPlayer(redirectTo);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -97,7 +97,7 @@ public class AuraBarbs extends CardImpl {
|
||||||
if (auraEnchantment.getAttachedTo() != null) {
|
if (auraEnchantment.getAttachedTo() != null) {
|
||||||
Permanent attachedToCreature = game.getPermanent(auraEnchantment.getAttachedTo());
|
Permanent attachedToCreature = game.getPermanent(auraEnchantment.getAttachedTo());
|
||||||
if (attachedToCreature != null && attachedToCreature.getCardType().contains(CardType.CREATURE)) {
|
if (attachedToCreature != null && attachedToCreature.getCardType().contains(CardType.CREATURE)) {
|
||||||
attachedToCreature.damage(2, auraEnchantment.getId(), game, true, false);
|
attachedToCreature.damage(2, auraEnchantment.getId(), game, false, true);
|
||||||
game.informPlayers("2 damage assigned to " + attachedToCreature.getName() + " from " + auraEnchantment.getName());
|
game.informPlayers("2 damage assigned to " + attachedToCreature.getName() + " from " + auraEnchantment.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ class FirstVolleyEffect extends OneShotEffect {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
Player controller = game.getPlayer(permanent.getControllerId());
|
Player controller = game.getPlayer(permanent.getControllerId());
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
permanent.damage(1, source.getSourceId(), game, true, false);
|
permanent.damage(1, source.getSourceId(), game, false, true);
|
||||||
controller.damage(1, source.getSourceId(), game, false, true);
|
controller.damage(1, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ class OpalEyeKondasYojimboRedirectionEffect extends ReplacementEffectImpl {
|
||||||
game.informPlayers(message.toString());
|
game.informPlayers(message.toString());
|
||||||
// redirect damage
|
// redirect damage
|
||||||
this.used = true;
|
this.used = true;
|
||||||
sourcePermanent.damage(damageEvent.getAmount(), damageEvent.getSourceId(), game, damageEvent.isPreventable(), damageEvent.isCombatDamage(), event.getAppliedEffects());
|
sourcePermanent.damage(damageEvent.getAmount(), damageEvent.getSourceId(), game, damageEvent.isCombatDamage(), damageEvent.isPreventable(), event.getAppliedEffects());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -99,7 +99,7 @@ class RoninCliffriderEffect extends OneShotEffect {
|
||||||
filter.add(new ControllerIdPredicate(defenderId));
|
filter.add(new ControllerIdPredicate(defenderId));
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
|
||||||
for (Permanent permanent : permanents) {
|
for (Permanent permanent : permanents) {
|
||||||
permanent.damage(1, source.getSourceId(), game, true, false);
|
permanent.damage(1, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@ class ShiningShoalPreventDamageTargetEffect extends PreventionEffectImpl {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
game.informPlayers("Dealing " + prevented + " to " + permanent.getName() + " instead");
|
game.informPlayers("Dealing " + prevented + " to " + permanent.getName() + " instead");
|
||||||
// keep the original source id as it is redirecting
|
// keep the original source id as it is redirecting
|
||||||
permanent.damage(prevented, event.getSourceId(), game, true, false, event.getAppliedEffects());
|
permanent.damage(prevented, event.getSourceId(), game, false, true, event.getAppliedEffects());
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(redirectTo);
|
Player player = game.getPlayer(redirectTo);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -115,7 +115,7 @@ class ShurikenDamageEffect extends OneShotEffect {
|
||||||
if (equipment != null) {
|
if (equipment != null) {
|
||||||
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(2, equipment.getId(), game, true, false);
|
creature.damage(2, equipment.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,7 @@ class AcolytesRewardEffect extends PreventionEffectImpl {
|
||||||
} else {
|
} else {
|
||||||
Permanent targetDamageCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent targetDamageCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (targetDamageCreature != null) {
|
if (targetDamageCreature != null) {
|
||||||
targetDamageCreature.damage(toPrevent, source.getSourceId(), game, true, false);
|
targetDamageCreature.damage(toPrevent, source.getSourceId(), game, false, true);
|
||||||
game.informPlayers(new StringBuilder("Acolyte's Reward ").append("deals ").append(toPrevent).append(" damage to ").append(targetDamageCreature.getName()).toString());
|
game.informPlayers(new StringBuilder("Acolyte's Reward ").append("deals ").append(toPrevent).append(" damage to ").append(targetDamageCreature.getName()).toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,7 +106,7 @@ class FallOfTheHammerDamageEffect extends OneShotEffect {
|
||||||
int damage = ownCreature.getPower().getValue();
|
int damage = ownCreature.getPower().getValue();
|
||||||
Permanent targetCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent targetCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.damage(damage, ownCreature.getId(), game, true, false);
|
targetCreature.damage(damage, ownCreature.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,7 @@ class SatyrFiredancerDamageEffect extends OneShotEffect {
|
||||||
if (targetCreature != null && controller != null) {
|
if (targetCreature != null && controller != null) {
|
||||||
int damage = (Integer) this.getValue("damage");
|
int damage = (Integer) this.getValue("damage");
|
||||||
if (damage > 0) {
|
if (damage > 0) {
|
||||||
targetCreature.damage(damage, source.getSourceId(), game, true, false);
|
targetCreature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -146,7 +146,7 @@ class HankyuDealsDamageEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damageAmount, source.getSourceId(), game, true, false);
|
permanent.damage(damageAmount, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -103,7 +103,7 @@ class KikuNightsFlowerEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(permanent.getPower().getValue(), permanent.getId(), game, true, false);
|
permanent.damage(permanent.getPower().getValue(), permanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -152,7 +152,7 @@ class KusariGamaDamageEffect extends OneShotEffect {
|
||||||
if (!blockerId.equals(damagedCreatureId)) {
|
if (!blockerId.equals(damagedCreatureId)) {
|
||||||
Permanent blockingCreature = game.getPermanent(blockerId);
|
Permanent blockingCreature = game.getPermanent(blockerId);
|
||||||
if (blockingCreature != null && blockingCreature.getControllerId().equals(creature.getControllerId())) {
|
if (blockingCreature != null && blockingCreature.getControllerId().equals(creature.getControllerId())) {
|
||||||
blockingCreature.damage(damage, source.getSourceId(), game, true, false);
|
blockingCreature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ class SuddenDemiseDamageEffect extends OneShotEffect {
|
||||||
FilterPermanent filter = new FilterCreaturePermanent();
|
FilterPermanent filter = new FilterCreaturePermanent();
|
||||||
filter.add(new ColorPredicate(choice.getColor()));
|
filter.add(new ColorPredicate(choice.getColor()));
|
||||||
for (Permanent permanent:game.getBattlefield().getActivePermanents(filter, source.getControllerId(), id, game)) {
|
for (Permanent permanent:game.getBattlefield().getActivePermanents(filter, source.getControllerId(), id, game)) {
|
||||||
permanent.damage(damage, source.getSourceId(), game, true, false);
|
permanent.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,7 +128,7 @@ class BaneFireEffect extends OneShotEffect {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.damage(damage, source.getSourceId(), game, false, preventable);
|
targetCreature.damage(damage, source.getSourceId(), game, preventable, false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -96,7 +96,7 @@ class DarkTemperEffect extends OneShotEffect {
|
||||||
filter.add(new ColorPredicate(ObjectColor.BLACK));
|
filter.add(new ColorPredicate(ObjectColor.BLACK));
|
||||||
|
|
||||||
if (game.getBattlefield().countAll(filter, source.getControllerId(), game) == 0) {
|
if (game.getBattlefield().countAll(filter, source.getControllerId(), game) == 0) {
|
||||||
permanent.damage(2, source.getSourceId(), game, true, false);
|
permanent.damage(2, source.getSourceId(), game, false, true);
|
||||||
} else {
|
} else {
|
||||||
permanent.destroy(source.getId(), game, false);
|
permanent.destroy(source.getId(), game, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,10 +98,10 @@ class AlphaBrawlEffect extends OneShotEffect {
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
int power = creature.getPower().getValue();
|
int power = creature.getPower().getValue();
|
||||||
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
||||||
perm.damage(power, creature.getId(), game, true, false);
|
perm.damage(power, creature.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
||||||
creature.damage(perm.getPower().getValue(), perm.getId(), game, true, false);
|
creature.damage(perm.getPower().getValue(), perm.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,7 +144,7 @@ class FlayerEffect extends OneShotEffect {
|
||||||
UUID target = source.getTargets().getFirstTarget();
|
UUID target = source.getTargets().getFirstTarget();
|
||||||
Permanent targetCreature = game.getPermanent(target);
|
Permanent targetCreature = game.getPermanent(target);
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.damage(amount, creature.getId(), game, true, false);
|
targetCreature.damage(amount, creature.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(target);
|
Player player = game.getPlayer(target);
|
||||||
|
|
|
@ -198,7 +198,7 @@ class RavagerOfTheFellsEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(2, source.getSourceId(), game, true, false);
|
creature.damage(2, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,7 @@ class WrackWithMadnessEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(permanent.getPower().getValue(), permanent.getId(), game, true, false);
|
permanent.damage(permanent.getPower().getValue(), permanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -103,7 +103,7 @@ class BlastOfGeniusEffect extends OneShotEffect {
|
||||||
int damage = card.getManaCost().convertedManaCost();
|
int damage = card.getManaCost().convertedManaCost();
|
||||||
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(damage, source.getSourceId(), game, true, false);
|
creature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player targetPlayer = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
Player targetPlayer = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
||||||
|
|
|
@ -148,7 +148,7 @@ class BloodEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent targetCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent targetCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (sourcePermanent != null && targetCreature != null) {
|
if (sourcePermanent != null && targetCreature != null) {
|
||||||
targetCreature.damage(sourcePermanent.getPower().getValue(), sourcePermanent.getId(), game, true, false);
|
targetCreature.damage(sourcePermanent.getPower().getValue(), sourcePermanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getFirstTarget());
|
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getFirstTarget());
|
||||||
|
|
|
@ -99,7 +99,7 @@ class MorgueBurstEffect extends OneShotEffect {
|
||||||
int damage = card.getPower().getValue();
|
int damage = card.getPower().getValue();
|
||||||
Permanent creature = game.getPermanent(source.getTargets().get(1).getTargets().get(0));
|
Permanent creature = game.getPermanent(source.getTargets().get(1).getTargets().get(0));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(damage, source.getSourceId(), game, true, false);
|
creature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getTargets().get(0));
|
Player targetPlayer = game.getPlayer(source.getTargets().get(1).getTargets().get(0));
|
||||||
|
|
|
@ -108,8 +108,8 @@ class ScabClanGiantEffect extends OneShotEffect {
|
||||||
// 20110930 - 701.10
|
// 20110930 - 701.10
|
||||||
if (creature1 != null && creature2 != null) {
|
if (creature1 != null && creature2 != null) {
|
||||||
if (creature1.getCardType().contains(CardType.CREATURE) && creature2.getCardType().contains(CardType.CREATURE)) {
|
if (creature1.getCardType().contains(CardType.CREATURE) && creature2.getCardType().contains(CardType.CREATURE)) {
|
||||||
creature1.damage(creature2.getPower().getValue(), creature2.getId(), game, true, false);
|
creature1.damage(creature2.getPower().getValue(), creature2.getId(), game, false, true);
|
||||||
creature2.damage(creature1.getPower().getValue(), creature1.getId(), game, true, false);
|
creature2.damage(creature1.getPower().getValue(), creature1.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -135,7 +135,7 @@ class IbHalfheartGoblinTacticianEffect extends OneShotEffect {
|
||||||
for (UUID blockerId : blockingCreatures) {
|
for (UUID blockerId : blockingCreatures) {
|
||||||
Permanent blockingCreature = game.getPermanent(blockerId);
|
Permanent blockingCreature = game.getPermanent(blockerId);
|
||||||
if (blockingCreature != null) {
|
if (blockingCreature != null) {
|
||||||
blockingCreature.damage(4, blockedCreature.getId(), game, true, false);
|
blockingCreature.damage(4, blockedCreature.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -117,7 +117,7 @@ class FieryBombardmentEffect extends OneShotEffect {
|
||||||
} else {
|
} else {
|
||||||
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(damage, source.getSourceId(), game, true, false);
|
creature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -137,7 +137,7 @@ class HatchetBullyEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(2, source.getSourceId(), game, true, false);
|
permanent.damage(2, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -111,7 +111,7 @@ class BorosReckonerDealDamageEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Permanent creature = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent creature = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(amount, source.getSourceId(), game, true, false);
|
creature.damage(amount, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -144,8 +144,8 @@ class GruulRagebeastEffect extends OneShotEffect {
|
||||||
&& target != null
|
&& target != null
|
||||||
&& triggeredCreature.getCardType().contains(CardType.CREATURE)
|
&& triggeredCreature.getCardType().contains(CardType.CREATURE)
|
||||||
&& target.getCardType().contains(CardType.CREATURE)) {
|
&& target.getCardType().contains(CardType.CREATURE)) {
|
||||||
triggeredCreature.damage(target.getPower().getValue(), target.getId(), game, true, false);
|
triggeredCreature.damage(target.getPower().getValue(), target.getId(), game, false, true);
|
||||||
target.damage(triggeredCreature.getPower().getValue(), triggeredCreature.getId(), game, true, false);
|
target.damage(triggeredCreature.getPower().getValue(), triggeredCreature.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -92,7 +92,7 @@ class HomingLightningEffect extends OneShotEffect {
|
||||||
if (target != null) {
|
if (target != null) {
|
||||||
for (Permanent creature : creatures) {
|
for (Permanent creature : creatures) {
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(4, id, game, true, false);
|
creature.damage(4, id, game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -99,7 +99,7 @@ class KjeldoranRoyalGuardEffect extends ReplacementEffectImpl {
|
||||||
DamagePlayerEvent damageEvent = (DamagePlayerEvent) event;
|
DamagePlayerEvent damageEvent = (DamagePlayerEvent) event;
|
||||||
Permanent p = game.getPermanent(source.getSourceId());
|
Permanent p = game.getPermanent(source.getSourceId());
|
||||||
if (p != null) {
|
if (p != null) {
|
||||||
p.damage(damageEvent.getAmount(), event.getSourceId(), game, damageEvent.isPreventable(), damageEvent.isCombatDamage());
|
p.damage(damageEvent.getAmount(), event.getSourceId(), game, damageEvent.isCombatDamage(), damageEvent.isPreventable());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -91,7 +91,7 @@ class BalefireDragonEffect extends OneShotEffect {
|
||||||
int amount = (Integer)getValue("damage");
|
int amount = (Integer)getValue("damage");
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
for (Permanent creature: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId(), game)) {
|
for (Permanent creature: game.getBattlefield().getAllActivePermanents(new FilterCreaturePermanent(), player.getId(), game)) {
|
||||||
creature.damage(amount, source.getSourceId(), game, true, false);
|
creature.damage(amount, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -95,7 +95,7 @@ class BlasphemousActEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game);
|
||||||
for (Permanent permanent : permanents) {
|
for (Permanent permanent : permanents) {
|
||||||
permanent.damage(13, source.getId(), game, true, false);
|
permanent.damage(13, source.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ class BrimstoneVolleyEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damage, source.getSourceId(), game, true, false);
|
permanent.damage(damage, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
||||||
|
|
|
@ -104,7 +104,7 @@ class CorpseLungeEffect extends OneShotEffect {
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,11 +139,11 @@ class GarrukRelentlessDamageEffect extends OneShotEffect {
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
int damage = permanent.getPower().getValue();
|
int damage = permanent.getPower().getValue();
|
||||||
permanent.damage(3, source.getSourceId(), game, true, false);
|
permanent.damage(3, source.getSourceId(), game, false, true);
|
||||||
if (damage > 0) {
|
if (damage > 0) {
|
||||||
Permanent garruk = game.getPermanent(source.getSourceId());
|
Permanent garruk = game.getPermanent(source.getSourceId());
|
||||||
if (garruk != null) {
|
if (garruk != null) {
|
||||||
garruk.damage(damage, permanent.getId(), game, true, false);
|
garruk.damage(damage, permanent.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -98,7 +98,7 @@ class HereticsPunishmentEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(maxCost, source.getSourceId(), game, true, false);
|
permanent.damage(maxCost, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
||||||
|
|
|
@ -89,7 +89,7 @@ class IntoTheMawOfHellEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(13, source.getSourceId(), game, true, false);
|
permanent.damage(13, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -112,8 +112,8 @@ class NightfallPredatorEffect extends OneShotEffect {
|
||||||
// 20110930 - 701.10
|
// 20110930 - 701.10
|
||||||
if (creature1 != null && creature2 != null) {
|
if (creature1 != null && creature2 != null) {
|
||||||
if (creature1.getCardType().contains(CardType.CREATURE) && creature2.getCardType().contains(CardType.CREATURE)) {
|
if (creature1.getCardType().contains(CardType.CREATURE) && creature2.getCardType().contains(CardType.CREATURE)) {
|
||||||
creature1.damage(creature2.getPower().getValue(), creature2.getId(), game, true, false);
|
creature1.damage(creature2.getPower().getValue(), creature2.getId(), game, false, true);
|
||||||
creature2.damage(creature1.getPower().getValue(), creature1.getId(), game, true, false);
|
creature2.damage(creature1.getPower().getValue(), creature1.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ class DictateOfTheTwinGodsEffect extends ReplacementEffectImpl {
|
||||||
} else {
|
} else {
|
||||||
Permanent targetPermanent = game.getPermanent(event.getTargetId());
|
Permanent targetPermanent = game.getPermanent(event.getTargetId());
|
||||||
if (targetPermanent != null) {
|
if (targetPermanent != null) {
|
||||||
targetPermanent.damage(damageEvent.getAmount()*2, damageEvent.getSourceId(), game, damageEvent.isPreventable(), damageEvent.isCombatDamage(), event.getAppliedEffects());
|
targetPermanent.damage(damageEvent.getAmount()*2, damageEvent.getSourceId(), game, damageEvent.isCombatDamage(), damageEvent.isPreventable(), event.getAppliedEffects());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ class RiddleOfLightningEffect extends OneShotEffect {
|
||||||
controller.revealCards(sourceCard.getName(), new CardsImpl(card), game);
|
controller.revealCards(sourceCard.getName(), new CardsImpl(card), game);
|
||||||
Permanent targetCreature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
Permanent targetCreature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.damage(card.getManaCost().convertedManaCost(), source.getSourceId(), game, true, false);
|
targetCreature.damage(card.getManaCost().convertedManaCost(), source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player targetPlayer = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
Player targetPlayer = game.getPlayer(this.getTargetPointer().getFirst(game, source));
|
||||||
|
|
|
@ -88,7 +88,7 @@ class StarfallEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(3, source.getSourceId(), game, true, false);
|
permanent.damage(3, source.getSourceId(), game, false, true);
|
||||||
if (permanent.getCardType().contains(CardType.ENCHANTMENT)) {
|
if (permanent.getCardType().contains(CardType.ENCHANTMENT)) {
|
||||||
Player targetController = game.getPlayer(permanent.getControllerId());
|
Player targetController = game.getPlayer(permanent.getControllerId());
|
||||||
if (targetController != null) {
|
if (targetController != null) {
|
||||||
|
|
|
@ -89,7 +89,7 @@ class ConeOfFlameEffect extends OneShotEffect {
|
||||||
for (UUID targetId : targetPointer.getTargets(game, source)) {
|
for (UUID targetId : targetPointer.getTargets(game, source)) {
|
||||||
Permanent permanent = game.getPermanent(targetId);
|
Permanent permanent = game.getPermanent(targetId);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
applied |= (permanent.damage(damage, source.getSourceId(), game, true, false) > 0);
|
applied |= (permanent.damage(damage, source.getSourceId(), game, false, true) > 0);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(targetId);
|
Player player = game.getPlayer(targetId);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -99,7 +99,7 @@ class ChainLightningEffect extends OneShotEffect {
|
||||||
else {
|
else {
|
||||||
Permanent permanent = game.getPermanent(targetId);
|
Permanent permanent = game.getPermanent(targetId);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(3, source.getSourceId(), game, true, false);
|
permanent.damage(3, source.getSourceId(), game, false, true);
|
||||||
affectedPlayer = game.getPlayer(permanent.getControllerId());
|
affectedPlayer = game.getPlayer(permanent.getControllerId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ class DrainLifeEffect extends OneShotEffect {
|
||||||
if (permanent.getToughness().getValue() < amount) {
|
if (permanent.getToughness().getValue() < amount) {
|
||||||
lifetogain = permanent.getToughness().getValue();
|
lifetogain = permanent.getToughness().getValue();
|
||||||
}
|
}
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
} else {
|
} else {
|
||||||
Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
|
Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -98,7 +98,7 @@ class ConsumeSpiritEffect extends OneShotEffect {
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
} else {
|
} else {
|
||||||
Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
|
Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -92,7 +92,7 @@ class EarthquakeEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
int amount = source.getManaCostsToPay().getX();
|
int amount = source.getManaCostsToPay().getX();
|
||||||
for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
||||||
permanent.damage(amount, source.getId(), game, true, false);
|
permanent.damage(amount, source.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) {
|
for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) {
|
||||||
Player player = game.getPlayer(playerId);
|
Player player = game.getPlayer(playerId);
|
||||||
|
|
|
@ -98,7 +98,7 @@ class FireballEffect extends OneShotEffect {
|
||||||
for (UUID targetId: targetPointer.getTargets(game, source)) {
|
for (UUID targetId: targetPointer.getTargets(game, source)) {
|
||||||
Permanent permanent = game.getPermanent(targetId);
|
Permanent permanent = game.getPermanent(targetId);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damagePer, source.getSourceId(), game, true, false);
|
permanent.damage(damagePer, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Player player = game.getPlayer(targetId);
|
Player player = game.getPlayer(targetId);
|
||||||
|
|
|
@ -102,7 +102,7 @@ class HarmsWayPreventDamageTargetEffect extends PreventionEffectImpl {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
game.informPlayers("Dealing " + preventionData.getPreventedDamage() + " to " + permanent.getName() + " instead");
|
game.informPlayers("Dealing " + preventionData.getPreventedDamage() + " to " + permanent.getName() + " instead");
|
||||||
// keep the original source id as it is redirecting
|
// keep the original source id as it is redirecting
|
||||||
permanent.damage(preventionData.getPreventedDamage(), event.getSourceId(), game, true, false);
|
permanent.damage(preventionData.getPreventedDamage(), event.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(redirectTo);
|
Player player = game.getPlayer(redirectTo);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -118,7 +118,7 @@ class MasterOfTheWildHuntEffect extends OneShotEffect {
|
||||||
if (target != null && game.getBattlefield().countAll(filter, source.getControllerId(), game) > 0) {
|
if (target != null && game.getBattlefield().countAll(filter, source.getControllerId(), game) > 0) {
|
||||||
for (Permanent permanent: game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game)) {
|
for (Permanent permanent: game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game)) {
|
||||||
permanent.tap(game);
|
permanent.tap(game);
|
||||||
target.damage(permanent.getToughness().getValue(), permanent.getId(), game, true, false);
|
target.damage(permanent.getToughness().getValue(), permanent.getId(), game, false, true);
|
||||||
wolves.add(permanent.getId());
|
wolves.add(permanent.getId());
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(target.getControllerId());
|
Player player = game.getPlayer(target.getControllerId());
|
||||||
|
|
|
@ -82,7 +82,7 @@ class ChandrasOutrageEffect extends OneShotEffect {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
Player player = game.getPlayer(permanent.getControllerId());
|
Player player = game.getPlayer(permanent.getControllerId());
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
permanent.damage(4, source.getSourceId(), game, true, false);
|
permanent.damage(4, source.getSourceId(), game, false, true);
|
||||||
player.damage(2, source.getSourceId(), game, false, true);
|
player.damage(2, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ class CorruptEffect extends OneShotEffect {
|
||||||
int damageDealt = amount;
|
int damageDealt = amount;
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
damageDealt = permanent.damage(amount, source.getSourceId(), game, true, false);
|
damageDealt = permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
|
|
|
@ -98,8 +98,8 @@ class CyclopsGladiatorEffect extends OneShotEffect {
|
||||||
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
Permanent permanent = game.getPermanent(target.getFirstTarget());
|
||||||
Permanent cyclops = game.getPermanent(source.getSourceId());
|
Permanent cyclops = game.getPermanent(source.getSourceId());
|
||||||
if (permanent != null && cyclops != null) {
|
if (permanent != null && cyclops != null) {
|
||||||
permanent.damage(cyclops.getPower().getValue(), cyclops.getId(), game, true, false);
|
permanent.damage(cyclops.getPower().getValue(), cyclops.getId(), game, false, true);
|
||||||
cyclops.damage(permanent.getPower().getValue(), permanent.getId(), game, true, false);
|
cyclops.damage(permanent.getPower().getValue(), permanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,7 +91,7 @@ class FlingEffect extends OneShotEffect {
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
|
|
|
@ -94,7 +94,7 @@ class GoblinBangchuckersEffect extends OneShotEffect {
|
||||||
if (controller.flipCoin(game)) {
|
if (controller.flipCoin(game)) {
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(2, source.getSourceId(), game, true, false);
|
permanent.damage(2, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
Player player = game.getPlayer(targetPointer.getFirst(game, source));
|
||||||
|
@ -105,7 +105,7 @@ class GoblinBangchuckersEffect extends OneShotEffect {
|
||||||
} else {
|
} else {
|
||||||
Permanent permanent = game.getPermanent(source.getSourceId());
|
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(2, source.getSourceId(), game, true, false);
|
permanent.damage(2, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,7 +134,7 @@ class WarstormSurgeEffect extends OneShotEffect {
|
||||||
UUID target = source.getTargets().getFirstTarget();
|
UUID target = source.getTargets().getFirstTarget();
|
||||||
Permanent targetCreature = game.getPermanent(target);
|
Permanent targetCreature = game.getPermanent(target);
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.damage(amount, creature.getId(), game, true, false);
|
targetCreature.damage(amount, creature.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(target);
|
Player player = game.getPlayer(target);
|
||||||
|
|
|
@ -130,7 +130,7 @@ class ChandraPyromasterEffect1 extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(1, source.getSourceId(), game, true, false);
|
creature.damage(1, source.getSourceId(), game, false, true);
|
||||||
ContinuousEffect effect = new CantBlockTargetEffect(Duration.EndOfTurn);
|
ContinuousEffect effect = new CantBlockTargetEffect(Duration.EndOfTurn);
|
||||||
effect.setTargetPointer(new FixedTarget(creature.getId()));
|
effect.setTargetPointer(new FixedTarget(creature.getId()));
|
||||||
game.addEffect(effect, source);
|
game.addEffect(effect, source);
|
||||||
|
|
|
@ -111,7 +111,7 @@ class GoblinKaboomistFlipCoinEffect extends OneShotEffect {
|
||||||
if (!player.flipCoin(game)) {
|
if (!player.flipCoin(game)) {
|
||||||
String message = new StringBuilder(permanent.getLogName()).append(" deals 2 damage to itself").toString();
|
String message = new StringBuilder(permanent.getLogName()).append(" deals 2 damage to itself").toString();
|
||||||
game.informPlayers(message);
|
game.informPlayers(message);
|
||||||
permanent.damage(2, source.getSourceId(), game, true, false);
|
permanent.damage(2, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,7 +156,7 @@ class SiegeDragonDamageEffect extends OneShotEffect {
|
||||||
filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
|
filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
|
||||||
for (Permanent permanent : permanents) {
|
for (Permanent permanent : permanents) {
|
||||||
permanent.damage(2, source.getSourceId(), game, true, false);
|
permanent.damage(2, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,7 @@ class SoulOfShandalarEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent creature = game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(3, source.getSourceId(), game, true, false);
|
creature.damage(3, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ class AbyssalHunterEffect extends OneShotEffect {
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.tap(game);
|
targetCreature.tap(game);
|
||||||
if (hunter != null) {
|
if (hunter != null) {
|
||||||
targetCreature.damage(hunter.getPower().getValue(), hunter.getId(), game, true, false);
|
targetCreature.damage(hunter.getPower().getValue(), hunter.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ class FieryGambitEffect extends OneShotEffect {
|
||||||
if (controllerStopped) {
|
if (controllerStopped) {
|
||||||
Permanent creature = game.getPermanent(getTargetPointer().getFirst(game, source));
|
Permanent creature = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(3, source.getSourceId(), game, true, false);
|
creature.damage(3, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
if (flipsWon > 1) {
|
if (flipsWon > 1) {
|
||||||
new DamagePlayersEffect(6, TargetController.OPPONENT).apply(game, source);
|
new DamagePlayersEffect(6, TargetController.OPPONENT).apply(game, source);
|
||||||
|
|
|
@ -125,7 +125,7 @@ class GoblinCharbelcherEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damage, source.getSourceId(), game, true, false);
|
permanent.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
Player targetPlayer = game.getPlayer(targetPointer.getFirst(game, source));
|
||||||
|
|
|
@ -99,7 +99,7 @@ class SpikeshotGoblinEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damage, sourcePermanent.getId(), game, true, false);
|
permanent.damage(damage, sourcePermanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
|
|
|
@ -85,7 +85,7 @@ class BurntheImpureEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(3, source.getSourceId(), game, true, false);
|
permanent.damage(3, source.getSourceId(), game, false, true);
|
||||||
if (permanent.getAbilities().contains(InfectAbility.getInstance())) {
|
if (permanent.getAbilities().contains(InfectAbility.getInstance())) {
|
||||||
Player controller = game.getPlayer(permanent.getControllerId());
|
Player controller = game.getPlayer(permanent.getControllerId());
|
||||||
if (controller != null) {
|
if (controller != null) {
|
||||||
|
|
|
@ -107,7 +107,7 @@ class CrushUnderfootEffect extends OneShotEffect {
|
||||||
game.informPlayers(new StringBuilder("Crush Underfoot: Choosen Giant is").append(giant.getName()).toString());
|
game.informPlayers(new StringBuilder("Crush Underfoot: Choosen Giant is").append(giant.getName()).toString());
|
||||||
Permanent targetCreature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
Permanent targetCreature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||||
if (targetCreature != null) {
|
if (targetCreature != null) {
|
||||||
targetCreature.damage(giant.getPower().getValue(), source.getSourceId(), game, true, false);
|
targetCreature.damage(giant.getPower().getValue(), source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,7 +138,7 @@ class MoltenDisasterEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
int amount = source.getManaCostsToPay().getX();
|
int amount = source.getManaCostsToPay().getX();
|
||||||
for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
for (Permanent permanent: game.getBattlefield().getActivePermanents(filter, source.getControllerId(), game)) {
|
||||||
permanent.damage(amount, source.getId(), game, true, false);
|
permanent.damage(amount, source.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) {
|
for (UUID playerId: game.getPlayer(source.getControllerId()).getInRange()) {
|
||||||
Player player = game.getPlayer(playerId);
|
Player player = game.getPlayer(playerId);
|
||||||
|
|
|
@ -113,7 +113,7 @@ class OraclesAttendantsReplacementEffect extends ReplacementEffectImpl {
|
||||||
Permanent permanent = game.getPermanent(source.getSourceId());
|
Permanent permanent = game.getPermanent(source.getSourceId());
|
||||||
DamageCreatureEvent damageEvent = (DamageCreatureEvent) event;
|
DamageCreatureEvent damageEvent = (DamageCreatureEvent) event;
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damageEvent.getAmount(), damageEvent.getSourceId(), game, damageEvent.isPreventable(), damageEvent.isCombatDamage());
|
permanent.damage(damageEvent.getAmount(), damageEvent.getSourceId(), game, damageEvent.isCombatDamage(), damageEvent.isPreventable());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -127,7 +127,7 @@ class CathedralMembraneEffect extends OneShotEffect {
|
||||||
for (UUID uuid : watcher.blockedCreatures) {
|
for (UUID uuid : watcher.blockedCreatures) {
|
||||||
Permanent permanent = game.getPermanent(uuid);
|
Permanent permanent = game.getPermanent(uuid);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(6, source.getSourceId(), game, true, false);
|
permanent.damage(6, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@ class BlazingSalvoEffect extends OneShotEffect {
|
||||||
if (player.chooseUse(Outcome.Damage, message, game)){
|
if (player.chooseUse(Outcome.Damage, message, game)){
|
||||||
player.damage(5, source.getSourceId(), game, true, false);
|
player.damage(5, source.getSourceId(), game, true, false);
|
||||||
} else {
|
} else {
|
||||||
permanent.damage(3, source.getSourceId(), game, true, false);
|
permanent.damage(3, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -93,7 +93,7 @@ class WhipkeeperEffect extends OneShotEffect {
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
Permanent creature = game.getPermanent(source.getFirstTarget());
|
Permanent creature = game.getPermanent(source.getFirstTarget());
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(creature.getDamage(), source.getSourceId(), game, true, false);
|
creature.damage(creature.getDamage(), source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -114,7 +114,7 @@ class BoshIronGolemEffect extends OneShotEffect {
|
||||||
if (amount > 0) {
|
if (amount > 0) {
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
|
|
|
@ -144,7 +144,7 @@ class RaziaBorosArchangelEffect extends PreventionEffectImpl {
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
game.informPlayers("Dealing " + prevented + " to " + permanent.getName() + " instead");
|
game.informPlayers("Dealing " + prevented + " to " + permanent.getName() + " instead");
|
||||||
// keep the original source id as it is redirecting
|
// keep the original source id as it is redirecting
|
||||||
permanent.damage(prevented, event.getSourceId(), game, true, false);
|
permanent.damage(prevented, event.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ class LastStandEffect extends OneShotEffect {
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
int mountains = game.getBattlefield().count(filterMountain, source.getSourceId(), source.getControllerId(), game);
|
int mountains = game.getBattlefield().count(filterMountain, source.getSourceId(), source.getControllerId(), game);
|
||||||
if (mountains > 0) {
|
if (mountains > 0) {
|
||||||
creature.damage(mountains, source.getSourceId(), game, true, false);
|
creature.damage(mountains, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Put a 1/1 green Saproling creature token onto the battlefield for each Forest you control.
|
// Put a 1/1 green Saproling creature token onto the battlefield for each Forest you control.
|
||||||
|
|
|
@ -119,8 +119,8 @@ class RivalsDuelFightTargetsEffect extends OneShotEffect {
|
||||||
// 20110930 - 701.10
|
// 20110930 - 701.10
|
||||||
if (creature1 != null && creature2 != null) {
|
if (creature1 != null && creature2 != null) {
|
||||||
if (creature1.getCardType().contains(CardType.CREATURE) && creature2.getCardType().contains(CardType.CREATURE)) {
|
if (creature1.getCardType().contains(CardType.CREATURE) && creature2.getCardType().contains(CardType.CREATURE)) {
|
||||||
creature1.damage(creature2.getPower().getValue(), creature2.getId(), game, true, false);
|
creature1.damage(creature2.getPower().getValue(), creature2.getId(), game, false, true);
|
||||||
creature2.damage(creature1.getPower().getValue(), creature1.getId(), game, true, false);
|
creature2.damage(creature1.getPower().getValue(), creature1.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,8 +148,8 @@ class GuildFeudEffect extends OneShotEffect {
|
||||||
// If two creatures are put onto the battlefield this way, those creatures fight each other
|
// If two creatures are put onto the battlefield this way, those creatures fight each other
|
||||||
if (opponentCreature != null && controllerCreature != null) {
|
if (opponentCreature != null && controllerCreature != null) {
|
||||||
int power = opponentCreature.getPower().getValue();
|
int power = opponentCreature.getPower().getValue();
|
||||||
opponentCreature.damage(controllerCreature.getPower().getValue(), source.getSourceId(), game, true, false);
|
opponentCreature.damage(controllerCreature.getPower().getValue(), source.getSourceId(), game, false, true);
|
||||||
controllerCreature.damage(power, source.getSourceId(), game, true, false);
|
controllerCreature.damage(power, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -110,7 +110,7 @@ class IzzetStaticasterDamageEffect extends OneShotEffect {
|
||||||
filter.add(new NamePredicate(targetPermanent.getName()));
|
filter.add(new NamePredicate(targetPermanent.getName()));
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getId(), game);
|
||||||
for (Permanent permanent : permanents) {
|
for (Permanent permanent : permanents) {
|
||||||
permanent.damage(1, source.getSourceId(), game, true, false);
|
permanent.damage(1, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,7 @@ class PalisadeGiantReplacementEffect extends ReplacementEffectImpl {
|
||||||
}
|
}
|
||||||
game.informPlayers(message.toString());
|
game.informPlayers(message.toString());
|
||||||
// redirect damage
|
// redirect damage
|
||||||
sourcePermanent.damage(damageEvent.getAmount(), damageEvent.getSourceId(), game, damageEvent.isPreventable(), damageEvent.isCombatDamage(), event.getAppliedEffects());
|
sourcePermanent.damage(damageEvent.getAmount(), damageEvent.getSourceId(), game, damageEvent.isCombatDamage(), damageEvent.isPreventable(), event.getAppliedEffects());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -188,7 +188,7 @@ class VolatileRigEffect2 extends OneShotEffect {
|
||||||
|
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game);
|
||||||
for (Permanent permanent: permanents) {
|
for (Permanent permanent: permanents) {
|
||||||
permanent.damage(4, source.getId(), game, true, false);
|
permanent.damage(4, source.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
for (UUID playerId: player.getInRange()) {
|
for (UUID playerId: player.getInRange()) {
|
||||||
Player damageToPlayer = game.getPlayer(playerId);
|
Player damageToPlayer = game.getPlayer(playerId);
|
||||||
|
|
|
@ -110,7 +110,7 @@ class ExplosiveRevelationEffect extends OneShotEffect {
|
||||||
for (UUID targetId: targetPointer.getTargets(game, source)) {
|
for (UUID targetId: targetPointer.getTargets(game, source)) {
|
||||||
Permanent targetedCreature = game.getPermanent(targetId);
|
Permanent targetedCreature = game.getPermanent(targetId);
|
||||||
if (targetedCreature != null) {
|
if (targetedCreature != null) {
|
||||||
targetedCreature.damage(damage, source.getSourceId(), game, true, false);
|
targetedCreature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Player targetedPlayer = game.getPlayer(targetId);
|
Player targetedPlayer = game.getPlayer(targetId);
|
||||||
|
|
|
@ -88,7 +88,7 @@ class ForkedBoltEffect extends OneShotEffect {
|
||||||
for (UUID targetId: targetPointer.getTargets(game, source)) {
|
for (UUID targetId: targetPointer.getTargets(game, source)) {
|
||||||
Permanent permanent = game.getPermanent(targetId);
|
Permanent permanent = game.getPermanent(targetId);
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damagePer, source.getSourceId(), game, true, false);
|
permanent.damage(damagePer, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Player player = game.getPlayer(targetId);
|
Player player = game.getPlayer(targetId);
|
||||||
|
|
|
@ -113,7 +113,7 @@ class LordOfShatterskullPassEffect extends OneShotEffect {
|
||||||
filter.add(new ControllerIdPredicate(defenderId));
|
filter.add(new ControllerIdPredicate(defenderId));
|
||||||
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game);
|
||||||
for (Permanent permanent : permanents) {
|
for (Permanent permanent : permanents) {
|
||||||
permanent.damage(6, source.getSourceId(), game, true, false);
|
permanent.damage(6, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ class PestilenceDemonEffect extends OneShotEffect {
|
||||||
for (UUID permanentId : game.getBattlefield().getAllPermanentIds()) {
|
for (UUID permanentId : game.getBattlefield().getAllPermanentIds()) {
|
||||||
Permanent p = game.getPermanent(permanentId);
|
Permanent p = game.getPermanent(permanentId);
|
||||||
if (p != null && p.getCardType().contains(CardType.CREATURE)) {
|
if (p != null && p.getCardType().contains(CardType.CREATURE)) {
|
||||||
p.damage(1, source.getSourceId(), game, true, false);
|
p.damage(1, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (UUID playerId : game.getPlayerList()) {
|
for (UUID playerId : game.getPlayerList()) {
|
||||||
|
|
|
@ -103,7 +103,7 @@ class SphinxBoneWandEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(amount, source.getSourceId(), game, true, false);
|
permanent.damage(amount, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
|
|
|
@ -101,7 +101,7 @@ class UndyingFlamesEffect extends OneShotEffect {
|
||||||
if (damage > 0) {
|
if (damage > 0) {
|
||||||
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
Permanent creature = game.getPermanent(this.getTargetPointer().getFirst(game, source));
|
||||||
if (creature != null) {
|
if (creature != null) {
|
||||||
creature.damage(damage, source.getSourceId(), game, true, false);
|
creature.damage(damage, source.getSourceId(), game, false, true);
|
||||||
game.informPlayers(new StringBuilder(sourceCard.getName()).append(" deals ").append(damage).append(" damage to ").append(creature.getName()).toString());
|
game.informPlayers(new StringBuilder(sourceCard.getName()).append(" deals ").append(damage).append(" damage to ").append(creature.getName()).toString());
|
||||||
applied = true;
|
applied = true;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -103,11 +103,11 @@ class ArcTrailEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
applied |= (permanent.damage( damage, source.getSourceId(), game, true, false ) > 0);
|
applied |= (permanent.damage( damage, source.getSourceId(), game, false, true ) > 0);
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(target);
|
Player player = game.getPlayer(target);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
applied |= (player.damage( damage, source.getSourceId(), game, true, false ) > 0);
|
applied |= (player.damage( damage, source.getSourceId(), game, false, true ) > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
twoDamageDone = true;
|
twoDamageDone = true;
|
||||||
|
|
|
@ -98,7 +98,7 @@ class CerebralEruptionEffect1 extends OneShotEffect {
|
||||||
int damage = card.getManaCost().convertedManaCost();
|
int damage = card.getManaCost().convertedManaCost();
|
||||||
player.damage(damage, source.getId(), game, false, true);
|
player.damage(damage, source.getId(), game, false, true);
|
||||||
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
for (Permanent perm: game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) {
|
||||||
perm.damage(damage, source.getId(), game, true, false);
|
perm.damage(damage, source.getId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,7 +100,7 @@ class EmbersmithEffect extends OneShotEffect {
|
||||||
if (cost.pay(source, game, source.getId(), source.getControllerId(), false)) {
|
if (cost.pay(source, game, source.getId(), source.getControllerId(), false)) {
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(1, source.getId(), game, true, false);
|
permanent.damage(1, source.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
|
|
|
@ -98,7 +98,7 @@ class SpikeshotElderEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
Permanent permanent = game.getPermanent(source.getFirstTarget());
|
||||||
if (permanent != null) {
|
if (permanent != null) {
|
||||||
permanent.damage(damage, sourcePermanent.getId(), game, true, false);
|
permanent.damage(damage, sourcePermanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Player player = game.getPlayer(source.getFirstTarget());
|
Player player = game.getPlayer(source.getFirstTarget());
|
||||||
|
|
|
@ -96,7 +96,7 @@ class WingPunctureEffect extends OneShotEffect {
|
||||||
|
|
||||||
Permanent targetPermanent = (Permanent) game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
Permanent targetPermanent = (Permanent) game.getPermanent(source.getTargets().get(1).getFirstTarget());
|
||||||
if (sourcePermanent != null && targetPermanent != null) {
|
if (sourcePermanent != null && targetPermanent != null) {
|
||||||
targetPermanent.damage(sourcePermanent.getPower().getValue(), sourcePermanent.getId(), game, true, false);
|
targetPermanent.damage(sourcePermanent.getPower().getValue(), sourcePermanent.getId(), game, false, true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -107,7 +107,7 @@ class EmberGaleEffect extends OneShotEffect {
|
||||||
new ColorPredicate(ObjectColor.BLUE)));
|
new ColorPredicate(ObjectColor.BLUE)));
|
||||||
filter2.add(new CardTypePredicate(CardType.CREATURE));
|
filter2.add(new CardTypePredicate(CardType.CREATURE));
|
||||||
for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter2, targetPlayer.getId(), game)) {
|
for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter2, targetPlayer.getId(), game)) {
|
||||||
creature.damage(1, source.getSourceId(), game, true, false);
|
creature.damage(1, source.getSourceId(), game, false, true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue