mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
ConcertedEffort and OdricLunarch bug fixes
This commit is contained in:
parent
4fef593c8e
commit
21d8f482f0
2 changed files with 23 additions and 21 deletions
|
@ -85,6 +85,7 @@ class ConcertedEffortEffect extends OneShotEffect {
|
|||
private static final FilterControlledCreaturePermanent filterProtection = new FilterControlledCreaturePermanent();
|
||||
private static final FilterControlledCreaturePermanent filterTrample = new FilterControlledCreaturePermanent();
|
||||
private static final FilterControlledCreaturePermanent filterVigilance = new FilterControlledCreaturePermanent();
|
||||
private static final FilterControlledCreaturePermanent filterCreatures = new FilterControlledCreaturePermanent();
|
||||
|
||||
static {
|
||||
filterFlying.add(new AbilityPredicate(FlyingAbility.class));
|
||||
|
@ -115,29 +116,29 @@ class ConcertedEffortEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
// Flying
|
||||
if (game.getBattlefield().contains(filterFlying, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Fear
|
||||
if (game.getBattlefield().contains(filterFear, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(FearAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(FearAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// First strike
|
||||
if (game.getBattlefield().contains(filterFirstStrike, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Double strike
|
||||
if (game.getBattlefield().contains(filterDoubleStrike, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Landwalk
|
||||
for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filterLandwalk, source.getControllerId(), game)) {
|
||||
for (Ability ability : permanent.getAbilities(game)) {
|
||||
if (ability instanceof LandwalkAbility) {
|
||||
game.addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -146,19 +147,19 @@ class ConcertedEffortEffect extends OneShotEffect {
|
|||
for (Permanent permanent : game.getBattlefield().getAllActivePermanents(filterProtection, source.getControllerId(), game)) {
|
||||
for (Ability ability : permanent.getAbilities(game)) {
|
||||
if (ability instanceof ProtectionAbility) {
|
||||
game.addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Trample
|
||||
if (game.getBattlefield().contains(filterTrample, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Vigilance
|
||||
if (game.getBattlefield().contains(filterVigilance, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ class OdricLunarchMarshalEffect extends OneShotEffect {
|
|||
private static final FilterControlledCreaturePermanent filterSkulk = new FilterControlledCreaturePermanent();
|
||||
private static final FilterControlledCreaturePermanent filterTrample = new FilterControlledCreaturePermanent();
|
||||
private static final FilterControlledCreaturePermanent filterVigilance = new FilterControlledCreaturePermanent();
|
||||
private static final FilterControlledCreaturePermanent filterCreatures = new FilterControlledCreaturePermanent();
|
||||
|
||||
static {
|
||||
filterFirstStrike.add(new AbilityPredicate(FirstStrikeAbility.class));
|
||||
|
@ -136,67 +137,67 @@ class OdricLunarchMarshalEffect extends OneShotEffect {
|
|||
|
||||
// First strike
|
||||
if (game.getBattlefield().contains(filterFirstStrike, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Flying
|
||||
if (game.getBattlefield().contains(filterFlying, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Deathtouch
|
||||
if (game.getBattlefield().contains(filterDeathtouch, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Double strike
|
||||
if (game.getBattlefield().contains(filterDoubleStrike, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(DoubleStrikeAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Haste
|
||||
if (game.getBattlefield().contains(filterHaste, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Hexproof
|
||||
if (game.getBattlefield().contains(filterHexproof, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Indestructible
|
||||
if (game.getBattlefield().contains(filterIndestructible, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Lifelink
|
||||
if (game.getBattlefield().contains(filterLifelink, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Menace
|
||||
if (game.getBattlefield().contains(filterMenace, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Reach
|
||||
if (game.getBattlefield().contains(filterReach, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(ReachAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Skulk
|
||||
if (game.getBattlefield().contains(filterSkulk, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(new SkulkAbility(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(new SkulkAbility(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Trample
|
||||
if (game.getBattlefield().contains(filterTrample, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
|
||||
// Vigilance
|
||||
if (game.getBattlefield().contains(filterVigilance, source.getControllerId(), 1, game)) {
|
||||
game.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), source);
|
||||
game.addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, filterCreatures), source);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue