Post-Cancellation, Pre-Nisei Netrunner Rotation
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.2KB

  1. module Config where
  2. {---
  3. - Config Module
  4. -
  5. - Contains settings that will effect the running of the program
  6. -
  7. - Shaun Kerr
  8. -}
  9. import System.Random
  10. import State
  11. import Timestamp
  12. import Packs
  13. -- Earliest rotation.
  14. -- Each format is generated starting from this date.
  15. genesis :: Timestamp
  16. genesis = Ts 29 09 1996
  17. -- Initial seed.
  18. -- Keep it secret. Keep it safe.
  19. seed :: Int
  20. seed = 69420
  21. -- Initial RNG
  22. entropy :: StdGen
  23. entropy = mkStdGen $ seed
  24. -- Initial rotation.
  25. -- Simple split in half, genesis leaves plenty of time to shuffle.
  26. initialRotation :: State
  27. initialRotation = ((i, o), b, r)
  28. where
  29. i = createInRot [
  30. Lunar1, Lunar2, Lunar3, Lunar4, Lunar5, Lunar6
  31. , Sansan1 , Sansan2 , Sansan3 , Sansan4 , Sansan5 , Sansan6
  32. , Mumbad1 , Mumbad2 , Mumbad3 , Mumbad4 , Mumbad5 , Mumbad6
  33. ]
  34. o = createOutRot [
  35. Flash1 , Flash2 , Flash3 , Flash4 , Flash5 , Flash6
  36. , Red1 , Red2 , Red3 , Red4 , Red5 , Red6
  37. , Kitara1 , Kitara2 , Kitara3 , Kitara4 , Kitara5 , Kitara6
  38. ]
  39. b = Bq [Just Cc, Just Hp, Just Oc, Just Dd, Just Td, Just Rr, Nothing]
  40. r = entropy