import { DailyTaskBlueprintMapVisitRegular, DailyTaskChallengeKillMobsBlueprint, DailyTaskRegularCraftFoodBlueprint, DailyTaskRegularCraftPotionsBlueprint, DailyTaskRegularKillMobsBlueprint, ICharacterDailyTask, RewardType, TaskDifficulty, TaskStatus, TaskType } from "@rpg-engine/shared";

export const mockTasks: ICharacterDailyTask[] = [
    {
        key: DailyTaskRegularKillMobsBlueprint.HuntRats,
        name: 'Kill Rats',
        description: 'Eliminate 5 rats in the forest',
        type: TaskType.KillMobs,
        difficulty: TaskDifficulty.Regular,
        claimed: false,
        status: TaskStatus.Completed,
        requirements: {
            type: TaskType.KillMobs,
            targets: [
                {
                    key: 'Rats',
                    quantity: 5
                }
            ]
        },
        progress: {
            kills: { 'Rats': 5 },
        },
        rewards: [
            {
                type: RewardType.Item,
                key: "angelic-sword",
                texturePath: "swords/angelic-sword.png",
                quantity: 50
            },
            {
                type: RewardType.Item,
                key: 'wolf-tooth-chain',
                texturePath: 'accessories/wolf-tooth-chain.png',
                quantity: 1
            },
            {
                type: RewardType.Experience,
                texturePath: 'others/royal-chalice.png',
                quantity: 100
            }
        ],
        tier: 0
    },
    {
        key: DailyTaskRegularCraftFoodBlueprint.CraftCheese,
        name: 'Gather Resources',
        description: 'Collect 10 pieces of wood',
        type: TaskType.CollectItems,
        difficulty: TaskDifficulty.Regular,
        requirements: {
            type: TaskType.CollectItems,
            targets: [
                {
                    key: 'wooden-log',
                    quantity: 10
                }
            ]
        },
        progress: {
            collected: { 'Wood': 7 },
        },
        rewards: [
            {
                type: RewardType.Gold,
                key: 'gold-coin',
                texturePath: 'others/gold-coin-qty-6.png',
                quantity: 100
            },
            {
                type: RewardType.Item,
                key: 'wooden-log',
                texturePath: 'crafting-resources/wooden-log.png',
                quantity: 10
            },
            {
                type: RewardType.Experience,
                texturePath: 'others/royal-chalice.png',
                quantity: 250
            }
        ],
        status: TaskStatus.InProgress,
        claimed: false,
        tier: 0
    },
    {
        key: DailyTaskChallengeKillMobsBlueprint.HuntEloraTheQueen,
        name: 'Slay the Dragon',
        description: 'Defeat the Queen Dragon',
        type: TaskType.KillMobs,
        difficulty: TaskDifficulty.Challenge,
        requirements: {
            type: TaskType.KillMobs,
            targets: [
                {
                    key: 'QueenDragon',
                    quantity: 1
                }
            ]
        },
        progress: {
            kills: { 'QueenDragon': 0 },
        },
        rewards: [
            {
                type: RewardType.Gold,
                key: 'gold-coin',
                texturePath: 'others/gold-coin-qty-6.png',
                quantity: 1000
            },
            {
                type: RewardType.Item,
                key: 'dragonscale-cleaver-club',
                texturePath: 'maces/dragonscale-cleaver-club.png',
                quantity: 5
            },
            {
                type: RewardType.Experience,
                texturePath: 'others/royal-chalice.png',
                quantity: 1000
            }
        ],
        status: TaskStatus.NotStarted,
        claimed: false,
        tier: 0
    },
    {
        key: DailyTaskBlueprintMapVisitRegular.ExploreVillage,
        name: "Village Ilya Explorer",
        description: "Visit the key locations in the ilya village",
        difficulty: TaskDifficulty.Regular,
        type: TaskType.MapVisit,
        requirements: {
            type: TaskType.MapVisit,
            mapKeys: ["ilya", "isle_of_origins", "ilya-village-sewer", "dungeon-ilya-01"],
        },
        rewards: [
            {
                type: RewardType.Experience,
                texturePath: 'others/royal-chalice.png',
                quantity: 10000
            },
            {
                type: RewardType.Gold,
                key: 'gold-coin',
                texturePath: 'others/gold-coin-qty-6.png',
                quantity: 1000
            },
            {
                type: RewardType.Item,
                key: 'light-life-potion',
                texturePath: 'potions/light-life-potion.png',
                quantity: 20
            },
            {
                type: RewardType.Item,
                key: 'light-mana-potion',
                texturePath: 'potions/light-mana-potion.png',
                quantity: 20
            },
        ],
        progress: {
            visitedMaps: { 'ilya': true, 'isle_of_origins': false, 'ilya-village-sewer': false, 'dungeon-ilya-01': true },
        },
        status: TaskStatus.InProgress,
        claimed: false,
        tier: 0
    },
    {
        key: DailyTaskRegularCraftPotionsBlueprint.CraftLifePotion,
        name: 'Craft Potions',
        description: 'Craft 5 health potions for the local alchemist',
        type: TaskType.CraftItems,
        difficulty: TaskDifficulty.Regular,
        requirements: {
            type: TaskType.CraftItems,
            targets: [
                {
                    key: 'life-potion',
                    quantity: 5
                }
            ],
            materials: [
                {
                    key: 'foods/apple.png',
                    quantity: 10
                },
                {
                    key: 'foods/banana.png',
                    quantity: 5
                }
            ]
        },
        progress: {
            crafted: { 'life-potion': 5 },
        },
        rewards: [
            {
                type: RewardType.Item,
                key: 'light-mana-potion',
                texturePath: 'potions/light-mana-potion.png',
                quantity: 10
            },
            {
                type: RewardType.Gold,
                key: 'gold-coin',
                texturePath: 'others/gold-coin-qty-6.png',
                quantity: 150
            },
            {
                type: RewardType.Experience,
                texturePath: 'others/royal-chalice.png',
                quantity: 200
            }
        ],
        status: TaskStatus.Completed,
        claimed: true,
        tier: 0
    },
];
