import UIKit
import CoreData

class ImportLouwemon: ImportProtocol {
var moc: NSManagedObjectContext

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

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

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

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

// MARK: - Stage 3
let gazimon = addDigimon(name: "Gazimon", dim: dim, stage: 3, imageName: "gazimon", imageNameSplash: "gazimon-splash", type: virus, activityType: "Indoor", characterID: 3)
let liollmon = addDigimon(name: "Liollmon", dim: dim, stage: 3, imageName: "liollmon", imageNameSplash: "liollmon-splash", type: vaccine, activityType: "Active", characterID: 2)

// MARK: - Stage 4
let duskmon = addDigimon(name: "Duskmon", dim: dim, stage: 4, imageName: "duskmon", imageNameSplash: "duskmon-splash", type: free, activityType: "Stotic", characterID: 6)
let liamon = addDigimon(name: "Liamon", dim: dim, stage: 4, imageName: "liamon", imageNameSplash: "liamon-splash", type: vaccine, activityType: "Active", characterID: 5)
let loweemon = addDigimon(name: "Loweemon", dim: dim, stage: 4, imageName: "loweemon", imageNameSplash: "loweemon-splash", type: free, activityType: "Normal", characterID: 4)
let madleomon = addDigimon(name: "MadLeomon", dim: dim, stage: 4, imageName: "madleomon", imageNameSplash: "madleomon-splash", type: virus, activityType: "Indoor", characterID: 7)

// MARK: - Stage 5
let jagerloweemon = addDigimon(name: "JagerLoweemon", dim: dim, stage: 5, imageName: "jagerloweemon", imageNameSplash: "jagerloweemon-splash", type: free, activityType: "Normal", characterID: 9)
let loaderleomon = addDigimon(name: "LoaderLeomon", dim: dim, stage: 5, imageName: "loaderleomon", imageNameSplash: "loaderleomon-splash", type: vaccine, activityType: "Active", characterID: 10)
let lucemonchaos_mode = addDigimon(name: "Lucemon: Chaos Mode", dim: dim, stage: 5, imageName: "lucemonchaos_mode", imageNameSplash: "lucemonchaos_mode-splash", type: virus, activityType: "Stotic", adventureMode: true, adventureStage: 15, characterID: 13)
let rhihimon = addDigimon(name: "Rhihimon", dim: dim, stage: 5, imageName: "rhihimon", imageNameSplash: "rhihimon-splash", type: free, activityType: "Normal", characterID: 8)
let skullsatamon = addDigimon(name: "SkullSatamon", dim: dim, stage: 5, imageName: "skullsatamon", imageNameSplash: "skullsatamon-splash", type: virus, activityType: "Indoor", characterID: 12)
let velgemon = addDigimon(name: "Velgemon", dim: dim, stage: 5, imageName: "velgemon", imageNameSplash: "velgemon-splash", type: free, activityType: "Active", characterID: 11)

// MARK: - Stage 6
let ancientsphinxmon = addDigimon(name: "AncientSphinxmon", dim: dim, stage: 6, imageName: "ancientsphinxmon", imageNameSplash: "ancientsphinxmon-splash", type: virus, activityType: "Indoor", characterID: 16)
let dinotigermon = addDigimon(name: "DinoTigermon", dim: dim, stage: 6, imageName: "dinotigermon", imageNameSplash: "dinotigermon-splash", type: data, activityType: "Indoor", characterID: 15)
let ghoulmon = addDigimon(name: "Ghoulmon", dim: dim, stage: 6, imageName: "ghoulmon", imageNameSplash: "ghoulmon-splash", type: data, activityType: "Active", characterID: 14)

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

// MARK: - Stage 2 to 3
addEvolution(from: frimon, to: gazimon, minutes: evo3Hours)
addEvolution(from: frimon, to: liollmon, vitalValues: 1200, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: gazimon, to: duskmon, trophies: 10, vitalValues: 1300, battles: 8, minutes: evo16Hours)
addEvolution(from: liollmon, to: liamon, minutes: evo16Hours)
addEvolution(from: liollmon, to: loweemon, trophies: 10, vitalValues: 1300, battles: 8, minutes: evo16Hours)
addEvolution(from: gazimon, to: madleomon, minutes: evo16Hours)

// MARK: - Stage 4 to 5
addEvolution(from: loweemon, to: jagerloweemon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: liamon, to: jagerloweemon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: liamon, to: loaderleomon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: duskmon, to: lucemonchaos_mode, trophies: 20, vitalValues: 4500, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: madleomon, to: lucemonchaos_mode, trophies: 20, vitalValues: 4500, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: loweemon, to: rhihimon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: duskmon, to: skullsatamon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: madleomon, to: skullsatamon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: duskmon, to: velgemon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: rhihimon, to: ancientsphinxmon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: jagerloweemon, to: ancientsphinxmon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: loaderleomon, to: ancientsphinxmon, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: rhihimon, to: dinotigermon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: loaderleomon, to: dinotigermon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: velgemon, to: dinotigermon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: skullsatamon, to: dinotigermon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: jagerloweemon, to: ghoulmon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: velgemon, to: ghoulmon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: skullsatamon, to: ghoulmon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : gazimon, dim : dim)
addAdventureMode(stage : 2, steps: 1000, digimon : liollmon, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : madleomon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : liamon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : duskmon, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : loweemon, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : skullsatamon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : velgemon, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : loaderleomon, dim : dim)
addAdventureMode(stage : 10, steps: 1500, digimon : jagerloweemon, dim : dim)
addAdventureMode(stage : 11, steps: 1500, digimon : rhihimon, dim : dim)
addAdventureMode(stage : 12, steps: 2000, digimon : dinotigermon, dim : dim)
addAdventureMode(stage : 13, steps: 2000, digimon : ghoulmon, dim : dim)
addAdventureMode(stage : 14, steps: 2000, digimon : ancientsphinxmon, dim : dim)
addAdventureMode(stage : 15, steps: 2500, digimon : lucemonchaos_mode, unlock : true, dim : dim)
}
}