Adventure Queue

From A KoL Wiki
Revision as of 03:52, 10 November 2006 by imported>DirkDiggler (Details on how adventures are chosen)
The Hermit humbly requests that this page be rewritten or expanded.

Needs further investigation.

The adventure queue is a feature in the game coding that makes high occurances of the same adventure in a short period of time less likely. For example, if you head to the goatlet for the first time and fight a dairy goat, dairy goats will be slightly less frequent for the next several adventures.

Specifically, the way an adventure is chosen is

  • Roll for a Superlikely adventure. If not,
  • Decide on either combat or non-combat.
  • (c) If combat: choose a combat encounter.
  • If it's not in the combat queue, that's the encounter.
  • If it is in the combat queue,
  • 25% of the time: accept the encounter.
  • 75% of the time: go to (c) and choose a new combat encounter, subjecting that choice to the combat queue as well.
  • (nc) If non-combat: choose a non-combat encounter.
  • If it's not in the non-combat queue, that's the encounter.
  • If it is in the non-combat queue,
  • 25% of the time: accept the encounter.
  • 75% of the time: go to (nc) and choose a new non-combat encounter, subjecting that choice to the non-combat queue as well.

Note that once you enter the queue-elimination process, you don't reroll for superlikely or the type of encounter: if a non-combat is first selected you only examine non-combats against the non-combat queue, and similarly for combats. Also be aware that the rejection probability, given above as 75%, is not totally nailed down. It could be more or less than that fraction.

For one type (combat or non-combat) of encounter, with

  • E total encounters in a zone, all equally likely,
  • j fractional chance of rejecting an adventure in the queue (assumed to be 3/4 or 75%), and
  • u unique encounters from this zone in the adventure queue,

The chance of drawing an encounter that is present in the queue is

                 1 - j
 inq(e,j,u)  = ---------
                e - j u

The chance of drawing an encounter not present in the queue is

                   1 
 outq(e,j,u) = ---------
                e - j u