from enum import IntEnum


class Skill(IntEnum):
    """
    Represents skills on Hiscores API.
    """

    OVERALL = 0
    ATTACK = 1
    DEFENCE = 2
    STRENGTH = 3
    HITPOINTS = 4
    RANGED = 5
    PRAYER = 6
    MAGIC = 7
    COOKING = 8
    WOODCUTTING = 9
    FLETCHING = 10
    FISHING = 11
    FIREMAKING = 12
    CRAFTING = 13
    SMITHING = 14
    MINING = 15
    HERBLORE = 16
    AGILITY = 17
    THIEVING = 18
    SLAYER = 19
    FARMING = 20
    RUNECRAFT = 21
    HUNTER = 22
    CONSTRUCTION = 23
    SAILING = 24


class Activity(IntEnum):
    """
    Represents activities on Hiscores API.
    """

    GRID_POINTS = 0
    LEAGUE_POINTS = 1
    DEADMAN_POINTS = 2

    BOUNTY_HUNTER_HUNTER = 3
    BOUNTY_HUNTER_ROGUE = 4
    BOUNTY_HUNTER_LEGACY_HUNTER = 5
    BOUNTY_HUNTER_LEGACY_ROGUE = 6

    CLUE_SCROLLS_ALL = 7
    CLUE_SCROLLS_BEGINNER = 8
    CLUE_SCROLLS_EASY = 9
    CLUE_SCROLLS_MEDIUM = 10
    CLUE_SCROLLS_HARD = 11
    CLUE_SCROLLS_ELITE = 12
    CLUE_SCROLLS_MASTER = 13

    LAST_MAN_STANDING_RANK = 14
    PVP_ARENA_RANK = 15
    SOUL_WARS_ZEAL = 16
    RIFTS_CLOSED = 17
    COLOSSEUM_GLORY = 18
    COLLECTIONS_LOGGED = 19

    ABYSSAL_SIRE = 20
    ALCHEMICAL_HYDRA = 21
    AMOXLIATL = 22
    ARAXXOR = 23
    ARTIO = 24

    BARROWS_CHESTS = 25
    BRYOPHYTA = 26

    CALLISTO = 27
    CALVARION = 28
    CERBERUS = 29
    CHAMBERS_OF_XERIC = 30
    CHAMBERS_OF_XERIC_CHALLENGE_MODE = 31
    CHAOS_ELEMENTAL = 32
    CHAOS_FANATIC = 33
    COMMANDER_ZILYANA = 34
    CORPOREAL_BEAST = 35
    CRAZY_ARCHAEOLOGIST = 36

    DAGANNOTH_PRIME = 37
    DAGANNOTH_REX = 38
    DAGANNOTH_SUPREME = 39
    DERANGED_ARCHAEOLOGIST = 40
    DOOM_OF_MOKHAIOTL = 41
    DUKE_SUCELLUS = 42

    GENERAL_GRAARDOR = 43
    GIANT_MOLE = 44
    GROTESQUE_GUARDIANS = 45

    HESPORI = 46

    KALPHITE_QUEEN = 47
    KING_BLACK_DRAGON = 48
    KRAKEN = 49
    KREE_ARRA = 50
    KRIL_TSUTSAROTH = 51

    LUNAR_CHESTS = 52

    MIMIC = 53

    NEX = 54
    NIGHTMARE = 55
    PHOSANIS_NIGHTMARE = 56

    OBOR = 57
    PHANTOM_MUSPAH = 58

    SARACHNIS = 59
    SCORPIA = 60
    SCURRIUS = 61
    SHELLBANE_GRYPHON = 62
    SKOTIZO = 63
    SOL_HEREDIT = 64
    SPINDEL = 65

    TEMPOROSS = 66
    THE_GAUNTLET = 67
    THE_CORRUPTED_GAUNTLET = 68
    THE_HUEYCOATL = 69
    THE_LEVIATHAN = 70
    THE_ROYAL_TITANS = 71
    THE_WHISPERER = 72
    THEATRE_OF_BLOOD = 73
    THEATRE_OF_BLOOD_HARD_MODE = 74
    THERMONUCLEAR_SMOKE_DEVIL = 75
    TOMBS_OF_AMASCUT = 76
    TOMBS_OF_AMASCUT_EXPERT_MODE = 77
    TZKAL_ZUK = 78
    TZTOK_JAD = 79

    VARDORVIS = 80
    VENENATIS = 81
    VETION = 82
    VORKATH = 83

    WINTERTODT = 84
    YAMA = 85
    ZALCANO = 86
    ZULRAH = 87


class PlayerType(IntEnum):
    """
    Represents the player type on Hiscores.
    """

    NORMAL = 0
    IRONMAN = 1
    HARDCORE_IRONMAN = 2
    ULTIMATE_IRONMAN = 3
    DEADMAN_MODE = 4
    SEASONAL = 5
    TOURNAMENT = 6
