Take shop

From Kolmafia
Jump to navigation Jump to search

Function Syntax

boolean take_shop(item it )

boolean take_shop(int qty ,item it )

  • qty an optional parameter for the quantity of items to take from your mall store (defaults to all if not provided)
  • it is the item to take from your mall store

This command will remove it from your mall store. The 1-parameter version will remove all of the item. If you want to remove less than the maximum amount, then you will need to use the 2-parameter version with the optional first parameter set to the count you wish to remove.

Code Samples

Empties your entire shop.

if (user_confirm("Do you want to empty your entire shop?")) {
   print("Emptying your store...", "blue");
   int[item] shop = get_shop();
   int x = 0;
   foreach it in shop {
      take_shop(shop[it], it);
      if (x==75) {
   print("Your shop has been emptied!", "green");   
else print("You decided to not empty your store.", "blue");

The following function will use your shop when acquiring an item however it will not purchase anything.

void get_it (item thing, int amount) {
   int have = item_amount(thing);
   int need = max(0, amount-have);
   if (need == 0) {
      print("You already have "+amount+" of "+thing+".", "green");
   else if (shop_amount(thing) > 0) {
      int pull = min(shop_amount(thing), need);
      print("Removing "+pull+" "+thing+" from your store.", "blue");
      take_shop(pull, thing);
      need = max(0, amount - item_amount(thing));
   if (need == 0) 
      print("You now have "+amount+" "+thing+".", "green");
   else {
      print("Need to buy "+amount+" "+thing+".", "blue");
      //cli_execute("find "+amount+" "+thing);
      print("This example doesn't buy though!", "red");
   get_it($item[mae west], 5);

Uncomment the third to last line if you want it to buy.

CLI Equivalent

The CLI command "shop take " works similarly.

See Also

have_shop() | put_shop() | shop_amount()