> For the complete documentation index, see [llms.txt](https://arckytech.gitbook.io/arckys-poke-mart-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://arckytech.gitbook.io/arckys-poke-mart-guide/settings-and-setup-file.md).

# Settings and Setup file

The different customization options the plugin has to offer.

### Settings

* [Item Categories](/arckys-poke-mart-guide/settings-and-setup-file/item-categories.md)
* [Badges for Items](/arckys-poke-mart-guide/settings-and-setup-file/badges-for-items.md)
* [Discounts](/arckys-poke-mart-guide/settings-and-setup-file/discounts.md)
* [Bonus Items](/arckys-poke-mart-guide/settings-and-setup-file/bonus-items.md)
* [Item Limits](/arckys-poke-mart-guide/settings-and-setup-file/item-limits.md)
* [Seller Classes](/arckys-poke-mart-guide/settings-and-setup-file/speeches/seller-classes.md)

Since v1.4.0 giving each setting you want to use for a Mart of Shelf Event has changed a bit and it should be a lot easier now as the order you give the settings don't even matter anymore. (Except for the item list which should always come first.)

I'll explain the different possibilities of arguments you may give or not give to the mart command.

Using the example from [Setting up a Mart Event](/arckys-poke-mart-guide/setting-up-the-events/setting-up-a-mart-event.md).

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ])
end
```

Each individual argument is explained in it's respective Settings Page in this guide.

***

The first command we can add is a `speech: "string"` that let us use a [Seller Class](/arckys-poke-mart-guide/settings-and-setup-file/speeches/seller-classes.md).

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller")
end
```

The NPC will now use the speeches setup in ProSeller, again this is explained on the [Seller Classes](/arckys-poke-mart-guide/settings-and-setup-file/speeches/seller-classes.md) Page.

***

The second command we can add is a `useCat: Boolean` which is either `true` or `false` and let us either enable or disable the [Item Categories](/arckys-poke-mart-guide/settings-and-setup-file/item-categories.md).

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller", useCat: true)
end
```

***

The third command we can add is a `discount: Number` which refers to a Game Variable ID. This is explained on the [Discounts](/arckys-poke-mart-guide/settings-and-setup-file/discounts.md) page.

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller", useCat: true, discount: 26)
end
```

***

The fourth (new) command we can add is another `currency: "string"` to set the Currency the mart should use. The current possible values are: `"money", "gold", "coins", "battle points" and "bp"` (with of course **money and gold** being the same as well as **battle points and bp**).

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller", useCat: true, discount: 26, currency: "coins")
end
```

***

The fifth command we can add is `cantSell: Boolean` to disable Selling. This is disabled by default.

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller", useCat: true, discount: 26, currency: "money", cantSell: true)
end
```

***

The sixth command we can add is `billEnd: Boolean` which is used to make the script not ask for anything else after paying the bill. This is disabled by default (So after paying the bill, the script will use the `MenuReturnText` which is `"Is there anything else I can do for you?"` by default).

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller", useCat: true, discount: 26, currency: "money", cantSell: true, billEnd: true)
end
```

***

The seventh command we cann is `random: [String, Number]` which is used to enable random stock generating from the given stock array. The first parameter can either be daily, 2daily or weekly and is the time interval for the stock to change to a new random selection of items. The second parameter is the amount of items to be selected.

```ruby
def pbSomeMart
  pbPokemonMart([
    :POKEBALL, :GREATBALL, :ULTRABALL,
    :ESCAPEROPE,
    :REPEL, :SUPERREPEL, :MAXREPEL,
    :GRASSMAIL, :FLAMEMAIL,
    :BUBBLEMAIL, :SPACEMAIL
  ], speech: "ProSeller", useCat: true, discount: 26, currency: "money", cantSell: true, billEnd: true, random: ["daily", 5])
end
```

***

{% hint style="info" %}
The following settings can't be used for a shelf event: `useCat` , `cantSell` , `billEnd` and `random`. All the other settings are exactly the same as well as how to apply them.&#x20;
{% endhint %}
