Пример #1
0
async def hogtie(cmd):

    if not 0 < ewrolemgr.checkClearance(member=cmd.message.author) < 4:
        return await cmd_utils.fake_failed_command(cmd)
    else:
        if cmd.mentions_count == 1:
            target_data = EwUser(member=cmd.mentions[0])
            member = cmd.mentions[0]
            if target_data.hogtied == 1:
                target_data.hogtied = 0
                target_data.persist()
                response = "Whew-whee! She's buckin' so we gotta let 'er go."
                await fe_utils.send_message(
                    cmd.client, cmd.message.channel,
                    fe_utils.formatMessage(cmd.message.author, response))

                leak_channel = fe_utils.get_channel(
                    server=cmd.guild, channel_name='squickyleaks')
                await fe_utils.send_message(
                    cmd.client, leak_channel,
                    "{}:Released {} from eternal bondage.".format(
                        cmd.message.author.display_name, member.display_name))
            else:
                target_data.hogtied = 1
                target_data.persist()
                response = "Boy howdy! Looks like we lasso'd up a real heifer there! A dang ol' big'un."
                await fe_utils.send_message(
                    cmd.client, cmd.message.channel,
                    fe_utils.formatMessage(cmd.message.author, response))

                leak_channel = fe_utils.get_channel(
                    server=cmd.guild, channel_name='squickyleaks')
                await fe_utils.send_message(
                    cmd.client, leak_channel,
                    "{}: Hogtied {}.".format(cmd.message.author.display_name,
                                             member.display_name))
Пример #2
0
async def create(cmd):
    # if not cmd.message.author.guild_permissions.administrator:
    #if EwUser(member=cmd.message.author).life_state != ewcfg.life_state_kingpin and not cmd.message.author.guild_permissions.administrator:
    if not (0 < ewrolemgr.checkClearance(member=cmd.message.author) <
            4) or EwUser(member=cmd.message.author
                         ).life_state != ewcfg.life_state_kingpin:
        response = 'Lowly Non-Kingpins cannot hope to create items with their bare hands.'
        return await fe_utils.send_message(
            cmd.client, cmd.message.channel,
            fe_utils.formatMessage(cmd.message.author, response))

    if len(cmd.tokens) not in [4, 5, 6]:
        response = 'Usage: !create "<item_name>" "<item_desc>" <recipient> <rarity(optional)>, <context>(optional)'
        return await fe_utils.send_message(
            cmd.client, cmd.message.channel,
            fe_utils.formatMessage(cmd.message.author, response))

    item_name = cmd.tokens[1]
    item_desc = cmd.tokens[2]
    rarity = cmd.tokens[4] if len(
        cmd.tokens) >= 5 and ewutils.flattenTokenListToString(
            cmd.tokens[4]) in ['princeps', 'plebeian', 'patrician'
                               ] else 'princeps'
    context = cmd.tokens[5] if len(cmd.tokens) >= 6 else ''

    if cmd.mentions[0]:
        recipient = cmd.mentions[0]
    else:
        response = 'You need to specify a recipient. Usage: !create "<item_name>" "<item_desc>" <recipient>'
        return await fe_utils.send_message(
            cmd.client, cmd.message.channel,
            fe_utils.formatMessage(cmd.message.author, response))
    # princeps stopped assigning durability and stuff for... reasons (idk!!!! something with the caching update???? As far as I can tell????) so I just assigned them here lol
    item_props = {
        "id_cosmetic": "princep",
        "cosmetic_name": item_name,
        "cosmetic_desc": item_desc,
        "str_onadorn": ewcfg.str_generic_onadorn,
        "str_unadorn": ewcfg.str_generic_unadorn,
        "str_onbreak": ewcfg.str_generic_onbreak,
        "rarity": rarity,
        "attack": 3,
        "defense": 3,
        "speed": 3,
        "ability": None,
        "durability": ewcfg.base_durability * 100,
        "size": 1,
        "fashion_style": ewcfg.style_cool,
        "freshness": 100,
        "adorned": "false",
        "context": context
    }

    new_item_id = bknd_item.item_create(id_server=cmd.guild.id,
                                        id_user=recipient.id,
                                        item_type=ewcfg.it_cosmetic,
                                        item_props=item_props)

    itm_utils.soulbind(new_item_id)

    response = 'Item "{}" successfully created.'.format(item_name)
    return await fe_utils.send_message(
        cmd.client, cmd.message.channel,
        fe_utils.formatMessage(cmd.message.author, response))
Пример #3
0
async def defect(cmd):
    accepted = False

    member = cmd.message.author

    modauth = 0

    response = "You feel...traitor-ish today. Hey mods, any takers? Let them free, !yes or !no?"
    await fe_utils.send_message(
        cmd.client, cmd.message.channel,
        fe_utils.formatMessage(cmd.message.author, response))

    try:
        message = await cmd.client.wait_for(
            'message',
            timeout=30,
            check=lambda message: 0 < ewrolemgr.checkClearance(
                member=message.author) <= 4 and message.content.lower(
                ) in [ewcfg.cmd_yes, ewcfg.cmd_no])

        if message != None:
            if message.content.lower() == ewcfg.cmd_yes:
                accepted = True
                modauth = message.author
            if message.content.lower() == ewcfg.cmd_no:
                accepted = False

    except Exception as e:
        print(e)
        accepted = False

    if not accepted:
        response = "Well if it isn't the boy who cried backstab. Guess you won't be going anywhere."
        return await fe_utils.send_message(
            cmd.client, cmd.message.channel,
            fe_utils.formatMessage(cmd.message.author, response))

    else:
        member_data = EwUser(member=cmd.message.author)
        mod_data = EwUser(member=modauth)
        member_data.unban(faction=mod_data.faction)

        if member_data.faction == "":
            response = "{} has been allowed to join the {} again.".format(
                member.display_name, mod_data.faction)
        else:
            faction_old = member_data.faction
            member_data.faction = ""

            if member_data.life_state == ewcfg.life_state_enlisted:
                member_data.life_state = ewcfg.life_state_juvenile
                member_data.weapon = -1
                member_data.sidearm = -1

            response = "{} has been released from their association with the {}.".format(
                member.display_name, faction_old)

        member_poi = poi_static.id_to_poi.get(member_data.poi)
        if move_utils.inaccessible(user_data=member_data, poi=member_poi):
            member_data.poi = ewcfg.poi_id_downtown
        member_data.persist()
        await ewrolemgr.updateRoles(client=cmd.client, member=member)

        leak_channel = fe_utils.get_channel(server=cmd.guild,
                                            channel_name='squickyleaks')
        await fe_utils.send_message(
            cmd.client, leak_channel,
            "{}: Let {} defect.".format(modauth.display_name,
                                        member.display_name))

    await fe_utils.send_message(
        cmd.client, cmd.message.channel,
        fe_utils.formatMessage(cmd.message.author, response))