* Thraximundar - Fixed that the second ability to sacrifice a creature didn't trigger.

This commit is contained in:
LevelX2 2013-09-03 23:42:34 +02:00
parent 3592c3b06a
commit d36a968579
19 changed files with 44 additions and 21 deletions

View file

@ -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;

View file

@ -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;
}

View file

@ -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));

View file

@ -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;

View file

@ -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();

View file

@ -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;

View file

@ -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));

View file

@ -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));

View file

@ -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;
}

View file

@ -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();

View file

@ -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);

View file

@ -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));

View file

@ -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));

View file

@ -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);

View file

@ -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();