{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE StrictData #-} module Dodge.Annotation.Data where import Dodge.Data --import Dodge.Room --import TreeHelp import Dodge.Tree.Compose.Data import Control.Monad.State import Control.Lens import System.Random type MTRS = MetaTree Room String data Annotation = ModifyTree (MetaTree Room String -> MetaTree Room String) Annotation | OnwardList [Annotation] | IntAnno (Int -> Annotation) | AnRoom (State StdGen Room) | AnTree (State StdGen (MetaTree Room String)) | PassthroughLockKeyLists [(Int -> State StdGen (MetaTree Room String), State StdGen ItemBaseType)] [(ItemBaseType, State StdGen (MetaTree Room String))] Int makeLenses ''Annotation