Take shop

From Kolmafia
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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");
   wait(5);
   int[item] shop = get_shop();
   int x = 0;
   batch_open();
   foreach it in shop {
      take_shop(shop[it], it);
      x+=1;
      if (x==75) {
         batch_close();
         x=0;
         batch_open();
      }
   }
   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");
      return;
   }
   else if (shop_amount(thing) > 0) {
      refresh_shop();
      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()