Make Comment field required for manual interactions

master
Liza 2024-10-12 15:59:21 +02:00
parent 11f901d60f
commit 4c2639ee91
Signed by: liza
GPG Key ID: 7199F8D727D55F67
6 changed files with 42 additions and 6 deletions

View File

@ -53,7 +53,8 @@
}, },
"TerritoryId": 614, "TerritoryId": 614,
"InteractionType": "Snipe", "InteractionType": "Snipe",
"Fly": true "Fly": true,
"Comment": "Snipe Namazu"
} }
] ]
}, },
@ -69,7 +70,8 @@
}, },
"TerritoryId": 614, "TerritoryId": 614,
"InteractionType": "Snipe", "InteractionType": "Snipe",
"Fly": true "Fly": true,
"Comment": "Snipe Namazu"
} }
] ]
}, },

View File

@ -51,7 +51,7 @@
}, },
"StopDistance": 0.5, "StopDistance": 0.5,
"TerritoryId": 960, "TerritoryId": 960,
"InteractionType": "WaitForManualProgress", "InteractionType": "Combat",
"EnemySpawnType": "AutoOnEnterArea", "EnemySpawnType": "AutoOnEnterArea",
"KillEnemyDataIds": [ "KillEnemyDataIds": [
14044 14044

View File

@ -45,7 +45,8 @@
"Z": -296.37604 "Z": -296.37604
}, },
"TerritoryId": 958, "TerritoryId": 958,
"InteractionType": "Interact" "InteractionType": "Snipe",
"Comment": "Snipe Magitek Colossi"
} }
] ]
}, },
@ -60,7 +61,7 @@
"Z": -299.36682 "Z": -299.36682
}, },
"TerritoryId": 958, "TerritoryId": 958,
"InteractionType": "Snipe" "InteractionType": "Interact"
} }
] ]
}, },

View File

@ -1275,6 +1275,30 @@
"ItemsToGather" "ItemsToGather"
] ]
} }
},
{
"if": {
"properties": {
"InteractionType": {
"anyOf": [
{
"const": "WaitForManualProgress"
},
{
"const": "Instruction"
},
{
"const": "Snipe"
}
]
}
}
},
"then": {
"required": [
"Comment"
]
}
} }
] ]
} }

View File

@ -144,7 +144,7 @@ internal sealed class QuestRegistry
private void ValidateQuests() private void ValidateQuests()
{ {
_questValidator.Validate(_quests.Values.Where(x => x.Source != Quest.ESource.Assembly)); _questValidator.Validate(_quests.Values.Where(x => x.Source != Quest.ESource.Assembly).ToList());
} }
private void LoadQuestFromStream(string fileName, Stream stream, Quest.ESource source) private void LoadQuestFromStream(string fileName, Stream stream, Quest.ESource source)

View File

@ -25,5 +25,14 @@ internal interface IQuestInfo
public string SimplifiedName => Name public string SimplifiedName => Name
.Replace(".", "", StringComparison.Ordinal) .Replace(".", "", StringComparison.Ordinal)
.Replace("*", "", StringComparison.Ordinal)
.Replace("\"", "", StringComparison.Ordinal)
.Replace("/", "", StringComparison.Ordinal)
.Replace("\\", "", StringComparison.Ordinal)
.Replace("<", "", StringComparison.Ordinal)
.Replace(">", "", StringComparison.Ordinal)
.Replace("|", "", StringComparison.Ordinal)
.Replace(":", "", StringComparison.Ordinal)
.Replace("?", "", StringComparison.Ordinal)
.TrimStart(SeIconChar.QuestSync.ToIconChar(), SeIconChar.QuestRepeatable.ToIconChar(), ' '); .TrimStart(SeIconChar.QuestSync.ToIconChar(), SeIconChar.QuestRepeatable.ToIconChar(), ' ');
} }