evac/Cards.hs
2019-05-21 11:37:03 +12:00

111 lines
3.0 KiB
Haskell

module Cards where
import Types
import Util
getCardInfo :: CardSym -> CardLib -> CardInfo
getCardInfo c cl = snd $ head $ filter (\(s, _) -> s == c) cl
getCardLine :: CardSym -> CardLib -> String
getCardLine c cl = '"' : (unwrapMaybe (ciLine (getCardInfo c cl))) ++ ['"']
gCardLib :: CardLib
gCardLib =
[ (S01_Shinji, ciS01_Shinji)
, (S02_Asuka, ciS02_Asuka)
, (S03_Rei, ciS03_Rei)
, (S04_Misato, ciS04_Misato)
, (S05_Ritsuko, ciS05_Ritsuko)
, (S06_Gendo, ciS06_Gendo)
]
ciS01_Shinji :: CardInfo
ciS01_Shinji = CardInfo
{ ciName = "3rd Child - Shinji Ikari"
, ciFaction = Blue
, ciType = Character
, ciText = "Can speak one blue card every turn."
, ciTraits = [Male]
, ciLineMarks = Just [(Circle, Blue)]
, ciLine = Just "I feel like I belong here!"
, ciDP = Just 0
, ciStrength = Nothing
, ciLevel = Nothing
, ciNextInst = Nothing
}
ciS02_Asuka :: CardInfo
ciS02_Asuka = CardInfo
{ ciName = "2nd Child - Asuka Langley-Soryu"
, ciFaction = Red
, ciType = Character
, ciText = "Can speak one red card every turn."
, ciTraits = [Female]
, ciLineMarks = Just [(Triangle, Blue), (Triangle, Green), (Triangle, Yellow)]
, ciLine = Just "What're you, stupid?!"
, ciDP = Just 1
, ciStrength = Nothing
, ciLevel = Nothing
, ciNextInst = Nothing
}
ciS03_Rei :: CardInfo
ciS03_Rei = CardInfo
{ ciName = "1st Child - Rei Ayanami"
, ciFaction = White
, ciType = Character
, ciText = "Can speak one white card every turn. All white lines are zero DP. If down at the start of the Opening Draw phase, Rei recovers automatically."
, ciTraits = [Female]
, ciLineMarks = Just [(Circle, White)]
, ciLine = Just "I feel connected."
, ciDP = Just (-1)
, ciStrength = Nothing
, ciLevel = Nothing
, ciNextInst = Nothing
}
ciS04_Misato :: CardInfo
ciS04_Misato = CardInfo
{ ciName = "Misato Katsuragi"
, ciFaction = Green
, ciType = Character
, ciText = "Can speak one green card every turn."
, ciTraits = [Female]
, ciLineMarks = Just [(Circle, Green)]
, ciLine = Just "We can't wait for a miracle, let's give it our best shot."
, ciDP = Just 0
, ciStrength = Nothing
, ciLevel = Nothing
, ciNextInst = Nothing
}
ciS05_Ritsuko :: CardInfo
ciS05_Ritsuko = CardInfo
{ ciName = "Ritsuko Akagi"
, ciFaction = Yellow
, ciType = Character
, ciText = "Can speak one yellow card every turn."
, ciTraits = [Female]
, ciLineMarks = Just [(Circle, Yellow)]
, ciLine = Just "The one Unit Zero was after was me."
, ciDP = Just 0
, ciStrength = Nothing
, ciLevel = Nothing
, ciNextInst = Nothing
}
ciS06_Gendo :: CardInfo
ciS06_Gendo = CardInfo
{ ciName = "Gendo Ikari"
, ciFaction = Black
, ciType = Character
, ciText = "Can speak one black card every turn."
, ciTraits = [Male]
, ciLineMarks = Just [(Circle, Black)]
, ciLine = Just "There is no problem."
, ciDP = Just (-1)
, ciStrength = Nothing
, ciLevel = Nothing
, ciNextInst = Nothing
}