Skip to content

v1.1.0 "Wanderer" — embedded JS bot scripting + autonomous lumberjack

Latest

Choose a tag to compare

@xrip xrip released this 31 May 07:15
· 3 commits to master since this release

JS bot scripting comes to the client: write autonomous bots in JavaScript on a
priority behaviour runner, shipped with a full lumberjack that chops, banks,
restocks, eats, fights, flees and resurrects on its own.

Highlights

  • 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.

Bots & navigation

  • 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).

Networking / protocol

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

Rendering

  • 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.

Docs

  • 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