import UIKit
import CoreData

class ImportPulsemon: ImportProtocol {
var moc: NSManagedObjectContext

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

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

// MARK: - Digimon
// MARK: - Stage 1
let dokimonbe = addDigimon(name: "Dokimon", dim: dim, stage: 1, imageName: "dokimonbe", imageNameSplash: "dokimon-splash", type: free, activityType: "Active", characterID: 0)

// MARK: - Stage 2
let bibimonbe = addDigimon(name: "Bibimon", dim: dim, stage: 2, imageName: "bibimonbe", imageNameSplash: "bibimon-splash", type: free, activityType: "Active", characterID: 1)

// MARK: - Stage 3
let kudamon = addDigimon(name: "Kudamon", dim: dim, stage: 3, imageName: "kudamon", imageNameSplash: "kudamon-splash", type: vaccine, activityType: "Stotic", characterID: 3)
let pulsemonbe = addDigimon(name: "Pulsemon", dim: dim, stage: 3, imageName: "pulsemonbe", imageNameSplash: "pulsemon-splash", type: vaccine, activityType: "Active", characterID: 2)
let shoutmon = addDigimon(name: "Shoutmon", dim: dim, stage: 3, imageName: "shoutmon", imageNameSplash: "shoutmon-splash", type: data, activityType: "Active", adventureMode: true, adventureStage: 3, characterID: 4)

// MARK: - Stage 4
let bladekuwagamon = addDigimon(name: "BladeKuwagamon", dim: dim, stage: 4, imageName: "bladekuwagamon", imageNameSplash: "bladekuwagamon-splash", type: virus, activityType: "Active", characterID: 8)
let bulkmonbe = addDigimon(name: "Bulkmon", dim: dim, stage: 4, imageName: "bulkmonbe", imageNameSplash: "bulkmon-splash", type: vaccine, activityType: "Stotic", characterID: 5)
let reppamon = addDigimon(name: "Reppamon", dim: dim, stage: 4, imageName: "reppamon", imageNameSplash: "reppamon-splash", type: vaccine, activityType: "Normal", characterID: 6)
let shoutmon_x4 = addDigimon(name: "Shoutmon X4", dim: dim, stage: 4, imageName: "shoutmon_x4", imageNameSplash: "shoutmon_x4-splash", type: data, activityType: "Indoor", adventureMode: true, adventureStage: 6, characterID: 19)
let thundermon = addDigimon(name: "Thundermon", dim: dim, stage: 4, imageName: "thundermon", imageNameSplash: "thundermon-splash", type: data, activityType: "Normal", characterID: 7)

// MARK: - Stage 5
let boutmonbe = addDigimon(name: "Boutmon", dim: dim, stage: 5, imageName: "boutmonbe", imageNameSplash: "boutmon-splash", type: vaccine, activityType: "Stotic", characterID: 9)
let chirinmon = addDigimon(name: "Chirinmon", dim: dim, stage: 5, imageName: "chirinmon", imageNameSplash: "chirinmon-splash", type: vaccine, activityType: "Stotic", characterID: 10)
let giromon = addDigimon(name: "Giromon", dim: dim, stage: 5, imageName: "giromon", imageNameSplash: "giromon-splash", type: vaccine, activityType: "Indoor", characterID: 11)
let kyukimon = addDigimon(name: "Kyukimon", dim: dim, stage: 5, imageName: "kyukimon", imageNameSplash: "kyukimon-splash", type: virus, activityType: "Stotic", characterID: 12)
let metallifekuwagamon = addDigimon(name: "MetallifeKuwagamon", dim: dim, stage: 5, imageName: "metallifekuwagamon", imageNameSplash: "metallifekuwagamon-splash", type: virus, activityType: "Active", characterID: 13)
let omegashoutmon = addDigimon(name: "OmegaShoutmon", dim: dim, stage: 5, imageName: "omegashoutmon", imageNameSplash: "omegashoutmon-splash", type: data, activityType: "Stotic", adventureMode: true, adventureStage: 8, characterID: 20)

// MARK: - Stage 6
let kazuchimonbe = addDigimon(name: "Kazuchimon", dim: dim, stage: 6, imageName: "kazuchimonbe", imageNameSplash: "kazuchimon-splash", type: vaccine, activityType: "Normal", characterID: 17)
let mitamamon = addDigimon(name: "Mitamamon", dim: dim, stage: 6, imageName: "mitamamon", imageNameSplash: "mitamamon-splash", type: vaccine, activityType: "Active", characterID: 14)
let raidenmon = addDigimon(name: "Raidenmon", dim: dim, stage: 6, imageName: "raidenmon", imageNameSplash: "raidenmon-splash", type: virus, activityType: "Lazy", characterID: 16)
let raijinmon = addDigimon(name: "Raijinmon", dim: dim, stage: 6, imageName: "raijinmon", imageNameSplash: "raijinmon-splash", type: virus, activityType: "Stotic", characterID: 15)
let shoutmon_dx = addDigimon(name: "Shoutmon DX", dim: dim, stage: 6, imageName: "shoutmon_dx", imageNameSplash: "shoutmon_dx-splash", type: data, activityType: "Stotic", adventureMode: true, adventureStage: 11, characterID: 21)
let shoutmon_x7 = addDigimon(name: "Shoutmon X7", dim: dim, stage: 6, imageName: "shoutmon_x7", imageNameSplash: "shoutmon_x7-splash", type: data, activityType: "Indoor", adventureMode: true, adventureStage: 12, characterID: 22)

// MARK: - Stage 7
let fenriloogamontakemikazuchi = addDigimon(name: "Fenriloogamon: Takemikazuchi", dim: dim, stage: 7, imageName: "fenriloogamontakemikazuchi", imageNameSplash: "fenriloogamontakemikazuchi-splash", type: virus, activityType: "Active", characterID: 18)

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

// MARK: - Stage 2 to 3
addEvolution(from: bibimonbe, to: kudamon, minutes: evo3Hours)
addEvolution(from: bibimonbe, to: pulsemonbe, trophies: 5, vitalValues: 500, minutes: evo3Hours)
addEvolution(from: bibimonbe, to: shoutmon, trophies: 5, vitalValues: 1000, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: kudamon, to: bladekuwagamon, minutes: evo12Hours)
addEvolution(from: pulsemonbe, to: bulkmonbe, trophies: 10, vitalValues: 1000, battles: 8, minutes: evo12Hours)
addEvolution(from: shoutmon, to: bulkmonbe, trophies: 10, vitalValues: 1000, battles: 8, minutes: evo12Hours)
addEvolution(from: shoutmon, to: reppamon, trophies: 8, vitalValues: 1000, battles: 5, minutes: evo12Hours)
addEvolution(from: kudamon, to: reppamon, trophies: 8, vitalValues: 1000, battles: 5, minutes: evo12Hours)
addEvolution(from: shoutmon, to: shoutmon_x4, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo12Hours)
addEvolution(from: pulsemonbe, to: shoutmon_x4, trophies: 2, vitalValues: 1500, battles: 10, minutes: evo12Hours)
addEvolution(from: kudamon, to: thundermon, trophies: 5, vitalValues: 1000, battles: 3, minutes: evo12Hours)
addEvolution(from: pulsemonbe, to: thundermon, trophies: 5, vitalValues: 1000, battles: 3, minutes: evo12Hours)

// MARK: - Stage 4 to 5
addEvolution(from: bulkmonbe, to: boutmonbe, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: shoutmon_x4, to: boutmonbe, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: thundermon, to: boutmonbe, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: shoutmon_x4, to: chirinmon, trophies: 10, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: reppamon, to: chirinmon, trophies: 12, vitalValues: 2000, winRatio: 50, minutes: evo24Hours)
addEvolution(from: reppamon, to: giromon, trophies: 10, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: thundermon, to: giromon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: bladekuwagamon, to: giromon, trophies: 10, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: reppamon, to: kyukimon, trophies: 8, vitalValues: 1500, battles: 8, winRatio: 40, minutes: evo24Hours)
addEvolution(from: bladekuwagamon, to: kyukimon, trophies: 8, vitalValues: 1500, battles: 8, winRatio: 40, minutes: evo24Hours)
addEvolution(from: thundermon, to: metallifekuwagamon, trophies: 8, vitalValues: 1500, battles: 4, winRatio: 30, minutes: evo24Hours)
addEvolution(from: bulkmonbe, to: metallifekuwagamon, trophies: 8, vitalValues: 1500, battles: 4, winRatio: 30, minutes: evo24Hours)
addEvolution(from: bladekuwagamon, to: metallifekuwagamon, trophies: 8, vitalValues: 1500, battles: 4, winRatio: 30, minutes: evo24Hours)
addEvolution(from: shoutmon_x4, to: omegashoutmon, trophies: 12, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: bulkmonbe, to: omegashoutmon, trophies: 12, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: omegashoutmon, to: kazuchimonbe, trophies: 30, vitalValues: 3000, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: boutmonbe, to: kazuchimonbe, trophies: 30, vitalValues: 3000, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: chirinmon, to: mitamamon, trophies: 30, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: kyukimon, to: mitamamon, trophies: 30, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: giromon, to: raidenmon, trophies: 15, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: metallifekuwagamon, to: raidenmon, trophies: 20, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: chirinmon, to: raidenmon, trophies: 15, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: giromon, to: raijinmon, trophies: 25, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: kyukimon, to: raijinmon, trophies: 25, vitalValues: 2500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: metallifekuwagamon, to: raijinmon, trophies: 15, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: omegashoutmon, to: shoutmon_dx, trophies: 32, vitalValues: 3300, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: boutmonbe, to: shoutmon_dx, trophies: 32, vitalValues: 3300, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: omegashoutmon, to: shoutmon_x7, trophies: 35, vitalValues: 3500, battles: 20, winRatio: 70, minutes: evo24Hours)

// MARK: - Stage 6 to 7
addEvolution(from: kazuchimonbe, to: fenriloogamontakemikazuchi, isJogress: true, jogressAnotherDIM: true, jogressDIM: 131, jogressCharacterID: 13, minutes: evo3Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : kudamon, dim : dim)
addAdventureMode(stage : 2, steps: 500, digimon : pulsemonbe, dim : dim)
addAdventureMode(stage : 3, steps: 500, digimon : shoutmon, unlock : true, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : bladekuwagamon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : bulkmonbe, dim : dim)
addAdventureMode(stage : 6, steps: 1000, digimon : shoutmon_x4, unlock : true, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : bulkmonbe, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : omegashoutmon, unlock : true, dim : dim)
addAdventureMode(stage : 9, steps: 2000, digimon : raijinmon, dim : dim)
addAdventureMode(stage : 10, steps: 2000, digimon : kazuchimonbe, dim : dim)
addAdventureMode(stage : 11, steps: 2500, digimon : shoutmon_dx, unlock : true, dim : dim)
addAdventureMode(stage : 12, steps: 2500, digimon : shoutmon_x7, unlock : true, dim : dim)
}
}