import UIKit
import CoreData

class ImportAngoramonBE: ImportProtocol {
var moc: NSManagedObjectContext

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

func importDIM() {
// MARK: - DIM
let dim = addDIM(name: "Angoramon BE", franchise: "Digimon", imageName: "AngoramonBE-Header", dimType: "Vital Bracelet BE", id: "126", eggImage: "AngoramonBE-Egg", dimImage: "AngoramonBE-DIM", adventureIcon: "AngoramonBE-Adventure")

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

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

// MARK: - Stage 3
let angoramon = addDigimon(name: "Angoramon", dim: dim, stage: 3, imageName: "angoramon", imageNameSplash: "angoramon-splash", type: vaccine, activityType: "Normal", characterID: 2)
let dracmon = addDigimon(name: "Dracmon", dim: dim, stage: 3, imageName: "dracmon", imageNameSplash: "dracmon-splash", type: virus, activityType: "Active", adventureMode: true, adventureStage: 2, characterID: 17)

// MARK: - Stage 4
let doggymon = addDigimon(name: "Doggymon", dim: dim, stage: 4, imageName: "doggymon", imageNameSplash: "doggymon-splash", type: data, activityType: "Active", characterID: 5)
let publimon = addDigimon(name: "Publimon", dim: dim, stage: 4, imageName: "publimon", imageNameSplash: "publimon-splash", type: data, activityType: "Stotic", adventureMode: true, adventureStage: 4, characterID: 18)
let sangloupmon = addDigimon(name: "Sangloupmon", dim: dim, stage: 4, imageName: "sangloupmon", imageNameSplash: "sangloupmon-splash", type: virus, activityType: "Lazy", characterID: 6)
let siesamon = addDigimon(name: "Siesamon", dim: dim, stage: 4, imageName: "siesamon", imageNameSplash: "siesamon-splash", type: vaccine, activityType: "Normal", characterID: 4)
let symbareangoramon = addDigimon(name: "SymbareAngoramon", dim: dim, stage: 4, imageName: "symbareangoramon", imageNameSplash: "symbareangoramon-splash", type: vaccine, activityType: "Normal", characterID: 3)

// MARK: - Stage 5
let bastemon = addDigimon(name: "Bastemon", dim: dim, stage: 5, imageName: "bastemon", imageNameSplash: "bastemon-splash", type: virus, activityType: "Normal", characterID: 21)
let cerberumon = addDigimon(name: "Cerberumon", dim: dim, stage: 5, imageName: "cerberumon", imageNameSplash: "cerberumon-splash", type: vaccine, activityType: "Stotic", characterID: 8)
let digitamamon = addDigimon(name: "Digitamamon", dim: dim, stage: 5, imageName: "digitamamon", imageNameSplash: "digitamamon-splash", type: data, activityType: "Lazy", characterID: 10)
let feresmon = addDigimon(name: "Feresmon", dim: dim, stage: 5, imageName: "feresmon", imageNameSplash: "feresmon-splash", type: virus, activityType: "Lazy", adventureMode: true, adventureStage: 6, characterID: 19)
let hippogryphomon = addDigimon(name: "HippoGryphomon", dim: dim, stage: 5, imageName: "hippogryphomon", imageNameSplash: "hippogryphomon-splash", type: data, activityType: "Stotic", characterID: 9)
let lamortmon = addDigimon(name: "Lamortmon", dim: dim, stage: 5, imageName: "lamortmon", imageNameSplash: "lamortmon-splash", type: vaccine, activityType: "Normal", characterID: 7)
let matadormon = addDigimon(name: "Matadormon", dim: dim, stage: 5, imageName: "matadormon", imageNameSplash: "matadormon-splash", type: virus, activityType: "Normal", characterID: 11)
let mephistomon = addDigimon(name: "Mephistomon", dim: dim, stage: 5, imageName: "mephistomon", imageNameSplash: "mephistomon-splash", type: virus, activityType: "Active", characterID: 12)
let oleamon = addDigimon(name: "Oleamon", dim: dim, stage: 5, imageName: "oleamon", imageNameSplash: "oleamon-splash", type: virus, activityType: "Active", adventureMode: true, adventureStage: 9, characterID: 20)

// MARK: - Stage 6
let diarbitmon = addDigimon(name: "Diarbitmon", dim: dim, stage: 6, imageName: "diarbitmon", imageNameSplash: "diarbitmon-splash", type: vaccine, activityType: "Normal", characterID: 13)
let grandracmon = addDigimon(name: "GranDracmon", dim: dim, stage: 6, imageName: "grandracmon", imageNameSplash: "grandracmon-splash", type: virus, activityType: "Indoor", characterID: 16)
let marsmon = addDigimon(name: "Marsmon", dim: dim, stage: 6, imageName: "marsmon", imageNameSplash: "marsmon-splash", type: vaccine, activityType: "Active", characterID: 14)
let piedmon = addDigimon(name: "Piedmon", dim: dim, stage: 6, imageName: "piedmon", imageNameSplash: "piedmon-splash", type: virus, activityType: "Stotic", adventureMode: true, adventureStage: 12, characterID: 22)
let plutomon = addDigimon(name: "Plutomon", dim: dim, stage: 6, imageName: "plutomon", imageNameSplash: "plutomon-splash", type: virus, activityType: "Normal", characterID: 15)

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

// MARK: - Stage 2 to 3
addEvolution(from: bosamon, to: angoramon, minutes: evo3Hours)
addEvolution(from: bosamon, to: dracmon, trophies: 5, vitalValues: 1000, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: angoramon, to: doggymon, minutes: evo12Hours)
addEvolution(from: dracmon, to: doggymon, minutes: evo12Hours)
addEvolution(from: angoramon, to: publimon, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo12Hours)
addEvolution(from: dracmon, to: sangloupmon, trophies: 12, vitalValues: 1200, battles: 10, minutes: evo12Hours)
addEvolution(from: angoramon, to: siesamon, trophies: 12, vitalValues: 1200, battles: 10, minutes: evo12Hours)
addEvolution(from: angoramon, to: symbareangoramon, trophies: 10, vitalValues: 1000, battles: 8, minutes: evo12Hours)

// MARK: - Stage 4 to 5
addEvolution(from: siesamon, to: bastemon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: symbareangoramon, to: cerberumon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: siesamon, to: cerberumon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: doggymon, to: cerberumon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: publimon, to: digitamamon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: doggymon, to: digitamamon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: sangloupmon, to: feresmon, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: siesamon, to: hippogryphomon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: symbareangoramon, to: hippogryphomon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: symbareangoramon, to: lamortmon, trophies: 12, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: sangloupmon, to: matadormon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: sangloupmon, to: mephistomon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: sangloupmon, to: oleamon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: publimon, to: oleamon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: doggymon, to: oleamon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 40, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: lamortmon, to: diarbitmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: cerberumon, to: diarbitmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: bastemon, to: diarbitmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: cerberumon, to: grandracmon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: feresmon, to: grandracmon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: mephistomon, to: grandracmon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: matadormon, to: grandracmon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: bastemon, to: marsmon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: oleamon, to: marsmon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: mephistomon, to: marsmon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: hippogryphomon, to: marsmon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: cerberumon, to: marsmon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: lamortmon, to: marsmon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: digitamamon, to: piedmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 50, minutes: evo24Hours)
addEvolution(from: mephistomon, to: piedmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 50, minutes: evo24Hours)
addEvolution(from: hippogryphomon, to: piedmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 50, minutes: evo24Hours)
addEvolution(from: feresmon, to: piedmon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 50, minutes: evo24Hours)
addEvolution(from: digitamamon, to: plutomon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: matadormon, to: plutomon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: hippogryphomon, to: plutomon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: oleamon, to: plutomon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: lamortmon, to: plutomon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : angoramon, dim : dim)
addAdventureMode(stage : 2, steps: 500, digimon : dracmon, unlock : true, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : symbareangoramon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : publimon, unlock : true, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : sangloupmon, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : feresmon, unlock : true, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : lamortmon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : mephistomon, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : oleamon, unlock : true, dim : dim)
addAdventureMode(stage : 10, steps: 1500, digimon : bastemon, unlock : true, dim : dim)
addAdventureMode(stage : 11, steps: 2000, digimon : grandracmon, dim : dim)
addAdventureMode(stage : 12, steps: 2500, digimon : piedmon, unlock : true, dim : dim)
}
}