mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Merge branch 'fixAuras' into 'master'
Fix multiplayer losing keeping auras & stolen permanents Closes #1333 See merge request core-developers/forge!3640
This commit is contained in:
@@ -717,8 +717,18 @@ public class Game {
|
|||||||
|
|
||||||
if(isMultiplayer) {
|
if(isMultiplayer) {
|
||||||
if (c.getOwner().equals(p)) {
|
if (c.getOwner().equals(p)) {
|
||||||
|
for(Card cc : cards) {
|
||||||
|
cc.removeImprintedCard(c);
|
||||||
|
cc.removeEncodedCard(c);
|
||||||
|
cc.removeRemembered(c);
|
||||||
|
}
|
||||||
c.ceaseToExist();
|
c.ceaseToExist();
|
||||||
} else {
|
} else {
|
||||||
|
// return stolen permanents
|
||||||
|
if (c.getController().equals(p) && c.isInZone(ZoneType.Battlefield)) {
|
||||||
|
c.removeTempController(p);
|
||||||
|
getAction().controllerChangeZoneCorrection(c);
|
||||||
|
}
|
||||||
c.removeTempController(p);
|
c.removeTempController(p);
|
||||||
if (c.getController().equals(p)) {
|
if (c.getController().equals(p)) {
|
||||||
this.getAction().exile(c, null);
|
this.getAction().exile(c, null);
|
||||||
|
|||||||
@@ -6404,6 +6404,7 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
|
|||||||
public void ceaseToExist() {
|
public void ceaseToExist() {
|
||||||
getGame().getTriggerHandler().suppressMode(TriggerType.ChangesZone);
|
getGame().getTriggerHandler().suppressMode(TriggerType.ChangesZone);
|
||||||
getZone().remove(this);
|
getZone().remove(this);
|
||||||
|
setZone(null);
|
||||||
getGame().getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
|
getGame().getTriggerHandler().clearSuppression(TriggerType.ChangesZone);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user