Added ChokingFumes card

Added AddCountersAllEffect
Refactoring and fixes for Counter adding effects
This commit is contained in:
North 2011-06-24 00:28:07 +03:00
parent a121913f22
commit 273ab90154
23 changed files with 213 additions and 143 deletions

View file

@ -44,20 +44,15 @@ import java.util.UUID;
*/
public class AddCountersTargetEffect extends OneShotEffect<AddCountersTargetEffect> {
private int amount;
private String name;
private Counter counter;
public AddCountersTargetEffect(Counter counter) {
super(Outcome.Benefit);
this.name = counter.getName();
this.counter = counter;
}
public AddCountersTargetEffect(final AddCountersTargetEffect effect) {
super(effect);
this.amount = effect.amount;
this.name = effect.name;
this.counter = effect.counter.copy();
}
@ -69,13 +64,13 @@ public class AddCountersTargetEffect extends OneShotEffect<AddCountersTargetEffe
if (permanent != null) {
if (counter != null) {
permanent.addCounters(counter);
} else {
permanent.addCounters(name, amount);
affectedTargets ++;
}
} else {
Player player = game.getPlayer(uuid);
if (player != null) {
player.getCounters().addCounter(counter);
affectedTargets ++;
}
}
}
@ -86,11 +81,11 @@ public class AddCountersTargetEffect extends OneShotEffect<AddCountersTargetEffe
public String getText(Ability source) {
StringBuilder sb = new StringBuilder();
sb.append("put ");
if (amount > 1) {
sb.append(Integer.toString(amount)).append(" ").append(name).append(" counters on ");
if (counter.getCount() > 1) {
sb.append(Integer.toString(counter.getCount())).append(" ").append(counter.getName()).append(" counters on target ");
}
else {
sb.append("a ").append(name).append(" counter on target ");
sb.append("a ").append(counter.getName()).append(" counter on target ");
}
sb.append(source.getTargets().get(0).getTargetName());
return sb.toString();