Esempio n. 1
0
async def learnmove(message, send):
    content = getContent(message)
    if not content:
        return await send(commandlist[getCommand(message)][1])
    try:
        movename, slot = content.rsplit(' ', 1)
        slot = int(slot)
        if slot < 1 or slot > 4:
            raise UserWarning(
                "@mention Invalid slot. It has to be between 1–4!")
    except:
        movename = content
        slot = None

    pokedata = database.loadPokedata(message.author)
    move = pokedex.getMoveByName(movename, pokedata.getPokemon())

    oldMove = pokedata.learnMove(move, slot)
    database.savePokedata(pokedata)

    if slot and oldMove != None:
        return await send(
            '1, 2 and... Poof! @poss @pokemon forgot **{}** and... @pokemon learned {}!'
            .format(oldMove, move))
    else:
        return await send('@poss @pokemon learned {}!'.format(move))
Esempio n. 2
0
async def setpoke(message, send):
    content = getContent(message)

    pokemon = pokedex.getPokemonByName(content, True)
    pokedata = database.createPokemon(message.author)
    pokedata.initialize(pokemon)
    database.savePokedata(pokedata)
    m = '@user is now {} @pokemon.'.format(aOrAn(pokemon))
    return await send(m)
Esempio n. 3
0
async def heal(message, send):
    pokedata = database.loadPokedata(message.author)
    if pokedata.getHp() != 0:
        return await send(
            "Your Pokemon can still fight! Only fainted Pokemon are able to `!heal`."
        )
    pokedata.fullRestore()
    database.savePokedata(pokedata)

    hp = pokedata.getHp()
    m = '@poss @pokemon was fully restored to ({0}/{0}) hp!'.format(hp)
    return await send(m)
Esempio n. 4
0
async def trainev(message, send):
    value, stat = getArgs(message)
    if not value.isdigit():
        return await send(commandlist[getCommand(message)][1])
    value = int(value)
    stat = pokedex.checkStat(stat)

    pokedata = database.loadPokedata(message.author)
    result = pokedata.trainEV(value, stat)
    database.savePokedata(pokedata)
    return await send(
        "@poss @pokemon trained and increased its {}-EV by ({})!".format(
            stat, result))
Esempio n. 5
0
async def admin(message, send):
    args = getArgs(message)
    try:
        value = int(args[0])
    except:
        raise UserWarning("@mention Invalid stage. It has to be between -6–6!")
    try:
        stat = args[1]
    except:
        return await send(commandlist[getCommand(message)][1])

    pokedata = database.loadPokedata(message.author)
    log = []
    pokedex.raiseStage(pokedata, value, stat, log)
    database.savePokedata(pokedata)

    log = '\n'.join(log)
    log = log.replace('@attacker', str(pokedata))
    return await send(log)
Esempio n. 6
0
async def resetev(message, send):
    pokedata = database.loadPokedata(message.author)
    pokedata.resetEV()
    database.savePokedata(pokedata)
    return await send("Your Pokemon's EVs have been reset!")