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))
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))
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))
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))