import UIKit
import CoreData

class ImportDinosaurRoar: ImportProtocol {
var moc: NSManagedObjectContext

required init(viewContext: NSManagedObjectContext) {
moc = viewContext
}

func importDIM() {
// MARK: - DIM
let dim = addDIM(name: "Dinosaur Roar", franchise: "Digimon", imageName: "DinosaurRoar-Header", dimType: "Vital Bracelet/Hero", id: "29", eggImage: "DinosaurRoar-Egg", dimImage: "DinosaurRoar-DIM")

// MARK: - Digimon
// MARK: - Stage 1
let botamon = addDigimon(name: "Botamon", dim: dim, stage: 1, imageName: "botamon", imageNameSplash: "botamon-splash", type: free, activityType: "Normal", characterID: 0)

// MARK: - Stage 2
let koromon = addDigimon(name: "Koromon", dim: dim, stage: 2, imageName: "koromon", imageNameSplash: "koromon-splash", type: free, activityType: "Normal", characterID: 1)

// MARK: - Stage 3
let agumon = addDigimon(name: "Agumon", dim: dim, stage: 3, imageName: "agumon", imageNameSplash: "agumon-splash", type: vaccine, activityType: "Active", characterID: 2)
let agumon_black = addDigimon(name: "Agumon (Black)", dim: dim, stage: 3, imageName: "agumon_black", imageNameSplash: "agumon_black-splash", type: virus, activityType: "Active", characterID: 3)

// MARK: - Stage 4
let dark_tyrannomon = addDigimon(name: "Dark Tyrannomon", dim: dim, stage: 4, imageName: "dark_tyrannomon", imageNameSplash: "dark_tyrannomon-splash", type: virus, activityType: "Normal", characterID: 7)
let greymon = addDigimon(name: "Greymon", dim: dim, stage: 4, imageName: "greymon", imageNameSplash: "greymon-splash", type: vaccine, activityType: "Active", characterID: 4)
let greymon_blue = addDigimon(name: "Greymon (Blue)", dim: dim, stage: 4, imageName: "greymon_blue", imageNameSplash: "greymon_blue-splash", type: virus, activityType: "Active", characterID: 6)
let monochromon = addDigimon(name: "Monochromon", dim: dim, stage: 4, imageName: "monochromon", imageNameSplash: "monochromon-splash", type: data, activityType: "Indoor", characterID: 5)

// MARK: - Stage 5
let metal_greymon = addDigimon(name: "Metal Greymon", dim: dim, stage: 5, imageName: "metal_greymon", imageNameSplash: "metal_greymon-splash", type: vaccine, activityType: "Active", characterID: 8)
let metal_greymon_virus = addDigimon(name: "Metal Greymon (Virus)", dim: dim, stage: 5, imageName: "metal_greymon_virus", imageNameSplash: "metal_greymon_virus-splash", type: virus, activityType: "Active", characterID: 11)
let skullgreymon = addDigimon(name: "SkullGreymon", dim: dim, stage: 5, imageName: "skullgreymon", imageNameSplash: "skullgreymon-splash", type: virus, activityType: "Indoor", characterID: 10)
let vermillimon = addDigimon(name: "Vermillimon", dim: dim, stage: 5, imageName: "vermillimon", imageNameSplash: "vermillimon-splash", type: data, activityType: "Indoor", characterID: 9)

// MARK: - Stage 6
let blackwargreymon = addDigimon(name: "BlackWarGreymon", dim: dim, stage: 6, imageName: "blackwargreymon", imageNameSplash: "blackwargreymon-splash", type: virus, activityType: "Active", characterID: 14)
let omnimon = addDigimon(name: "Omnimon", dim: dim, stage: 6, imageName: "omnimon", imageNameSplash: "omnimon-splash", type: vaccine, activityType: "Normal", characterID: 15)
let omnimon_zwart = addDigimon(name: "Omnimon Zwart", dim: dim, stage: 6, imageName: "omnimon_zwart", imageNameSplash: "omnimon_zwart-splash", type: vaccine, activityType: "Normal", adventureMode: true, adventureStage: 15, characterID: 16)
let victorygreymon = addDigimon(name: "VictoryGreymon", dim: dim, stage: 6, imageName: "victorygreymon", imageNameSplash: "victorygreymon-splash", type: vaccine, activityType: "Active", characterID: 13)
let wargreymon = addDigimon(name: "WarGreymon", dim: dim, stage: 6, imageName: "wargreymon", imageNameSplash: "wargreymon-splash", type: vaccine, activityType: "Active", characterID: 12)

// MARK: - Evolutions
// MARK: - Stage 1 to 2
addEvolution(from: botamon, to: koromon, minutes: evo1Hour)

// MARK: - Stage 2 to 3
addEvolution(from: koromon, to: agumon, vitalValues: 1200, minutes: evo3Hours)
addEvolution(from: koromon, to: agumon_black, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: agumon, to: dark_tyrannomon, trophies: 8, vitalValues: 900, battles: 5, minutes: evo16Hours)
addEvolution(from: agumon_black, to: dark_tyrannomon, trophies: 8, vitalValues: 900, battles: 5, minutes: evo16Hours)
addEvolution(from: agumon, to: greymon, trophies: 10, vitalValues: 1300, minutes: evo16Hours)
addEvolution(from: agumon_black, to: greymon_blue, trophies: 10, vitalValues: 1300, battles: 8, minutes: evo16Hours)
addEvolution(from: agumon, to: monochromon, minutes: evo16Hours)
addEvolution(from: agumon, to: monochromon, minutes: evo16Hours)

// MARK: - Stage 4 to 5
addEvolution(from: greymon, to: metal_greymon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: dark_tyrannomon, to: metal_greymon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: greymon_blue, to: metal_greymon_virus, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: monochromon, to: metal_greymon_virus, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: monochromon, to: skullgreymon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: dark_tyrannomon, to: skullgreymon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: greymon, to: skullgreymon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: monochromon, to: vermillimon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: greymon_blue, to: vermillimon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: dark_tyrannomon, to: vermillimon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: greymon, to: vermillimon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: skullgreymon, to: blackwargreymon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: metal_greymon_virus, to: blackwargreymon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: metal_greymon, to: victorygreymon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: vermillimon, to: victorygreymon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: skullgreymon, to: victorygreymon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: metal_greymon, to: wargreymon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: vermillimon, to: wargreymon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)

// MARK: - Stage 6 to 7
addEvolution(from: wargreymon, to: omnimon, trophies: 30, vitalValues: 8500, battles: 30, winRatio: 70, minutes: evo3Hours)
addEvolution(from: blackwargreymon, to: omnimon_zwart, trophies: 30, vitalValues: 8500, battles: 30, winRatio: 70, minutes: evo3Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : agumon_black, dim : dim)
addAdventureMode(stage : 2, steps: 1000, digimon : agumon, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : monochromon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : dark_tyrannomon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : greymon_blue, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : greymon, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : skullgreymon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : metal_greymon_virus, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : vermillimon, dim : dim)
addAdventureMode(stage : 10, steps: 1500, digimon : metal_greymon, dim : dim)
addAdventureMode(stage : 11, steps: 1500, digimon : wargreymon, dim : dim)
addAdventureMode(stage : 12, steps: 2000, digimon : victorygreymon, dim : dim)
addAdventureMode(stage : 13, steps: 2000, digimon : blackwargreymon, dim : dim)
addAdventureMode(stage : 14, steps: 2000, digimon : omnimon, dim : dim)
addAdventureMode(stage : 15, steps: 2500, digimon : omnimon_zwart, unlock : true, dim : dim)
}
}