Vorkath
Combat level 732 · 750 hitpoints
The other great mid-game money boss. High HP, heavy dragonfire, and two special attacks you must react to. Extremely consistent gp/hr once learned, and the superior dragon bones/blue dragonhide alone pay for supplies.
Requirements
- Dragon Slayer II
- 80+ Ranged strongly recommended
- 43+ Prayer, 70+ preferred
Pointers
- An anti-dragon shield alone is not enough. You need Extended super antifire AND a dragonfire shield/ward, or you will get hit for 70+.
- Protect from Magic for the whole fight (his standard attack is magic-based dragonfire).
- Acid phase: he spits purple acid pools. Walk the zig-zag path through the gaps, do NOT attack during this.
- Zombified spawn: a green fireball spawns an undead minion. It can ONLY be killed by casting CRUMBLE UNDEAD. Bring a slayer's staff or dust battlestaff. The cast always hits as long as your Magic attack bonus is above -64, and it kills the spawn instantly. Melee and ranged do not solve this.
- The Salve amulet (ei) is the single biggest damage upgrade here. Vorkath is undead.
- Bring a Ruby bolt (e) crossbow for the opening spec, then swap to your main weapon.
What the sim brings here
Every worn slot and every inventory row below is the combat simulation's own output, at the style it ranks fastest for each account tier. Each line carries the channel that chose it: sim means the model solved it, and inherited means the value came through from the hand-authored loadout the solver starts from. Riding through a generator does not make a value derived, so those are marked rather than presented as the model's answer. A line marked unattributed carries a channel the model's own vocabulary no longer declares, so no word is put on it at all rather than one being read off the channel's spelling. Where the model has not answered a row, its own refusal is printed instead; where it has answered a row it doubts, the answer is printed with the doubt attached rather than withheld.
max tier, melee (Melee is fastest)
Worn gear: 11 of 11 slots chosen by the sim.
- Head: Torva full helm sim
- Cape: Infernal cape sim
- Neck: Salve amulet (e) sim
- Ammo: nothing sim
- Weapon: Dragon hunter lance sim
- Body: Torva platebody sim
- Shield: Avernic defender sim
- Legs: Torva platelegs sim
- Hands: Ferocious gloves sim
- Feet: Avernic treads (max) sim
- Ring: Ultor ring sim
The model doubts this gear (tied with an identical item, so enumeration order decided): the head, neck, body slots each hold an item the model cannot tell apart from an alternative the search could equally have taken, re-scored identical in this row's own bag. Enumeration order decided it, so the sim had NO REASON; that is not the same as the pick being wrong. SOLVED_GEAR_TIES names them.
Inventory: 10 of 11 rows chosen by the sim, 1 carrying no channel at all.
- Dragon claws sim
- Halibut sim
- Super combat potion(4) sim
- Extended super antifire(4) sim
- Extended anti-venom+(4) sim
- Saradomin brew(4) x5 sim
- Super restore(4) x2 sim
- Zamorak brew(4) x4 sim
- Cooked moonlight antelope x7 sim
- Rune pouch sim
- Max cape ruled
Spellbook: Standard, claimed by Crumble Undead (a fight mechanic). Grants Crumble Undead. Cannot cast Vengeance. Vengeance is on Lunar and Crumble Undead (mechanic) has claimed Standard. One book per trip.
Open question, not a ruling: Shane: whether runes the page tells the player to carry (alching, telegrab, a mechanic closer) outrank a thrall or Vengeance the damage model ranked on value, when the two live on different books. Default (a) utility wins, chosen by the session-53 coordinator, 2026-09-14, pending Shane
Trip: about 9.44 kills in 11 minutes, limited by prayer.
mid tier, ranged (Ranged is fastest)
Worn gear: 11 of 11 slots chosen by the sim.
- Head: Masori mask (f) sim
- Cape: Blessed dizana's quiver sim
- Neck: Salve amulet(ei) sim
- Ammo: Ruby dragon bolts (e) sim
- Weapon: Dragon hunter crossbow sim
- Body: Masori body (f) sim
- Shield: Twisted buckler sim
- Legs: Masori chaps (f) sim
- Hands: Zaryte vambraces sim
- Feet: Avernic treads (max) sim
- Ring: Venator ring sim
The model doubts this gear (tied with an identical item, so enumeration order decided): the weapon slot holds an item the model cannot tell apart from an alternative the search could equally have taken, re-scored identical in this row's own bag. Enumeration order decided it, so the sim had NO REASON; that is not the same as the pick being wrong. SOLVED_GEAR_TIES names them.
Inventory: 10 of 11 rows chosen by the sim, 1 carrying no channel at all.
- Zaryte crossbow sim
- Enchanted lyre(i) sim
- Ranging potion(4) x4 sim
- Bastion potion(4) sim
- Extended super antifire(4) sim
- Extended anti-venom+(4) sim
- Saradomin brew(4) x6 sim
- Super restore(4) x3 sim
- Cooked moonlight antelope x5 sim
- Rune pouch sim
- Teleport to house (tablet) ruled
Spellbook: Standard, claimed by Crumble Undead (a fight mechanic). Grants Crumble Undead. Cannot cast Vengeance. Vengeance is on Lunar and Crumble Undead (mechanic) has claimed Standard. One book per trip.
Open question, not a ruling: Shane: whether runes the page tells the player to carry (alching, telegrab, a mechanic closer) outrank a thrall or Vengeance the damage model ranked on value, when the two live on different books. Default (a) utility wins, chosen by the session-53 coordinator, 2026-09-14, pending Shane
Trip: about 5.92 kills in 8 minutes, limited by food.
budget tier, ranged (Ranged is fastest)
Worn gear: 11 of 11 slots chosen by the sim.
- Head: Void ranger helm sim
- Cape: Mixed hide cape sim
- Neck: Necklace of anguish sim
- Ammo: Ruby dragon bolts (e) sim
- Weapon: Dragon hunter crossbow sim
- Body: Elite void top sim
- Shield: Twisted buckler sim
- Legs: Elite void robe sim
- Hands: Void knight gloves sim
- Feet: Snakeskin boots sim
- Ring: Venator ring sim
The model doubts this gear (tied with an identical item, so enumeration order decided): the neck, weapon slots each hold an item the model cannot tell apart from an alternative the search could equally have taken, re-scored identical in this row's own bag. Enumeration order decided it, so the sim had NO REASON; that is not the same as the pick being wrong. SOLVED_GEAR_TIES names them.
Inventory: 10 of 11 rows chosen by the sim, 1 carrying no channel at all.
- Enchanted lyre(i) sim
- Halibut sim
- Divine ranging potion(4) sim
- Ranging potion(4) x7 sim
- Extended super antifire(4) sim
- Extended anti-venom+(4) sim
- Saradomin brew(4) x8 sim
- Super restore(4) x2 sim
- Cooked moonlight antelope sim
- Rune pouch sim
- Ring of dueling(8) ruled
The model doubts this inventory ():
Spellbook: Standard, claimed by Crumble Undead (a fight mechanic). Grants Crumble Undead. Cannot cast Vengeance. Vengeance is on Lunar and Crumble Undead (mechanic) has claimed Standard. One book per trip.
Open question, not a ruling: Shane: whether runes the page tells the player to carry (alching, telegrab, a mechanic closer) outrank a thrall or Vengeance the damage model ranked on value, when the two live on different books. Default (a) utility wins, chosen by the session-53 coordinator, 2026-09-14, pending Shane
Trip: about 3.75 kills in 6 minutes, limited by prayer.
What each of those badges means
- derived:ascent (sim): an accepted coordinate-ascent move: betterThan() preferred this candidate over the incumbent under the row objective and band. The weapon+ammo+shield pairing and the crystal set arrive here too, because both are offered to the same acceptance test.
- derived:composed (sim): balanceInventory() sized this row from the derived supply menu. The menu enumerates CONSUMABLES and narrows by style, tier and price; it is not the authored bag.
- derived:empty (sim): the finished loadout leaves this slot EMPTY, and that is an ANSWER rather than a gap: a two-handed weapon forfeits the shield and a weapon that stores its own ammunition frees the ammo slot. Recorded so a null slot is never read as unprovenanced.
- derived:obtainable (sim): canonicaliseObtainable(): the finished loadout named a variant the model cannot state a route to, and this pass swapped it for the obtainable equal.
- derived:pouch (sim): derivePouchInto(): the rune pouch and its loose overflow, from the spell the build actually casts and the pouch slot criterion. Not from a pouch a human typed.
- derived:required (sim): requiredUtilities(): the fight was priced with and without the item and carrying it lowers damage taken. No per-boss table.
- derived:spec (sim): a carried special-attack weapon PROPOSED by `specPlan` (specchoice.js), which prices every SPEC_ATTACKS weapon that deals damage or drains defence on top of the bag solved without one, and KEPT by `judgeSpecArms` only where the composed bag with it beats the bag without it under `compareScores`. The row's `kpt.specWeapon` carries both arms.
- derived:travel (sim): travelPlan(): the way IN, ranked out of the derived transport graph against this account's own unlocks, rather than copied from whatever a human typed. The way OUT is a separate channel (`ruled:escape`) because it is a typed choice, not a ranking.
- derived:voidSeed (sim): the Void set offered assembled, because an all-or-nothing set effect pays nothing until four slots are right and every single step toward it is a strict loss. The pieces come from VOID_SET in combat.js, the same names its own predicate tests.
- ruled:escape (ruled): escapeLeg(): the way OUT, taken from the typed per-tier table ESCAPE_PLAN and judged against the account, with nothing substituted and no fallback ladder. The ACCOUNT CHECK is a derivation; the CHOICE of item is not, so this is not a `derived:` channel. ESCAPE_PLAN carries no attributedTo field (PROVENANCE_BACKLOG: silent-and-unattributed), so this channel does not claim one either.