Line 1,508: |
Line 1,508: |
| |- | | |- |
| | <samp>RequiredTags</samp> | | | <samp>RequiredTags</samp> |
− | | Defines conditions for the order appearing. Can be one of the following: | + | | Defines conditions for the order appearing. Can be one or several of the following in a comma-delimited list: |
| * <samp>season_{{t|season}}</samp>: must currently be the specified season. | | * <samp>season_{{t|season}}</samp>: must currently be the specified season. |
| * <samp>event_{{t|ID}}</samp>: the host player has seen the event with the specified ID. | | * <samp>event_{{t|ID}}</samp>: the host player has seen the event with the specified ID. |
Line 1,514: |
Line 1,514: |
| * <samp>rule_{{t|name}}</samp>: the specified rule is in effect. (See below.) | | * <samp>rule_{{t|name}}</samp>: the specified rule is in effect. (See below.) |
| * <samp>dropbox_{{t|name}}</samp>: the specified dropbox is currently in use by another quest or special order. (See below.) | | * <samp>dropbox_{{t|name}}</samp>: the specified dropbox is currently in use by another quest or special order. (See below.) |
− | * <samp>island</samp>: Ginger Island has been unlocked. | + | * <samp>island</samp>: Ginger Island has been unlocked. This also adds an island motif to the note. |
| * <samp>knows_{{t|NPCname}}</samp>: Returns true if any farmer knows the specified NPC. | | * <samp>knows_{{t|NPCname}}</samp>: Returns true if any farmer knows the specified NPC. |
| * <samp>NOT_IMPLEMENTED</samp>: Always returns false. | | * <samp>NOT_IMPLEMENTED</samp>: Always returns false. |
Line 1,523: |
Line 1,523: |
| |- | | |- |
| | <samp>SpecialRule</samp> | | | <samp>SpecialRule</samp> |
− | | A comma-delimited list of [[Modding:Modder Guide/Game Fundamentals#Unique string IDs|unique string IDs]] representing 'rules' that apply while this special order is active. These can be predefined rules (see list below), or arbitrary rule IDs you can check using [[Modding:Game state queries|game state queries]] (via <samp><samp>PLAYER_SPECIAL_ORDER_RULE_ACTIVE</samp></samp>) or in C# (via <code>Game1.player.team.SpecialOrderRuleActive</code>). | + | | A comma-delimited list of [[#Special rules|special rules]] that apply while this special order is active. |
− | | |
− | The vanilla orders use these rule IDs (TODO document what these do):
| |
− | * <samp>QI_BEANS</samp>
| |
− | * <samp>DROP_QI_BEANS</samp>
| |
− | * <samp>SC_NO_FOOD</samp>
| |
− | * <samp>QI_COOKING</samp>
| |
− | * <samp>LEGENDARY_FAMILY</samp>
| |
− | * <samp>MINE_HARD</samp>
| |
− | * <samp>SC_HARD</samp>
| |
− | * <samp>QI_DOUBLE</samp>
| |
| |- | | |- |
| | <samp>Text</samp> | | | <samp>Text</samp> |
Line 1,690: |
Line 1,680: |
| | | |
| For example, <code>!forage_item, category_vegetable/category_fruit, quality_gold</code> would match non-forage gold-quality items which are either fruits or vegetables. | | For example, <code>!forage_item, category_vegetable/category_fruit, quality_gold</code> would match non-forage gold-quality items which are either fruits or vegetables. |
| + | |
| + | ==Special rules== |
| + | Special rules are [[Modding:Common data field types#Unique string ID|unique string IDs]] that can be used to apply logic while the special order is active. |
| + | |
| + | The game has some predefined rules: |
| + | {| class="wikitable" |
| + | |- |
| + | ! rule ID |
| + | ! effect |
| + | |- |
| + | | <samp>DROP_QI_BEANS</samp> |
| + | | The player can find [[Qi Beans]] for the ''Qi's Crop'' order. |
| + | |- |
| + | | <samp>LEGENDARY_FAMILY</samp> |
| + | | The player can catch the new legendary fish for the ''Extended Family'' order. |
| + | |- |
| + | | <samp>MINE_HARD</samp><br /><samp>SC_HARD</samp> |
| + | | Raises the difficulty level of the mines or [[Skull Cavern]]. |
| + | |- |
| + | | <samp>SC_NO_FOOD</samp> |
| + | | The player can't eat food in the [[Skull Cavern]]. |
| + | |- |
| + | | <samp>QI_BEANS</samp><br /><samp>QI_COOKING</samp><br /><samp>QI_DOUBLE</samp> |
| + | | TODO: document what these do. |
| + | |} |
| + | |
| + | Special orders can also have arbitrary rule IDs, which can be checked using [[Modding:Game state queries|game state queries]] (via <samp>PLAYER_SPECIAL_ORDER_RULE_ACTIVE</samp>) or in C# (via <code>Game1.player.team.SpecialOrderRuleActive</code>). |
| | | |
| ==See also== | | ==See also== |