mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
*Com Deck editor basic lands handled.
*Preliminary commander damage blocking ai (not yet fully in effect)
This commit is contained in:
@@ -1877,6 +1877,15 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
if(this.isCommander)
|
if(this.isCommander)
|
||||||
{
|
{
|
||||||
sb.append(this.getOwner().getName() + "'s Commander\r\n");
|
sb.append(this.getOwner().getName() + "'s Commander\r\n");
|
||||||
|
for(Player p : getOwner().getGame().getPlayers()) {
|
||||||
|
if(p.equals(getOwner()))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
Map<Card,Integer> map = p.getCommanderDamage();
|
||||||
|
if(map.containsKey(this)) {
|
||||||
|
sb.append("Damage to " + p.getName() + ": "+ map.get(p) + "\r\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sb.append(this.getAbilityText());
|
sb.append(this.getAbilityText());
|
||||||
|
|
||||||
|
|||||||
@@ -311,6 +311,25 @@ public class ComputerUtilCombat {
|
|||||||
|
|
||||||
final List<Card> blockers = combat.getBlockers(attacker);
|
final List<Card> blockers = combat.getBlockers(attacker);
|
||||||
|
|
||||||
|
if(attacker.isCommander())
|
||||||
|
{
|
||||||
|
int possibleCommanderDamage = attacker.getCurrentPower();
|
||||||
|
int currentCommanderDamage = ai.getCommanderDamage().containsKey(attacker) ? ai.getCommanderDamage().get(attacker) : 0;
|
||||||
|
if(blockers.size() > 0) {
|
||||||
|
if(attacker.getKeyword().contains("Trample")) {
|
||||||
|
for(Card b : blockers) {
|
||||||
|
possibleCommanderDamage -= b.getCurrentToughness();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
possibleCommanderDamage = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(possibleCommanderDamage + currentCommanderDamage >= 21)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (blockers.size() == 0) {
|
if (blockers.size() == 0) {
|
||||||
if (!attacker.getSVar("MustBeBlocked").equals("")) {
|
if (!attacker.getSVar("MustBeBlocked").equals("")) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -112,9 +112,10 @@ public final class CEditorCommander extends ACEditorBase<PaperCard, Deck> {
|
|||||||
if ((item == null) || !(item instanceof PaperCard) || toAlternate) {
|
if ((item == null) || !(item instanceof PaperCard) || toAlternate) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(controller.getModel().getMain().contains((PaperCard)item)
|
if((controller.getModel().getMain().contains((PaperCard)item)
|
||||||
|| controller.getModel().getOrCreate(DeckSection.Sideboard).contains((PaperCard)item)
|
|| controller.getModel().getOrCreate(DeckSection.Sideboard).contains((PaperCard)item)
|
||||||
|| controller.getModel().getOrCreate(DeckSection.Commander).contains((PaperCard)item)) {
|
|| controller.getModel().getOrCreate(DeckSection.Commander).contains((PaperCard)item))
|
||||||
|
&& !((PaperCard)item).getRules().getType().isBasic()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user