Merge remote-tracking branch 'upstream/FriendOrFoe' into FriendOrFoe

# Conflicts:
#	forge-gui/res/cardsfolder/upcoming/regnas_sanction.txt
This commit is contained in:
Agetian
2018-06-04 07:37:06 +03:00
3 changed files with 21 additions and 20 deletions

View File

@@ -57,18 +57,18 @@ public class CountersPutAllEffect extends SpellAbilityEffect {
cards = CardLists.filterControlledBy(cards, pl);
}
Player putter = activator;
if (sa.hasParam("Putter")) {
final String pstr = sa.getParam("Putter");
putter = AbilityUtils.getDefinedPlayers(host, pstr, sa).get(0);
Player placer = activator;
if (sa.hasParam("Placer")) {
final String pstr = sa.getParam("Placer");
placer = AbilityUtils.getDefinedPlayers(host, pstr, sa).get(0);
}
for (final Card tgtCard : cards) {
if (game.getZoneOf(tgtCard).is(ZoneType.Battlefield)) {
tgtCard.addCounter(CounterType.valueOf(type), counterAmount, putter, true);
tgtCard.addCounter(CounterType.valueOf(type), counterAmount, placer, true);
} else {
// adding counters to something like re-suspend cards
tgtCard.addCounter(CounterType.valueOf(type), counterAmount, putter, false);
tgtCard.addCounter(CounterType.valueOf(type), counterAmount, placer, false);
}
game.updateLastStateForCard(tgtCard);
}

View File

@@ -110,10 +110,10 @@ public class CountersPutEffect extends SpellAbilityEffect {
}
}
Player putter = activator;
if (sa.hasParam("Putter")) {
final String pstr = sa.getParam("Putter");
putter = AbilityUtils.getDefinedPlayers(sa.getHostCard(), pstr, sa).get(0);
Player placer = activator;
if (sa.hasParam("Placer")) {
final String pstr = sa.getParam("Placer");
placer = AbilityUtils.getDefinedPlayers(sa.getHostCard(), pstr, sa).get(0);
}
final boolean etbcounter = sa.hasParam("ETB");
@@ -161,10 +161,10 @@ public class CountersPutEffect extends SpellAbilityEffect {
if (eachExistingCounter) {
for(CounterType ct : choices) {
if (obj instanceof Player) {
((Player) obj).addCounter(ct, counterAmount, putter, true);
((Player) obj).addCounter(ct, counterAmount, placer, true);
}
if (obj instanceof Card) {
((Card) obj).addCounter(ct, counterAmount, putter, true);
((Card) obj).addCounter(ct, counterAmount, placer, true);
}
}
continue;
@@ -238,9 +238,9 @@ public class CountersPutEffect extends SpellAbilityEffect {
final Zone zone = tgtCard.getGame().getZoneOf(tgtCard);
if (zone == null || zone.is(ZoneType.Battlefield) || zone.is(ZoneType.Stack)) {
if (etbcounter) {
tgtCard.addEtbCounter(counterType, counterAmount, putter);
tgtCard.addEtbCounter(counterType, counterAmount, placer);
} else {
tgtCard.addCounter(counterType, counterAmount, putter, true);
tgtCard.addCounter(counterType, counterAmount, placer, true);
}
if (remember) {
final int value = tgtCard.getTotalCountersToAdd();
@@ -269,9 +269,9 @@ public class CountersPutEffect extends SpellAbilityEffect {
// adding counters to something like re-suspend cards
// etbcounter should apply multiplier
if (etbcounter) {
tgtCard.addEtbCounter(counterType, counterAmount, putter);
tgtCard.addEtbCounter(counterType, counterAmount, placer);
} else {
tgtCard.addCounter(counterType, counterAmount, putter, false);
tgtCard.addCounter(counterType, counterAmount, placer, false);
}
}
game.updateLastStateForCard(tgtCard);
@@ -279,7 +279,7 @@ public class CountersPutEffect extends SpellAbilityEffect {
} else if (obj instanceof Player) {
// Add Counters to players!
Player pl = (Player) obj;
pl.addCounter(counterType, counterAmount, putter, true);
pl.addCounter(counterType, counterAmount, placer, true);
}
}
}

View File

@@ -3,13 +3,14 @@ ManaCost:3 W
Types:Sorcery
A:SP$ AssignGroup | Cost$ 3 W | Defined$ Player | Choices$ FriendRepeat,FoeRepeat | AILogic$ FriendOrFoe | SpellDescription$ For each player, choose friend or foe. Each friend puts a +1/+1 counter on each creature they control. Each foe chooses one untapped creature they control, then taps the rest.
SVar:FriendRepeat:DB$ RepeatEach | RepeatPlayers$ Remembered | RepeatSubAbility$ DBPutCounter | ClearRememberedBeforeLoop$ True | StackDescription$ Each friend puts a +1/+1 counter on each creature they control. | SpellDescription$ Friend puts a +1/+1 counter on each creature they control.
SVar:DBPutCounter:DB$ PutCounterAll | ValidCards$ Creature.RememberedPlayerCtrl | CounterType$ P1P1 | CounterNum$ 1 | Putter$ Remembered
SVar:DBPutCounter:DB$ PutCounterAll | ValidCards$ Creature.RememberedPlayerCtrl | CounterType$ P1P1 | CounterNum$ 1 | Placer$ Remembered
SVar:FoeRepeat:DB$ RepeatEach | AILogic$ OpponentHasMultipleCreatures | RepeatPlayers$ Remembered | ClearRememberedBeforeLoop$ True | RepeatSubAbility$ DBChoose | SubAbility$ DBTapAll | StackDescription$ Each foe chooses one untapped creature they control, then taps the rest. | SpellDescription$ Foe chooses one untapped creature they control, then taps the rest.
SVar:DBChoose:DB$ ChooseCard | Defined$ Remembered | Amount$ 1 | Choices$ Creature.untapped+RememberedPlayerCtrl | Mandatory$ True | RememberChosen$ True | SubAbility$ DBImprint
#Need to imprint all non remembered cards
SVar:DBImprint:DB$ Pump | ImprintCards$ Valid Creature.IsNotRemembered+RememberedPlayerCtrl
SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.IsImprinted | SubAbility$ DBCleanup
SVar:DBImprint:DB$ Pump | ImprintCards$ Valid Creature.IsNotRemembered+RememberedPlayerCtrl | SubAbility$ DBCleanupAll
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True
SVar:DBTapAll:DB$ TapAll | ValidCards$ Creature.IsImprinted | SubAbility$ DBCleanupAll
SVar:DBCleanupAll:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True | ClearChosenCard$ True
SVar:NeedsToPlayVar:Z GE3
SVar:Z:SVar$Z1/Plus.Z2
SVar:Z1:Count$Valid Creature.YourTeamCtrl+inZoneBattlefield