from core.helper import AttrDict


class MonsterTuning(object):
    BOAR = AttrDict(
        STATS = AttrDict(
            HP = 130,
            SP = 50,
            ATK = 35,
            DEF = 31,
            INT = 30,
            MIND = 26,
            AGI = 25,
            LUCK = 30,
            fire = 120,
            water = 80,
            earth = 90,
            wind = 105
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=5, SP=2, ATK=4, DEF=3, INT=3, MIND=3, AGI=3, LUCK=3),
            AttrDict(level=6, HP=1, SP=4, ATK=1, DEF=1, INT=1, MIND=1, AGI=1, LUCK=1),
            AttrDict(level=11, HP=15, SP=6, ATK=6, DEF=4, INT=3, MIND=3, AGI=4, LUCK=3),
            AttrDict(level=16, HP=1, SP=8, ATK=1, DEF=1, INT=1, MIND=1, AGI=1, LUCK=1),
            AttrDict(level=21, HP=25, SP=7, ATK=6, DEF=4, INT=5, MIND=3, AGI=4, LUCK=3),
            AttrDict(level=26, HP=30, SP=4, ATK=8, DEF=4, INT=5, MIND=4, AGI=5, LUCK=3)
        ],
    )

    BONE_EATER = AttrDict(
        STATS = AttrDict(
            HP = 50,
            SP = 50,
            ATK = 30,
            DEF = 30,
            INT = 30,
            MIND = 34,
            AGI = 25,
            LUCK = 20,
            fire = 80,
            water = 90,
            earth = 90,
            wind = 65
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=5, SP=2, ATK=5, DEF=5, INT=5, MIND=2.5, AGI=1.5, LUCK=3),
            AttrDict(level=6, HP=5, SP=4, ATK=3, DEF=3, INT=3, MIND=3, AGI=2.5, LUCK=1),
            AttrDict(level=11, HP=5, SP=6, ATK=4.5, DEF=4.5, INT=4.5, MIND=3.5, AGI=3, LUCK=3),
            AttrDict(level=16, HP=5, SP=8, ATK=2, DEF=5, INT=2, MIND=4.2, AGI=3.3, LUCK=1),
            AttrDict(level=21, HP=5, SP=7, ATK=4.5, DEF=4.5, INT=4.5, MIND=4.5, AGI=3.3, LUCK=3),
            AttrDict(level=26, HP=5, SP=4, ATK=3, DEF=3, INT=3, MIND=5, AGI=3.5, LUCK=1)
        ],
    )

    GLOW_BAT = AttrDict(
        STATS = AttrDict(
            HP = 60,
            SP = 50,
            ATK = 20,
            DEF = 20,
            INT = 20,
            MIND = 30,
            AGI = 32,
            LUCK = 30,
            fire = 80,
            water = 110,
            earth = 75,
            wind = 95
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=5, SP=2, ATK=2, DEF=2, INT=1, MIND=1.5, AGI=2.2, LUCK=1.5),
            AttrDict(level=6, HP=7, SP=4, ATK=2.1, DEF=3.1, INT=2, MIND=3, AGI=3.2, LUCK=3.2),
            AttrDict(level=11, HP=10, SP=6, ATK=2.3, DEF=3.3, INT=3.5, MIND=3.5, AGI=4.2, LUCK=4.2),
            AttrDict(level=16, HP=12, SP=8, ATK=3.1, DEF=3.1, INT=4.2, MIND=4.2, AGI=5.2, LUCK=3.5),
            AttrDict(level=21, HP=15, SP=7, ATK=4.5, DEF=3.5, INT=4.5, MIND=4.5, AGI=6.2, LUCK=3),
            AttrDict(level=26, HP=12, SP=4, ATK=3, DEF=3, INT=2, MIND=5, AGI=7.2, LUCK=1.5)
        ],
    )

    OIL_SLIME = AttrDict(
        STATS = AttrDict(
            HP = 60,
            SP = 50,
            ATK = 25,
            DEF = 30,
            INT = 20,
            MIND = 34,
            AGI = 25,
            LUCK = 35,
            fire = 70,
            water = 120,
            earth = 110,
            wind = 90
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=5, SP=2, ATK=1.5, DEF=2, INT=1, MIND=2.5, AGI=1.5, LUCK=5),
            AttrDict(level=6, HP=7, SP=4, ATK=2.5, DEF=3.5, INT=2, MIND=3, AGI=2.5, LUCK=4.5),
            AttrDict(level=11, HP=10, SP=6, ATK=2.5, DEF=3.5, INT=3.5, MIND=3.5, AGI=3, LUCK=3.2),
            AttrDict(level=16, HP=12, SP=8, ATK=3.2, DEF=4, INT=4.2, MIND=4.2, AGI=3.3, LUCK=3.5),
            AttrDict(level=21, HP=17, SP=7, ATK=3.5, DEF=3.5, INT=4.5, MIND=4.5, AGI=3.3, LUCK=2),
            AttrDict(level=26, HP=20, SP=4, ATK=3, DEF=3.5, INT=2, MIND=5, AGI=3.5, LUCK=1)
        ],
    )

    ORTOMI = AttrDict(
        STATS = AttrDict(
            HP = 70,
            SP = 50,
            ATK = 27,
            DEF = 28,
            INT = 30,
            MIND = 30,
            AGI = 35,
            LUCK = 30,
            fire = 120,
            water = 90,
            earth = 80,
            wind = 110
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=5, SP=2, ATK=2, DEF=2, INT=2, MIND=2.5, AGI=2.5, LUCK=1),
            AttrDict(level=6, HP=7, SP=4, ATK=2.5, DEF=3, INT=2.5, MIND=3, AGI=3, LUCK=1.5),
            AttrDict(level=11, HP=11, SP=6, ATK=3, DEF=3, INT=3.5, MIND=3.5, AGI=3.5, LUCK=2.2),
            AttrDict(level=16, HP=15, SP=8, ATK=3.2, DEF=4, INT=3.7, MIND=4.2, AGI=4, LUCK=2),
            AttrDict(level=21, HP=15, SP=7, ATK=3, DEF=3.5, INT=3.5, MIND=3.5, AGI=3.7, LUCK=1.5),
            AttrDict(level=26, HP=13, SP=4, ATK=2.5, DEF=2.5, INT=3, MIND=3, AGI=3.2, LUCK=1)
        ],
    )

    QUARIDIN = AttrDict(
        STATS = AttrDict(
            HP = 60,
            SP = 50,
            ATK = 25,
            DEF = 30,
            INT = 20,
            MIND = 34,
            AGI = 25,
            LUCK = 35,
            fire = 70,
            water = 120,
            earth = 110,
            wind = 90
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=5, SP=2, ATK=1.5, DEF=2, INT=1, MIND=2.5, AGI=1.5, LUCK=5),
            AttrDict(level=6, HP=7, SP=4, ATK=2.5, DEF=3.5, INT=2, MIND=3, AGI=2.5, LUCK=4.5),
            AttrDict(level=11, HP=10, SP=6, ATK=2.5, DEF=3.5, INT=3.5, MIND=3.5, AGI=3, LUCK=3.2),
            AttrDict(level=16, HP=12, SP=8, ATK=3.2, DEF=4, INT=4.2, MIND=4.2, AGI=3.3, LUCK=3.5),
            AttrDict(level=21, HP=17, SP=7, ATK=3.5, DEF=3.5, INT=4.5, MIND=4.5, AGI=3.3, LUCK=2),
            AttrDict(level=26, HP=20, SP=4, ATK=3, DEF=3.5, INT=2, MIND=5, AGI=3.5, LUCK=1)
        ],
    )

    SNOW_GOLEM = AttrDict(
        STATS = AttrDict(
            HP = 80,
            SP = 50,
            ATK = 25,
            DEF = 30,
            INT = 35,
            MIND = 30,
            AGI = 25,
            LUCK = 15,
            fire = 90,
            water = 150,
            earth = 120,
            wind = 80
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=10, SP=2, ATK=1.5, DEF=2, INT=5, MIND=4, AGI=2, LUCK=3),
            AttrDict(level=6, HP=10, SP=4, ATK=2.5, DEF=3.5, INT=5, MIND=4, AGI=2, LUCK=2),
            AttrDict(level=11, HP=10, SP=6, ATK=2.5, DEF=3.5, INT=4, MIND=5, AGI=3, LUCK=2),
            AttrDict(level=16, HP=10, SP=8, ATK=3.2, DEF=4, INT=4, MIND=4, AGI=3, LUCK=2),
            AttrDict(level=21, HP=20, SP=7, ATK=3.5, DEF=3.5, INT=4, MIND=4, AGI=3, LUCK=2),
            AttrDict(level=26, HP=20, SP=4, ATK=3, DEF=3.5, INT=2, MIND=2, AGI=3, LUCK=2)
        ],
    )

    ZABIS = AttrDict(
        STATS = AttrDict(
            HP = 100,
            SP = 50,
            ATK = 30,
            DEF = 35,
            INT = 30,
            MIND = 30,
            AGI = 28,
            LUCK = 30,
            fire = 110,
            water = 80,
            earth = 150,
            wind = 65
        ),
        LEVEL_STATS = [
            AttrDict(level=1, HP=8, SP=2, ATK=0.5, DEF=1.5, INT=0.5, MIND=1, AGI=0.5, LUCK=1),
            AttrDict(level=6, HP=11, SP=4, ATK=1, DEF=2.5, INT=1, MIND=1.3, AGI=0.9, LUCK=1.5),
            AttrDict(level=11, HP=15, SP=6, ATK=2, DEF=3.5, INT=1.5, MIND=1.9, AGI=1.4, LUCK=2.2),
            AttrDict(level=16, HP=18, SP=8, ATK=3.5, DEF=4.7, INT=2.2, MIND=2.5, AGI=1.5, LUCK=2),
            AttrDict(level=21, HP=20, SP=7, ATK=5, DEF=5, INT=3, MIND=3, AGI=1.5, LUCK=1.5),
            AttrDict(level=26, HP=22, SP=4, ATK=6.5, DEF=5.5, INT=4.5, MIND=3.5, AGI=1.5, LUCK=1)
        ],
    )
