/**
 * This file contains informations about all the battlegrounds of the game
 * It includes informations about all objectives and camps, and will define the layout of the battleground page
 *
 * The 'objectives' field is an array, each item being an array representing a line on the battleground page
 */
import { CAMPS, MAP } from './objectives'

// TODO adjust camp size, especially on BoE, Blackheart, Gardens, Towers

const BLUE = 'blue side'
const RED = 'red side'
const TOP = 'top'
const BOT = 'bottom'

export default {
  alteracPass: {
    name: 'Alterac Pass',
    backgroundUrl: '/static/backgrounds/alterac-pass.jpg',
    objectives: [
      [
        MAP.cavalryPrison
      ],
      [
        {...CAMPS.iceGiant, position: TOP}
      ],
      [
        {...CAMPS.gnolls, position: BLUE},
        {...CAMPS.gnolls, position: RED}
      ],
      [
        {...CAMPS.iceGiant, position: BOT}
      ]
    ]
  },
  battlefieldOfEternity: {
    name: 'Battlefield of Eternity',
    backgroundUrl: '/static/backgrounds/battlefield-of-eternity.jpg',
    objectives: [
      [
        MAP.immortals
      ],
      [
        {...CAMPS.impalers, position: TOP}
      ],
      [
        {...CAMPS.shamans, position: BLUE},
        {...CAMPS.shamans, position: RED}
      ],
      [
        {...CAMPS.impalers, position: BOT}
      ]
    ]
  },
  blackheartSBay: {
    name: "Blackheart's Bay",
    backgroundUrl: '/static/backgrounds/blackhearts-bay.jpg',
    objectives: [
      [
        CAMPS.graveGolem
      ],
      [
        {...CAMPS.knights, position: BLUE},
        {...CAMPS.knights, position: RED}
      ],
      [
        {...CAMPS.skeletalPirates, position: BLUE},
        {...CAMPS.skeletalPirates, position: RED}
      ],
      [
        {...CAMPS.giants, position: BLUE},
        {...CAMPS.giants, position: RED}
      ],
      [
        {...CAMPS.knights, position: BOT}
      ]
    ]
  },
  gardenOfTerror: {
    name: 'Garden of Terror',
    backgroundUrl: '/static/backgrounds/garden-of-terror.jpg',
    objectives: [
      [
        {...CAMPS.giants, position: 'blue top'},
        {...CAMPS.knights, position: RED}
      ],
      [
        {...CAMPS.giants, position: 'red top'}
      ],
      [
        {...CAMPS.giants, position: 'blue bottom'}
      ],
      [
        {...CAMPS.knights, position: BLUE},
        {...CAMPS.giants, position: 'red bottom'}
      ]
    ]
  },
  hanamuraTemple: {
    name: 'Hanamura Temple',
    backgroundUrl: '/static/backgrounds/hanamura.jpg',
    objectives: [
      [
        {...CAMPS.fortifiaction, position: TOP}
      ],
      [
        {...CAMPS.recon, position: BLUE},
        {...CAMPS.sentinel, position: RED}
      ],
      [
        {...CAMPS.sentinel, position: BLUE},
        {...CAMPS.recon, position: RED}
      ],
      [
        {...CAMPS.fortifiaction, position: BOT}
      ]
    ]
  },
  volskayaFoundry: {
    name: 'Volskaya Foundry',
    backgroundUrl: '/static/backgrounds/volskaya.jpg',
    objectives: [
      [
        MAP.capturePoints
      ],
      [
        {...CAMPS.sentinel, position: BLUE},
        CAMPS.support,
        {...CAMPS.sentinel, position: RED}
      ],
      [
        {...CAMPS.fortifiaction, position: BLUE},
        {...CAMPS.fortifiaction, position: RED}
      ]
    ]
  },
  hauntedMines: {
    name: 'Haunted Mines',
    objectives: [
      [
        {
          name: 'Get this map back into the game',
          initialSpawnTime: 31104000
        }
      ]
    ]
  },
  towersOfDoom: {
    name: 'Towers of Doom',
    backgroundUrl: '/static/backgrounds/towers-of-doom.jpg',
    objectives: [
      [
        MAP.altars
      ],
      [
        {...CAMPS.sappers, position: TOP}
      ],
      [
        {...CAMPS.headlessHorseman}
      ],
      [
        {...CAMPS.sappers, position: BLUE},
        {...CAMPS.sappers, position: RED}
      ]
    ]
  },
  infernalShrines: {
    name: 'Infernal Shrines',
    backgroundUrl: '/static/backgrounds/infernal-shrines.jpg',
    objectives: [
      [
        MAP.shrine
      ],
      [
        {...CAMPS.shamans, position: BLUE},
        {...CAMPS.shamans, position: RED}
      ],
      [
        {...CAMPS.impalers, position: BLUE},
        {...CAMPS.impalers, position: RED}
      ],
      [
        {...CAMPS.impalers, position: BOT}
      ]
    ]
  },
  tombOfTheSpiderQueen: {
    name: 'Tomb of the Spider Queen',
    backgroundUrl: '/static/backgrounds/tomb-of-spider-queen.jpg',
    objectives: [
      [
        CAMPS.sandGolem
      ],
      [
        {...CAMPS.knights, position: BLUE},
        {...CAMPS.knights, position: RED}
      ],
      [
        CAMPS.giants
      ]
    ]
  },
  skyTemple: {
    name: 'Sky Temple',
    backgroundUrl: '/static/backgrounds/sky-temple.jpg',
    objectives: [
      [
        MAP.temples
      ],
      [
        {...CAMPS.knights, position: BLUE},
        {...CAMPS.knights, position: RED}
      ],
      [
        {...CAMPS.sandGolem}
      ],
      [
        {...CAMPS.giants, position: BLUE},
        {...CAMPS.giants, position: RED}
      ]
    ]
  },
  dragonShire: {
    name: 'Dragon Shire',
    backgroundUrl: '/static/backgrounds/dragon-shire.jpg',
    objectives: [
      [
        MAP.dragon
      ],
      [
        {...CAMPS.knights, position: BLUE},
        {...CAMPS.knights, position: RED}
      ],
      [
        {...CAMPS.giants, position: BLUE},
        {...CAMPS.giants, position: RED}
      ]
    ]
  },
  cursedHollow: {
    name: 'Cursed Hollow',
    backgroundUrl: '/static/backgrounds/cursed-hollow.jpg',
    objectives: [
      [
        {...CAMPS.graveGolem, position: RED}
      ],
      [
        {...CAMPS.giants, position: BLUE},
        {...CAMPS.knights, position: RED}
      ],
      [
        {...CAMPS.knights, position: BLUE},
        {...CAMPS.giants, position: RED}
      ],
      [
        {...CAMPS.graveGolem, position: BLUE}
      ]
    ]
  },
  braxisHoldout: {
    name: 'Braxis Holdout',
    backgroundUrl: '/static/backgrounds/braxis-holdout.jpg',
    objectives: [
      [
        {...CAMPS.goliaths, position: BLUE},
        {...CAMPS.hellbats, position: RED}
      ],
      [
        CAMPS.archangel
      ],
      [
        {...CAMPS.hellbats, position: BLUE},
        {...CAMPS.goliaths, position: RED}
      ]
    ]
  },
  warheadJunction: {
    name: 'Warhead Junction',
    backgroundUrl: '/static/backgrounds/warhead-junction.jpg',
    objectives: [
      [
        {...CAMPS.slime, position: TOP}
      ],
      [
        {...CAMPS.goliaths, position: BLUE},
        {...CAMPS.goliaths, position: RED}
      ],
      [
        {...CAMPS.hellbats, position: BLUE},
        {...CAMPS.hellbats, position: RED}
      ],
      [
        {...CAMPS.slime, position: BOT}
      ]
    ]
  }
}
