{{ error }}
{{ task.name }} {{ task.amount[0] }}–{{ task.amount[1] }} · weight {{ task.weight }}
Pick the monsters you're killing first.
{{ m.label }}
{{ gp(m.perKill) }} / kill
Avg task ({{ m.kills }} kills): {{ gp(m.perKill * m.kills) }} loot
− {{ gpRange(supplyCostLow, supplyCostHigh) }} supplies =
{{ gpRange(m.perKill * m.kills - supplyCostHigh, m.perKill * m.kills - supplyCostLow) }}
{{ m.skippedShare }}% of drop value left on the floor
| Item | Price | Drops as | Drop value | Value / kill | Pick up? | Override |
|---|---|---|---|---|---|---|
|
|
{{ r.unit != null ? gp(r.unit) : (r.item.tradeable ? '–' : 'untradeable') }} | {{ r.qtyTexts.join(', ') }} | {{ gp(r.dropValue) }} | {{ gp(r.perKill) }} | {{ r.picked ? 'yes' : 'no' }} (auto) |
No supplies yet. Search above and click an item to add what you actually bring on a task.
| Supply | Price | Min / task | Max / task | Cost per task | |
|---|---|---|---|---|---|
|
|
{{ gp(s.unit) }} | {{ gpRange(s.costLow, s.costHigh) }} | |||
| Total per task | {{ gpRange(supplyCostLow, supplyCostHigh) }} | ||||
No price history yet – run
manage.py backfill_prices then export_json.Drops index · your loot per kill
{{ gp(last(dropsIndex)) }}
Supply index · cost per task
{{ settings.supplies.length ? gpRange(last(supplyIndexLow), last(supplyIndexHigh)) : '–' }}
Add supplies in step 3
Best monster right now
{{ bestMonster.label }}
{{ gp(bestMonster.perKill) }} / kill
Monster index
expected loot per kill with your pickup rules{{ settings.indexed ? ', rebased to 100' : '' }}
{{ s.label }}
Showing the top 8 monsters by current value; {{ monsterSeriesOverflow }} more are in the table below.
Pick monsters in step 1 to see the monster and drops indexes.
Loot vs supply index
gp per average task{{ settings.indexed ? ', rebased to 100' : '' }}
{{ s.label }}: {{ settings.indexed ? '' : gpRange(last(s.low || s.data), last(s.data)) }}
Profit: {{ gpRange(last(lootTaskIndex) - last(supplyIndexHigh), last(lootTaskIndex) - last(supplyIndexLow)) }} / task
Drops tracker
| Item | Now | 24h | 7d | {{ rangeShort }} | Value / kill |
|---|---|---|---|---|---|
| {{ gp(r.now) }} | {{ gp(r.perKill) }} |
Nothing picked up yet – choose monsters and loot rules.
Supply tracker
| Supply | Now | 24h | 7d | {{ rangeShort }} | Cost / task |
|---|---|---|---|---|---|
| {{ gp(r.now) }} | {{ gpRange(r.costLow, r.costHigh) }} |
No supplies yet – add them in step 3.
Prices are hourly averages (mid of avg high/low). Pickup decisions use today's prices across the whole range. For supplies a rising price shows red, because it costs you more.
| Item {{ arrow('name') }} | Type {{ arrow('category') }} | Price {{ arrow('price') }} | High {{ arrow('high') }} | Low {{ arrow('low') }} | 1h vol {{ arrow('volume1h') }} | Alch {{ arrow('highalch') }} | Dropped by {{ arrow('drops') }} |
|---|---|---|---|---|---|---|---|
|
|
my supply {{ categoryLabel(item.category) }} | {{ gp(item.price) }} {{ item.tradeable ? '–' : 'untradeable' }} | {{ gp(item.high) }} | {{ gp(item.low) }} | {{ item.volume1h != null ? item.volume1h.toLocaleString() : '–' }} | {{ gp(item.highalch) }} | {{ item.droppedBy.length || '–' }} |
Showing the first {{ priceRows.length }} – search to narrow it down.