import UIKit
import CoreData

class ImportTrueShadowHowl: ImportProtocol {
var moc: NSManagedObjectContext

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

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

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

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

// MARK: - Stage 3
let gabumon_black = addDigimon(name: "Gabumon (Black)", dim: dim, stage: 3, imageName: "gabumon_black", imageNameSplash: "gabumon_black-splash", type: virus, activityType: "Active", characterID: 2)

// MARK: - Stage 4
let dorulumon = addDigimon(name: "Dorulumon", dim: dim, stage: 4, imageName: "dorulumon", imageNameSplash: "dorulumon-splash", type: virus, activityType: "Normal", characterID: 5)
let drimogemon = addDigimon(name: "Drimogemon", dim: dim, stage: 4, imageName: "drimogemon", imageNameSplash: "drimogemon-splash", type: data, activityType: "Lazy", characterID: 4)
let garurumon = addDigimon(name: "Garurumon", dim: dim, stage: 4, imageName: "garurumon", imageNameSplash: "garurumon-splash", type: vaccine, activityType: "Active", characterID: 3)
let garurumon_black = addDigimon(name: "Garurumon (Black)", dim: dim, stage: 4, imageName: "garurumon_black", imageNameSplash: "garurumon_black-splash", type: virus, activityType: "Active", characterID: 6)

// MARK: - Stage 5
let cerberumon = addDigimon(name: "Cerberumon", dim: dim, stage: 5, imageName: "cerberumon", imageNameSplash: "cerberumon-splash", type: vaccine, activityType: "Stotic", characterID: 8)
let jaegerdorulumon = addDigimon(name: "JaegerDorulumon", dim: dim, stage: 5, imageName: "jaegerdorulumon", imageNameSplash: "jaegerdorulumon-splash", type: virus, activityType: "Normal", characterID: 12)
let pandamon = addDigimon(name: "Pandamon", dim: dim, stage: 5, imageName: "pandamon", imageNameSplash: "pandamon-splash", type: data, activityType: "Indoor", characterID: 10)
let rhinomon = addDigimon(name: "Rhinomon", dim: dim, stage: 5, imageName: "rhinomon", imageNameSplash: "rhinomon-splash", type: free, activityType: "Normal", characterID: 9)
let were_garurumon_black = addDigimon(name: "Were Garurumon (Black)", dim: dim, stage: 5, imageName: "were_garurumon_black", imageNameSplash: "were_garurumon_black-splash", type: virus, activityType: "Active", characterID: 11)
let were_garurumonsaggitarius_mode = addDigimon(name: "Were Garurumon: Saggitarius Mode", dim: dim, stage: 5, imageName: "were_garurumonsaggitarius_mode", imageNameSplash: "were_garurumonsaggitarius_mode-splash", type: vaccine, activityType: "Active", characterID: 7)

// MARK: - Stage 6
let merukimon = addDigimon(name: "Merukimon", dim: dim, stage: 6, imageName: "merukimon", imageNameSplash: "merukimon-splash", type: virus, activityType: "Stotic", characterID: 15)
let metal_garurumon_black = addDigimon(name: "Metal Garurumon (Black)", dim: dim, stage: 6, imageName: "metal_garurumon_black", imageNameSplash: "metal_garurumon_black-splash", type: virus, activityType: "Active", characterID: 14)
let omnimon_zwart = addDigimon(name: "Omnimon Zwart", dim: dim, stage: 6, imageName: "omnimon_zwart", imageNameSplash: "omnimon_zwart-splash", type: vaccine, activityType: "Normal", adventureMode: true, adventureStage: 15, characterID: 16)
let zeedgarurumon = addDigimon(name: "ZeedGarurumon", dim: dim, stage: 6, imageName: "zeedgarurumon", imageNameSplash: "zeedgarurumon-splash", type: data, activityType: "Normal", characterID: 13)

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

// MARK: - Stage 2 to 3
addEvolution(from: tsunomon, to: gabumon_black, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: gabumon_black, to: dorulumon, trophies: 5, vitalValues: 600, battles: 3, minutes: evo16Hours)
addEvolution(from: gabumon_black, to: drimogemon, minutes: evo16Hours)
addEvolution(from: gabumon_black, to: garurumon, trophies: 10, vitalValues: 1300, battles: 8, minutes: evo16Hours)
addEvolution(from: gabumon_black, to: garurumon_black, trophies: 8, vitalValues: 900, battles: 5, minutes: evo16Hours)

// MARK: - Stage 4 to 5
addEvolution(from: dorulumon, to: cerberumon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: drimogemon, to: cerberumon, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: dorulumon, to: jaegerdorulumon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: drimogemon, to: jaegerdorulumon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: garurumon_black, to: pandamon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: garurumon, to: pandamon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: drimogemon, to: rhinomon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: dorulumon, to: rhinomon, trophies: 10, vitalValues: 2500, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: garurumon, to: were_garurumon_black, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: garurumon_black, to: were_garurumon_black, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: garurumon_black, to: were_garurumonsaggitarius_mode, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: garurumon, to: were_garurumonsaggitarius_mode, trophies: 12, vitalValues: 3000, battles: 15, winRatio: 70, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: cerberumon, to: merukimon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: pandamon, to: merukimon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: jaegerdorulumon, to: merukimon, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: cerberumon, to: metal_garurumon_black, trophies: 20, vitalValues: 5000, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: rhinomon, to: metal_garurumon_black, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: were_garurumon_black, to: metal_garurumon_black, trophies: 15, vitalValues: 4500, battles: 15, winRatio: 70, minutes: evo24Hours)
addEvolution(from: were_garurumonsaggitarius_mode, to: omnimon_zwart, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: were_garurumon_black, to: omnimon_zwart, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: jaegerdorulumon, to: omnimon_zwart, trophies: 20, vitalValues: 7000, battles: 25, winRatio: 70, minutes: evo24Hours)
addEvolution(from: were_garurumonsaggitarius_mode, to: zeedgarurumon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: rhinomon, to: zeedgarurumon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: pandamon, to: zeedgarurumon, trophies: 10, vitalValues: 4500, battles: 15, winRatio: 50, minutes: evo24Hours)

// MARK: - Stage 6 to 7
addEvolution(from: metal_garurumon_black, to: omnimon_zwart, isJogress: true, jogressAnotherDIM: true, jogressDIM: 27, jogressCharacterID: 14, minutes: evo3Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : gabumon_black, dim : dim)
addAdventureMode(stage : 2, steps: 1000, digimon : garurumon_black, dim : dim)
addAdventureMode(stage : 3, steps: 1000, digimon : drimogemon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : dorulumon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : garurumon_black, dim : dim)
addAdventureMode(stage : 6, steps: 1500, digimon : cerberumon, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : were_garurumon_black, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : pandamon, dim : dim)
addAdventureMode(stage : 9, steps: 1500, digimon : were_garurumonsaggitarius_mode, dim : dim)
addAdventureMode(stage : 10, steps: 1500, digimon : rhinomon, dim : dim)
addAdventureMode(stage : 11, steps: 1500, digimon : jaegerdorulumon, dim : dim)
addAdventureMode(stage : 12, steps: 2000, digimon : zeedgarurumon, dim : dim)
addAdventureMode(stage : 13, steps: 2000, digimon : metal_garurumon_black, dim : dim)
addAdventureMode(stage : 14, steps: 2000, digimon : merukimon, dim : dim)
addAdventureMode(stage : 15, steps: 2500, digimon : omnimon_zwart, unlock : true, dim : dim)
}
}