Skip to content

Commit

Permalink
Implementation of Plains
Browse files Browse the repository at this point in the history
  • Loading branch information
MedeaMelana committed Aug 31, 2012
1 parent 66b1fa1 commit d6d97b2
Showing 1 changed file with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions BasicLands.hs
@@ -0,0 +1,54 @@
{-# LANGUAGE OverloadedStrings #-}

module BasicLands where

import Types
import Predicates

import Data.Boolean
import Data.Monoid
import Data.Set as Set
import Data.Label.PureM


plains :: Card
plains = Card $ \ts rOwner rSelf ->
Object
{ _name = Just "Plains"
, _colors = mempty
, _group = Permanent
{ _supertypes = Set.singleton Basic
, _artifactTypes = Nothing
, _creatureTypes = Nothing
, _enchantmentTypes = Nothing
, _landTypes = Just (Set.singleton Plains)
, _planeswalkerTypes = Nothing
}
, _zone = Library
, _owner = rOwner
, _controller = rOwner
, _timestamp = ts
, _counters = []

, _tapStatus = Nothing

, _power = Nothing
, _toughness = Nothing
, _damage = Nothing

, _play = Ability
{ _available = \rp -> do
os <- asks objects
let self = os ! rSelf
let ok = (isControlledBy rp &&* isInZone Hand) self
return ok
, _manaCost = mempty
, _additionalCosts = []
, _effect = SpecialAction (return [MoveObject rSelf Library Battlefield])
}
, _staticKeywordAbilities = []
, _continuousEffects = []
, _activatedAbilities = []
, _triggeredAbilities = []
, _replacementEffects = []
}

0 comments on commit d6d97b2

Please sign in to comment.