Check me out at 🔗 wa.fx.gd
Being old and not wanting all the clutter, I play all WoW classes using a "whack-a-mole" style weakaura that only shows buttons I actually can/should be pressing, as opposed to all buttons, with some emphasis or cooldown, as is typical for most player's UI.
I didn't feel like copying/editing/changing these in the in-game UI anymore, so I created this proof of concept Ruby DSL approach to generating them.
Show Shadow Word: Pain
on a Shadow Priest if the debuff is missing from the target.
title 'Shadow Priest WhackAura'
load spec: :shadow_priest
hide_ooc!
dynamic_group 'WhackAuras' do
debuff_missing 'Shadow Word: Pain'
end
Ruby WASM file is pre-built and included in public/ruby.wasm
.
To rebuild (requires Ruby and bundler):
make pack
Install Node.js and npm dependencies:
npm install
Ruby dependencies are optional (only needed for rebuilding WASM):
bundle install # Optional - only if rebuilding WASM
Development server:
npm run dev
Build for production:
npm run build
Test:
npm test
Lint:
npm run lint
Grab ruby.wasm, run make
Run via wasmtime
:
wasmtime weakauras.wasm \
--env BUNDLE_GEMFILE=/app/Gemfile \
--env BUNDLE_FROZEN=1 \
-- /app/src/make.rb --json
Only JSON for now, LUA for export packaging coming up next.
LUA WASM has lift-off, pipe the output straight in!
npm install
echo '{"d": "test"}' | npm run encode
-
Q: Decode fails to deserialize, wtf?
The UTF-8 leading byte error is probably a red herring. Also, it just randomly starts working again with no significant changes, so ..I guess just keep rebuilding/reloading until it works!