mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
- Added a method to add a color replacement to ManaPool.
- Fixed a mistype in method name.
This commit is contained in:
@@ -281,7 +281,7 @@ public class ManaCostBeingPaid {
|
||||
}
|
||||
};
|
||||
|
||||
return tryPayMana(colorMask, Iterables.filter(unpaidShards.keySet(), predCanBePaid), pool.getPosibleColorUses(colorMask));
|
||||
return tryPayMana(colorMask, Iterables.filter(unpaidShards.keySet(), predCanBePaid), pool.getPossibleColorUses(colorMask));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -306,7 +306,7 @@ public class ManaCostBeingPaid {
|
||||
};
|
||||
|
||||
byte inColor = mana.getColorCode();
|
||||
byte outColor = pool.getPosibleColorUses(inColor);
|
||||
byte outColor = pool.getPossibleColorUses(inColor);
|
||||
return tryPayMana(inColor, Iterables.filter(unpaidShards.keySet(), predCanBePaid), outColor);
|
||||
}
|
||||
|
||||
|
||||
@@ -421,18 +421,23 @@ public class ManaPool {
|
||||
private final byte[] colorConversionMatrix = new byte[6];
|
||||
private static final byte[] identityMatrix = { MagicColor.WHITE, MagicColor.BLUE, MagicColor.BLACK, MagicColor.RED, MagicColor.GREEN, 0 };
|
||||
|
||||
public void addColorReplacement(byte originalColor, byte replacementColor) {
|
||||
int rowIdx = MagicColor.getIndexOfFirstColor(originalColor);
|
||||
colorConversionMatrix[rowIdx] |= replacementColor;
|
||||
}
|
||||
|
||||
public void restoreColorReplacements() {
|
||||
for(int i = 0; i < colorConversionMatrix.length; i++)
|
||||
colorConversionMatrix[i] = identityMatrix[i];
|
||||
}
|
||||
|
||||
public byte getPosibleColorUses(byte color) {
|
||||
public byte getPossibleColorUses(byte color) {
|
||||
int rowIdx = MagicColor.getIndexOfFirstColor(color);
|
||||
return colorConversionMatrix[rowIdx < 0 ? identityMatrix.length - 1 : rowIdx];
|
||||
}
|
||||
|
||||
public boolean canPayForShardWithColor(ManaCostShard shard, byte color) {
|
||||
byte line = getPosibleColorUses(color);
|
||||
byte line = getPossibleColorUses(color);
|
||||
for(int i = 0; i < MagicColor.NUMBER_OR_COLORS; i++) {
|
||||
byte outColor = MagicColor.WUBRG[i];
|
||||
if (( line & outColor) != 0 && shard.canBePaidWithManaOfColor(outColor))
|
||||
|
||||
Reference in New Issue
Block a user