Модификации:Особые задания: различия между версиями

Материал из Stardew Valley Wiki
Перейти к навигации Перейти к поиску
Строка 1548: Строка 1548:
 
|}
 
|}
  
===Context tags===
+
===Контекстные теги===
The <tt>AcceptedContextTags</tt> fields specify [[Modding:Context tags|context tags]] for required items. This consists of a string with the following format:
+
Поля <tt>AcceptedContextTags</tt> определяют [[Модификации:Контекстные_тэги|контекстные теги]] для необходимых элементов. Он состоит из строки следующего формата:
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! syntax
+
! Синтаксис
! effect
+
! Эффект
 
|-
 
|-
 
| <code>!</code>
 
| <code>!</code>
| When prefixed to a context tag, indicates that an item must ''not'' have that tag.
+
| При добавлении префикса к тегу контекста указывает, что элемент ''отрицается''.
 
|-
 
|-
 
| <code>,</code>
 
| <code>,</code>
| Separates any number of required context tags. For example, <code>A, B, C</code> matches items that have ''all'' of those tags.
+
| Отделяет любое количество необходимых контекстных тегов. Например, <code>A, B, C</code> соответствует элементам, которые имеют ''все'' из этих тегов.
 
|-
 
|-
 
| <code>/</code>
 
| <code>/</code>
| Separates any number of alternate context tags. For example, <code>A/B/C</code> matches items that have ''at least one'' of those tags.
+
| Разделяет любое количество альтернативных контекстных тегов. Например, <code>A/B/C</code> соответствует элементам, у которых есть ''хотя бы один'' из этих тегов.
 
|}
 
|}
  
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.
+
Например, <code>!forage_item, category_vegetable/category_fruit, quality_gold</code> будет соответствовать предметам, не относящимся к кормовому золоту, которые являются фруктами или овощами.
  
 
==Смотри также==
 
==Смотри также==

Версия 10:57, 16 сентября 2021

Индекс

Robin building.png
“Предстоит ещё много работы...”
— Робин

Неполный перевод

Эта статья или её часть до сих пор не переведены на русский язык. Вы можете оказать помощь в переводе путем ее редактирования.
Последний раз редактировалось Shtompel в 2021-09-16 10:57:06.

Axe.png
Это заготовка статьи.

Статья помечена как незавершенная по следующим причинам:

  • Rewards are marked as "to do"

Задания являются более гибкой и настраиваемой заданий системой, разблокированной в конце игры. Задания могут быть добавлены в данные с такими параметрами, как продолжительность, повторяемость, цели и награды.

На этой странице объясняется, как игра хранит и использует специальные заказы. Это расширенное руководство для разработчиков модов.

Источник

Задания храняться в Content\Data\SpecialOrders.xnb, могут быть извлечены для редактирования. Вот исходные данные по состоянию на 1.5.1 для примера:

Данные 
{
  "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"
        }
      }
    ]
  }
}

Формат

Цель

Каждое задание может иметь любое количество целей данного типа.

Тип цели Описание
Collect Игрок должен получить предметы, соответствующие полю AcceptedContextTags. Эти предметы никогда не должны были находиться в инвентаре игрока. Это относится к любому способу сбора предметов (например, сбор урожая, убийство монстров, приготовление блюда и т.д.). Нет никаких ограничений на то, как предмет может быть собран; например, задание на изумруды будет в равной степени найден с драгоценными камнями, найденными в шахтах или произведенными в кристалляриуме.
Deliver Игрок должен отдать предметы, соответствующие полю AcceptedContextTags для данного персонажа. Не засчитывается в лимит подарков персонажа.
Fish Эквивалентно Collect, но только подсчитывает предметы, найденные во время рыбалки.
Gift Игрок должен отдать предметы, соответствующие полю AcceptedContextTags для данного персонажа. Это засчитывается в лимит подарков персонажа. Параметры могут включать минимальный уровень отношения к подарку.
JKScore Игрок должен достичь, по крайней мере, заданного количества очков в Джунимо Карт. Отслеживает наивысший балл, набранный во время действия задания.
ReachMineFloor Игрок должен достичь или превысить заданный этаж в шахте или Пещере Черепа (в зависимости от поля SkullCave) пока действует задание.
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.
Donate The player must add items that match the AcceptedContextTags field to a dropbox.
Slay The player must kill a minimum number of monsters of the given name while the special order is active.

Rewards

Each order can have any number of rewards of the given types.

Reward Description
Friendship Increases the amount of friendship with the requesting NPC. TODO: amount
Gems Rewards the farmer a set amount of Qi Gems.
Mail Sets a mail flag, which can be used to trigger custom events, dialogue, or other changes.
Money Rewards the farmer a set amount of money or a value that depends on the donated item.
ResetEvent TODO

Контекстные теги

Поля AcceptedContextTags определяют контекстные теги для необходимых элементов. Он состоит из строки следующего формата:

Синтаксис Эффект
! При добавлении префикса к тегу контекста указывает, что элемент отрицается.
, Отделяет любое количество необходимых контекстных тегов. Например, A, B, C соответствует элементам, которые имеют все из этих тегов.
/ Разделяет любое количество альтернативных контекстных тегов. Например, A/B/C соответствует элементам, у которых есть хотя бы один из этих тегов.

Например, !forage_item, category_vegetable/category_fruit, quality_gold будет соответствовать предметам, не относящимся к кормовому золоту, которые являются фруктами или овощами.

Смотри также