mirror of
https://github.com/magefree/mage.git
synced 2026-01-23 03:39:54 -08:00
* Thraximundar - Fixed that the second ability to sacrifice a creature didn't trigger.
This commit is contained in:
parent
3592c3b06a
commit
d36a968579
19 changed files with 44 additions and 21 deletions
|
|
@ -94,7 +94,7 @@ class MageSlayerEffect extends OneShotEffect<MageSlayerEffect> {
|
|||
Permanent equipment = game.getPermanent(source.getSourceId());
|
||||
if (equipment != null && equipment.getAttachedTo() != null) {
|
||||
int power = game.getPermanent(equipment.getAttachedTo()).getPower().getValue();
|
||||
UUID defendingPlayerId = game.getCombat().getDefendingPlayer(equipment.getAttachedTo());
|
||||
UUID defendingPlayerId = game.getCombat().getDefenderId(equipment.getAttachedTo());
|
||||
if (defendingPlayerId != null) {
|
||||
game.getPlayer(defendingPlayerId).damage(power, id, game, false, true);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -110,10 +110,9 @@ class ThraximundarTriggeredAbility extends TriggeredAbilityImpl<ThraximundarTrig
|
|||
|
||||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.DECLARED_ATTACKERS
|
||||
&& game.getActivePlayerId().equals(this.controllerId)
|
||||
if (event.getType() == GameEvent.EventType.ATTACKER_DECLARED
|
||||
&& event.getSourceId() == this.getSourceId()) {
|
||||
UUID defender = game.getCombat().getDefendingPlayer(this.getSourceId());
|
||||
UUID defender = game.getCombat().getDefendingPlayerId(this.getSourceId(), game);
|
||||
this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ class VedalkenGhoulTriggeredAbility extends TriggeredAbilityImpl<VedalkenGhoulTr
|
|||
@Override
|
||||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.CREATURE_BLOCKED && event.getTargetId().equals(this.getSourceId())) {
|
||||
UUID defendingPlayer = game.getCombat().getDefendingPlayer(this.getSourceId());
|
||||
UUID defendingPlayer = game.getCombat().getDefenderId(this.getSourceId());
|
||||
if (defendingPlayer != null) {
|
||||
for (Effect effect : this.getEffects()) {
|
||||
effect.setTargetPointer(new FixedTarget(defendingPlayer));
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ class MasterOfCrueltiesEffect extends OneShotEffect<MasterOfCrueltiesEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
Player defendingPlayer = game.getPlayer(game.getCombat().getDefendingPlayer(source.getSourceId()));
|
||||
Player defendingPlayer = game.getPlayer(game.getCombat().getDefenderId(source.getSourceId()));
|
||||
if (defendingPlayer != null) {
|
||||
defendingPlayer.setLife(1, game);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ class GrimgrinCorpseBornAbility extends TriggeredAbilityImpl<GrimgrinCorpseBornA
|
|||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.ATTACKER_DECLARED && event.getSourceId().equals(this.getSourceId())) {
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls");
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(sourceId);
|
||||
UUID defenderId = game.getCombat().getDefenderId(sourceId);
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
|
||||
this.getTargets().clear();
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ class TrepanationBladeDiscardEffect extends OneShotEffect<TrepanationBladeDiscar
|
|||
if (creature == null) {
|
||||
return false;
|
||||
}
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(creature.getId());
|
||||
UUID defenderId = game.getCombat().getDefenderId(creature.getId());
|
||||
Player player = game.getPlayer(defenderId);
|
||||
if (player == null) {
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ class AncientHellkiteAbility extends ActivatedAbilityImpl<AncientHellkiteAbility
|
|||
|
||||
@Override
|
||||
public boolean activate(Game game, boolean noMana) {
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(sourceId);
|
||||
UUID defenderId = game.getCombat().getDefenderId(sourceId);
|
||||
if (defenderId != null) {
|
||||
FilterCreaturePermanent filter = filterTemplate.copy();
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ class CyclopsGladiatorEffect extends OneShotEffect<CyclopsGladiatorEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(source.getSourceId());
|
||||
UUID defenderId = game.getCombat().getDefenderId(source.getSourceId());
|
||||
if (defenderId != null) {
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls");
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ class NefaroxOverlordOfGrixisTriggeredAbility extends TriggeredAbilityImpl<Nefar
|
|||
UUID nefarox = this.getSourceId();
|
||||
if (nefarox != null) {
|
||||
if (game.getCombat().attacksAlone() && nefarox == game.getCombat().getAttackers().get(0)) {
|
||||
UUID defender = game.getCombat().getDefendingPlayer(nefarox);
|
||||
UUID defender = game.getCombat().getDefenderId(nefarox);
|
||||
this.getEffects().get(0).setTargetPointer(new FixedTarget(defender));
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ class ColossalWhaleAbility extends TriggeredAbilityImpl<ColossalWhaleAbility> {
|
|||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.ATTACKER_DECLARED && event.getSourceId().equals(this.getSourceId())) {
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls");
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(sourceId);
|
||||
UUID defenderId = game.getCombat().getDefenderId(sourceId);
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
|
||||
this.getTargets().clear();
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public class MasterOfDiversion extends CardImpl<MasterOfDiversion> {
|
|||
if (ability.getAbilityType().equals(AbilityType.TRIGGERED)) {
|
||||
ability.getTargets().clear();
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls");
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(ability.getSourceId());
|
||||
UUID defenderId = game.getCombat().getDefenderId(ability.getSourceId());
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
TargetCreaturePermanent target = new TargetCreaturePermanent(filter);
|
||||
target.setRequired(true);
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ class SkymarkRocAbility extends TriggeredAbilityImpl<SkymarkRocAbility> {
|
|||
public boolean checkTrigger(GameEvent event, Game game) {
|
||||
if (event.getType() == GameEvent.EventType.ATTACKER_DECLARED && event.getSourceId().equals(this.getSourceId())) {
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent("creature defending player controls with toughness 2 or less");
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(sourceId);
|
||||
UUID defenderId = game.getCombat().getDefenderId(sourceId);
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
filter.add(new ToughnessPredicate(Filter.ComparisonType.LessThan, 3));
|
||||
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ class LordOfShatterskullPassEffect extends OneShotEffect<LordOfShatterskullPassE
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(source.getSourceId());
|
||||
UUID defenderId = game.getCombat().getDefenderId(source.getSourceId());
|
||||
if (defenderId != null) {
|
||||
FilterCreaturePermanent filter = new FilterCreaturePermanent();
|
||||
filter.add(new ControllerIdPredicate(defenderId));
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ class MyrBattlesphereEffect extends OneShotEffect<MyrBattlesphereEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(source.getSourceId());
|
||||
UUID defenderId = game.getCombat().getDefenderId(source.getSourceId());
|
||||
Player defender = game.getPlayer(defenderId);
|
||||
if (defender != null) {
|
||||
defender.damage(amount.calculate(game, source), source.getSourceId(), game, false, false);
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class GoblinGuideEffect extends OneShotEffect<GoblinGuideEffect> {
|
|||
|
||||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
UUID defenderId = game.getCombat().getDefendingPlayer(source.getSourceId());
|
||||
UUID defenderId = game.getCombat().getDefenderId(source.getSourceId());
|
||||
Player defender = game.getPlayer(defenderId);
|
||||
if (defender != null) {
|
||||
Cards cards = new CardsImpl();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue