mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 21:12:04 -08:00
removed unnecessary lastAddedToken method from TokenImpl, reworked Warren Weirding
This commit is contained in:
parent
676c3a8bb4
commit
a581d55160
7 changed files with 31 additions and 69 deletions
|
|
@ -6,7 +6,6 @@ import mage.game.permanent.Permanent;
|
|||
import mage.game.permanent.token.Token;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author weirddan455
|
||||
*/
|
||||
public class CreateTokenAttachSourceEffect extends CreateTokenEffect {
|
||||
|
|
@ -28,7 +27,7 @@ public class CreateTokenAttachSourceEffect extends CreateTokenEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
super.apply(game, source);
|
||||
Permanent token = game.getPermanent(this.getLastAddedTokenId());
|
||||
Permanent token = game.getPermanent(this.getLastAddedTokenIds().stream().findFirst().orElse(null));
|
||||
if (token != null) {
|
||||
token.addAttachment(source.getSourceId(), source, game);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -24,11 +24,10 @@ import java.util.UUID;
|
|||
*/
|
||||
public class CreateTokenEffect extends OneShotEffect {
|
||||
|
||||
private Token token;
|
||||
private DynamicValue amount;
|
||||
private boolean tapped;
|
||||
private boolean attacking;
|
||||
private UUID lastAddedTokenId;
|
||||
private final Token token;
|
||||
private final DynamicValue amount;
|
||||
private final boolean tapped;
|
||||
private final boolean attacking;
|
||||
private List<UUID> lastAddedTokenIds = new ArrayList<>();
|
||||
|
||||
public CreateTokenEffect(Token token) {
|
||||
|
|
@ -62,7 +61,6 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
this.token = effect.token.copy();
|
||||
this.tapped = effect.tapped;
|
||||
this.attacking = effect.attacking;
|
||||
this.lastAddedTokenId = effect.lastAddedTokenId;
|
||||
this.lastAddedTokenIds.addAll(effect.lastAddedTokenIds);
|
||||
}
|
||||
|
||||
|
|
@ -75,16 +73,11 @@ public class CreateTokenEffect extends OneShotEffect {
|
|||
public boolean apply(Game game, Ability source) {
|
||||
int value = amount.calculate(game, source, this);
|
||||
token.putOntoBattlefield(value, game, source, source.getControllerId(), tapped, attacking);
|
||||
this.lastAddedTokenId = token.getLastAddedToken();
|
||||
this.lastAddedTokenIds = token.getLastAddedTokenIds();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public UUID getLastAddedTokenId() {
|
||||
return lastAddedTokenId;
|
||||
}
|
||||
|
||||
public List<UUID> getLastAddedTokenIds() {
|
||||
return lastAddedTokenIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@ public interface Token extends MageObject {
|
|||
|
||||
String getDescription();
|
||||
|
||||
UUID getLastAddedToken();
|
||||
|
||||
List<UUID> getLastAddedTokenIds();
|
||||
|
||||
void addAbility(Ability ability);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@ public abstract class TokenImpl extends MageObjectImpl implements Token {
|
|||
|
||||
protected String description;
|
||||
private final ArrayList<UUID> lastAddedTokenIds = new ArrayList<>();
|
||||
private UUID lastAddedTokenId;
|
||||
private int tokenType;
|
||||
private String originalCardNumber;
|
||||
private String originalExpansionSetCode;
|
||||
|
|
@ -76,7 +75,6 @@ public abstract class TokenImpl extends MageObjectImpl implements Token {
|
|||
super(token);
|
||||
this.description = token.description;
|
||||
this.tokenType = token.tokenType;
|
||||
this.lastAddedTokenId = token.lastAddedTokenId;
|
||||
this.lastAddedTokenIds.addAll(token.lastAddedTokenIds);
|
||||
this.originalCardNumber = token.originalCardNumber;
|
||||
this.originalExpansionSetCode = token.originalExpansionSetCode;
|
||||
|
|
@ -113,11 +111,6 @@ public abstract class TokenImpl extends MageObjectImpl implements Token {
|
|||
return description;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UUID getLastAddedToken() {
|
||||
return lastAddedTokenId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UUID> getLastAddedTokenIds() {
|
||||
return new ArrayList<>(lastAddedTokenIds);
|
||||
|
|
@ -301,7 +294,6 @@ public abstract class TokenImpl extends MageObjectImpl implements Token {
|
|||
// keep tokens ids
|
||||
if (token instanceof TokenImpl) {
|
||||
((TokenImpl) token).lastAddedTokenIds.add(permanent.getId());
|
||||
((TokenImpl) token).lastAddedTokenId = permanent.getId();
|
||||
}
|
||||
|
||||
// created token events
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ public class Spell extends StackObjectImpl implements Card {
|
|||
CardUtil.copyTo(token).from(card, game, this);
|
||||
// The token that a resolving copy of a spell becomes isn’t said to have been “created.” (2020-09-25)
|
||||
if (token.putOntoBattlefield(1, game, ability, getControllerId(), false, false, null, false)) {
|
||||
permId = token.getLastAddedToken();
|
||||
permId = token.getLastAddedTokenIds().stream().findFirst().orElse(null);
|
||||
flag = true;
|
||||
} else {
|
||||
permId = null;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue