Proxy Records

From Kolmafia
Revision as of 01:56, 10 August 2011 by imported>Bale
Jump to navigation Jump to search

Proxy Records is a way for KoLmafia to pass additional information to the scripter. Many datatypes contain these proxy records such as items, skills, effects and coinmasters. This information is referred to as proxy records because the manner of their display is similar to the record datatype.

Here's an example of displaying proxy record information in the CLI

> ash $item[coffee pixie stick]

Returned: coffee pixie stick
plural => coffee pixie sticks
descid => 936288573
image => cpstick.gif
levelreq => 4
quality =>
adventures => 5-10
muscle => 0
mysticality => 0
moxie => 0
fullness => 0
inebriety => 0
spleen => 4
notes =>
combat => false
reusable => false
usable => false
multi => true
seller => Arcade Ticket Counter
buyer => none

> ash $coinmaster[Arcade Ticket Counter]

Returned: Arcade Ticket Counter
token => ticket
item => Game Grid ticket
property =>
available_tokens => 10
buys => false
sells => true

> ash $location[Palindome]

Returned: Palindome
nocombats => false
zone => Plains
parent => Plains
parentdesc => Nearby Plains

> ash $skill[empathy of the newt]

Returned: Empathy of the Newt
level => 8
traincost => 6500
class => Turtle Tamer
libram => false
passive => false
buff => true
combat => false
permable => true

> ash $familiar[slimeling]

Returned: Slimeling
combat => true
hatchling => squirming Slime larva
image => slimeling.gif
name => Princess Vina

> ash $effect[sugar rush]

Returned: Sugar Rush
default => use either 1 Angry Farmer candy, 1 Tasty Fun Good rice candy, 1 Crimbo candied pecan, Crimbo fudge, Crimbo peppermint bark, 1 Breath mint
note =>
all => aggregate boolean [string]
  use 1 Angry Farmer candy => true
  use 1 Tasty Fun Good rice candy => true
  use 1 Crimbo candied pecan => true
  use Crimbo fudge => true
  use Crimbo peppermint bark => true
  use 1 Breath mint => true
image => http://images.kingdomofloathing.com/itemimages/hoppedup.gif
descid => 83695b70e0470a36125feca3198a16b4

This data can be retrieved by a script using the same notation as a record, like this:


item it = $item[coffee pixie stick];
coinmaster master = to_coinmaster(it.seller);