import UIKit
import CoreData

class ImportJellymonBE: ImportProtocol {
var moc: NSManagedObjectContext

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

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

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

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

// MARK: - Stage 3
let jellymon = addDigimon(name: "Jellymon", dim: dim, stage: 3, imageName: "jellymon", imageNameSplash: "jellymon-splash", type: data, activityType: "Active", characterID: 2)
let kodokugumon = addDigimon(name: "KoDokugumon", dim: dim, stage: 3, imageName: "kodokugumon", imageNameSplash: "kodokugumon-splash", type: virus, activityType: "Normal", adventureMode: true, adventureStage: 2, characterID: 17)

// MARK: - Stage 4
let chamblemon = addDigimon(name: "Chamblemon", dim: dim, stage: 4, imageName: "chamblemon", imageNameSplash: "chamblemon-splash", type: virus, activityType: "Normal", characterID: 18)
let ikkakumon = addDigimon(name: "Ikkakumon", dim: dim, stage: 4, imageName: "ikkakumon", imageNameSplash: "ikkakumon-splash", type: vaccine, activityType: "Active", characterID: 3)
let kinkakumon = addDigimon(name: "Kinkakumon", dim: dim, stage: 4, imageName: "kinkakumon", imageNameSplash: "kinkakumon-splash", type: virus, activityType: "Stotic", adventureMode: true, adventureStage: 5, characterID: 19)
let shellnumemon = addDigimon(name: "ShellNumemon", dim: dim, stage: 4, imageName: "shellnumemon", imageNameSplash: "shellnumemon-splash", type: vaccine, activityType: "Indoor", characterID: 6)
let teslajellymon = addDigimon(name: "TeslaJellymon", dim: dim, stage: 4, imageName: "teslajellymon", imageNameSplash: "teslajellymon-splash", type: data, activityType: "Active", characterID: 5)
let tobiumon = addDigimon(name: "Tobiumon", dim: dim, stage: 4, imageName: "tobiumon", imageNameSplash: "tobiumon-splash", type: vaccine, activityType: "Stotic", characterID: 4)

// MARK: - Stage 5
let blackkingnumemon = addDigimon(name: "BlackKingNumemon", dim: dim, stage: 5, imageName: "blackkingnumemon", imageNameSplash: "blackkingnumemon-splash", type: virus, activityType: "Stotic", characterID: 12)
let majiramon = addDigimon(name: "Majiramon", dim: dim, stage: 5, imageName: "majiramon", imageNameSplash: "majiramon-splash", type: data, activityType: "Active", characterID: 20)
let marinekimeramon = addDigimon(name: "MarineKimeramon", dim: dim, stage: 5, imageName: "marinekimeramon", imageNameSplash: "marinekimeramon-splash", type: vaccine, activityType: "Active", characterID: 8)
let scorpiomonx = addDigimon(name: "Scorpiomon X", dim: dim, stage: 5, imageName: "scorpiomonx", imageNameSplash: "scorpiomonx-splash", type: data, activityType: "Normal", characterID: 10)
let thetismon = addDigimon(name: "Thetismon", dim: dim, stage: 5, imageName: "thetismon", imageNameSplash: "thetismon-splash", type: data, activityType: "Active", characterID: 9)
let toropiamon = addDigimon(name: "Toropiamon", dim: dim, stage: 5, imageName: "toropiamon", imageNameSplash: "toropiamon-splash", type: virus, activityType: "Stotic", adventureMode: true, adventureStage: 10, characterID: 21)
let waruseadramon = addDigimon(name: "WaruSeadramon", dim: dim, stage: 5, imageName: "waruseadramon", imageNameSplash: "waruseadramon-splash", type: virus, activityType: "Normal", characterID: 11)
let zudomon = addDigimon(name: "Zudomon", dim: dim, stage: 5, imageName: "zudomon", imageNameSplash: "zudomon-splash", type: vaccine, activityType: "Normal", characterID: 7)

// MARK: - Stage 6
let amphimon = addDigimon(name: "Amphimon", dim: dim, stage: 6, imageName: "amphimon", imageNameSplash: "amphimon-splash", type: data, activityType: "Stotic", characterID: 14)
let cthyllamon = addDigimon(name: "Cthyllamon", dim: dim, stage: 6, imageName: "cthyllamon", imageNameSplash: "cthyllamon-splash", type: virus, activityType: "Stotic", adventureMode: true, adventureStage: 12, characterID: 22)
let gigaseadramon = addDigimon(name: "GigaSeadramon", dim: dim, stage: 6, imageName: "gigaseadramon", imageNameSplash: "gigaseadramon-splash", type: data, activityType: "Active", characterID: 15)
let platinumnumemon = addDigimon(name: "PlatinumNumemon", dim: dim, stage: 6, imageName: "platinumnumemon", imageNameSplash: "platinumnumemon-splash", type: virus, activityType: "Stotic", characterID: 16)
let vikemon = addDigimon(name: "Vikemon", dim: dim, stage: 6, imageName: "vikemon", imageNameSplash: "vikemon-splash", type: free, activityType: "Lazy", characterID: 13)

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

// MARK: - Stage 2 to 3
addEvolution(from: puyoyomon, to: jellymon, minutes: evo3Hours)
addEvolution(from: puyoyomon, to: kodokugumon, trophies: 5, vitalValues: 1000, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: kodokugumon, to: chamblemon, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo12Hours)
addEvolution(from: jellymon, to: ikkakumon, trophies: 10, vitalValues: 1000, battles: 8, minutes: evo12Hours)
addEvolution(from: jellymon, to: kinkakumon, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo12Hours)
addEvolution(from: kodokugumon, to: shellnumemon, trophies: 10, vitalValues: 1000, battles: 8, minutes: evo12Hours)
addEvolution(from: jellymon, to: teslajellymon, minutes: evo12Hours)
addEvolution(from: jellymon, to: tobiumon, trophies: 8, vitalValues: 1000, battles: 5, minutes: evo12Hours)

// MARK: - Stage 4 to 5
addEvolution(from: teslajellymon, to: blackkingnumemon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: shellnumemon, to: blackkingnumemon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: kinkakumon, to: majiramon, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: shellnumemon, to: majiramon, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: chamblemon, to: marinekimeramon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: tobiumon, to: marinekimeramon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: ikkakumon, to: marinekimeramon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: tobiumon, to: scorpiomonx, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: shellnumemon, to: scorpiomonx, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: ikkakumon, to: scorpiomonx, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: teslajellymon, to: thetismon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: shellnumemon, to: toropiamon, trophies: 8, vitalValues: 1000, battles: 5, minutes: evo24Hours)
addEvolution(from: chamblemon, to: toropiamon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: toropiamon, to: vikemon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: tobiumon, to: waruseadramon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: teslajellymon, to: waruseadramon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: ikkakumon, to: zudomon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: kinkakumon, to: zudomon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: toropiamon, to: amphimon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: zudomon, to: amphimon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: thetismon, to: amphimon, trophies: 25, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: scorpiomonx, to: cthyllamon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: thetismon, to: cthyllamon, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo24Hours)
addEvolution(from: majiramon, to: cthyllamon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: blackkingnumemon, to: cthyllamon, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo24Hours)
addEvolution(from: marinekimeramon, to: gigaseadramon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: scorpiomonx, to: gigaseadramon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: blackkingnumemon, to: gigaseadramon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: waruseadramon, to: gigaseadramon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: zudomon, to: gigaseadramon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: marinekimeramon, to: platinumnumemon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: waruseadramon, to: platinumnumemon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: blackkingnumemon, to: platinumnumemon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: thetismon, to: platinumnumemon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: marinekimeramon, to: vikemon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: zudomon, to: vikemon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: majiramon, to: vikemon, trophies: 30, vitalValues: 3500, battles: 20, winRatio: 60, minutes: evo24Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : jellymon, dim : dim)
addAdventureMode(stage : 2, steps: 500, digimon : kodokugumon, unlock : true, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : chamblemon, unlock : true, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : teslajellymon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : kinkakumon, unlock : true, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : majiramon, unlock : true, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : thetismon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : scorpiomonx, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : marinekimeramon, dim : dim)
addAdventureMode(stage : 10, steps: 2000, digimon : toropiamon, unlock : true, dim : dim)
addAdventureMode(stage : 11, steps: 2000, digimon : gigaseadramon, dim : dim)
addAdventureMode(stage : 12, steps: 2000, digimon : cthyllamon, unlock : true, dim : dim)
}
}