Historical price: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Bale
mNo edit summary
Forgot to add category
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{
<onlyinclude>{{{{{format|Function2}}}
#vardefine:name|historical_price}}{{
|name=historical_price
#vardefine:return_type|int}}{{
|function1.return_type=int
|function1.description=Returns the most recently seen mall price of an item without making a server request.
|function1.param1=shop_for
|function1.param1.type=item
|function1.param1.description=Item to retrieve the price of
|description=
<p>This obeys the same restrictions as {{f|mall_price}}. Unlike {{f|mall_price}}, this function will never hit the server.</p>
|code1={{CodeSample
  |title=Code Samples
  |description=Gives you an estimate of your total mall-worth.
  |code=
{{{!}} class="wikitable"
! style="width: 50%" {{!}} ASH
! style="width: 50%" {{!}} JavaScript
{{!}}- style="vertical-align: top"
{{!}}
<syntaxhighlight lang="d" line highlight="8">
cli_execute( "outfit save Backup" );
outfit( "birthday suit" );
int [ item ] inventory = get_inventory();
outfit( "Backup" );


FunctionPage|
int total;
name={{#var:name}}|
foreach it in inventory {
  total += historical_price( it ) * inventory[ it ];
}
string amount = to_string( total, "%,d" );
print( `The estimated total mall-worth of your inventory is {amount} meat.`, "blue" );
</syntaxhighlight>
{{!}}
<syntaxhighlight lang="js" line highlight="17">
const {
  cliExecute,
  getInventory,
  historicalPrice,
  outfit,
  print,
  toString: formatString,
} = require("kolmafia");


function1={{Function|
cliExecute("outfit save Backup");
name={{#var:name}}|
outfit("birthday suit");
aggregate={{#var:aggregate}}|
const inventory = getInventory();
return_type={{#var:return_type}}|
outfit("Backup");
return_also={{#var:return_also}}|
parameter1={{Param|item|shop_for}}|
p1desc={{Pspan|shop_for}} is the item to inquire on the mall price of|
}}|


function_description=Returns the most recently seen mall price of the given item, following the same restrictions as [[mall_price|mall_price()]]. Unlike [[mall_price|mall_price()]] this function will never hit the server. To update to a more recent price you can use [[mall_price|mall_price()]] (if you haven't called it for that item yet this session) or purchase some of {{pspan|shop_for}} in the mall.|
let total = 0;
 
for (let itemName in inventory) {
needscode=yes|
  total += historicalPrice(Item.get(itemName)) * inventory[itemName];
 
}
see_also={{SeeAlso|historical_age|mall_price}}|
// Because all JavaScript numbers are floating-point, we must format it as such
cli_equiv=The CLI command "searchmall" also returns current mall prices.|
// and manually remove everything after the dot.
const amount = formatString(total, "%,f").split(".")[0];
print(
  "The estimated total mall-worth of your inventory is " + amount + " meat.",
  "blue"
);
</syntaxhighlight>
{{!}}}
  |moreinfo=
}}
}}
 
|see_also={{SeeAlso/Mall Prices}}
|cli_equiv=
|more_info=
|special=
|{{{1|}}}
}}</onlyinclude>
[[Category:Item Management]]
[[Category:Item Management]]

Latest revision as of 14:59, 31 December 2020

Function Syntax

int historical_priceitem shop_for )

Returns the most recently seen mall price of an item without making a server request.
  • shop_for: Item to retrieve the price of

This obeys the same restrictions as mall_price(). Unlike mall_price(), this function will never hit the server.

Code Samples

Gives you an estimate of your total mall-worth.

ASH JavaScript
cli_execute( "outfit save Backup" );
outfit( "birthday suit" );
int [ item ] inventory = get_inventory();
outfit( "Backup" );

int total;
foreach it in inventory {
   total += historical_price( it ) * inventory[ it ];
}
string amount = to_string( total, "%,d" );
print( `The estimated total mall-worth of your inventory is {amount} meat.`, "blue" );
const {
  cliExecute,
  getInventory,
  historicalPrice,
  outfit,
  print,
  toString: formatString,
} = require("kolmafia");

cliExecute("outfit save Backup");
outfit("birthday suit");
const inventory = getInventory();
outfit("Backup");

let total = 0;
for (let itemName in inventory) {
  total += historicalPrice(Item.get(itemName)) * inventory[itemName];
}
// Because all JavaScript numbers are floating-point, we must format it as such
// and manually remove everything after the dot.
const amount = formatString(total, "%,f").split(".")[0];
print(
  "The estimated total mall-worth of your inventory is " + amount + " meat.",
  "blue"
);

See Also

historical_age() | historical_price() | mall_price() | mall_prices()