-Subproject commit 912a7b04ce180e337af9beeef2d1393b040c1ba8
+Subproject commit fde09c705b648f03c287814191a554f0a4b92cc4
 
                                 .AsSyntaxNodeOrToken(),
                             Assignment(nameof(GatheredItem.Collectability), gatheredItem.Collectability,
                                     emptyItem.Collectability)
-                                .AsSyntaxNodeOrToken(),
-                            Assignment(nameof(GatheredItem.QuestAcceptedAsClass),
-                                    gatheredItem.QuestAcceptedAsClass,
-                                    emptyItem.QuestAcceptedAsClass)
                                 .AsSyntaxNodeOrToken()))));
     }
 }
 
                             AssignmentList(nameof(QuestStep.RequiredQuestVariables),
                                     step.RequiredQuestVariables)
                                 .AsSyntaxNodeOrToken(),
+                            AssignmentList(nameof(QuestStep.RequiredCurrentJob),
+                                    step.RequiredCurrentJob)
+                                .AsSyntaxNodeOrToken(),
+                            AssignmentList(nameof(QuestStep.RequiredQuestAcceptedJob),
+                                    step.RequiredQuestAcceptedJob)
+                                .AsSyntaxNodeOrToken(),
                             AssignmentList(nameof(QuestStep.ItemsToGather),
                                 step.ItemsToGather),
                             AssignmentList(nameof(QuestStep.CompletionQuestVariablesFlags),
 
     {
       "Sequence": 255,
       "Steps": [
+        {
+          "Position": {
+            "X": -12.223117,
+            "Y": -2.0482793,
+            "Z": -145.75566
+          },
+          "TerritoryId": 141,
+          "InteractionType": "WalkTo"
+        },
         {
           "TerritoryId": 141,
           "InteractionType": "EquipRecommended"
         },
+        {
+          "DataId": 1001564,
+          "Position": {
+            "X": -9.689575,
+            "Y": -2.0480804,
+            "Z": -145.09808
+          },
+          "TerritoryId": 141,
+          "InteractionType": "PurchaseItem",
+          "PurchaseMenu": {
+            "ExcelSheet": "GilShop",
+            "Key": 262186
+          },
+          "ItemId": 2654,
+          "ItemCount": 1,
+          "RequiredCurrentJob": [
+            "DoW"
+          ],
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": false
+              }
+            }
+          }
+        },
+        {
+          "DataId": 1001564,
+          "Position": {
+            "X": -9.689575,
+            "Y": -2.0480804,
+            "Z": -145.09808
+          },
+          "TerritoryId": 141,
+          "InteractionType": "PurchaseItem",
+          "PurchaseMenu": {
+            "ExcelSheet": "GilShop",
+            "Key": 262186
+          },
+          "ItemId": 2655,
+          "ItemCount": 1,
+          "RequiredCurrentJob": [
+            "DoM"
+          ]
+        },
+        {
+          "TerritoryId": 141,
+          "InteractionType": "EquipItem",
+          "ItemId": 2654,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
+        {
+          "TerritoryId": 141,
+          "InteractionType": "EquipItem",
+          "ItemId": 2655,
+          "SkipConditions": {
+            "StepIf": {
+              "Item": {
+                "NotInInventory": true
+              }
+            }
+          }
+        },
         {
           "DataId": 1001447,
           "Position": {
             "Z": -148.51611
           },
           "TerritoryId": 141,
-          "InteractionType": "CompleteQuest",
-          "Comment": "All starting gear (except the hat) is ilvl 5 already"
+          "InteractionType": "CompleteQuest"
         }
       ]
     }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29517,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29543,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29518,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29544,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29519,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29545,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29520,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29546,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29521,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29547,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29522,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29548,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29523,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29549,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29524,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29550,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29525,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29551,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29526,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29552,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29527,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29553,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29528,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29554,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29529,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29555,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29530,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29556,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29531,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29557,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29532,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29558,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29533,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29559,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29534,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
+
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29560,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29535,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29561,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29536,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29562,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29513,
               "ItemCount": 1
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29539,
               "ItemCount": 1
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29514,
               "ItemCount": 1
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29540,
               "ItemCount": 1
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29515,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29541,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 817,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 29516,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 817,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 29542,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38281,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38305,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38282,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38306,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38284,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38308,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38283,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38307,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38285,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38309,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38286,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38310,
               "ItemCount": 3
             }
-          ],
-          "Fly": true
+          ]
         },
         {
           "DataId": 2013072,
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38287,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38311,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38288,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38312,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38289,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38313,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38290,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38314,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38291,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38315,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38292,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38316,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38293,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38317,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38294,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38318,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38295,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38319,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38296,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38320,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38297,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38321,
               "ItemCount": 3
             }
 
           "TerritoryId": 960,
           "InteractionType": "Gather",
           "AetheryteShortcut": "Ultima Thule - Reah Tahra",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38299,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "AetheryteShortcut": "Ultima Thule - Reah Tahra",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38323,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38298,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38322,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38276,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38300,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38277,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38301,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 960,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38278,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 960,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38302,
               "ItemCount": 3
             }
-          ],
-          "Fly": true
+          ]
         },
         {
           "DataId": 2013072,
 
         {
           "TerritoryId": 398,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38279,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 398,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38303,
               "ItemCount": 3
             }
 
         {
           "TerritoryId": 1073,
           "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Miner"
+          ],
           "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Miner",
               "ItemId": 38280,
               "ItemCount": 3
-            },
+            }
+          ]
+        },
+        {
+          "TerritoryId": 1073,
+          "InteractionType": "Gather",
+          "RequiredQuestAcceptedJob": [
+            "Botanist"
+          ],
+          "ItemsToGather": [
             {
-              "QuestAcceptedAsClass": "Botanist",
               "ItemId": 38304,
               "ItemCount": 3
             }
 
             }
           }
         },
+        "RequiredCurrentJob": {
+          "description": "Which class or job you are using whenever this step gets executed",
+          "type": "array",
+          "items": {
+            "$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/ClassJob"
+          }
+        },
+        "RequiredQuestAcceptedJob": {
+          "description": "Which class or job you were using when accepting this quest (e.g. for beast tribes)",
+          "type": "array",
+          "items": {
+            "$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/ClassJob"
+          }
+        },
         "DelaySecondsAtStart": {
           "description": "Time to wait before starting",
           "type": [
                       "type": "number",
                       "minimum": 0,
                       "maximum": 1000
-                    },
-                    "QuestAcceptedAsClass": {
-                      "type": "string",
-                      "enum": [
-                        "Miner",
-                        "Botanist"
-                      ]
                     }
                   },
                   "required": [
 
+++ /dev/null
-using System;
-using System.Text.Json;
-using System.Text.Json.Serialization;
-
-namespace Questionable.Model.Questing.Converter;
-
-internal sealed class ClassJobConverter : JsonConverter<uint>
-{
-    public override uint Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
-    {
-        if (reader.TokenType != JsonTokenType.String)
-            throw new JsonException();
-
-        return reader.GetString() switch
-        {
-            "Miner" => 16,
-            "Botanist" => 17,
-            _ => throw new JsonException("Unsupported value for classjob"),
-        };
-    }
-
-    public override void Write(Utf8JsonWriter writer, uint value, JsonSerializerOptions options)
-    {
-        throw new NotImplementedException();
-    }
-}
 
--- /dev/null
+using System.Collections.Generic;
+using Questionable.Model.Common.Converter;
+
+namespace Questionable.Model.Questing.Converter;
+
+internal sealed class ExtendedClassJobConverter() : EnumConverter<EExtendedClassJob>(Values)
+{
+    private static readonly Dictionary<EExtendedClassJob, string> Values = new()
+    {
+        { EExtendedClassJob.Gladiator, "Gladiator" },
+        { EExtendedClassJob.Pugilist, "Pugilist" },
+        { EExtendedClassJob.Marauder, "Marauder" },
+        { EExtendedClassJob.Lancer, "Lancer" },
+        { EExtendedClassJob.Archer, "Archer" },
+        { EExtendedClassJob.Conjurer, "Conjurer" },
+        { EExtendedClassJob.Thaumaturge, "Thaumaturge" },
+        { EExtendedClassJob.Carpenter, "Carpenter" },
+        { EExtendedClassJob.Blacksmith, "Blacksmith" },
+        { EExtendedClassJob.Armorer, "Armorer" },
+        { EExtendedClassJob.Goldsmith, "Goldsmith" },
+        { EExtendedClassJob.Leatherworker, "Leatherworker" },
+        { EExtendedClassJob.Weaver, "Weaver" },
+        { EExtendedClassJob.Alchemist, "Alchemist" },
+        { EExtendedClassJob.Culinarian, "Culinarian" },
+        { EExtendedClassJob.Miner, "Miner" },
+        { EExtendedClassJob.Botanist, "Botanist" },
+        { EExtendedClassJob.Fisher, "Fisher" },
+        { EExtendedClassJob.Paladin, "Paladin" },
+        { EExtendedClassJob.Monk, "Monk" },
+        { EExtendedClassJob.Warrior, "Warrior" },
+        { EExtendedClassJob.Dragoon, "Dragoon" },
+        { EExtendedClassJob.Bard, "Bard" },
+        { EExtendedClassJob.WhiteMage, "White Mage" },
+        { EExtendedClassJob.BlackMage, "Black Mage" },
+        { EExtendedClassJob.Arcanist, "Arcanist" },
+        { EExtendedClassJob.Summoner, "Summoner" },
+        { EExtendedClassJob.Scholar, "Scholar" },
+        { EExtendedClassJob.Rogue, "Rogue" },
+        { EExtendedClassJob.Ninja, "Ninja" },
+        { EExtendedClassJob.Machinist, "Machinist" },
+        { EExtendedClassJob.DarkKnight, "Dark Knight" },
+        { EExtendedClassJob.Astrologian, "Astrologian" },
+        { EExtendedClassJob.Samurai, "Samurai" },
+        { EExtendedClassJob.RedMage, "Red Mage" },
+        { EExtendedClassJob.BlueMage, "Blue Mage" },
+        { EExtendedClassJob.Gunbreaker, "Gunbreaker" },
+        { EExtendedClassJob.Dancer, "Dancer" },
+        { EExtendedClassJob.Reaper, "Reaper" },
+        { EExtendedClassJob.Sage, "Sage" },
+        { EExtendedClassJob.Viper, "Viper" },
+        { EExtendedClassJob.Pictomancer, "Pictomancer" },
+        { EExtendedClassJob.DoW, "DoW" },
+        { EExtendedClassJob.DoM, "DoM" },
+        { EExtendedClassJob.DoH, "DoH" },
+        { EExtendedClassJob.DoL, "DoL" },
+    };
+}
 
--- /dev/null
+using System.Text.Json.Serialization;
+using Questionable.Model.Questing.Converter;
+
+namespace Questionable.Model.Questing;
+
+[JsonConverter(typeof(ExtendedClassJobConverter))]
+public enum EExtendedClassJob
+{
+    Gladiator,
+    Pugilist,
+    Marauder,
+    Lancer,
+    Archer,
+    Conjurer,
+    Thaumaturge,
+    Carpenter,
+    Blacksmith,
+    Armorer,
+    Goldsmith,
+    Leatherworker,
+    Weaver,
+    Alchemist,
+    Culinarian,
+    Miner,
+    Botanist,
+    Fisher,
+    Paladin,
+    Monk,
+    Warrior,
+    Dragoon,
+    Bard,
+    WhiteMage,
+    BlackMage,
+    Arcanist,
+    Summoner,
+    Scholar,
+    Rogue,
+    Ninja,
+    Machinist,
+    DarkKnight,
+    Astrologian,
+    Samurai,
+    RedMage,
+    BlueMage,
+    Gunbreaker,
+    Dancer,
+    Reaper,
+    Sage,
+    Viper,
+    Pictomancer,
+    DoW,
+    DoM,
+    DoH,
+    DoL,
+}
 
     public uint AlternativeItemId { get; set; }
     public int ItemCount { get; set; }
     public ushort Collectability { get; set; }
-
-    /// <summary>
-    /// Either miner or botanist; null if it is irrelevant (prefers current class/job, then any unlocked ones).
-    /// </summary>
-    [JsonConverter(typeof(ClassJobConverter))]
-    public uint? QuestAcceptedAsClass { get; set; }
 }
 
     public SkipConditions? SkipConditions { get; set; }
 
     public List<List<QuestWorkValue>?> RequiredQuestVariables { get; set; } = new();
+    public List<EExtendedClassJob> RequiredCurrentJob { get; set; } = [];
+    public List<EExtendedClassJob> RequiredQuestAcceptedJob { get; set; } = [];
     public List<GatheredItem> ItemsToGather { get; set; } = [];
     public List<QuestWorkValue?> CompletionQuestVariablesFlags { get; set; } = [];
     public List<DialogueChoice> DialogueChoices { get; set; } = [];
 
         "[Solution Nine] Scanning Port Nine (Heritage Found)"
       ]
     },
+    "ClassJob": {
+      "type": "string",
+      "enum": [
+        "Gladiator",
+        "Pugilist",
+        "Marauder",
+        "Lancer",
+        "Archer",
+        "Conjurer",
+        "Thaumaturge",
+        "Carpenter",
+        "Blacksmith",
+        "Armorer",
+        "Goldsmith",
+        "Leatherworker",
+        "Weaver",
+        "Alchemist",
+        "Culinarian",
+        "Miner",
+        "Botanist",
+        "Fisher",
+        "Paladin",
+        "Monk",
+        "Warrior",
+        "Dragoon",
+        "Bard",
+        "White Mage",
+        "Black Mage",
+        "Arcanist",
+        "Summoner",
+        "Scholar",
+        "Rogue",
+        "Ninja",
+        "Machinist",
+        "Dark Knight",
+        "Astrologian",
+        "Samurai",
+        "Red Mage",
+        "Blue Mage",
+        "Gunbreaker",
+        "Dancer",
+        "Reaper",
+        "Sage",
+        "Viper",
+        "Pictomancer",
+        "DoW",
+        "DoM",
+        "DoH",
+        "DoL"
+      ]
+    },
     "CompletionFlags": {
       "type": "array",
       "description": "Quest Variables that dictate whether or not this step is skipped: null is don't check, positive values need to be set, negative values need to be unset",
 
             Prefix = SeIconChar.Hyadelyn,
             PrefixColor = 52,
             Name = name,
-            OnClicked = _ => StartGathering(npcId, itemId, quantityToGather, collectability, classJob),
+            OnClicked = _ => StartGathering(npcId, itemId, quantityToGather, collectability),
             IsEnabled = string.IsNullOrEmpty(lockedReasonn),
         });
     }
 
-    private void StartGathering(uint npcId, uint itemId, int quantity, ushort collectability, EClassJob classJob)
+    private void StartGathering(uint npcId, uint itemId, int quantity, ushort collectability)
     {
         var info = (SatisfactionSupplyInfo)_questData.GetAllByIssuerDataId(npcId)
             .Single(x => x is SatisfactionSupplyInfo);
                     ItemId = itemId,
                     ItemCount = quantity,
                     Collectability = collectability,
-                    QuestAcceptedAsClass = (uint)classJob,
                 }
             ];
             _questController.SetGatheringQuest(quest);
 
             foreach (var itemToGather in step.ItemsToGather)
             {
                 EClassJob currentClassJob = (EClassJob)clientState.LocalPlayer!.ClassJob.Id;
-                EClassJob classJob = currentClassJob;
-                if (itemToGather.QuestAcceptedAsClass != null)
-                {
-                    classJob = (EClassJob)itemToGather.QuestAcceptedAsClass.Value;
-                    if (!IsClassJobQuestWasAcceptedWith(quest.Id, classJob))
-                        continue;
-                }
-
-                if (!gatheringData.TryGetGatheringPointId(itemToGather.ItemId, classJob,
+                if (!gatheringData.TryGetGatheringPointId(itemToGather.ItemId, currentClassJob,
                         out GatheringPointId? gatheringPointId))
                     throw new TaskException($"No gathering point found for item {itemToGather.ItemId}");
 
                 if (!gatheringPointRegistry.TryGetGatheringPoint(gatheringPointId, out GatheringRoot? gatheringRoot))
                     throw new TaskException($"No path found for gathering point {gatheringPointId}");
 
-                if (classJob != currentClassJob)
-                {
-                    yield return new SwitchClassJob.Task(classJob);
-                }
-
                 if (HasRequiredItems(itemToGather))
                     continue;
 
             }
         }
 
-        private unsafe bool IsClassJobQuestWasAcceptedWith(ElementId questId, EClassJob expectedClassJob)
-        {
-            if (questId is not QuestId)
-                return true;
-
-            QuestWork* questWork = QuestManager.Instance()->GetQuestById(questId.Value);
-            if (questWork->AcceptClassJob != 0)
-                return (EClassJob)questWork->AcceptClassJob == expectedClassJob;
-
-            return true;
-        }
-
         private unsafe bool HasRequiredItems(GatheredItem itemToGather)
         {
             InventoryManager* inventoryManager = InventoryManager.Instance();
 
 using System;
+using System.Collections.Generic;
 using System.Linq;
 using System.Numerics;
 using Dalamud.Game.ClientState.Objects.Types;
 using FFXIVClientStructs.FFXIV.Client.Game;
 using FFXIVClientStructs.FFXIV.Client.Game.Object;
 using FFXIVClientStructs.FFXIV.Client.Game.UI;
+using LLib.GameData;
 using Microsoft.Extensions.Logging;
 using Questionable.Controller.Utils;
+using Questionable.Data;
 using Questionable.Functions;
 using Questionable.Model;
 using Questionable.Model.Common;
                 !QuestWorkUtils.HasCompletionFlags(step.CompletionQuestVariablesFlags) &&
                 step.RequiredQuestVariables.Count == 0 &&
                 step.PickUpQuestId == null &&
-                step.NextQuestId == null)
+                step.NextQuestId == null &&
+                step.RequiredCurrentJob.Count == 0 &&
+                step.RequiredQuestAcceptedJob.Count == 0)
                 return null;
 
             return new SkipTask(step, skipConditions ?? new(), quest.Id);
                     GameObject* gameObject = (GameObject*)target.Address;
                     if (!skipConditions.NotNamePlateIconId.Contains(gameObject->NamePlateIconId))
                     {
-                        logger.LogInformation("Skipping step, object has icon id {IconId}", gameObject->NamePlateIconId);
+                        logger.LogInformation("Skipping step, object has icon id {IconId}",
+                            gameObject->NamePlateIconId);
                         return true;
                     }
                 }
                         return true;
                     }
                 }
+
+                if (step is { RequiredQuestAcceptedJob.Count: > 0 })
+                {
+                    List<EClassJob> expectedJobs = step.RequiredQuestAcceptedJob
+                        .SelectMany(ClassJobUtils.AsIndividualJobs).ToList();
+                    EClassJob questJob = questWork.ClassJob;
+                    logger.LogInformation("Checking quest job {QuestJob} against {ExpectedJobs}", questJob,
+                        string.Join(",", expectedJobs));
+                    if (questJob != EClassJob.Adventurer && !expectedJobs.Contains(questJob))
+                    {
+                        logger.LogInformation("Skipping step, as quest was accepted on a different job");
+                        return true;
+                    }
+                }
+            }
+
+            if (step is { RequiredCurrentJob.Count: > 0 })
+            {
+                List<EClassJob> expectedJobs =
+                    step.RequiredCurrentJob.SelectMany(ClassJobUtils.AsIndividualJobs).ToList();
+                EClassJob currentJob = (EClassJob)clientState.LocalPlayer!.ClassJob.Id;
+                logger.LogInformation("Checking current job {CurrentJob} against {ExpectedJobs}", currentJob,
+                    string.Join(",", expectedJobs));
+                if (!expectedJobs.Contains(currentJob))
+                {
+                    logger.LogInformation("Skipping step, as step requires a different job");
+                    return true;
+                }
             }
 
             if (skipConditions.NearPosition is { } nearPosition &&
                 var position = clientState.LocalPlayer?.Position;
                 if (position != null &&
                     clientState.TerritoryType != 0 &&
-                    MatchesExtraCondition(skipConditions.ExtraCondition.Value, position.Value, clientState.TerritoryType))
+                    MatchesExtraCondition(skipConditions.ExtraCondition.Value, position.Value,
+                        clientState.TerritoryType))
                 {
                     logger.LogInformation("Skipping step, extra condition {} matches", skipConditions.ExtraCondition);
                     return true;
 
--- /dev/null
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using LLib.GameData;
+using Questionable.Model.Questing;
+
+namespace Questionable.Data;
+
+public static class ClassJobUtils
+{
+    public static IEnumerable<EClassJob> AsIndividualJobs(EExtendedClassJob classJob)
+    {
+        return classJob switch
+        {
+            EExtendedClassJob.Gladiator => [EClassJob.Gladiator],
+            EExtendedClassJob.Pugilist => [EClassJob.Pugilist],
+            EExtendedClassJob.Marauder => [EClassJob.Marauder],
+            EExtendedClassJob.Lancer => [EClassJob.Lancer],
+            EExtendedClassJob.Archer => [EClassJob.Archer],
+            EExtendedClassJob.Conjurer => [EClassJob.Conjurer],
+            EExtendedClassJob.Thaumaturge => [EClassJob.Thaumaturge],
+            EExtendedClassJob.Carpenter => [EClassJob.Carpenter],
+            EExtendedClassJob.Blacksmith => [EClassJob.Blacksmith],
+            EExtendedClassJob.Armorer => [EClassJob.Armorer],
+            EExtendedClassJob.Goldsmith => [EClassJob.Goldsmith],
+            EExtendedClassJob.Leatherworker => [EClassJob.Leatherworker],
+            EExtendedClassJob.Weaver => [EClassJob.Weaver],
+            EExtendedClassJob.Alchemist => [EClassJob.Alchemist],
+            EExtendedClassJob.Culinarian => [EClassJob.Culinarian],
+            EExtendedClassJob.Miner => [EClassJob.Miner],
+            EExtendedClassJob.Botanist => [EClassJob.Botanist],
+            EExtendedClassJob.Fisher => [EClassJob.Fisher],
+            EExtendedClassJob.Paladin => [EClassJob.Paladin],
+            EExtendedClassJob.Monk => [EClassJob.Monk],
+            EExtendedClassJob.Warrior => [EClassJob.Warrior],
+            EExtendedClassJob.Dragoon => [EClassJob.Dragoon],
+            EExtendedClassJob.Bard => [EClassJob.Bard],
+            EExtendedClassJob.WhiteMage => [EClassJob.WhiteMage],
+            EExtendedClassJob.BlackMage => [EClassJob.BlackMage],
+            EExtendedClassJob.Arcanist => [EClassJob.Arcanist],
+            EExtendedClassJob.Summoner => [EClassJob.Summoner],
+            EExtendedClassJob.Scholar => [EClassJob.Scholar],
+            EExtendedClassJob.Rogue => [EClassJob.Rogue],
+            EExtendedClassJob.Ninja => [EClassJob.Ninja],
+            EExtendedClassJob.Machinist => [EClassJob.Machinist],
+            EExtendedClassJob.DarkKnight => [EClassJob.DarkKnight],
+            EExtendedClassJob.Astrologian => [EClassJob.Astrologian],
+            EExtendedClassJob.Samurai => [EClassJob.Samurai],
+            EExtendedClassJob.RedMage => [EClassJob.RedMage],
+            EExtendedClassJob.BlueMage => [EClassJob.BlueMage],
+            EExtendedClassJob.Gunbreaker => [EClassJob.Gunbreaker],
+            EExtendedClassJob.Dancer => [EClassJob.Dancer],
+            EExtendedClassJob.Reaper => [EClassJob.Reaper],
+            EExtendedClassJob.Sage => [EClassJob.Sage],
+            EExtendedClassJob.Viper => [EClassJob.Viper],
+            EExtendedClassJob.Pictomancer => [EClassJob.Pictomancer],
+
+            EExtendedClassJob.DoW => Enum.GetValues<EClassJob>().Where(x => x.DealsPhysicalDamage()),
+            EExtendedClassJob.DoM => Enum.GetValues<EClassJob>().Where(x => x.DealsMagicDamage()),
+            EExtendedClassJob.DoH => Enum.GetValues<EClassJob>().Where(x => x.IsCrafter()),
+            EExtendedClassJob.DoL => Enum.GetValues<EClassJob>().Where(x => x.IsGatherer()),
+
+            _ => throw new ArgumentOutOfRangeException(nameof(classJob), classJob, null)
+        };
+    }
+}