Historical price: Difference between revisions

From Kolmafia
Jump to navigation Jump to search
imported>Eliteofdelete
No edit summary
Forgot to add category
 
(2 intermediate revisions by 2 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) {
code1={{CodeSample|
  total += historicalPrice(Item.get(itemName)) * inventory[itemName];
title=Code Samples|
}
description=Gives you an estimate of your total mall-worth.|
// Because all JavaScript numbers are floating-point, we must format it as such
code=
// and manually remove everything after the dot.
<syntaxhighlight>
const amount = formatString(total, "%,f").split(".")[0];
cli_execute("outfit save Backup");
print(
cli_execute("outfit birthday suit");
  "The estimated total mall-worth of your inventory is " + amount + " meat.",
int[item] inventory = get_inventory();
  "blue"
cli_execute("outfit Backup");
);
int total;
</syntaxhighlight>
foreach it in inventory
{{!}}}
  total += historical_price(it) * inventory[it];
  |moreinfo=
string amount = to_string(total, "%,d");  
print("The estimated total mall-worth of your inventory is "+amount+" meat.", "blue");
 
</syntaxhighlight>|
moreinfo=
Historical price is best used for estimates and planning. When purchasing items or putting them into your store, it is better to use mall_price.
</pre>
}}|
 
see_also={{SeeAlso|historical_age|mall_price}}|
cli_equiv=The CLI command "searchmall" also returns current mall prices.|
}}
}}
 
|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()