Difference between revisions of "Proxy Records"

From Kolmafia
Jump to navigation Jump to search
imported>Bale
imported>Bale
(monster proxy records added in r9879)
Line 1: Line 1:
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 reference is similar to a field of a [[Data_Structures#Records|record]].
+
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, monsters and coinmasters. This information is referred to as proxy records because the manner of reference is similar to a field of a [[Data_Structures#Records|record]].
  
  
Line 73: Line 73:
 
image => slimeling.gif
 
image => slimeling.gif
 
name => Princess Vina
 
name => Princess Vina
 +
 +
> ash $monster[black widow]
 +
 +
Returned: Black Widow
 +
base_hp => 130
 +
base_attack => 139
 +
base_defense => 128
 +
base_initiative => 0
 +
attack_element => none
 +
defense_element => none
 +
min_meat => 40
 +
max_meat => 60
 +
base_mainstat_exp => 17.375
 +
phylum => bug
 +
poison => Really Quite Poisoned
  
 
> ash $effect[sugar rush]
 
> ash $effect[sugar rush]

Revision as of 09:39, 10 October 2011

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, monsters and coinmasters. This information is referred to as proxy records because the manner of reference is similar to a field of a record.


This is an example of how to retrieve proxy record information in a script. Notice it uses the same notation as if the item datatype is a record.

item it = $item[coffee pixie stick];
print("You can buy a "+ it +" at the "+ it.seller);
print("It will consume "+ it.spleen +" spleen and give "+ it.adventures +" adventures.");


Here's an example of displaying a proxy record in the CLI. Note that it displays all fields associated with that datatype.

> 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 $monster[black widow]

Returned: Black Widow
base_hp => 130
base_attack => 139
base_defense => 128
base_initiative => 0
attack_element => none
defense_element => none
min_meat => 40
max_meat => 60
base_mainstat_exp => 17.375
phylum => bug
poison => Really Quite Poisoned

> 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