[SNC] Implemented Professional Face-Breaker

This commit is contained in:
Evan Kranzler 2022-04-09 10:57:01 -04:00
parent 20a577fc5a
commit 32f12d3508
12 changed files with 82 additions and 26 deletions

View file

@ -17,39 +17,39 @@ import java.util.UUID;
/**
* @author LevelX2
*/
public class ControlledCreaturesDealCombatDamagePlayerTriggeredAbility extends TriggeredAbilityImpl {
public class DealCombatDamageControlledTriggeredAbility extends TriggeredAbilityImpl {
private final Set<UUID> damagedPlayerIds = new HashSet<>();
private final boolean setTargetPointer;
private final boolean onlyOpponents;
public ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(Effect effect) {
public DealCombatDamageControlledTriggeredAbility(Effect effect) {
this(Zone.BATTLEFIELD, effect);
}
public ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(Zone zone, Effect effect) {
public DealCombatDamageControlledTriggeredAbility(Zone zone, Effect effect) {
this(zone, effect, false);
}
public ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(Zone zone, Effect effect, boolean setTargetPointer) {
public DealCombatDamageControlledTriggeredAbility(Zone zone, Effect effect, boolean setTargetPointer) {
this(zone, effect, setTargetPointer, false);
}
public ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(Zone zone, Effect effect, boolean setTargetPointer, boolean onlyOpponents) {
public DealCombatDamageControlledTriggeredAbility(Zone zone, Effect effect, boolean setTargetPointer, boolean onlyOpponents) {
super(zone, effect, false);
this.setTargetPointer = setTargetPointer;
this.onlyOpponents = onlyOpponents;
}
public ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(final ControlledCreaturesDealCombatDamagePlayerTriggeredAbility ability) {
public DealCombatDamageControlledTriggeredAbility(final DealCombatDamageControlledTriggeredAbility ability) {
super(ability);
this.setTargetPointer = ability.setTargetPointer;
this.onlyOpponents = ability.onlyOpponents;
}
@Override
public ControlledCreaturesDealCombatDamagePlayerTriggeredAbility copy() {
return new ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(this);
public DealCombatDamageControlledTriggeredAbility copy() {
return new DealCombatDamageControlledTriggeredAbility(this);
}
@Override

View file

@ -1,7 +1,7 @@
package mage.game.command.emblems;
import mage.abilities.Ability;
import mage.abilities.common.ControlledCreaturesDealCombatDamagePlayerTriggeredAbility;
import mage.abilities.common.DealCombatDamageControlledTriggeredAbility;
import mage.abilities.condition.Condition;
import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
import mage.abilities.effects.Effect;
@ -25,7 +25,7 @@ public final class LolthSpiderQueenEmblem extends Emblem {
this.setName("Emblem Lolth");
this.setExpansionSetCodeForImage("AFR");
this.getAbilities().add(new ConditionalInterveningIfTriggeredAbility(
new ControlledCreaturesDealCombatDamagePlayerTriggeredAbility(
new DealCombatDamageControlledTriggeredAbility(
Zone.COMMAND, new LolthSpiderQueenEmblemEffect(), true, true
), LolthSpiderQueenEmblemCondition.instance, "Whenever an opponent " +
"is dealt combat damage by one or more creatures you control, " +