Exemplo n.º 1
0
def run_away(direction):

    if direction == "":
        direction = choose_direction()

    global run_back_direction
    run_back_direction = opposite_direction[direction]

    eqbal(f"stand;backflip {direction}")
Exemplo n.º 2
0
def backflip(direction):
    if direction == "":
        exits = list(s.room_info.exits.keys())
        if len(exits) == 0:
            c.echo("NO EXITS TO BACKFLIP!!!!")
            c.echo("NO EXITS TO BACKFLIP!!!!")
            return
        direction = random.choice(exits)
    eqbal(f"stand;backflip {direction}")
Exemplo n.º 3
0
def make_bomb(bomb_type=""):

    if bomb_type == "":
        c.echo(BOMB_HELP)
    elif "concussion".startswith(bomb_type.lower()):
        eqbal(f"stand;outr 1 iron;construct concussion bomb")
    elif "butterfly".startswith(bomb_type.lower()):
        eqbal(f"stand;outr 1 iron;construct butterfly bomb")
    elif "smoke".startswith(bomb_type.lower()):
        eqbal(f"stand;outr 1 iron;construct smoke bomb")
    elif "web".startswith(bomb_type.lower()):
        eqbal(f"stand;outr 1 rope;construct web bomb")
    elif "dust".startswith(bomb_type.lower()):
        eqbal(f"stand;outr 1 diamonddust;construct dust bomb")
Exemplo n.º 4
0
def throw_bomb(bomb_type, direction):

    if direction == "":
        direction = "at ground"

    c.echo(f"throw_bomb type: {bomb_type} dir: {direction}")

    if bomb_type == "":
        c.echo(THROW_BOMB_HELP)
    elif bomb_type.startswith("c"):
        eqbal(_throw_bomb("concussionbomb", direction))
    elif bomb_type.startswith("b"):
        eqbal(_throw_bomb("butterflybomb", direction))
    elif bomb_type.startswith("s"):
        eqbal(_throw_bomb("smokebomb", direction))
    elif bomb_type.startswith("w"):
        eqbal(_throw_bomb("webbomb", direction))
    elif bomb_type.startswith("d"):
        eqbal(_throw_bomb("dustbomb", direction))
    else:
        c.echo(f"HMMMMM???? throw_bomb type: {bomb_type} dir: {direction}")
Exemplo n.º 5
0
def sear(matches):
    if not matches[0]:
        eqbal(f"angel sear &tar")
    elif matches[0] in {
            "n",
            "ne",
            "e",
            "se",
            "s",
            "sw",
            "w",
            "nw",
            "u",
            "d",
            "in",
            "out",
    }:
        eqbal(f"stand;angel sear icewall {matches[0]}")
    else:
        eqbal(f"angel sear {matches[0]}")
Exemplo n.º 6
0
def check_defences(matches):
    eqbal("def")
    c.add_temp_trigger("defences_trigger", defences_trigger)
Exemplo n.º 7
0
def relax(defence, delay=5):
    auto_defences([defence], "off")
    timers.add(f"turnon_{defence}", lambda: auto_defences([defence], "on"), 5)
    eqbal(f"relax {defence}")
Exemplo n.º 8
0
# these will be setup and kept up when we need to fight
fighting_defs = {
    "kola",
    "temperance",
    "speed",
    "levitating",
    "poisonresist",
    "insulation",
    "fangbarrier",
}


defence_info = {
    "preachblessing": lambda: do_nothing,
    "boartattoo": lambda: eqbal("touch boar"),
    "mosstattoo": lambda: eqbal("touch moss"),
    "deathsight": lambda: send("outr skullcap;eat skullcap"),
    # "deathsight" : lambda: eqbal("astralvision"),
    # "lifevision" : lambda: eqbal("astralvision"),
    "constitution": lambda: echo("Missing CONSTITUTION"),
    "toughness": lambda: echo("Missing TOUGHNESS"),
    "resistance": lambda: echo("Missing RESISTANCE"),
    "mindseye": lambda: eqbal("touch mindseye"),
    "deafness": lambda: curebal("hawthorn"),
    "blindness": lambda: curebal("bayberry"),
    "kola": lambda: curebal("kola"),
    "temperance": lambda: curebal("frost"),
    "speed": lambda: curebal("speed"),
    "levitating": lambda: curebal("levitation"),
    "poisonresist": lambda: curebal("venom"),
Exemplo n.º 9
0
def somersault(direction):
    if direction == "":
        exits = list(s.room_info.exits.keys())
        direction = random.choice(exits)
    eqbal(f"stand;somersault {direction}")
Exemplo n.º 10
0
def backhandspring(direction):
    if direction == "":
        exits = list(s.room_info.exits.keys())
        direction = random.choice(exits)
    eqbal(f"stand;backhandspring {s.target} {direction}")
Exemplo n.º 11
0
        # someone (probably my target) is shielded!
        lambda m: raze_target(m[0]),
    ),
    (
        r"^(.*)'s aura of weapons rebounding disappears.$",
        # someone (probably my target) is shielded!
        lambda m: stop_raze(m[0]),
    ),
]
c.add_triggers(shielding_triggers)

weaponmastery_aliases = [
    (
        "^m$",
        "stand;combination &tar slice smash",
        lambda m: eqbal("stand;combination &tar slice smash"),
    ),
    (
        "^ra$",
        "stand;combination &tar raze smash mid",
        lambda m: eqbal("stand;combination &tar raze smash mid"),
    ),
    (
        "^sh$",
        "stand;shieldstrike &tar high",
        lambda m: eqbal("stand;shieldstrike &tar high"),
    ),
    (
        "^sm$",
        "stand;shieldstrike &tar mid",
        lambda m: eqbal("stand;shieldstrike &tar mid"),
Exemplo n.º 12
0
def generosity():
    auto_defences(["selfishness"], "off")
    timers.add(f"turnon_selfish", lambda: auto_defences(["selfishness"], "on"),
               10)
    eqbal("generosity")
Exemplo n.º 13
0
from achaea.basic import eqbal
from achaea.defences import basic_defs
from achaea.state import s
from client import c, send

chivalry_basic_defs = {"weathering", "gripping"}
basic_defs.update(chivalry_basic_defs)

chivalry_aliases = [
    ("^bl (.*)$", "block dir", lambda m: eqbal(f"stand;block m[0]")),
]
c.add_aliases("ab_chivalry", chivalry_aliases)
Exemplo n.º 14
0
kaido_basic_defs = {"weathering", "vitality", "toughness"}
basic_defs.update(kaido_basic_defs)


def kai_trance(new_state):
    if new_state == "on":
        eqbal("kai trance")
    else:
        eqbal("break trance")


kaido_aliases = [
    (
        "^regen(?: (.+))?$",
        "regeneration [on]/off",
        lambda matches: eqbal(
            f"regeneration {matches[0] or 'on'};boost regeneration"),
    ),
    (
        "^tr(?: (.+))?$",
        "transmute 300/#",
        lambda matches: eqbal(f"transmute {matches[0] or '300'}", prepend=True
                              ),
    ),
    (
        "^nu$",
        "numb",
        lambda matches: eqbal(f"numb"),
    ),
    (
        "^kt(?: (.+))?$",
        "kai trance [on]/off",
Exemplo n.º 15
0
def kai_trance(new_state):
    if new_state == "on":
        eqbal("kai trance")
    else:
        eqbal("break trance")
Exemplo n.º 16
0
def pilgrimage(matches):
    if matches[0]:
        eqbal(f"perform pilgrimage {matches[0]}")
    else:
        eqbal("perform rite of pilgrimage")
Exemplo n.º 17
0
from achaea.basic import eqbal
from achaea.state import s


def pilgrimage(matches):
    if matches[0]:
        eqbal(f"perform pilgrimage {matches[0]}")
    else:
        eqbal("perform rite of pilgrimage")


devotion_aliases = [
    (
        "^hh(?: (.+))?$",
        "perform hands []",
        lambda matches: eqbal(f"perform hands {matches[0] or ''}"),
    ),
    (
        "^part (.+)$",
        "perform truth",
        lambda m: eqbal(f"perform parting {m[0]}"),
    ),
    (
        "^truth$",
        "perform truth",
        lambda _: eqbal("perform truth"),
    ),
    ("^insp$", "perform inspiration",
     lambda matches: eqbal("perform inspiration")),
    (
        "^bliss(?: (.+))?$",
Exemplo n.º 18
0
def raze_target(shielder):
    if shielder == s.target:
        eqbal(f"stand;raze {s.target}", prepend=True)
Exemplo n.º 19
0
from client import c, echo
from achaea.basic import eqbal

enchantment_aliases = [
    ("iw (.*)", "icewall dir", lambda m: eqbal(f"point ench/icewall {m[0]}")),
    ("fl (.*)", "firelash dir",
     lambda m: eqbal(f"point ench/firelash at {m[0]}")),
]
c.add_aliases("enchantment", enchantment_aliases)
Exemplo n.º 20
0
    rebukes:
    chaos - need 3 verses - hallucinations
    darkness - 2 verses - paranoia
    evil - 3 verses - masochism

    "{\"type\": \"Char.Vitals\", \"data\": {\"hp\": \"4843\", \"maxhp\": \"4843\", \"mp\": \"4150\", \"maxmp\": \"4150\", \"ep\": \"19265\", \"maxep\": \"19265\", \"wp\": \"15800\", \"maxwp\": \"15800\", \"nl\": \"49\", \"bal\": \"1\", \"eq\": \"1\", \"string\": \"H:4843/4843 M:4150/4150 E:19265/19265 W:15800/15800 NL:49/100 \", \"charstats\": [\"Bleed: 0\", \"Rage: 0\", \"Angelpower: 4767\", \"Devotion: 97%\", \"conviction: 10\", \"prayer_length: 0\", \"Prayer: Yes\"]}}"]
    """
    pass


zeal_aliases = [
    (
        "^rwill(?: (.+))?$",
        "recite will ?/me",
        lambda m: eqbal(f"recite will {m[0] or 'me'}"),
    ),
    (
        "^rend(?: (.+))?$",
        "recite endurance ?/me",
        lambda m: eqbal(f"recite endurance {m[0] or 'me'}"),
    ),
    (
        "^att(?: (.+))?$",
        "recite attend ?/me",
        lambda m: eqbal(f"recite attend {m[0] or '&tar'}"),
    ),
    (
        "^rfire(?: (.+))?$",
        "recite fire ?/me",
        lambda m: eqbal(f"recite fire {m[0] or 'me'}"),
Exemplo n.º 21
0
from achaea.basic import eqbal
from achaea.defences import auto_defences
from client import c, send
from client.timers import timers


def generosity():
    auto_defences(["selfishness"], "off")
    timers.add(f"turnon_selfish", lambda: auto_defences(["selfishness"], "on"),
               10)
    eqbal("generosity")


survival_aliases = [
    ("^self$", "selfishness", lambda m: auto_defences(["selfishness"], "on")),
    ("^gener$", "generosity", lambda m: generosity()),
    ("^eg$", "enter grate", lambda m: eqbal("enter grate")),
]
c.add_aliases("ab_survival", survival_aliases)
Exemplo n.º 22
0
from client import c, send

from achaea.basic import eqbal
from achaea.state import s

tarot_aliases = [
    ("^sun$", "fling sun at ground", lambda _: eqbal("fling sun at ground")),
    (
        "^emp(?: (.+))?$",
        "fling emperor at []/t",
        lambda matches: eqbal(f"fling emperor at {matches[0] or s.target}"),
    ),
    (
        "^magi(?: (.+))?$",
        "fling magician at []/me",
        lambda matches: eqbal(f"fling magician at {matches[0] or 'me'}"),
    ),
    (
        "^priest(?: (.+))?$",
        "fling priestess at []/me",
        lambda matches: eqbal(f"fling priestess at {matches[0] or 'me'}"),
    ),
    (
        "^fool(?: (.+))?$",
        "fling fool at []/me",
        lambda matches: eqbal(f"fling fool at {matches[0] or 'me'}"),
    ),
    (
        "^fchar$",
        "fling chariot at ground",
        lambda matches: eqbal(f"fling chariot at ground"),
Exemplo n.º 23
0
            "sw",
            "w",
            "nw",
            "u",
            "d",
            "in",
            "out",
    }:
        eqbal(f"stand;angel sear icewall {matches[0]}")
    else:
        eqbal(f"angel sear {matches[0]}")


spirituality_aliases = [
    ("^ma$", "assist;smite t",
     lambda matches: eqbal(f"stand;assist {assisted};smite &tar")),
    ("^m$", "smite t", lambda matches: eqbal(f"stand;smite &tar")),
    ("^cham$", "smite t chasten t mind",
     lambda _: eqbal(f"smite &tar chasten mind")),
    (
        "^chab$",
        "smite t chasten t body",
        lambda _: send(f"stand;smite &tar chasten body"),
    ),
    (
        "^pchab$",
        "penance;smite t chasten t body",
        lambda _: eqbal(f"stand;recite penance &tar;smite &tar chasten body"),
    ),
    (
        "^shine(?: (.+))?$",
Exemplo n.º 24
0
def wish(item):
    eqbal(f"stand;get 200 gold from pack;wish for 10 {item}")
Exemplo n.º 25
0
from achaea.basic import eqbal
from achaea.state import s
from client import c, echo, send

s.bashing_attack = lambda _: eqbal(f"stand;combo {s.target} sdk ucp ucp")

tekura_aliases = [
    (
        "^ma(?: (.+))?$",
        "sdk ucp ucp []/t",
        lambda matches: eqbal(f"stand;assist rino;combo &tar sdk ucp ucp"),
    ),
    (
        "^m(?: (.+))?$",
        "sdk ucp ucp []/t",
        s.bashing_attack,
    ),
    (
        "^ww(?: (.+))?$",
        "wwk ucp ucp []/t",
        lambda matches: eqbal(f"stand;combo {matches[0] or s.target} wwk ucp ucp"),
    ),
    (
        "^jk(?: (.+))?$",
        "jpk palmstrike palmstrike []/t",
        lambda matches: eqbal(f"stand;combo {matches[0] or s.target} jpk pmp pmp;drs"),
    ),
    (
        "^la(?: (.+))?$",
        "snk hfp hfp left []/t",
        lambda matches: eqbal(
Exemplo n.º 26
0
def _throw_dagger(target, venom):
    eqbal(f"stand;get dagger;throw dagger at {target} {venom}")
Exemplo n.º 27
0
from client import c, send

from achaea.basic import eqbal
from achaea.state import s

runelore_aliases = [
    (
        "^uruz$",
        "sketch uruz on ground",
        lambda matches: eqbal(f"sketch uruz on ground"),
    ),
    (
        "^jera(?: (.+))?$",
        "sketch jera on me/*",
        lambda matches: eqbal(f"sketch jera on {matches[0] or 'me'}"),
    ),
    (
        "^algiz(?: (.+))?$",
        "sketch algiz on me/*",
        lambda matches: eqbal(f"sketch algiz on {matches[0] or 'me'}"),
    ),
]
c.add_aliases("ab_runelore", runelore_aliases)
Exemplo n.º 28
0
def juggle_daggers():
    eqbal(
        f"stand;get dagger;get dagger;get dagger;unwield left;juggle dagger dagger dagger;wield blackjack"
    )
Exemplo n.º 29
0
def wield(hand_name, item_name):
    eqbal(f"wield {hand_name} {item_name}")
Exemplo n.º 30
0
def balancing(state):
    eqbal(f"stand;balancing {state}")