Custom Shop Template Edit this page on GitHub


Introduction

The custom scenery mod template is meant for people who want to add shops to Parkitect, but don't have the coding skills to do that. The template is making it as easy as possible for designers to get their shops in the game. Please refer to the Scenery template if you are unsure about requirements and configuration outside of just configuring the json file. Custom Scenery Template

The template can be found here.

Options

Shop

model (string) (required)

The name of the model/gameobject in the asset bundle.

price (float) (required)

Denotes the price of the shop.

products (key : object) (required)

the key is associated with the name of the produce. the section below this one will cover the basic configuration of a product.

Products

model (string) (required)

The name of the model/gameobject in the asset bundle.

price (float) (required)

The price of the associated product.

type (wearable/consumable/ongoing) (required)

There are three types of products sold from the game and they include Wearable/Consumable/Ongoing. Only consumable and ongoing product have an affect on the stats of the associated npc. Consumable products apply the effect when they are consumed while ongoing products will apply the effect overtime.

hand (left/right)

Denotes which hand the product will appear in.

ingredients (key : object) (required)

the key is associated with the name of the ingredient associated with the product. please refer to the Ingredients section for more information about configuration.

Wearable

bodylocation (head/face/back) (required)

The location where the wearable product will appear.

hideonrides (bool) (defaults to false)

Denotes if the product will disappear on the ride.

hidehair (bool) (defaults to false)

Denotes if the npc's hair will disappear when wearing the product.

Consumable

temprature (none/cold/hot) (defaults to none)

The preferred temperate that the NPC will buy this product.

consumeanimation (generic/drink_straw/lick/with_hands) (defaults to generic)

The consume animation used to consume the product.

portions (int) (required)

The number of portions the product provides.

Ongoing

duration (int) (required)

The time it takes for the product to be consumed.

Ingredients

The ingredients that are associated with the given produce.

price (float) required

The price of the associated ingredients. The final cost of the produce is calculated by added up the prices of each ingredients.

amount (float) required

The amount of product that the shop can hold. this is calculated by the amount * 100.

tweakable (boolean) required

Denotes if the amount applied to each produce can be modified by the player.

effects (array of objects) required only for consumable and ongoing products

Effects

affectStat (hunger/thirst/happiness/tiredness/sugarboost) (required)

The state that this affect is applied to

amount (float) (required and bounded between -1 and 0)

The amount that this effect lowers the associated stat.

Sample

{
    "cube" : {
        "model":"model1",
        "price": 20.5,
        "products": {
            "A": {
                "model":"model2",
                "price": 1.5,
                "type" : "wearable",
                "bodylocation" : "head",
                "hideonrides" : false,
                "hidehair" : true,
                "ingredients": {
                    "ingredient2" :{
                     "price": 1.0,
                     "amount" : 10.0,
                     "tweakable" : false
                    },
                    "ingredient1" :{
                     "price": 1.0,
                     "amount" : 1.0,
                     "tweakable" : true
                    }
                }
            },
            "B": {
                "model":"model3",
                "price": 1.5,
                "type" : "consumable",
                "temprature" : "hot",
                "hand" : "left",
                "consumeanimation" : "generic", 
                "portions" : 10,
                "ingredients": {
                    "ingredient1" :{
                     "price": 1.0,
                     "amount" : 1.0,
                    "tweakable" : false,
                    "effects": [
                    {
                        "affectStat" : "hunger",
                        "amount" : -.9
                    }]

                    }
                }
            }
        }
    }
}