Difference between revisions of "Item drops array"

From Kolmafia
Jump to navigation Jump to search
imported>Jasonharper
m (return type)
imported>Slyz
(added the different values for 'type')
Line 30: Line 30:
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
</p><p>
 +
The 'type' field has these currently possible values:
 +
* "" - normal item drop, base drop rate in the 'rate' field.
 +
* "0" - no drop rate information available, 'rate' will be zero.
 +
* "n" - not pickpocketable, but otherwise drops according to 'rate'.
 +
* "c" - conditional drop.
 +
* "p" - pickpocket-only. Currently 'rate' will always be zero.
 +
* "b" - bounty item, 'rate' is meaningless.
 
</p><p>
 
</p><p>
 
Since this is the first function to return a record, it cannot be stored to a variable, and thus the only way to access the data is by iterating over the elements in the array.|
 
Since this is the first function to return a record, it cannot be stored to a variable, and thus the only way to access the data is by iterating over the elements in the array.|
Line 47: Line 55:
  
 
see_also={{SeeAlso|meat_drop|item_drops}}|
 
see_also={{SeeAlso|meat_drop|item_drops}}|
special=The zero-parameter form returns the last monster encountered (the current one, if used in combat).
+
special=The zero-parameter form returns the last monster encountered (the current one, if used in combat).|
 +
more_info=see [http://kolmafia.us/showthread.php?3866 this thread].|
 
}}
 
}}

Revision as of 14:42, 5 April 2010

Function Syntax

record [int] item_drops_array()

record [int] item_drops_array(monster m )

Returns an array of records with three fields:

record {
   item drop;
   int rate;
   string type;
}

The 'type' field has these currently possible values:

  • "" - normal item drop, base drop rate in the 'rate' field.
  • "0" - no drop rate information available, 'rate' will be zero.
  • "n" - not pickpocketable, but otherwise drops according to 'rate'.
  • "c" - conditional drop.
  • "p" - pickpocket-only. Currently 'rate' will always be zero.
  • "b" - bounty item, 'rate' is meaningless.

Since this is the first function to return a record, it cannot be stored to a variable, and thus the only way to access the data is by iterating over the elements in the array.

Code Samples

Prints all information Mafia has regarding the item drops of a certain monster.

void drops(monster mob){
   print("Monster: " + mob);
   foreach index, rec in item_drops_array(mob) 
      print("item: "+rec.drop+", drop rate: "+rec.rate+", type: "+rec.type);
}

See Also

meat_drop() | item_drops()

More Information

see this thread.

Special

The zero-parameter form returns the last monster encountered (the current one, if used in combat).