import UIKit
import CoreData

class ImportRyudamonBE: ImportProtocol {
var moc: NSManagedObjectContext

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

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

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

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

// MARK: - Stage 3
let commandramon = addDigimon(name: "Commandramon", dim: dim, stage: 3, imageName: "commandramon", imageNameSplash: "commandramon-splash", type: virus, activityType: "Stotic", characterID: 3)
let ryudamon = addDigimon(name: "Ryudamon", dim: dim, stage: 3, imageName: "ryudamon", imageNameSplash: "ryudamon-splash", type: vaccine, activityType: "Normal", characterID: 2)

// MARK: - Stage 4
let deltamon = addDigimon(name: "Deltamon", dim: dim, stage: 4, imageName: "deltamon", imageNameSplash: "deltamon-splash", type: virus, activityType: "Active", characterID: 6)
let ginryumon = addDigimon(name: "Ginryumon", dim: dim, stage: 4, imageName: "ginryumon", imageNameSplash: "ginryumon-splash", type: vaccine, activityType: "Normal", characterID: 4)
let hi_commandramon = addDigimon(name: "Hi-Commandramon", dim: dim, stage: 4, imageName: "hi_commandramon", imageNameSplash: "hi_commandramon-splash", type: virus, activityType: "Stotic", characterID: 5)
let numemon = addDigimon(name: "Numemon", dim: dim, stage: 4, imageName: "numemon", imageNameSplash: "numemon-splash", type: virus, activityType: "Lazy", characterID: 7)
let sealsdramon = addDigimon(name: "Sealsdramon", dim: dim, stage: 4, imageName: "sealsdramon", imageNameSplash: "sealsdramon-splash", type: virus, activityType: "Active", adventureMode: true, adventureStage: 6, characterID: 19)

// MARK: - Stage 5
let cargodramon = addDigimon(name: "Cargodramon", dim: dim, stage: 5, imageName: "cargodramon", imageNameSplash: "cargodramon-splash", type: virus, activityType: "Indoor", characterID: 9)
let etemon = addDigimon(name: "Etemon", dim: dim, stage: 5, imageName: "etemon", imageNameSplash: "etemon-splash", type: virus, activityType: "Active", characterID: 12)
let hisyaryumon = addDigimon(name: "Hisyaryumon", dim: dim, stage: 5, imageName: "hisyaryumon", imageNameSplash: "hisyaryumon-splash", type: vaccine, activityType: "Normal", characterID: 8)
let monzaemon = addDigimon(name: "Monzaemon", dim: dim, stage: 5, imageName: "monzaemon", imageNameSplash: "monzaemon-splash", type: vaccine, activityType: "Active", characterID: 11)
let orochimon = addDigimon(name: "Orochimon", dim: dim, stage: 5, imageName: "orochimon", imageNameSplash: "orochimon-splash", type: virus, activityType: "Stotic", characterID: 10)
let tankdramon = addDigimon(name: "Tankdramon", dim: dim, stage: 5, imageName: "tankdramon", imageNameSplash: "tankdramon-splash", type: virus, activityType: "Normal", adventureMode: true, adventureStage: 8, characterID: 20)

// MARK: - Stage 6
let brigadramon = addDigimon(name: "Brigadramon", dim: dim, stage: 6, imageName: "brigadramon", imageNameSplash: "brigadramon-splash", type: virus, activityType: "Stotic", characterID: 14)
let darkdramon = addDigimon(name: "Darkdramon", dim: dim, stage: 6, imageName: "darkdramon", imageNameSplash: "darkdramon-splash", type: virus, activityType: "Stotic", adventureMode: true, adventureStage: 12, characterID: 22)
let kingetemon = addDigimon(name: "KingEtemon", dim: dim, stage: 6, imageName: "kingetemon", imageNameSplash: "kingetemon-splash", type: virus, activityType: "Indoor", characterID: 17)
let metaletemon = addDigimon(name: "MetalEtemon", dim: dim, stage: 6, imageName: "metaletemon", imageNameSplash: "metaletemon-splash", type: virus, activityType: "Stotic", characterID: 18)
let nidhoggmon = addDigimon(name: "Nidhoggmon", dim: dim, stage: 6, imageName: "nidhoggmon", imageNameSplash: "nidhoggmon-splash", type: virus, activityType: "Stotic", characterID: 15)
let ouryumon = addDigimon(name: "Ouryumon", dim: dim, stage: 6, imageName: "ouryumon", imageNameSplash: "ouryumon-splash", type: vaccine, activityType: "Normal", characterID: 13)
let shinmonzaemon = addDigimon(name: "ShinMonzaemon", dim: dim, stage: 6, imageName: "shinmonzaemon", imageNameSplash: "shinmonzaemon-splash", type: vaccine, activityType: "Active", characterID: 16)

// MARK: - Stage 7
let alphamon_ouryuken = addDigimon(name: "Alphamon: Ouryuken", dim: dim, stage: 7, imageName: "alphamon_ouryuken", imageNameSplash: "alphamon_ouryuken-splash", type: vaccine, activityType: "Indoor", characterID: 21)

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

// MARK: - Stage 2 to 3
addEvolution(from: kyokyomon, to: commandramon, minutes: evo3Hours)
addEvolution(from: kyokyomon, to: ryudamon, trophies: 5, vitalValues: 1000, minutes: evo3Hours)

// MARK: - Stage 3 to 4
addEvolution(from: ryudamon, to: deltamon, trophies: 5, vitalValues: 1000, battles: 3, minutes: evo12Hours)
addEvolution(from: ryudamon, to: ginryumon, trophies: 10, vitalValues: 1000, battles: 8, minutes: evo12Hours)
addEvolution(from: commandramon, to: hi_commandramon, trophies: 8, vitalValues: 1000, battles: 5, minutes: evo12Hours)
addEvolution(from: ryudamon, to: numemon, minutes: evo12Hours)
addEvolution(from: commandramon, to: numemon, minutes: evo12Hours)
addEvolution(from: commandramon, to: sealsdramon, trophies: 12, vitalValues: 1500, battles: 10, minutes: evo12Hours)

// MARK: - Stage 4 to 5
addEvolution(from: sealsdramon, to: cargodramon, trophies: 10, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: ginryumon, to: cargodramon, trophies: 10, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: hi_commandramon, to: cargodramon, trophies: 10, vitalValues: 2000, battles: 10, winRatio: 50, minutes: evo24Hours)
addEvolution(from: numemon, to: etemon, trophies: 8, vitalValues: 1500, battles: 4, winRatio: 30, minutes: evo24Hours)
addEvolution(from: deltamon, to: etemon, trophies: 8, vitalValues: 1500, battles: 4, winRatio: 30, minutes: evo24Hours)
addEvolution(from: numemon, to: hisyaryumon, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: sealsdramon, to: hisyaryumon, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: ginryumon, to: hisyaryumon, trophies: 12, vitalValues: 2500, battles: 12, winRatio: 50, minutes: evo24Hours)
addEvolution(from: deltamon, to: monzaemon, trophies: 8, vitalValues: 1500, battles: 8, winRatio: 30, minutes: evo24Hours)
addEvolution(from: numemon, to: monzaemon, trophies: 8, vitalValues: 1500, battles: 8, winRatio: 30, minutes: evo24Hours)
addEvolution(from: deltamon, to: orochimon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: ginryumon, to: orochimon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: hi_commandramon, to: orochimon, trophies: 8, vitalValues: 2000, battles: 10, winRatio: 40, minutes: evo24Hours)
addEvolution(from: hi_commandramon, to: tankdramon, trophies: 12, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: sealsdramon, to: tankdramon, trophies: 12, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)

// MARK: - Stage 5 to 6
addEvolution(from: tankdramon, to: brigadramon, trophies: 30, vitalValues: 3000, battles: 20, winRatio: 50, minutes: evo24Hours)
addEvolution(from: hisyaryumon, to: brigadramon, trophies: 30, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: cargodramon, to: brigadramon, trophies: 30, vitalValues: 3000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: cargodramon, to: darkdramon, trophies: 35, vitalValues: 3500, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: tankdramon, to: darkdramon, trophies: 35, vitalValues: 3500, battles: 20, winRatio: 70, minutes: evo24Hours)
addEvolution(from: monzaemon, to: kingetemon, trophies: 15, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: etemon, to: kingetemon, trophies: 15, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: orochimon, to: metaletemon, trophies: 13, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: etemon, to: metaletemon, trophies: 13, vitalValues: 1500, battles: 15, winRatio: 40, minutes: evo24Hours)
addEvolution(from: orochimon, to: nidhoggmon, trophies: 25, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: hisyaryumon, to: nidhoggmon, trophies: 25, vitalValues: 2500, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: cargodramon, to: ouryumon, trophies: 30, vitalValues: 3000, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: hisyaryumon, to: ouryumon, trophies: 30, vitalValues: 3000, battles: 20, winRatio: 60, minutes: evo24Hours)
addEvolution(from: tankdramon, to: ouryumon, trophies: 30, vitalValues: 3000, battles: 15, winRatio: 60, minutes: evo24Hours)
addEvolution(from: orochimon, to: shinmonzaemon, trophies: 20, vitalValues: 2000, battles: 15, winRatio: 50, minutes: evo24Hours)
addEvolution(from: monzaemon, to: shinmonzaemon, trophies: 20, vitalValues: 2000, battles: 15, winRatio: 50, minutes: evo24Hours)

// MARK: - Stage 6 to 7
addEvolution(from: ouryumon, to: alphamon_ouryuken, isJogress: true, jogressAnotherDIM: true, jogressDIM: 137, jogressCharacterID: 22, minutes: evo3Hours)

// MARK: - Adventure Mode
addAdventureMode(stage : 1, steps: 500, digimon : commandramon, dim : dim)
addAdventureMode(stage : 2, steps: 500, digimon : commandramon, dim : dim)
addAdventureMode(stage : 3, steps: 500, digimon : ryudamon, dim : dim)
addAdventureMode(stage : 4, steps: 1000, digimon : numemon, dim : dim)
addAdventureMode(stage : 5, steps: 1000, digimon : hi_commandramon, dim : dim)
addAdventureMode(stage : 6, steps: 1000, digimon : sealsdramon, unlock : true, dim : dim)
addAdventureMode(stage : 7, steps: 1500, digimon : cargodramon, dim : dim)
addAdventureMode(stage : 8, steps: 1500, digimon : tankdramon, unlock : true, dim : dim)
addAdventureMode(stage : 9, steps: 2000, digimon : shinmonzaemon, dim : dim)
addAdventureMode(stage : 10, steps: 2000, digimon : ouryumon, dim : dim)
addAdventureMode(stage : 11, steps: 2500, digimon : brigadramon, dim : dim)
addAdventureMode(stage : 12, steps: 2500, digimon : darkdramon, unlock : true, dim : dim)
}
}