Esempio n. 1
0
 def add(self, *subtypes):
     if len(all_basic_lands.intersection(subtypes)) > 0:
         expire = super(stacked_land_subtype, self).add(*subtypes)
         self._card._add_basic_abilities()
         return combine(expire, self._card._remove_basic_abilities)
     else:
         return self._insert_into_stacking(additional_characteristics(*subtypes))
Esempio n. 2
0
 def add(self, *subtypes):
     if len(all_basic_lands.intersection(subtypes)) > 0:
         expire = super(stacked_land_subtype, self).add(*subtypes)
         self._card._add_basic_abilities()
         return combine(expire, self._card._remove_basic_abilities)
     else:
         return self._insert_into_stacking(
             additional_characteristics(*subtypes))
Esempio n. 3
0
 def set(self, *subtypes):
     if len(all_basic_lands.intersection(subtypes)) > 0:
         card = self._card
         expire1 = super(stacked_land_subtype, self).set(*subtypes)
         card._remove_all_basic_abilities()
         expire2 = card.abilities.remove_all()
         card._add_basic_abilities()
         return combine(expire1, expire2, card._remove_basic_abilities, card._add_basic_abilities)
     else:
         return self._insert_into_stacking(characteristic(*subtypes))
Esempio n. 4
0
 def set(self, *subtypes):
     if len(all_basic_lands.intersection(subtypes)) > 0:
         card = self._card
         expire1 = super(stacked_land_subtype, self).set(*subtypes)
         card._remove_all_basic_abilities()
         expire2 = card.abilities.remove_all()
         card._add_basic_abilities()
         return combine(expire1, expire2, card._remove_basic_abilities,
                        card._add_basic_abilities)
     else:
         return self._insert_into_stacking(characteristic(*subtypes))