* Soulbond - Reworked to two triggerd abilities (fixes #1882).

This commit is contained in:
LevelX2 2016-04-16 02:43:52 +02:00
parent 3b98d0714d
commit 1dbba3f7a9
32 changed files with 374 additions and 285 deletions

View file

@ -131,7 +131,6 @@ import mage.watchers.common.DamageDoneWatcher;
import mage.watchers.common.MorbidWatcher;
import mage.watchers.common.PlayerDamagedBySourceWatcher;
import mage.watchers.common.PlayerLostLifeWatcher;
import mage.watchers.common.SoulbondWatcher;
import org.apache.log4j.Logger;
public abstract class GameImpl implements Game, Serializable {
@ -1007,7 +1006,6 @@ public abstract class GameImpl implements Game, Serializable {
}
watchers.add(new MorbidWatcher());
watchers.add(new CastSpellLastTurnWatcher());
watchers.add(new SoulbondWatcher());
watchers.add(new PlayerLostLifeWatcher());
watchers.add(new BlockedAttackerWatcher());
watchers.add(new DamageDoneWatcher());
@ -1687,7 +1685,7 @@ public abstract class GameImpl implements Game, Serializable {
if (perm.getPairedCard() != null) {
//702.93e.: ...another player gains control
// ...or the creature it's paired with leaves the battlefield.
Permanent paired = getPermanent(perm.getPairedCard());
Permanent paired = perm.getPairedCard().getPermanent(this);
if (paired == null || !perm.getControllerId().equals(paired.getControllerId()) || paired.getPairedCard() == null) {
perm.setPairedCard(null);
if (paired != null) {
@ -1698,7 +1696,7 @@ public abstract class GameImpl implements Game, Serializable {
}
} else if (perm.getPairedCard() != null) {
//702.93e.: ...stops being a creature
Permanent paired = getPermanent(perm.getPairedCard());
Permanent paired = perm.getPairedCard().getPermanent(this);
perm.setPairedCard(null);
if (paired != null) {
paired.setPairedCard(null);