-- Campaign screen layout

function start()
  Add(4, 7.5, Peg.Level, 0, "missions/basic1", "Eingang")
  Add(8, 7.5, Peg.Level, 1, "missions/basic2", "Barriere")
  Add(12, 7.5, Peg.Level, 2, "missions/basic3", "Schlüssel")
  Add(16, 7.5, Peg.Level, 3, "missions/basic4", "Aufstieg")
  Add(6, 11, Peg.Level, 3, "missions/basic5", "Truhen")
  Add(10, 11, Peg.Page, 5, "wood", "Wald")
  Add(14, 11, Peg.Level, 5, "missions/basic6", "Ziel")

  Add(4, 4, Peg.Back)
  Add(8, 4, Peg.Book, 0, "primer", "Kurzanleitung")
  Add(12, 4, Peg.Book, 0, "credits-small", "Credits")
  Add(16, 4, Peg.Page, 14, "skip", "Nexus")

  return { bg = {0.1, 0.04, 0.45} }
end

function wood()
  Add(8, 3, Peg.Level, 5, "missions/wood1", "Reise")
  Add(12, 3, Peg.Level, 6, "missions/wood2", "Zurücksetzen")
  Add(16, 3, Peg.Level, 7, "missions/wood3", "Vorsprünge")
  Add(6, 6, Peg.Level, 7, "missions/wood4", "Falle")
  Add(10, 6, Peg.Level, 8, "missions/wood5", "Sicher")
  Add(14, 6, Peg.Level, 9, "missions/wood6", "Gruben")
  Add(4, 9, Peg.Level, 10, "missions/wood7", "Schwierig")
  Add(8, 9, Peg.Level, 11, "missions/wood8", "Situation")
  Add(12, 9, Peg.Level, 12, "missions/wood9", "Schleife")
  Add(16, 9, Peg.Level, 13, "missions/wood10", "Knoten")
  Add(6, 12, Peg.Page, 14, "sewer", "Kanalisation")
  Add(10, 12, Peg.Level, 15, "missions/wood11", "Perspektive")
  Add(14, 12, Peg.Level, 16, "missions/wood12", "Sicherer")

  Add(4, 3, Peg.Back)

  return { bg = {0.2, 0.4, 0.2} }
end

function sewer()
  Add(8, 6, Peg.Level, 14, "missions/sewer1", "Überflutung")
  Add(12, 6, Peg.Level, 15, "missions/sewer2", "Abfluss")
  Add(6, 9, Peg.Level, 16, "missions/sewer3", "Becken")
  Add(10, 9, Peg.Level, 17, "missions/sewer4", "Noch Mal")
  Add(14, 9, Peg.Level, 18, "missions/sewer5", "Riegel")
  Add(4, 12, Peg.Level, 19, "missions/sewer6", "Wirbel")
  Add(8, 12, Peg.Page, 20, "castle", "Verlies")
  Add(12, 12, Peg.Level, 21, "missions/sewer7", "Permutation")
  Add(16, 12, Peg.Level, 22, "missions/sewer8", "Einsicht")

  Add(10, 3, Peg.Back)

  return { bg = {0.15, 0.35, 0.5} }
end

function castle()
  Add(6, 5.5, Peg.Level, 20, "missions/basement1", "Grün")
  Add(9, 4.5, Peg.Level, 21, "missions/basement2", "Lager")
  Add(12, 3.5, Peg.Level, 22, "missions/basement3", "Haufen")
  Add(6, 9.5, Peg.Level, 23, "missions/basement4", "Reichweite")
  Add(9, 8.5, Peg.Level, 24, "missions/basement5", "Kerker")
  Add(12, 7.5, Peg.Level, 25, "missions/basement6", "Leer")
  Add(15, 6.5, Peg.Level, 26, "missions/basement7", "Am Sichersten")
  Add(9, 12.5, Peg.Level, 27, "missions/basement8", "Schleuse")
  Add(12, 11.5, Peg.Page, 28, "villa", "Ruinen")
  Add(15, 10.5, Peg.Level, 29, "missions/basement9", "Dachboden")
  Add(18, 9.5, Peg.Level, 30, "missions/basement10", "Hindernis")

  Add(3, 6.5, Peg.Back)

  return { bg = {0.3, 0.15, 0.25} }
end

function villa()
  Add(6, 3, Peg.Level, 28, "missions/garden1", "Trichter")
  Add(9, 3, Peg.Level, 29, "missions/garden2", "Brücke")
  Add(6, 6, Peg.Level, 30, "missions/garden3", "Säure")
  Add(9, 6, Peg.Level, 31, "missions/garden4", "Barriere")
  Add(12, 6, Peg.Level, 32, "missions/garden5", "Rückkopplung")
  Add(9, 9, Peg.Level, 33, "missions/garden6", "Bad")
  Add(12, 9, Peg.Level, 34, "missions/garden7", "Einschluss")
  Add(15, 9, Peg.Level, 35, "missions/garden8", "Säule")
  Add(12, 12, Peg.Page, 36, "temple", "Tempel")
  Add(15, 12, Peg.Level, 37, "missions/garden9", "Zwickmühle")
  Add(18, 12, Peg.Level, 38, "missions/garden10", "Verschränkung")

  Add(3, 3, Peg.Back)

  return { bg = {0.7, 0.65, 0.75} }
end

function temple()
  Add(10, 3, Peg.Level, 36, "missions/temple1", "Riss")
  Add(14, 3, Peg.Level, 37, "missions/temple2", "Fortsetzen")
  Add(4, 6, Peg.Level, 38, "missions/temple3", "Permanenz")
  Add(8, 6, Peg.Level, 39, "missions/temple4", "Restrukturierung")
  Add(12, 6, Peg.Level, 40, "missions/temple5", "Topf")
  Add(16, 6, Peg.Level, 41, "missions/temple6", "Bau")
  Add(6, 9, Peg.Level, 42, "missions/temple7", "Intern")
  Add(10, 9, Peg.Level, 43, "missions/temple8", "Verflochten")
  Add(14, 9, Peg.Level, 44, "missions/temple9", "Schnalle")
  Add(4, 12, Peg.Level, 45, "missions/temple10", "Überquerung")
  Add(8, 12, Peg.Page, 48, "dark", "Die Leere")
  Add(12, 12, Peg.Level, 49, "missions/temple11", "Hydrophob")
  Add(16, 12, Peg.Level, 50, "missions/temple12", "Blase")

  Add(6, 3, Peg.Back)

  return { bg = {0.65, 0.45, 0.1} }
end

function dark(complete)
  local x = 0.86602540378;
  Add(10, 3.5, Peg.Level, 48, "missions/dark1", "Packen")
  Add(10 + 4 * x, 5.5, Peg.Level, 50, "missions/dark2", "Aufenthalt")
  Add(10 + 4 * x, 9.5, Peg.Level, 52, "missions/dark3", "Traglast")
  Add(10, 11.5, Peg.Level, 54, "missions/dark4", "Altar")
  Add(10 - 4 * x, 9.5, Peg.Level, 56, "missions/dark5", "Eskalation")
  Add(10 - 4 * x, 5.5, Peg.Level, 58, "missions/dark6", "Trilemma")

  if complete then
    Add(17.5, 7.5, Peg.Book, 0, "credits-full", "Das Ende")
  end
  Add(10, 7.5, Peg.Back)

  return { bg = {0.1, 0.0, 0.1} }
end

function skip()
  Add(10, 11, Peg.Back)
  Add(4, 10, Peg.Page, 5, "wood", "Wald")
  Add(5, 6.5, Peg.Page, 14, "sewer", "Kanalisation")
  Add(8, 4, Peg.Page, 20, "castle", "Verlies")
  Add(12, 4, Peg.Page, 28, "villa", "Ruinen")
  Add(15, 6.5, Peg.Page, 36, "temple", "Tempel")
  Add(16, 10, Peg.Page, 48, "dark", "Die Leere")

  Add(6, 13, Peg.Hub, 28, "dlc", "Das Oobleck-Rätsel")

  return { bg = {0.4, 0.0, 0.0} }
end

