Tokens reworked:

- removed outdated code;
 - updated logic to choose a set code for a tokens in different use cases (related to #10150);
 - added many tests for client and server token's data (related to #10139);
 - prepare for tokens database (related #6955);
This commit is contained in:
Oleg Agafonov 2023-04-13 16:18:53 +04:00
parent ff15edbce8
commit d17df585c5
13 changed files with 409 additions and 89 deletions

View file

@ -18,4 +18,8 @@ public interface CommandObject extends MageObject, Controllable {
@Override
CommandObject copy();
String getExpansionSetCodeForImage();
void setExpansionSetCodeForImage(String expansionSetCodeForImage);
}

View file

@ -282,6 +282,16 @@ public class Commander implements CommandObject {
return sourceObject.getImageName();
}
@Override
public String getExpansionSetCodeForImage() {
return sourceObject.getExpansionSetCode();
}
@Override
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
throw new IllegalStateException("Can't change a set code of the commander, source card already has it");
}
@Override
public int getZoneChangeCounter(Game game) {
return sourceObject.getZoneChangeCounter(game);

View file

@ -327,10 +327,12 @@ public class Dungeon implements CommandObject {
return new Dungeon(this);
}
@Override
public String getExpansionSetCodeForImage() {
return expansionSetCodeForImage;
}
@Override
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
this.expansionSetCodeForImage = expansionSetCodeForImage;
}

View file

@ -243,14 +243,16 @@ public class Emblem implements CommandObject {
return new Emblem(this);
}
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
this.expansionSetCodeForImage = expansionSetCodeForImage;
}
@Override
public String getExpansionSetCodeForImage() {
return expansionSetCodeForImage;
}
@Override
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
this.expansionSetCodeForImage = expansionSetCodeForImage;
}
@Override
public int getZoneChangeCounter(Game game) {
return 1; // Emblems can't move zones until now so return always 1

View file

@ -242,14 +242,16 @@ public class Plane implements CommandObject {
return new Plane(this);
}
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
this.expansionSetCodeForImage = expansionSetCodeForImage;
}
@Override
public String getExpansionSetCodeForImage() {
return expansionSetCodeForImage;
}
@Override
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
this.expansionSetCodeForImage = expansionSetCodeForImage;
}
@Override
public int getZoneChangeCounter(Game game) {
return 1; // Emblems can't move zones until now so return always 1