import pygame

class Item:
    def __init__(self, item):
        itens = {
            'POTION' : ['cura', 20],
            'SUPER POTION' : ['cura', 50],
            'HYPER POTION' : ['cura', 200],
            'MAX POTION' : ['cura_max', None],
            'ANTIDOTE' : ['efeito', 'poisoned'],
            'PARALYZ HEAL' : ['efeito', 'paralized'],
            'BURN HEAL' : ['efeito', 'burned'],
            'FULL HEAL' : ['efeito', ["poisoned", "burned", "paralized"]],
            'FULL RESTORE' : ['restore', ["poisoned", "burned", "paralized"]],
            'REVIVE' : ['revive', 2],
            'MAX REVIVE' : ['revive', 1]
        }

        self.nome = item
        self.tipo = itens[item][0]
        self.valor = itens[item][1]

    def usa(self, pokemon):
        if self.tipo == 'cura':
            if pokemon.hp > 0:
                pokemon.hp += self.valor
            if pokemon.hp > pokemon.maxHp:
                pokemon.hp = pokemon.maxHp
        if self.tipo == 'cura_max' or self.tipo == 'restore':
            if pokemon.hp > 0:
                pokemon.hp = pokemon.maxHp
        if pokemon.condition != None:
            if self.tipo == 'efeito' or self.tipo == 'restore':
                if pokemon.condition in self.valor or pokemon.condition == self.valor:
                    pokemon.condition = None
        if self.tipo == 'revive':
            pokemon.hp = pokemon.maxHp // self.valor
