Skip to content

Tags: xrip/uo-client

Tags

1.1.0

Toggle 1.1.0's commit message
JS bot scripting comes to the client: write autonomous bots in JavaSc…

…ript on a

priority behaviour runner, shipped with a full lumberjack that chops, banks,
restocks, eats, fights, flees and resurrects on its own.

- **Embedded QuickJS scripting engine** — write bots in plain JS, no recompile.
  A priority **behaviour runner** (highest-priority eligible behaviour owns the
  body; higher-priority ones preempt) with **cancellation tokens** so a step
  unwinds the instant a threat appears.
- **`BehaviorScript` base class + mixins** — lifecycle hooks
  (`onStart`/`onStartup`/`onStop`/`onPreempt`), `step()`/`sequence()`, movement
  (`walkTo`), inventory, and opt-in `BankSkill` / `SurvivalSkill` (deposit,
  withdraw, bandage/rest, eat, find vendor, restock).
- **Full lumberjack reference bot** — chop → bank → restock → eat, with a threat
  meter driving fight / flee (DPS-race assessment) / resurrect, plus
  forest-stand rotation and avoid-areas.
- **Threat meter** — body-list aggression + confirmed-attack signals, passive HP
  queries (`0x34`), proactive danger scoring.

- Embed the QuickJS engine and `Player` / `World` / `Mobiles` / `Vendor` bindings.
- `onStartup` async prelude (rest + restock before the first job).
- Presence-based mobile blocking and terrain-aware path planning.
- Pipelined movement — fastwalk stack, depth 4 (predict + reconcile).

- Console commands for spells, skills, and item handling.
- Target cursor (`0x6C`) + war-mode attack (`0x05`).
- Container packets + a simple contents HUD.

- Tree-stump overlay for chopped trees.
- Animated corpses + death-animation handoff (`0xAF` / `0x2006`).
- Mouse picking: click / double-click, hover highlight, item labels.
- Highlight all mobile layers on hover; face the double-clicked object.

- JS scripting guide (`BT.md`) rewritten around the `BehaviorScript` base class
  and mixins; `globals.d.ts` kept as the type source of truth.
- README: expanded stdin command table, demo video.

**Full changelog:** 1.0.0...1.1.0

1.0.0

Toggle 1.0.0's commit message
docs: add project README

Explain the client's purpose (a 2.0.7-protocol UO bot-framework engine with a
faithful original-client frontend), the LLM-driven reverse-engineering
methodology, and the technical design: protocol/Huffman, threaded A*
navigation, and the software isometric renderer. Target backend is the
reverse-engineered UO Demo shard only.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>