예제 #1
0
 def __init__(self):
     super(LandGrant, self).__init__('Land Grant')
     land_grant_action_land = Action('Land Grant',
                                     'Land',
                                     requirements=[
                                         CardNotInHand('Taiga'),
                                         CardInHand(self.name),
                                         CardInDeck('Taiga')
                                     ],
                                     consequences=[
                                         MoveCard('Land Grant', 'Hand',
                                                  'Graveyard'),
                                         MoveCard('Taiga', 'Deck', 'Hand'),
                                         Shuffle(),
                                         AddStorm()
                                     ])
     land_grant_action_no_land = Action(
         'Land Grant',
         'No land',
         requirements=[CardNotInHand('Taiga'),
                       CardInHand(self.name)],
         consequences=[
             MoveCard(self.name, 'Hand', 'Graveyard'),
             Shuffle(),
             AddStorm()
         ])
     self.add_action(land_grant_action_land)
     self.add_action(land_grant_action_no_land)
예제 #2
0
 def __init__(self):
     super(TinderWall, self).__init__('Tinder Wall', is_permanent=True)
     tinder_wall_play_action = Action('Tinder Wall',
                                      'Play',
                                      requirements=[
                                          CardInHand(self.name),
                                          ManaInPool(ColorDict({'Green':
                                                                1}))
                                      ],
                                      consequences=[
                                          MoveCard(self.name, 'Hand',
                                                   'Battlefield'),
                                          ReduceMana(ColorDict({'Green':
                                                                1})),
                                          AddStorm()
                                      ])
     tinder_wall_mana_action = Action('Tinder Wall',
                                      'Sacrifice',
                                      requirements=[CardInPlay(self.name)],
                                      consequences=[
                                          MoveCard(self.name, 'Battlefield',
                                                   'Graveyard'),
                                          AddMana(ColorDict({'Red': 2}))
                                      ])
     self.add_action(tinder_wall_play_action)
     self.add_action(tinder_wall_mana_action)
예제 #3
0
 def __init__(self):
     super(ChromeMox, self).__init__('Chrome Mox',
                                     is_tappable=True,
                                     is_permanent=True)
     for card_for_chrome_mox in CARDS_FOR_CHROME_MOX:
         chrome_mox_play = Action('Chrome Mox',
                                  'Play',
                                  requirements=[
                                      CardInHand(self.name),
                                      CardInHand(card_for_chrome_mox)
                                  ],
                                  consequences=[
                                      MoveCard(self.name, 'Hand',
                                               'Battlefield'),
                                      MoveCard(card_for_chrome_mox, 'Hand',
                                               'Exile'),
                                      AddStorm()
                                  ])
         self.add_action(chrome_mox_play)
     chrome_mox_activate = Action('Chrome Mox',
                                  'Activate',
                                  requirements=[CardUntapped(self.name)],
                                  consequences=[Tap(self.name)])
     self.add_mana_action(chrome_mox_activate,
                          adding=[ColorDict({c: 1}) for c in COLORS])
예제 #4
0
 def __init__(self):
     super(GitaxianProbe, self).__init__('Gitaxian Probe')
     gitaxian_probe_action = Action('Gitaxian Probe',
                                    'Play',
                                    requirements=[CardInHand(self.name)],
                                    consequences=[
                                        MoveCard(self.name, 'Hand',
                                                 'Graveyard'),
                                        DrawCard(),
                                        AddStorm()
                                    ])
     self.add_action(gitaxian_probe_action)
예제 #5
0
 def __init__(self):
     super(ReforgeTheSoul, self).__init__('Reforge the Soul')
     reforge_the_soul_action = Action(
         'Reforge the Soul',
         'Play',
         requirements=[CardInHand(self.name)],
         consequences=[DiscardHand(),
                       DrawCard(7), AddStorm()])
     self.add_mana_action(reforge_the_soul_action,
                          paying=color_combinations(
                              ColorDict({
                                  'Red': 2,
                                  'Colorless': 3
                              })))
예제 #6
0
 def __init__(self):
     super(RiteOfFlame, self).__init__('Rite of Flame')
     rite_of_flame_action = Action('Rite of Flame',
                                   'Play',
                                   requirements=[
                                       CardInHand(self.name),
                                       ManaInPool(ColorDict({'Red': 1}))
                                   ],
                                   consequences=[
                                       MoveCard(self.name, 'Hand',
                                                'Graveyard'),
                                       ReduceMana(ColorDict({'Red': 1})),
                                       AddStorm(),
                                       AddRiteMana()
                                   ])
     self.add_action(rite_of_flame_action)
예제 #7
0
 def __init__(self):
     super(EmptyTheWarrens, self).__init__('Empty the Warrens')
     empty_the_warrens_action = Action('Empty the Warrens',
                                       'Play',
                                       requirements=[CardInHand(self.name)],
                                       consequences=[
                                           AddStorm(),
                                           AddGoblins(),
                                           MoveCard(self.name, 'Hand',
                                                    'Graveyard')
                                       ])
     self.add_mana_action(empty_the_warrens_action,
                          paying=color_combinations(
                              ColorDict({
                                  'Red': 1,
                                  'Colorless': 3
                              })))
예제 #8
0
 def __init__(self):
     super(DesperateRitual, self).__init__('Desperate Ritual')
     desperate_ritual_action = Action('Desperate Ritual',
                                      'Play',
                                      requirements=[CardInHand(self.name)],
                                      consequences=[
                                          AddMana({'Red': 3}),
                                          AddStorm(),
                                          MoveCard(self.name, 'Hand',
                                                   'Graveyard')
                                      ])
     self.add_mana_action(desperate_ritual_action,
                          paying=color_combinations(
                              ColorDict({
                                  'Red': 1,
                                  'Colorless': 1
                              })))
예제 #9
0
 def __init__(self):
     super(SeethingSong, self).__init__('Seething Song')
     seething_song_action = Action('Seething Song',
                                   'Play',
                                   requirements=[CardInHand(self.name)],
                                   consequences=[
                                       AddMana(ColorDict({'Red': 5})),
                                       MoveCard(self.name, 'Hand',
                                                'Graveyard'),
                                       AddStorm()
                                   ])
     self.add_mana_action(seething_song_action,
                          paying=color_combinations(
                              ColorDict({
                                  'Red': 1,
                                  'Colorless': 2
                              })))
예제 #10
0
 def __init__(self):
     super(Manamorphose, self).__init__('Manamorphose')
     manamorphose_action = Action('Manamorphose',
                                  'Play',
                                  requirements=[CardInHand(self.name)],
                                  consequences=[
                                      MoveCard(self.name, 'Hand',
                                               'Graveyard'),
                                      DrawCard(),
                                      AddStorm()
                                  ])
     self.add_mana_action(
         manamorphose_action,
         paying=color_combinations(ColorDict({
             'Red': 1,
             'Colorless': 1
         })),
         adding=fill_up_remaining_colors(2, COLORS, ColorDict(), []))
예제 #11
0
 def __init__(self):
     super(LotusPetal, self).__init__('Lotus Petal', is_permanent=True)
     lotus_petal_play = Action('Lotus Petal',
                               'Play',
                               requirements=[CardInHand(self.name)],
                               consequences=[
                                   MoveCard(self.name, 'Hand',
                                            'Battlefield'),
                                   AddStorm()
                               ])
     lotus_petal_activate = Action(
         'Lotus Petal',
         'Sacrifice',
         requirements=[CardInPlay(self.name)],
         consequences=[MoveCard(self.name, 'Battlefield', 'Graveyard')])
     self.add_action(lotus_petal_play)
     self.add_mana_action(lotus_petal_activate,
                          adding=[ColorDict({c: 1}) for c in COLORS])
예제 #12
0
 def __init__(self):
     super(BurningWish, self).__init__('Burning Wish')
     for card_for_burning_wish in CARDS_FOR_BURNING_WISH:
         burning_wish_wish = Action(
             'Burning Wish',
             'Play ' + card_for_burning_wish,
             requirements=[
                 CardInHand(self.name),
                 CardInSideboard(card_for_burning_wish)
             ],
             consequences=[
                 MoveCard(self.name, 'Hand', 'Exile'),
                 MoveCard(card_for_burning_wish, 'Sideboard', 'Hand'),
                 AddStorm()
             ])
         self.add_mana_action(burning_wish_wish,
                              paying=color_combinations(
                                  ColorDict({
                                      'Red': 1,
                                      'Colorless': 1
                                  })))
예제 #13
0
 def __init__(self):
     super(LionsEyeDiamond, self).__init__('Lions Eye Diamond',
                                           is_permanent=True)
     lions_eye_diamond_play = Action('Lions Eye Diamond',
                                     'Play',
                                     requirements=[CardInHand(self.name)],
                                     consequences=[
                                         MoveCard(self.name, 'Hand',
                                                  'Battlefield'),
                                         AddStorm()
                                     ])
     lions_eye_diamond_activate = Action(
         'Lions Eye Diamond',
         'Sacrifice',
         requirements=[CardInPlay(self.name)],
         consequences=[
             DiscardHand(),
             MoveCard(self.name, 'Battlefield', 'Graveyard')
         ])
     self.add_action(lions_eye_diamond_play)
     self.add_mana_action(lions_eye_diamond_activate,
                          adding=[ColorDict({c: 3}) for c in COLORS])
예제 #14
0
 def __init__(self):
     super(GoblinCharbelcher, self).__init__('Goblin Charbelcher',
                                             is_tappable=True,
                                             is_permanent=True)
     charbelcher_play = Action('Goblin Charbelcher',
                               'Play',
                               requirements=[CardInHand(self.name)],
                               consequences=[
                                   MoveCard(self.name, 'Hand',
                                            'Battlefield'),
                                   AddStorm()
                               ])
     charbelcher_activate = Action(
         'Goblin Charbelcher',
         'Activate',
         requirements=[CardInPlay(self.name),
                       CardUntapped(self.name)],
         consequences=[Tap(self.name), Belch()])
     self.add_mana_action(charbelcher_play,
                          paying=color_combinations(
                              ColorDict({'Colorless': 4})))
     self.add_mana_action(charbelcher_activate,
                          paying=color_combinations(
                              ColorDict({'Colorless': 3})))