import UIKit
import CoreData

class ImportVolcanicBeat: ImportProtocol {
var moc: NSManagedObjectContext

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

func importDIM() {
// MARK: - DIM
let dim = addDIM(name: "Volcanic Beat", franchise: "Digimon", imageName: "VolcanicBeat-Header", dimType: "Vital Bracelet/Hero", id: "8", eggImage: "VolcanicBeat-Egg", dimImage: "VolcanicBeat-DIM")

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

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

// MARK: - Stage 3
let vorvomon = addDigimon(name: "Vorvomon", dim: dim, stage: 3, imageName: "vorvomon", imageNameSplash: "vorvomon-splash", type: virus, activityType: "Normal", characterID: 2)

// MARK: - Stage 4
let birdramon = addDigimon(name: "Birdramon", dim: dim, stage: 4, imageName: "birdramon", imageNameSplash: "birdramon-splash", type: vaccine, activityType: "Active", characterID: 3)
let lavorvomon = addDigimon(name: "Lavorvomon", dim: dim, stage: 4, imageName: "lavorvomon", imageNameSplash: "lavorvomon-splash", type: virus, activityType: "Normal", characterID: 6)
let meramon = addDigimon(name: "Meramon", dim: dim, stage: 4, imageName: "meramon", imageNameSplash: "meramon-splash", type: data, activityType: "Indoor", characterID: 4)
let tyrannomon = addDigimon(name: "Tyrannomon", dim: dim, stage: 4, imageName: "tyrannomon", imageNameSplash: "tyrannomon-splash", type: data, activityType: "Stotic", characterID: 5)

// MARK: - Stage 5
let flaremon = addDigimon(name: "Flaremon", dim: dim, stage: 5, imageName: "flaremon", imageNameSplash: "flaremon-splash", type: vaccine, activityType: "Active", characterID: 8)
let groundramon = addDigimon(name: "Groundramon", dim: dim, stage: 5, imageName: "groundramon", imageNameSplash: "groundramon-splash", type: vaccine, activityType: "Active", characterID: 12)
let lavogaritamon = addDigimon(name: "Lavogaritamon", dim: dim, stage: 5, imageName: "lavogaritamon", imageNameSplash: "lavogaritamon-splash", type: virus, activityType: "Normal", characterID: 11)
let mastertyrannomon = addDigimon(name: "MasterTyrannomon", dim: dim, stage: 5, imageName: "mastertyrannomon", imageNameSplash: "mastertyrannomon-splash", type: vaccine, activityType: "Stotic", characterID: 7)
let skullmeramon = addDigimon(name: "SkullMeramon", dim: dim, stage: 5, imageName: "skullmeramon", imageNameSplash: "skullmeramon-splash", type: data, activityType: "Indoor", characterID: 9)
let volcamon = addDigimon(name: "Volcamon", dim: dim, stage: 5, imageName: "volcamon", imageNameSplash: "volcamon-splash", type: data, activityType: "Active", characterID: 10)

// MARK: - Stage 6
let ancientvolcamon = addDigimon(name: "AncientVolcamon", dim: dim, stage: 6, imageName: "ancientvolcamon", imageNameSplash: "ancientvolcamon-splash", type: vaccine, activityType: "Stotic", adventureMode: true, adventureStage: 15, characterID: 16)
let cannondramon = addDigimon(name: "Cannondramon", dim: dim, stage: 6, imageName: "cannondramon", imageNameSplash: "cannondramon-splash", type: data, activityType: "Indoor", characterID: 14)
let marsmon = addDigimon(name: "Marsmon", dim: dim, stage: 6, imageName: "marsmon", imageNameSplash: "marsmon-splash", type: vaccine, activityType: "Active", characterID: 13)
let volcanicdramon = addDigimon(name: "Volcanicdramon", dim: dim, stage: 6, imageName: "volcanicdramon", imageNameSplash: "volcanicdramon-splash", type: virus, activityType: "Normal", characterID: 15)

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

// MARK: - Stage 2 to 3
addEvolution(from: demimeramon, to: vorvomon, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: vorvomon, to: birdramon, trophies: 10, vitalValues: 1300, battles: 8, minutes: evo16Hours)
addEvolution(from: vorvomon, to: lavorvomon, trophies: 5, vitalValues: 600, battles: 3, minutes: evo16Hours)
addEvolution(from: vorvomon, to: meramon, minutes: evo16Hours)
addEvolution(from: vorvomon, to: tyrannomon, trophies: 8, vitalValues: 900, battles: 5, minutes: evo16Hours)

// MARK: - Stage 4 to 5
addEvolution(from: lavorvomon, to: flaremon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: meramon, to: flaremon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: meramon, to: groundramon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: tyrannomon, to: groundramon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: lavorvomon, to: lavogaritamon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: birdramon, to: lavogaritamon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: tyrannomon, to: mastertyrannomon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: birdramon, to: mastertyrannomon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: meramon, to: skullmeramon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: tyrannomon, to: skullmeramon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: birdramon, to: volcamon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: lavorvomon, to: volcamon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: flaremon, to: ancientvolcamon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: volcamon, to: ancientvolcamon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: skullmeramon, to: ancientvolcamon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: groundramon, to: cannondramon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: lavogaritamon, to: cannondramon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: mastertyrannomon, to: cannondramon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: skullmeramon, to: marsmon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: flaremon, to: marsmon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: groundramon, to: marsmon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: volcamon, to: volcanicdramon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: lavogaritamon, to: volcanicdramon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: mastertyrannomon, to: volcanicdramon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : vorvomon, dim : dim)
addAdventureMode(stage : 2, steps: 1000, digimon : meramon, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : tyrannomon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : lavorvomon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : birdramon, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : groundramon, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : flaremon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : volcamon, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : skullmeramon, dim : dim)
addAdventureMode(stage : 10, steps: 1500, digimon : lavogaritamon, dim : dim)
addAdventureMode(stage : 11, steps: 1500, digimon : mastertyrannomon, dim : dim)
addAdventureMode(stage : 12, steps: 2000, digimon : cannondramon, dim : dim)
addAdventureMode(stage : 13, steps: 2000, digimon : marsmon, dim : dim)
addAdventureMode(stage : 14, steps: 2000, digimon : volcanicdramon, dim : dim)
addAdventureMode(stage : 15, steps: 2500, digimon : ancientvolcamon, unlock : true, dim : dim)
}
}