Jump to content

Modding:Special orders

From Stardew Valley Wiki

← Index Special orders are a more flexible and customizable quest system unlocked in late game. Special orders can be added to the data file with options like duration, repeatability, objectives, and rewards.

This page explains how the game stores and uses special orders. This is an advanced guide for mod developers.

Raw data

Special orders are stored in Content\Data\SpecialOrders.xnb, which can be unpacked for editing. Here's the raw data as of 1.5.1:

Data 
{
  "Willy": {
    "Name": "[Willy_Name]",
    "Requester": "Willy",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Willy_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Willy_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "AcceptedContextTags": "item_bug_meat"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Willy_Objective_1_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "WillyBarrel",
          "DropBoxGameLocation": "Beach",
          "DropBoxIndicatorLocation": "37 32",
          "AcceptedContextTags": "item_bug_meat"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "3000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "willyBugWadCutscene"
        }
      }
    ]
  },
  "Pam": {
    "Name": "[Pam_Name]",
    "Requester": "Pam",
    "Duration": "TwoWeeks",
    "Repeatable": "False",
    "RequiredTags": "season_spring",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Pam_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Pam_Objective_0_Text]",
        "RequiredCount": "12",
        "Data": {
          "AcceptedContextTags": "juice_item, preserve_sheet_index_192"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Pam_Objective_1_Text]",
        "RequiredCount": "12",
        "Data": {
          "DropBox": "PamKitchen",
          "DropBoxGameLocation": "Trailer",
          "DropBoxIndicatorLocation": "10 5",
          "AcceptedContextTags": "juice_item, preserve_sheet_index_192"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "3000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "pamPotatoJuice"
        }
      },
      {
        "Type": "Friendship",
        "Data": {}
      }
    ]
  },
  "Pierre": {
    "Name": "[Pierre_Name]",
    "Requester": "Pierre",
    "Duration": "Month",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Pierre_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Pierre_Objective_0_Text]",
        "RequiredCount": "25",
        "Data": {
          "AcceptedContextTags": "!forage_item, category_vegetable, quality_gold"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Pierre_Objective_1_Text]",
        "RequiredCount": "25",
        "Data": {
          "DropBox": "PierreBox",
          "DropBoxGameLocation": "SeedShop",
          "DropBoxIndicatorLocation": "18.5 27",
          "AcceptedContextTags": "!forage_item, category_vegetable, quality_gold"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "2500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "pierreQualityCrops"
        }
      }
    ]
  },
  "Robin": {
    "Name": "[Robin_Name]",
    "Requester": "Robin",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Robin_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Robin_Objective_0_Text]",
        "RequiredCount": "80",
        "Data": {
          "AcceptedContextTags": "item_hardwood"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Robin_Objective_1_Text]",
        "RequiredCount": "80",
        "Data": {
          "DropBox": "RobinWood",
          "DropBoxGameLocation": "ScienceHouse",
          "DropBoxIndicatorLocation": "10.5 18",
          "AcceptedContextTags": "item_hardwood"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "2000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "robinDeluxeBed"
        }
      },
      {
        "Type": "Friendship",
        "Data": {}
      }
    ]
  },
  "Emily": {
    "Name": "[Emily_Name]",
    "Requester": "Emily",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "event_992559",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Emily_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Deliver",
        "Text": "[Emily_Objective_0_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_ruby",
          "TargetName": "Emily"
        }
      },
      {
        "Type": "Deliver",
        "Text": "[Emily_Objective_1_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_topaz",
          "TargetName": "Emily"
        }
      },
      {
        "Type": "Deliver",
        "Text": "[Emily_Objective_2_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_emerald",
          "TargetName": "Emily"
        }
      },
      {
        "Type": "Deliver",
        "Text": "[Emily_Objective_3_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_jade",
          "TargetName": "Emily"
        }
      },
      {
        "Type": "Deliver",
        "Text": "[Emily_Objective_4_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_amethyst",
          "TargetName": "Emily"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "1000"
        }
      },
      {
        "Type": "Friendship",
        "Data": {}
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "emilyStones",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Demetrius": {
    "Name": "[Demetrius_Name]",
    "Requester": "Demetrius",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Demetrius_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "FishType",
        "Values": [
          {
            "RequiredTags": "season_spring",
            "Value": "PICK_ITEM Sunfish, Sardine, Flounder, Largemouth Bass, Halibut"
          },
          {
            "RequiredTags": "season_summer",
            "Value": "PICK_ITEM Rainbow Trout, Dorado, Tilapia, Tuna, Red Mullet"
          },
          {
            "RequiredTags": "season_fall",
            "Value": "PICK_ITEM Tiger Trout, Albacore, Midnight Carp, Salmon"
          },
          {
            "RequiredTags": "season_winter",
            "Value": "PICK_ITEM Squid, Perch, Lingcod"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Fish",
        "Text": "[Demetrius_Objective_0_Text]",
        "RequiredCount": "10",
        "Data": {
          "AcceptedContextTags": "{FishType:Tags}"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "{FishType:Price}",
          "Multiplier": "10"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "DemetriusReward",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Demetrius2": {
    "Name": "[Demetrius2_Name]",
    "Requester": "Demetrius",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Demetrius2_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "FishType",
        "Values": [
          {
            "RequiredTags": "",
            "Value": "Text|[Demetrius2_RE_FishType_0_Text]|Tags|fish_river"
          },
          {
            "RequiredTags": "",
            "Value": "Text|[Demetrius2_RE_FishType_1_Text]|Tags|fish_ocean"
          },
          {
            "RequiredTags": "",
            "Value": "Text|[Demetrius2_RE_FishType_2_Text]|Tags|fish_lake"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Fish",
        "Text": "[Demetrius2_Objective_0_Text]",
        "RequiredCount": "20",
        "Data": {
          "AcceptedContextTags": "{FishType:Tags}"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "1500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "DemetriusReward",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Gus": {
    "Name": "[Gus_Name]",
    "Requester": "Gus",
    "Duration": "TwoWeeks",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Gus_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "Greeting",
        "Values": [
          {
            "RequiredTags": "!mail_gusGiantOmelet",
            "Value": "[Gus_RE_Greeting_0]"
          },
          {
            "RequiredTags": "mail_gusGiantOmelet",
            "Value": "[Gus_RE_Greeting_1]"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Gus_Objective_0_Text]",
        "RequiredCount": "24",
        "Data": {
          "AcceptedContextTags": "egg_item"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Gus_Objective_1_Text]",
        "RequiredCount": "24",
        "Data": {
          "DropBox": "GusFridge",
          "DropBoxGameLocation": "Saloon",
          "DropBoxIndicatorLocation": "18 15",
          "MinimumCapacity": "30",
          "AcceptedContextTags": "egg_item"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "3000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "gusGiantOmelet",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Lewis": {
    "Name": "[Lewis_Name]",
    "Requester": "Lewis",
    "Duration": "Month",
    "Repeatable": "True",
    "RequiredTags": "!season_winter",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Lewis_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "Crop",
        "Values": [
          {
            "RequiredTags": "season_spring",
            "Value": "PICK_ITEM Potato, Green Bean, Garlic, Cauliflower"
          },
          {
            "RequiredTags": "season_summer",
            "Value": "PICK_ITEM Tomato, Blueberry, Radish, Melon, Hot Pepper, Wheat"
          },
          {
            "RequiredTags": "season_fall",
            "Value": "PICK_ITEM Pumpkin, Eggplant, Cranberries, Bok Choy, Amaranth, Grape, Yam, Artichoke"
          }
        ]
      },
      {
        "Name": "Text",
        "Values": [
          {
            "RequiredTags": "",
            "Value": "[Lewis_RE_Text_0]"
          },
          {
            "RequiredTags": "",
            "Value": "[Lewis_RE_Text_1]"
          },
          {
            "RequiredTags": "",
            "Value": "[Lewis_RE_Text_2]"
          },
          {
            "RequiredTags": "",
            "Value": "[Lewis_RE_Text_3]"
          },
          {
            "RequiredTags": "",
            "Value": "[Lewis_RE_Text_4]"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Lewis_Objective_1_Text]",
        "RequiredCount": "100",
        "Data": {
          "AcceptedContextTags": "{Crop:Tags}"
        }
      },
      {
        "Type": "Ship",
        "Text": "[Lewis_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "AcceptedContextTags": "{Crop:Tags}"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "{Crop:Price}",
          "Multiplier": "50"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "MSB_Lewis",
          "Host": "true",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Wizard": {
    "Name": "[Wizard_Name]",
    "Requester": "Wizard",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Wizard_Text]",
    "ItemToRemoveOnEnd": "875",
    "MailToRemoveOnEnd": "ectoplasmDrop",
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Deliver",
        "Text": "[Wizard_Objective_0_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_ectoplasm",
          "Message": "[Wizard_Objective_0_Message]",
          "TargetName": "Wizard"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "2500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "WizardReward2",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Clint": {
    "Name": "[Clint_Name]",
    "Requester": "Clint",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Clint_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "Monster",
        "Values": [
          {
            "RequiredTags": "",
            "Value": "Target|Bat|LocalizedName|[Clint_RE_Monster_0_LocalizedName]"
          },
          {
            "RequiredTags": "",
            "Value": "Target|Dust Spirit|LocalizedName|[Clint_RE_Monster_1_LocalizedName]"
          },
          {
            "RequiredTags": "",
            "Value": "Target|Skeleton|LocalizedName|[Clint_RE_Monster_2_LocalizedName]"
          },
          {
            "RequiredTags": "",
            "Value": "Target|Grub|LocalizedName|[Clint_RE_Monster_3_LocalizedName]"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Slay",
        "Text": "[Clint_Objective_0_Text]",
        "RequiredCount": "50",
        "Data": {
          "TargetName": "{Monster:Target}"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "6000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "ClintReward",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Linus": {
    "Name": "[Linus_Name]",
    "Requester": "Linus",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Linus_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Linus_Objective_0_Text]",
        "RequiredCount": "20",
        "Data": {
          "AcceptedContextTags": "trash_item"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Linus_Objective_1_Text]",
        "RequiredCount": "20",
        "Data": {
          "DropBox": "Dumpster",
          "DropBoxGameLocation": "Railroad",
          "DropBoxIndicatorLocation": "28.5 36",
          "AcceptedContextTags": "trash_item"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "linusTrashCleanup",
          "NoLetter": "false"
        }
      },
      {
        "Type": "Friendship",
        "Data": {}
      }
    ]
  },
  "Evelyn": {
    "Name": "[Evelyn_Name]",
    "Requester": "Evelyn",
    "Duration": "Month",
    "Repeatable": "False",
    "RequiredTags": "season_spring",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Evelyn_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Evelyn_Objective_0_Text]",
        "RequiredCount": "12",
        "Data": {
          "AcceptedContextTags": "item_leek"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Evelyn_Objective_1_Text]",
        "RequiredCount": "12",
        "Data": {
          "DropBox": "EvelynKitchen",
          "DropBoxGameLocation": "JoshHouse",
          "DropBoxIndicatorLocation": "3 15",
          "AcceptedContextTags": "item_leek"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "2000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "georgeGifts",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Wizard2": {
    "Name": "[Wizard2_Name]",
    "Requester": "Wizard",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Wizard2_Text]",
    "ItemToRemoveOnEnd": "876",
    "MailToRemoveOnEnd": "prismaticJellyDrop",
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Slay",
        "Text": "[Wizard2_Objective_0_Text]",
        "RequiredCount": "1",
        "Data": {
          "TargetName": "Prismatic Slime"
        }
      },
      {
        "Type": "Deliver",
        "Text": "[Wizard2_Objective_1_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_prismatic_jelly",
          "TargetName": "Wizard",
          "Message": "[Wizard2_Objective_1_Message]"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "5000"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "WizardReward",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Robin2": {
    "Name": "[Robin2_Name]",
    "Requester": "Robin",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Robin2_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "Resource",
        "Values": [
          {
            "RequiredTags": "",
            "Value": "PICK_ITEM Wood, Stone"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Robin2_Objective_0_Text]",
        "RequiredCount": "1000",
        "Data": {
          "AcceptedContextTags": "{Resource:Tags}"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "2500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "robinResource",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Gunther": {
    "Name": "[Gunther_Name]",
    "Requester": "Gunther",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Gunther_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Gunther_Objective_1_Text]",
        "RequiredCount": "100",
        "Data": {
          "AcceptedContextTags": "bone_item"
        }
      },
      {
        "Type": "Donate",
        "Text": "[Gunther_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "GuntherBox",
          "DropBoxGameLocation": "ArchaeologyHouse",
          "DropBoxIndicatorLocation": "6 8",
          "AcceptedContextTags": "bone_item"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "3500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "guntherBones",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Caroline": {
    "Name": "[Caroline_Name]",
    "Requester": "Caroline",
    "Duration": "Month",
    "Repeatable": "True",
    "RequiredTags": "island",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Caroline_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": [
      {
        "Name": "Crop",
        "Values": [
          {
            "RequiredTags": "",
            "Value": "PICK_ITEM Pineapple, Taro Root, Ginger"
          }
        ]
      }
    ],
    "Objectives": [
      {
        "Type": "Collect",
        "Text": "[Lewis_Objective_1_Text]",
        "RequiredCount": "100",
        "Data": {
          "AcceptedContextTags": "{Crop:Tags}"
        }
      },
      {
        "Type": "Ship",
        "Text": "[Caroline_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "AcceptedContextTags": "{Crop:Tags}"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "{Crop:Price}",
          "Multiplier": "50"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "carolineSO",
          "NoLetter": "false"
        }
      }
    ]
  },
  "Willy2": {
    "Name": "[Willy2_Name]",
    "Requester": "Willy",
    "Duration": "Week",
    "Repeatable": "False",
    "RequiredTags": "island, mail_Island_Resort",
    "OrderType": "",
    "SpecialRule": "",
    "Text": "[Willy2_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Fish",
        "Text": "[Willy2_Objective_0_Text]",
        "RequiredCount": "5",
        "Data": {
          "AcceptedContextTags": "item_lionfish"
        }
      },
      {
        "Type": "Fish",
        "Text": "[Willy2_Objective_1_Text]",
        "RequiredCount": "5",
        "Data": {
          "AcceptedContextTags": "item_blue_discus"
        }
      },
      {
        "Type": "Fish",
        "Text": "[Willy2_Objective_2_Text]",
        "RequiredCount": "5",
        "Data": {
          "AcceptedContextTags": "item_stingray"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Money",
        "Data": {
          "Amount": "2500"
        }
      },
      {
        "Type": "Mail",
        "Data": {
          "MailReceived": "WillyTropicalFish",
          "NoLetter": "false"
        }
      }
    ]
  },
  "QiChallenge": {
    "Name": "[QiChallenge_Name]",
    "Requester": "Qi",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "NOT_IMPLEMENTED, !rule_QI_BEANS",
    "OrderType": "Qi",
    "SpecialRule": "FIVE_PLAGUES, QI_BEANS",
    "Text": "[QiChallenge_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Ship",
        "Text": "[QiChallenge_Objective_0_Text]",
        "RequiredCount": "500",
        "Data": {
          "AcceptedContextTags": "item_qi_fruit"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "50"
        }
      }
    ]
  },
  "QiChallenge2": {
    "Name": "[QiChallenge2_Name]",
    "Requester": "Qi",
    "Duration": "Month",
    "Repeatable": "True",
    "RequiredTags": "!rule_QI_BEANS",
    "OrderType": "Qi",
    "SpecialRule": "QI_BEANS, DROP_QI_BEANS",
    "Text": "[QiChallenge2_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Ship",
        "Text": "[QiChallenge2_Objective_0_Text]",
        "RequiredCount": "500",
        "Data": {
          "AcceptedContextTags": "item_qi_fruit"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "100"
        }
      }
    ]
  },
  "QiChallenge3": {
    "Name": "[QiChallenge3_Name]",
    "Requester": "Qi",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "",
    "Text": "[QiChallenge3_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "JKScore",
        "Text": "[QiChallenge3_Objective_0_Text]",
        "RequiredCount": "50000",
        "Data": {
          "AcceptedContextTags": "placeholder"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "10"
        }
      }
    ]
  },
  "QiChallenge4": {
    "Name": "[QiChallenge4_Name]",
    "Requester": "Qi",
    "Duration": "Month",
    "Repeatable": "True",
    "RequiredTags": "!dropbox_QiChallengeBox",
    "OrderType": "Qi",
    "SpecialRule": "",
    "Text": "[QiChallenge4_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Donate",
        "Text": "[QiChallenge4_Objective_0_Text]",
        "RequiredCount": "4",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "AcceptedContextTags": "item_prismatic_shard"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "40"
        }
      }
    ]
  },
  "QiChallenge5": {
    "Name": "[QiChallenge5_Name]",
    "Requester": "Qi",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "SC_NO_FOOD",
    "Text": "[QiChallenge5_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "ReachMineFloor",
        "Text": "[QiChallenge5_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "SkullCave": "true"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "25"
        }
      }
    ]
  },
  "QiChallenge6": {
    "Name": "[QiChallenge6_Name]",
    "Requester": "Qi",
    "Duration": "TwoWeeks",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "QI_COOKING",
    "Text": "[QiChallenge6_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Ship",
        "Text": "[QiChallenge6_Objective_0_Text]",
        "RequiredCount": "100000",
        "Data": {
          "AcceptedContextTags": "quality_qi",
          "UseShipmentValue": "True"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "25"
        }
      }
    ]
  },
  "QiChallenge7": {
    "Name": "[QiChallenge7_Name]",
    "Requester": "Qi",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "",
    "Text": "[QiChallenge7_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Gift",
        "Text": "[QiChallenge7_Objective_0_Text]",
        "RequiredCount": "50",
        "Data": {
          "MinimumLikeLevel": "Loved"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "40"
        }
      }
    ]
  },
  "QiChallenge8": {
    "Name": "[QiChallenge8_Name]",
    "Requester": "Qi",
    "Duration": "ThreeDays",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "LEGENDARY_FAMILY",
    "Text": "[QiChallenge8_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Fish",
        "Text": "[QiChallenge8_Objective_0_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_ms._angler"
        }
      },
      {
        "Type": "Fish",
        "Text": "[QiChallenge8_Objective_1_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_glacierfish_jr."
        }
      },
      {
        "Type": "Fish",
        "Text": "[QiChallenge8_Objective_2_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_son_of_crimsonfish"
        }
      },
      {
        "Type": "Fish",
        "Text": "[QiChallenge8_Objective_3_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_radioactive_carp"
        }
      },
      {
        "Type": "Fish",
        "Text": "[QiChallenge8_Objective_4_Text]",
        "RequiredCount": "1",
        "Data": {
          "AcceptedContextTags": "item_legend_ii"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "20"
        }
      }
    ]
  },
  "QiChallenge9": {
    "Name": "[QiChallenge9_Name]",
    "Requester": "Qi",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "MINE_HARD",
    "Text": "[QiChallenge9_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "ReachMineFloor",
        "Text": "[QiChallenge9_Objective_0_Text]",
        "RequiredCount": "120",
        "Data": {}
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "50"
        }
      }
    ]
  },
  "QiChallenge10": {
    "Name": "[QiChallenge10_Name]",
    "Requester": "Qi",
    "Duration": "Week",
    "Repeatable": "True",
    "RequiredTags": "",
    "OrderType": "Qi",
    "SpecialRule": "SC_HARD",
    "Text": "[QiChallenge10_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "ReachMineFloor",
        "Text": "[QiChallenge10_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "SkullCave": "true"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "40"
        }
      }
    ]
  },
  "QiChallenge11": {
    "Name": "[QiChallenge11_Name]",
    "Requester": "Qi",
    "Duration": "Day",
    "Repeatable": "True",
    "RequiredTags": "NOT_IMPLEMENTED",
    "OrderType": "Qi",
    "SpecialRule": "QI_DOUBLE",
    "Text": "[QiChallenge11_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Custom",
        "Text": "[QiChallenge11_Objective_0_Text]",
        "RequiredCount": "120",
        "Data": {
          "AcceptedContextTags": "placeholder"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "10"
        }
      }
    ]
  },
  "QiChallenge12": {
    "Name": "[QiChallenge12_Name]",
    "Requester": "Qi",
    "Duration": "TwoWeeks",
    "Repeatable": "True",
    "RequiredTags": "!dropbox_QiChallengeBox",
    "OrderType": "Qi",
    "SpecialRule": "",
    "Text": "[QiChallenge12_Text]",
    "ItemToRemoveOnEnd": null,
    "MailToRemoveOnEnd": null,
    "RandomizedElements": null,
    "Objectives": [
      {
        "Type": "Donate",
        "Text": "[QiChallenge12_Objective_0_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "MinimumCapacity": "36",
          "AcceptedContextTags": "color_red/color_dark_red"
        }
      },
      {
        "Type": "Donate",
        "Text": "[QiChallenge12_Objective_1_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "AcceptedContextTags": "color_orange/color_copper/color_dark_orange"
        }
      },
      {
        "Type": "Donate",
        "Text": "[QiChallenge12_Objective_2_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "AcceptedContextTags": "color_yellow/color_dark_yellow/color_gold"
        }
      },
      {
        "Type": "Donate",
        "Text": "[QiChallenge12_Objective_3_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "AcceptedContextTags": "color_green/color_dark_green/color_lime/color_yellow_green/color_jade"
        }
      },
      {
        "Type": "Donate",
        "Text": "[QiChallenge12_Objective_4_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "AcceptedContextTags": "color_blue/color_dark_blue/color_dark_cyan/color_light_cyan/color_cyan/color_aquamarine"
        }
      },
      {
        "Type": "Donate",
        "Text": "[QiChallenge12_Objective_5_Text]",
        "RequiredCount": "100",
        "Data": {
          "DropBox": "QiChallengeBox",
          "DropBoxGameLocation": "QiNutRoom",
          "DropBoxIndicatorLocation": "1 3",
          "AcceptedContextTags": "color_purple/color_dark_purple/color_dark_pink/color_pale_violet_red/color_poppyseed/color_iridium"
        }
      }
    ],
    "Rewards": [
      {
        "Type": "Gems",
        "Data": {
          "Amount": "35"
        }
      }
    ]
  }
}

Format

Basic Fields

Each special order has a few basic fields, as well as some more complex fields (which are explained below).

Field Name Description
Name Name of the special order. This is in brackets, referring to a string in Strings/SpecialOrderStrings.
Requester The name of the NPC the order is for. Can take the form of non-friendable NPCs such as Qi or Gunther.
Duration How long you have to complete the order before it auto-fails. Can be one of the following: OneDay, ThreeDays, Week, TwoWeeks, or Month.
Repeatable Whether or not the order can be repeated. Either true or false.
RequiredTags Defines conditions for the order appearing. Can be one or several of the following in a comma-delimited list:
  • season_<season>: must currently be the specified season.
  • event_<ID>: the host player has seen the event with the specified ID.
  • mail_<ID>: the host player has the specified mail key.
  • rule_<name>: the specified rule is in effect. (See below.)
  • dropbox_<name>: the specified dropbox is currently in use by another quest or special order. (See below.)
  • island: Ginger Island has been unlocked. This also adds an island motif to the note.
  • knows_<NPCname>: Returns true if any farmer knows the specified NPC.
  • NOT_IMPLEMENTED: Always returns false.

Additionally, requirements may be prefixed with ! to invert the condition. For example, !dropbox_<name> returns true only if the specified dropbox is not in use.

OrderType Is either blank (for the town board), Qi (for Qi's board) or DesertFestivalMarlon (for Marlon's desert festival challenges). Mods can add their own special order boards that only fetch orders of a certain type.
Condition A game state query which determines whether this order can appear.
SpecialRule A comma-delimited list of special rules that apply while this special order is active.
Text Put in brackets, refers to a string in Strings/SpecialOrderStrings.
ItemToRemoveOnEnd Removes all instances of the specified item ID from all inventories and containers. Used to prevent keeping hold of quest items.
MailToRemoveOnEnd Sets the specified mail as unread.
Objectives The objectives for this order.
Rewards The rewards upon completing this order.
RandomizedElements The randomized elements of this order.
CustomFields The custom fields for this entry.

Randomized Elements

This field, if not null, is a collection of blocks, each representing a random element. The format for each one is as follows:

Field Name Description
Name The name of the random element, used within the special order data and in the order's strings in Strings/SpecialOrderStrings.
Values A list of blocks, each containing required tags and a value to set the random element to if the tags are met. RequiredTags here follows the same format as the field of the same name in the main block. (See above.)

Value is a text string in the following format:

  • If randomly selecting items, the format is: PICK_ITEM, <item name>, <item name>, <item name>.... Items are checking for an ID match then if there's none, their internal names, i.e. field 0 in Data/ObjectInformation.
  • If randomly selecting groups of items by context tag, the format is: Text|[<string key>]|Tags|<context tags>.
  • If randomly selecting a monster, the format is: Target|<monster name>|LocalizedName|[<string key>]
  • If simply setting the value of the random element to a string in Strings/SpecialOrderStrings, the format is simply: [<string key>].

Random elements can then be called in the following ways, depending on what the format of their Value field is:

  • If the random element is simply a string, just the random element name surrounded by single curly braces will return the string.
  • {<element name>:Text}: If the random element is an item, returns its name.
  • {<element name>:TextPlural}: If the random element is an item, returns its name in plural form.
  • {<element name>:TextPluralCapitalized}: If the random element is an item, returns its name in plural form, capitalized.
  • {<element name>:Tags}: If the random element is an item, returns its tags.
  • {<element name>:Price}: If the random element is an item, returns its price.
  • {<element name>:Target}: If the random element is a monster, returns its name.

Objectives

Each order can have any number of objectives of the given types. The format for each objective is below:

Field Name Description
Type The type of objective; see below for a list of possible objective types.
Text The description of the objective. This is in brackets, referring to a string in Strings/SpecialOrderStrings.
RequiredCount The number required for the objective, depending on its type (items to collect, monsters to slay, etc.).
Data The extra data required for this special order objective. Each objective type requires different fields.

The following is a list of possible objective types, as well as the data they expect in the Data field:

Objective type Description
Collect The player must obtain items that match the AcceptedContextTags field. The items must never have been in a player inventory. This applies to any method of collecting items (e.g., harvesting crops, slaying monsters, collecting from a machine, cooking a dish, etc). There's no restriction to how the item can be collected; e.g., a special order for emeralds will be equally find with gems found in the mines or produced in a crystalarium.
"Type": "Collect",
"Text": "[Willy_Objective_0_Text]",
"RequiredCount": "100",
"Data": {
    "AcceptedContextTags": "item_bug_meat",
}
Deliver The player must give items that match the AcceptedContextTags field to a given character. This doesn't count towards the character's gift limit.
"Type": "Deliver",
"Text": "[Emily_Objective_0_Text]",
"RequiredCount": "1",
"Data": {
    "AcceptedContextTags": "item_ruby",
    "TargetName": "Emily",
}
Fish Equivalent to Collect, but only counts items found by fishing.
"Type": "Fish",
"Text": "[Demetrius_Objective_0_Text]",
"RequiredCount": "10",
"Data": {
    "AcceptedContextTags": "{FishType:Tags}"
}
Gift The player must give items that match the AcceptedContextTags field to a given character. This does count towards the character's gift limit. Parameters can include a minimum gift taste level.
"Type": "Gift",
"Text": "[QiChallenge7_Objective_0_Text]",
"RequiredCount": "50",
"Data": {
    "MinimumLikeLevel": "Loved" // Possible values: None, Hated, Disliked, Neutral, Liked, Loved
}
JKScore The player must achieve at least the given score in Junimo Kart. This tracks the highest score reached while the special order is active.
"Type": "JKScore",
"Text": "[QiChallenge3_Objective_0_Text]",
"RequiredCount": "50000",
ReachMineFloor The player must reach or exceed the given floor in the mines or the Skull Cavern (depending on the SkullCave field) while the special order is active.
"Type": "ReachMineFloor",
"Text": "[QiChallenge5_Objective_0_Text]",
"RequiredCount": "100",
"Data": {
    "SkullCave": "true" // or "false"
}
Ship The player must ship items through their shipping bin which match the AcceptedContextTags field. The quest objective progresses when the items are collected, not when they're put in the bin. Player still get money for the shipped items as they would normally. The UseShipmentValue field ("false" by default) can be set to "true" to require shipping a certain amount of money worth of items, instead of a certain number of items.
"Type": "Ship",
"Text": "[QiChallenge6_Objective_0_Text]",
"RequiredCount": "100000",
"Data": {
    "AcceptedContextTags": "quality_qi",
    "UseShipmentValue": "True"
}
Donate The player must add items that match the AcceptedContextTags field to a dropbox. The map for the associated DropBoxGameLocation must have a DropBox Action that matches the DropBox value given in this objective for the player to access it. See Modding:Maps#Action. MinimumCapacity can be set to resize the capacity of the dropoff box (9 by default).
"Type": "Donate",
"Text": "[QiChallenge12_Objective_0_Text]",
"RequiredCount": "100",
"Data": {
    "DropBox": "QiChallengeBox",
    "DropBoxGameLocation": "QiNutRoom",
    "DropBoxIndicatorLocation": "1 3",
    "MinimumCapacity": "36",
    "AcceptedContextTags": "color_red/color_dark_red"
}
Slay The player must kill a minimum number of monsters of the given name while the special order is active. If IgnoreFarmMonsters is set, this will not count monsters on the farm.
"Type": "Slay",
"Text": "[Clint_Objective_0_Text]",
"RequiredCount": "50",
"Data": {
    "TargetName": "{Monster:Target}",
    "IgnoreFarmMonsters": "true"
}

Rewards

Each order can have any number of rewards of the given types. The format for each reward is below:

Field Name Description
Type The type of reward; see below for a list of possible reward types.
Data The extra data required for this special order reward. Each reward type requires different fields.

The following is a list of possible rewards types, as well as the data they expect in the Data field:

Reward Description
Friendship Increases the amount of friendship, which is by default 250 points (1 heart) and for the requesting NPC. If specified, the units are in terms of number of friendship points, not hearts.
"Type": "Friendship",
"Data": {
    "Amount": "Number of friendship points to add", // integer
    "TargetName": "Name of NPC to add them to" // string
}
Gems Rewards the farmer a set amount of Qi Gems.
"Type": "Gems",
"Data": {
    "Amount": "Number of Qi Gems to award" // integer
}
Mail Sets a mail flag, which can be used to trigger custom events, dialogue, or other changes. "MailReceived" sets the name of the mail flag that is set upon completion of the special order. "NoLetter" controls whether there is an actual letter corresponding to the mail flag, and is true by default (no mail sent). "Host" seems to be intended to control whether only the host receives the quest completion letter, but due to "send to everyone" being always true, appears to have no real effect in the game. (TODO: verify this.) "Host" is false by default.
"Type": "Mail",
"Data": {
    "MailReceived": "Name of mail flag", // string
    "NoLetter": "true/false", // boolean
    "Host": "true/false" // boolean
}
Money Rewards the farmer a set amount of money or a value that depends on the donated item. The total money rewarded is Amount * Multiplier.
"Type": "Money",
"Data": {
    "Amount": "Amount of money", // integer
    "Multiplier": "Multiplier on amount" // float
}
ResetEvent Removes the event IDs from the list of event IDs seen by the player, thus making the events repeatable.
"Type": "ResetEvent",
"Data": {
    "ResetEvents": "eventID1 eventID2 eventID3" // space-separated integers
}
Object Rewards the farmer with an item.
"Type": "Object",
"Data": {
    "Item": "CalicoEgg", // string
    "Amount": "40" // integer
}

Context tags

The AcceptedContextTags fields in the Data field of certain special order objectives specify context tags for required items. This consists of a string with the following format:

syntax effect
! When prefixed to a context tag, indicates that an item must not have that tag.
, Separates any number of required context tags. For example, A, B, C matches items that have all of those tags.
/ Separates any number of alternate context tags. For example, A/B/C matches items that have at least one of those tags.

For example, !forage_item, category_vegetable/category_fruit, quality_gold would match non-forage gold-quality items which are either fruits or vegetables.

Special rules

Special rules are unique string IDs that can be used to apply logic while the special order is active.

The game has some predefined rules:

rule ID effect
DROP_QI_BEANS The player can find Qi Beans for the Qi's Crop order.
LEGENDARY_FAMILY The player can catch the new legendary fish for the Extended Family order.
MINE_HARD
SC_HARD
Raises the difficulty level of the mines or Skull Cavern.
SC_NO_FOOD The player can't eat food in the Skull Cavern.
QI_BEANS Remove all Qi Beans and Qi Fruits from player and chest inventories when the special order ends. Similar effects for other items can be achieved with the ItemToRemoveOnEnd field.
QI_COOKING Food cooked during the special order has the "Fresh" prefix and the quality_qi context tag.
FIVE_PLAGUES
QI_DOUBLE
Unused.

Special orders can also have arbitrary rule IDs, which can be checked using game state queries (via PLAYER_SPECIAL_ORDER_RULE_ACTIVE) or in C# (via Game1.player.team.SpecialOrderRuleActive).

See also