Difference between revisions of "Modding:Special orders"
Pathoschild (talk | contribs) (expand, add raw data, copyedit) |
Pathoschild (talk | contribs) (+ see also quests) |
||
Line 1,551: | Line 1,551: | ||
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. | ||
+ | |||
+ | ==See also== | ||
+ | * [[Modding:Quest data]] | ||
[[Category:Modding]] | [[Category:Modding]] |
Revision as of 16:41, 3 January 2021
← 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
Objectives
Each order can have any number of objectives of the given types.
- Collect
- The player must add items that match the AcceptedContextTags field to a dropbox. 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.
- 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.
- Fish
- TODO
- 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.
- JKScore
- TODO
- ReachMineFloor
- TODO
- 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.
- Slay
- TODO
Rewards
Each order can have any number of rewards of the given types.
- Friendship
- TODO
- Gems
- TODO
- Sets a mail flag, which can be used to trigger custom events, dialogue, or other changes.
Money
- TODO
ResetEvent
- TODO
Context tags
The AcceptedContextTags fields 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.