import UIKit
import CoreData

class ImportNuMetalEmpire: ImportProtocol {
var moc: NSManagedObjectContext

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

func importDIM() {
// MARK: - DIM
let dim = addDIM(name: "Nu Metal Empire", franchise: "Digimon", imageName: "NuMetalEmpire-Header", dimType: "Vital Bracelet/Hero", id: "5", eggImage: "NuMetalEmpire-Egg", dimImage: "NuMetalEmpire-DIM")

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

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

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

// MARK: - Stage 4
let ballistamon = addDigimon(name: "Ballistamon", dim: dim, stage: 4, imageName: "ballistamon", imageNameSplash: "ballistamon-splash", type: vaccine, activityType: "Normal", characterID: 4)
let machmon = addDigimon(name: "Machmon", dim: dim, stage: 4, imageName: "machmon", imageNameSplash: "machmon-splash", type: vaccine, activityType: "Active", characterID: 3)
let mailbirdramon = addDigimon(name: "MailBirdramon", dim: dim, stage: 4, imageName: "mailbirdramon", imageNameSplash: "mailbirdramon-splash", type: data, activityType: "Indoor", characterID: 5)
let raremon = addDigimon(name: "Raremon", dim: dim, stage: 4, imageName: "raremon", imageNameSplash: "raremon-splash", type: virus, activityType: "Lazy", characterID: 6)

// MARK: - Stage 5
let atlurballistamon = addDigimon(name: "AtlurBallistamon", dim: dim, stage: 5, imageName: "atlurballistamon", imageNameSplash: "atlurballistamon-splash", type: vaccine, activityType: "Normal", characterID: 8)
let loaderleomon = addDigimon(name: "LoaderLeomon", dim: dim, stage: 5, imageName: "loaderleomon", imageNameSplash: "loaderleomon-splash", type: vaccine, activityType: "Active", characterID: 7)
let locomon = addDigimon(name: "Locomon", dim: dim, stage: 5, imageName: "locomon", imageNameSplash: "locomon-splash", type: data, activityType: "Normal", characterID: 10)
let metalgreymon_2010 = addDigimon(name: "MetalGreymon (2010)", dim: dim, stage: 5, imageName: "metalgreymon_2010", imageNameSplash: "metalgreymon_2010-splash", type: virus, activityType: "Stotic", characterID: 12)
let metalmamemon = addDigimon(name: "MetalMamemon", dim: dim, stage: 5, imageName: "metalmamemon", imageNameSplash: "metalmamemon-splash", type: data, activityType: "Active", characterID: 9)
let rebellimon = addDigimon(name: "Rebellimon", dim: dim, stage: 5, imageName: "rebellimon", imageNameSplash: "rebellimon-splash", type: virus, activityType: "Stotic", characterID: 11)

// MARK: - Stage 6
let groundlocomon = addDigimon(name: "GroundLocomon", dim: dim, stage: 6, imageName: "groundlocomon", imageNameSplash: "groundlocomon-splash", type: data, activityType: "Normal", characterID: 14)
let heavyleomon = addDigimon(name: "HeavyLeomon", dim: dim, stage: 6, imageName: "heavyleomon", imageNameSplash: "heavyleomon-splash", type: vaccine, activityType: "Active", characterID: 13)
let machinedramon = addDigimon(name: "Machinedramon", dim: dim, stage: 6, imageName: "machinedramon", imageNameSplash: "machinedramon-splash", type: virus, activityType: "Normal", adventureMode: true, adventureStage: 15, characterID: 16)
let zekegreymon = addDigimon(name: "ZekeGreymon", dim: dim, stage: 6, imageName: "zekegreymon", imageNameSplash: "zekegreymon-splash", type: virus, activityType: "Stotic", characterID: 15)

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

// MARK: - Stage 2 to 3
addEvolution(from: missimon, to: hagurumon, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: hagurumon, to: ballistamon, trophies: 8, vitalValues: 900, battles: 5, minutes: evo16Hours)
addEvolution(from: hagurumon, to: machmon, trophies: 10, vitalValues: 1300, battles: 8, minutes: evo16Hours)
addEvolution(from: hagurumon, to: mailbirdramon, trophies: 5, vitalValues: 600, battles: 3, minutes: evo16Hours)
addEvolution(from: hagurumon, to: raremon, minutes: evo16Hours)

// MARK: - Stage 4 to 5
addEvolution(from: mailbirdramon, to: atlurballistamon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: ballistamon, to: atlurballistamon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: raremon, to: loaderleomon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: machmon, to: loaderleomon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo3Hours)
addEvolution(from: ballistamon, to: locomon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: mailbirdramon, to: locomon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: ballistamon, to: metalgreymon_2010, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: mailbirdramon, to: metalgreymon_2010, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: machmon, to: metalmamemon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: raremon, to: metalmamemon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: raremon, to: rebellimon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: machmon, to: rebellimon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: loaderleomon, to: groundlocomon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: atlurballistamon, to: groundlocomon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: locomon, to: groundlocomon, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: loaderleomon, to: heavyleomon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: rebellimon, to: heavyleomon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: metalmamemon, to: heavyleomon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: metalmamemon, to: machinedramon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: atlurballistamon, to: machinedramon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: metalgreymon_2010, to: machinedramon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: locomon, to: zekegreymon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: rebellimon, to: zekegreymon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: metalgreymon_2010, to: zekegreymon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : hagurumon, dim : dim)
addAdventureMode(stage : 2, steps: 1000, digimon : raremon, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : ballistamon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : mailbirdramon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : machinedramon, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : atlurballistamon, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : rebellimon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : locomon, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : loaderleomon, dim : dim)
addAdventureMode(stage : 10, steps: 1500, digimon : metalmamemon, dim : dim)
addAdventureMode(stage : 11, steps: 1500, digimon : metalgreymon_2010, dim : dim)
addAdventureMode(stage : 12, steps: 2000, digimon : heavyleomon, dim : dim)
addAdventureMode(stage : 13, steps: 2000, digimon : groundlocomon, dim : dim)
addAdventureMode(stage : 14, steps: 2000, digimon : zekegreymon, dim : dim)
addAdventureMode(stage : 15, steps: 2500, digimon : machinedramon, unlock : true, dim : dim)
}
}