#include <GraphicsContext/GraphicsContext.hpp>
#include <Material/Material.hpp>
#include <Milestone/StoneAgeMilestone/StoneAgeMilestone.hpp>
#include <Color/Color.hpp>

const std::string StoneAgeMilestone::ID = "main:StoneAge";

StoneAgeMilestone::StoneAgeMilestone() :
    Milestone(
        Material::stoneAgeIcon,
        Material::stoneAgeIcon,
        "Stone Age"
    )
{
    addAchievement(
        CollectPebble,
        Material::pebble,
        Material::pebble,
        "Collect a pebble",
        "*Find a {block|main:pebble} on the floor (found on grassy land).\n"
        "*Click and hold it to dig it.\n"
        "*Approach the {block|main:pebble} to collect it.\n"
    );

    addAchievement(
        CollectStick,
        Material::stick,
        Material::stick,
        "Collect a stick",
        "*Click and hold {block|main:leaves} to dig them.\n"
        "*Sometimes a {item|main:stick} falls out.\n"
        "*Approach the {item|main:stick} to collect it.\n"
    );

    addAchievement(
        ConstructChisel,
        Material::chisel,
        Material::chisel,
        "Construct the chisel",
        "*Collect {item|main:stick|4} and {block|main:pebble|1}.\n"
        "*Open your inventory.\n"
        "*Find the {item|main:chisel} in the {menu|Construction} panel.\n"
        "*Click on {action|>>} to make it.\n"
        "@manualConstruct|main:chisel|1|main:stick|4|main:pebble|1\n",
        Dependency{ID, CollectPebble},
        Dependency{ID, CollectStick}
    );

    addAchievement(
        CollectStone,
        Material::stoneAgeIcon,
        Material::stoneAgeIcon,
        "Collect stone",
        "*Using the mouse wheel, select the {item|main:chisel} in the sidebar.\n"
        "*Find some {block|main:stone} in a cave. You can now dig it.\n"
        "*Dig some up and collect it.\n",
        Dependency{ID, ConstructChisel}
    );
}