Appearance rates

From Kolmafia
Revision as of 10:27, 31 August 2020 by imported>Fredg1
Jump to navigation Jump to search

Function Syntax

float [monster] appearance_rates(location place )

float [monster] appearance_rates(location place ,boolean queue )

  • place is the adventuring location to parse
  • The optional parameter queue is false if not included.

Returns a map, keyed by monster, with the appearance rate percentages as decimal values (ie a 30% rate monster has a value of 30.0). Account for combat rate modifiers, olfaction, etc. (as best as it can).
Bosses, semirare encounters, and other one-time-only monsters have a value of 0.0.
Ultra-Rare monsters have a value of -1.0.
Impossible monsters (e.g. encountering a clingy pirate corresponding to your gender) have a value of -2.0.
(Properly, as in not-also-olfacted) Banished monsters have a value of -3.0.
Monsters banished by in-game mechanics (such as pygmy janitors in the hidden city) have a value of -4.0 (is often mixed up with 0.0 values).

If there is a chance of non-combat encounters, that will be listed as the chance of encountering $monster[none].

If queue is true, then the monsters currently in the adventuring queue will be considered when determining the likelihood of future encounters. This is better for a real prediction of what monster will actually occur next while not considering the queue is better for modeling theoretical situations.

Simple Example

Prints the encounters in a zone and their rates of appearing.

foreach mob, freq in appearance_rates($location[Dungeon of Doom])
   switch {
   case mob == $monster[none]:
      if(freq > 0) print("Frequency of non-combats: "+ freq + "%");
      break;
   case freq > 0:
      print("Frequency of " + mob + ": " + freq + "%");
      break;
   case freq == 0:
      print("Frequency of " + mob + ": Boss (one time encounter) or semirare encounter.");
      break;
   case freq < 0:
      print("Frequency of " + mob + ": Ultra-rare!");
      break;
   default:
      print("Frequency of " + mob + ": Unknown");
      break;
   }

See Also

get_monsters() | last_monster()

Special

When not logged in, this function still returns the same data, as it is pulled from KoLmafia's data files.