Difference between revisions of "Modding:Special orders"

From Stardew Valley Wiki
Jump to navigation Jump to search
(Created page with "← Index This page explains the basics of Special Orders. ==Raw data== Special orders are stored in <tt>Content\Data\SpecialOrders.xnb</tt>, which can be...")
 
m (Adding mention of this page being a guide for modders)
Line 1: Line 1:
 
← [[Modding:Index|Index]]
 
← [[Modding:Index|Index]]
  
This page explains the basics of Special Orders.
+
This page explains the basics of Special Orders.  This is a guide for mod developers.  
  
 
==Raw data==
 
==Raw data==

Revision as of 13:57, 3 January 2021

Index

This page explains the basics of Special Orders. This is a guide for mod developers.

Raw data

Special orders are stored in Content\Data\SpecialOrders.xnb, which can be unpacked for editing.


Basic concepts

What are Special Orders?

1.5 adds a new 'special orders' quest system which is much more flexible and supports custom quests. You can add special orders to Data/SpecialOrders with options like duration, repeatability, objectives, and rewards etc. Each order can have any number of objectives of predefined types (Collect, Deliver, Fish, Gift, JKScore, ReachMineFloor, Ship, Slay) and rewards (Friendship, Gems, Mail, Money, ResetEvent). The Mail reward sets a mail flag, which can be used to trigger custom events, dialogue, or other changes.

Objectives

Collect

Any item that never was in a player inventory before and that is meeting the AcceptedContextTags value will count toward the objective. This includes (but isn't limited to) things like crops harvested, drop obtained from monsters, production of a machine, dish being cooked. It is important to keep in mind that a special order asking to collect an item will not limit the ways this item can be collected. Example : a special order asking the player to collect emerald will count emerald collected in the mine but also emerald made with the crystalarium.


Deliver

This objective requires to give the item(s) to a specific character. The item will not count toward the gift limit of this character.


Gift

This objective requires to gift the item(s). Parameters can include a minimum Like Level.


Ship

Item(s) shipped. The quest objective progresses when the item(s) are collected, not when they are put in the Shipping Bin.


Context Tags

See Context Tags for generic informations about Context Tags and where to find them.

When the objective(s) are accepting item(s), the field AcceptedContextTags will list the context tags this item must have. A context tag prefaced by ! mean that this tag is excluded. Context tags separated by , are all needed. Context tags separated by / means that either are accepted. Example.

         "AcceptedContextTags": "!forage_item, category_vegetable, quality_gold"

A special order offered by Pierre is requesting this specific list of context tags to determine the valid items. In this case, this mean that any item that is of the category "vegetable", and of quality "gold" and that doesn't have the "forage_item" tag is eligible.

Fiddlehead Fern would be excluded of this special order accepted item, since it does have the tag "forage_item".