Tags: xrip/uo-client
Tags
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
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>