26 lines
596 B
Haskell
26 lines
596 B
Haskell
{-# LANGUAGE TypeSynonymInstances #-}
|
|
{-# LANGUAGE FlexibleInstances #-}
|
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
module Object.ActionTime where
|
|
|
|
import Affection as A
|
|
|
|
import Data.String
|
|
|
|
-- internal imports
|
|
|
|
import Types
|
|
|
|
instance ActionTime ObjType ObjState where
|
|
actionTime ObjCopier "copying" = 5
|
|
actionTime ObjComputer "off" = 0
|
|
actionTime ObjComputer "on" = 20
|
|
actionTime ObjComputer "hack" = 20
|
|
actionTime ObjComputer "hack" = 20
|
|
actionTime ObjDoor "open" = 2
|
|
|
|
actionTime o s = A.log
|
|
Error
|
|
(fromString (show o) <> ": " <> fromString s <> ": has not a time")
|
|
0
|