Merge branch 'unset-cards' into 'master'

[Un-cards] Minigame cards

See merge request core-developers/forge!4141
This commit is contained in:
Michael Kamensky
2021-03-08 04:11:19 +00:00
4 changed files with 48 additions and 1 deletions

View File

@@ -1678,6 +1678,7 @@ public class GameAction {
}
/** Delivers a message to all players. (use reveal to show Cards) */
// TODO: Refactor for spelling
public void nofityOfValue(SpellAbility saSource, GameObject relatedTarget, String value, Player playerExcept) {
for (Player p : game.getPlayers()) {
if (playerExcept == p) continue;

View File

@@ -76,7 +76,7 @@ public class ChooseGenericEffect extends SpellAbilityEffect {
String chosenValue = chosenSA.getDescription();
if (sa.hasParam("ShowChoice")) {
boolean dontNotifySelf = sa.getParam("ShowChoice").equals("ExceptSelf");
p.getGame().getAction().nofityOfValue(sa, p, chosenValue, dontNotifySelf ? sa.getActivatingPlayer() : null);
p.getGame().getAction().nofityOfValue(sa, p, chosenValue, dontNotifySelf ? p : null);
}
if (sa.hasParam("SetChosenMode")) {
sa.getHostCard().setChosenMode(chosenValue);

View File

@@ -0,0 +1,21 @@
Name:Buzzing Whack-a-Doodle
ManaCost:4
Types:Artifact
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ ChooseOpp | Static$ True | TriggerDescription$ As Buzzing Whack-a-Doodle enters the battlefield, you and an opponent each secretly choose Whack or Doodle. Then those choices are revealed. If the choices match, Buzzing Whack-a-Doodle has that ability. Otherwise, it has Buzz. • Whack — {T}: Target player loses 2 life. • Doodle — {T}: You gain 3 life. • Buzz — {2}, {T}: Draw a card.
SVar:ChooseOpp:DB$ ChoosePlayer | Defined$ You | Choices$ Player.Opponent | ChoiceTitle$ Choose an opponent | SubAbility$ YouChoice
SVar:YouChoice:DB$ GenericChoice | Choices$ YouWhack,YouDoodle | Defined$ You | AILogic$ Random | SubAbility$ StoreYou
SVar:YouWhack:DB$ StoreSVar | SVar$ Doodles | Type$ Number | Expression$ 0 | SpellDescription$ Whack
SVar:YouDoodle:DB$ StoreSVar | SVar$ Doodles | Type$ Number | Expression$ 1 | SpellDescription$ Doodle
SVar:StoreYou:DB$ StoreSVar | SVar$ YouChose | Type$ CountSVar | Expression$ Doodles | SubAbility$ OppChoice
SVar:OppChoice:DB$ GenericChoice | Choices$ AniWhack,OppDoodle | Defined$ Player.Chosen | AILogic$ Random | ShowChoice$ ExceptSelf
SVar:OppDoodle:DB$ StoreSVar | SVar$ Doodles | Type$ CountSVar | Expression$ Doodles/Plus.1 | SubAbility$ AniBuzz | SpellDescription$ Doodle
SVar:AniWhack:DB$ Animate | Defined$ Self | Abilities$ ABWhack | Permanent$ True | SpellDescription$ Whack | ConditionCheckSVar$ Doodles | ConditionSVarCompare$ EQ0 | SubAbility$ AniBuzz
SVar:AniBuzz:DB$ Animate | Defined$ Self | Abilities$ ABBuzz | Permanent$ True | ConditionCheckSVar$ Doodles | ConditionSVarCompare$ EQ1 | SubAbility$ AniDoodle
SVar:AniDoodle:DB$ Animate | Defined$ Self | Abilities$ ABDoodle | Permanent$ True | ConditionCheckSVar$ Doodles | ConditionSVarCompare$ EQ2 | SubAbility$ NotifyWhack
SVar:NotifyWhack:DB$ GenericChoice | Choices$ YouWhack | AtRandom$ True | Defined$ You | ShowChoice$ ExceptSelf | ConditionCheckSVar$ YouChose | ConditionSVarCompare$ EQ0 | SubAbility$ NotifyDoodle
SVar:NotifyDoodle:DB$ GenericChoice | Choices$ YouDoodle | AtRandom$ True | Defined$ You | ShowChoice$ ExceptSelf | ConditionCheckSVar$ YouChose | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearChosenPlayer$ True
SVar:ABWhack:AB$ LoseLife | Cost$ T | ValidTgts$ Player | LifeAmount$ 2 | SpellDescription$ Target player loses 2 life.
SVar:ABBuzz:AB$ Draw | Cost$ 2 T | SpellDescription$ Draw a card.
SVar:ABDoodle:AB$ GainLife | Cost$ T | LifeAmount$ 3 | SpellDescription$ You gain 3 life.
Oracle:As Buzzing Whack-a-Doodle enters the battlefield, you and an opponent each secretly choose Whack or Doodle. Then those choices are revealed. If the choices match, Buzzing Whack-a-Doodle has that ability. Otherwise, it has Buzz.\n• Whack — {T}: Target player loses 2 life.\n• Doodle — {T}: You gain 3 life.\n• Buzz — {2}, {T}: Draw a card.

View File

@@ -0,0 +1,25 @@
Name:Face to Face
ManaCost:1 R
Types:Sorcery
A:SP$ Pump | ValidTgts$ Opponent | SubAbility$ ResetWin | IsCurse$ True | StackDescription$ You and target opponent play a best two-out-of-three Rock, Paper, Scissors match.
SVar:ResetWin:DB$ StoreSVar | SVar$ Wins | Type$ Number | Expression$ 0 | SubAbility$ ResetLoss
SVar:ResetLoss:DB$ StoreSVar | SVar$ Losses | Type$ Number | Expression$ 0 | SubAbility$ RepeatPlay
SVar:Total:SVar$Wins/LimitMin.Losses
SVar:RepeatPlay:DB$ Repeat | RepeatSubAbility$ Play | RepeatCheckSVar$ Total | RepeatSVarCompare$ LT2 | SubAbility$ DamageTarget | StackDescription$ If you win,
SVar:Play:DB$ GenericChoice | Choices$ YouRock,YouPape,YouScis | Defined$ You | AILogic$ Random | SubAbility$ OppChoice
SVar:YouRock:DB$ StoreSVar | SVar$ YouChose | Type$ Number | Expression$ 0 | SpellDescription$ Rock
SVar:YouPape:DB$ StoreSVar | SVar$ YouChose | Type$ Number | Expression$ 1 | SpellDescription$ Paper
SVar:YouScis:DB$ StoreSVar | SVar$ YouChose | Type$ Number | Expression$ 2 | SpellDescription$ Scissors
SVar:OppChoice:DB$ GenericChoice | Choices$ OppRock,OppPape,OppScis | Defined$ TargetedPlayer | AILogic$ Random | ShowChoice$ ExceptSelf | SubAbility$ ScoreWin
SVar:OppRock:DB$ StoreSVar | SVar$ OppChose | Type$ Number | Expression$ 2 | SpellDescription$ Rock
SVar:OppPape:DB$ StoreSVar | SVar$ OppChose | Type$ Number | Expression$ 1 | SpellDescription$ Paper
SVar:OppScis:DB$ StoreSVar | SVar$ OppChose | Type$ Number | Expression$ 0 | SpellDescription$ Scissors
SVar:Sum:SVar$YouChose/Plus.OppChose
SVar:GameMod:SVar$Sum/Mod.3
SVar:ScoreWin:DB$ StoreSVar | SVar$ Wins | Type$ CountSVar | Expression$ Wins/Plus.1 | ConditionCheckSVar$ GameMod | ConditionSVarCompare$ EQ0 | SubAbility$ ScoreLoss
SVar:ScoreLoss:DB$ StoreSVar | SVar$ Losses | Type$ CountSVar | Expression$ Losses/Plus.1 | ConditionCheckSVar$ GameMod | ConditionSVarCompare$ EQ1 | SubAbility$ NotifyRock
SVar:NotifyRock:DB$ GenericChoice | Choices$ YouRock | AtRandom$ True | Defined$ You | ShowChoice$ ExceptSelf | ConditionCheckSVar$ YouChose | ConditionSVarCompare$ EQ0 | SubAbility$ NotifyPape
SVar:NotifyPape:DB$ GenericChoice | Choices$ YouPape | AtRandom$ True | Defined$ You | ShowChoice$ ExceptSelf | ConditionCheckSVar$ YouChose | ConditionSVarCompare$ EQ1 | SubAbility$ NotifyScis
SVar:NotifyScis:DB$ GenericChoice | Choices$ YouScis | AtRandom$ True | Defined$ You | ShowChoice$ ExceptSelf | ConditionCheckSVar$ YouChose | ConditionSVarCompare$ EQ2
SVar:DamageTarget:DB$ DealDamage | Defined$ TargetedPlayer | NumDmg$ 5 | ConditionCheckSVar$ Wins | ConditionSVarCompare$ EQ2
Oracle:You and target opponent play a best two-out-of-three Rock, Paper, Scissors match. If you win, Face to Face deals 5 damage to that player.