Documentation menu

Documentation / Features

Automated hunting

One command walks an area room by room, fights whatever is on your kill list, collects the gold, and moves on when the room is clear. Curing and defence keep-up carry on underneath it the whole time.

emset hunt              # walk and bash together (F11)
emset hunt off          # stop both
emset hunt retreat      # stop, go back three rooms the way you came, and stay
emset flee              # stop and walk to your safe room (F12)
emset support anzerloi  # hunt behind a leader, attacking what they attack (F9)

The loop

  1. ArriveThe walker steps to the nearest room in the area it has not visited yet.
  2. Choose a targetThe next denizen in the room whose kind is on the area's kill list, by replica number.
  3. AttackWhenever the attack's balance allows, with your class's openers first when they are worth it.
  4. Confirm the killThe target leaving the room ends the fight: dead, fled, or taken by someone else all mean the same thing.
  5. CollectWhen the last one is down, the gold is picked up. The room is held for a few seconds so the gold is never left behind.
  6. Move onBack to the walker for the next room, until the area is done.

The walker

The walker visits every room in the area, always heading for the nearest one left, on Emunah's own map router (see Map and walking). While the hunt runs it steps one room at a time and waits to be told to move on, because a speedwalk would cross several rooms in one go and walk straight past the denizens in them. On its own, emset walk start explores an area at its own pace.

SettingDefaultWhat it does
walker.stepDelay0.6 sThe pause between steps when the walker paces itself.
walker.avoidnoneRooms the walk never enters.
walker.transitTimeout8 sHow long to keep trying for a room the game will not let you reach before skipping it.

The kill list

Each area has its own list of which kinds of denizen to fight, saved between sessions. The first time Emunah sees a new kind in an area, it prints a clickable line to add it. Every denizen in the room panel is clickable too, filled when the hunt will attack it and hollow when it will not, and the game's own ih listing becomes clickable in the same way.

Targets are always chosen by replica number, the game's unique number for each creature. Two identical rats in a room are two different targets, and the attack always goes to the one being fought.

The attack

The attack is bashing.attack, sent as <attack> <replica>. It goes when the balance it needs is up and nothing else of Emunah's is about to spend it. Your target's health comes from the game after every hit, so Emunah knows whether the attack is landing. The hunt's attack is its own: changing PvP's attack never changes it.

For a Priest, the default is Angel Sear, with two openers when they pay for themselves:

A target still standing after bashing.maxAttempts attacks (40 by default) is given up on, so the hunt never grinds forever on something it cannot hurt.

Support mode

Hunting with someone else leading: emset support <name>, or F9 for the last leader. Nothing is attacked until the leader hits something; then you attack the same denizen, and switch when they do. It never walks, since the leader moves, and the rule against attacking with another player in the room stands down, since they are always there. Everything else is the hunt's: the attack, its openers, and its safety stops. Starting a hunt ends it, and emset support off or F9 again stops it.

The leader's attacks are read from what the room sees. Only a Priest leader's are known so far (smite, desolation, penitence); another class's lines have to be captured before they can be followed.

Stopping safely

An unattended hunt has to be able to stop itself. It stops:

Inside a fight, a fast drop in health is not a reason to stop: standing still does not stop a denizen hitting you, so the critical floor is what applies. After a health stop, the hunt resumes on its own once you have recovered bashing.resumeMargin points above the floor (ten by default), attacking only and never walking. Any other stop waits for you.

It will not attack with another player in the room (bashing.soloOnly); it moves on instead. bashing.stopOnPlayer ends the hunt outright when someone arrives. F12, or emset flee, stops any hunt and walks you to your safe room.

Gold

When the last denizen on the kill list is down, Emunah sends get gold and puts the gold in your pack. It waits until nothing on the list is left alive and nobody else is in the room, and holds the room for up to four seconds so the walker never leaves gold on the floor. Your guardian angel, your mount and your pegasus do not count as anything alive. See Loot.

Seeing what it decided

emset bash shows the target, the kills, damage dealt and taken, and whether it is running. emset debug prints every command sent and every command held with the reason, so a hunt that is deliberately waiting never looks like one that has hung.

emset bash                     # target, kills, damage, running or not
emset bash attack angel sear   # the attack
emset walk                     # the area, rooms left, rooms visited
emset bashing.stopBelowHealth 60

Classes

Offence sits behind a small class interface: the hunt asks the class whether it can attack, tells it to attack, and reads its resources for the HUD. The class is detected when you log in, and every ability is checked against what you actually know at the moment it is used. Priest is the only class implemented today, and further classes are in development; see the roadmap.