forked from aly/qstbak
muffin v7.5.11
This commit is contained in:
parent
addf2d530f
commit
3102923ce2
522 changed files with 41082 additions and 211592 deletions
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
|
|
@ -11,494 +7,95 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class BasicSequenceValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<QuestSequence, bool> _003C_003E9__0_0;
|
||||
|
||||
public static Func<QuestSequence, byte> _003C_003E9__0_1;
|
||||
|
||||
public static Func<byte, bool> _003C_003E9__0_2;
|
||||
|
||||
public static Func<QuestSequence, bool> _003C_003E9__0_3;
|
||||
|
||||
internal bool _003CValidate_003Eb__0_0(QuestSequence x)
|
||||
{
|
||||
return _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == 0;
|
||||
}
|
||||
|
||||
internal byte _003CValidate_003Eb__0_1(QuestSequence x)
|
||||
{
|
||||
return _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x);
|
||||
}
|
||||
|
||||
internal bool _003CValidate_003Eb__0_2(byte x)
|
||||
{
|
||||
return x != byte.MaxValue;
|
||||
}
|
||||
|
||||
internal bool _003CValidate_003Eb__0_3(QuestSequence x)
|
||||
{
|
||||
return _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == byte.MaxValue;
|
||||
}
|
||||
|
||||
static byte _206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass0_0
|
||||
{
|
||||
public int i;
|
||||
|
||||
internal bool _003CValidate_003Eb__4(QuestSequence x)
|
||||
{
|
||||
return _200B_206E_200F_200B_206B_200C_206A_206F_206C_202B_200B_202E_202E_200D_200D_206F_206C_200C_200F_202E_200E_200E_206D_206D_206A_200B_202A_202B_206A_202B_202A_206C_206D_202B_206F_202C_206B_202E_206B_200E_202E(x) == i;
|
||||
}
|
||||
|
||||
static byte _200B_206E_200F_200B_206B_200C_206A_206F_206C_202B_200B_202E_202E_200D_200D_206F_206C_200C_200F_202E_200E_200E_206D_206D_206A_200B_202A_202B_206A_202B_202A_206C_206D_202B_206F_202C_206B_202E_206B_200E_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private _003C_003Ec__DisplayClass0_0 _003C_003E8__1;
|
||||
|
||||
private List<QuestSequence> _003Csequences_003E5__2;
|
||||
|
||||
private QuestSequence _003CfoundStart_003E5__3;
|
||||
|
||||
private List<QuestSequence>.Enumerator _003C_003E7__wrap3;
|
||||
|
||||
private int _003CmaxSequence_003E5__5;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _202D_202D_202E_206D_200D_206B_200E_200B_202E_200E_206C_206E_200B_202E_206A_202C_202C_202C_206F_200F_200F_200F_206C_202D_200D_200C_202C_200C_202D_206A_202A_202C_200E_206A_206E_206D_202E_202E_206E_202A_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? (-1108787515) : (-1108787514));
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1108787516;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
num2 = -1108787514;
|
||||
continue;
|
||||
case 2:
|
||||
if (num == 2)
|
||||
{
|
||||
num2 = -1108787515;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E8__1 = null;
|
||||
_003Csequences_003E5__2 = null;
|
||||
_003CfoundStart_003E5__3 = null;
|
||||
_003C_003E7__wrap3 = default(List<QuestSequence>.Enumerator);
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num;
|
||||
ValidationIssue validationIssue = default(ValidationIssue);
|
||||
QuestSequence current = default(QuestSequence);
|
||||
ValidationIssue validationIssue2 = default(ValidationIssue);
|
||||
QuestInfo questInfo = default(QuestInfo);
|
||||
switch (_003C_003E1__state)
|
||||
{
|
||||
default:
|
||||
num = -218365441;
|
||||
goto IL_002d;
|
||||
case 1:
|
||||
break;
|
||||
case 2:
|
||||
_003C_003E1__state = -3;
|
||||
num = -218365453;
|
||||
goto IL_002d;
|
||||
case 0:
|
||||
goto IL_01f4;
|
||||
case 3:
|
||||
goto IL_02ac;
|
||||
case 4:
|
||||
goto IL_0597;
|
||||
IL_002d:
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -218365443;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 22:
|
||||
goto IL_00ad;
|
||||
case 18:
|
||||
goto end_IL_0008;
|
||||
case 15:
|
||||
goto end_IL_002d;
|
||||
case 23:
|
||||
goto IL_014f;
|
||||
case 2:
|
||||
return false;
|
||||
case 6:
|
||||
goto IL_018f;
|
||||
case 4:
|
||||
{
|
||||
int num5 = _003C_003E8__1.i;
|
||||
_003C_003Ec__DisplayClass0_0 _003C_003Ec__DisplayClass0_ = _003C_003E8__1;
|
||||
num3 = 1;
|
||||
num4 = num5;
|
||||
_003C_003Ec__DisplayClass0_.i = (num4 | num3) + (num4 & num3);
|
||||
num = -218365456;
|
||||
break;
|
||||
}
|
||||
case 16:
|
||||
goto IL_01f4;
|
||||
case 17:
|
||||
_003C_003E2__current = validationIssue;
|
||||
_003C_003E1__state = 4;
|
||||
return true;
|
||||
case 1:
|
||||
goto IL_0289;
|
||||
case 3:
|
||||
goto IL_02ac;
|
||||
case 7:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _206B_206C_202D_206D_202B_202B_202E_202B_200C_206F_202A_200E_206B_202B_200F_200F_202E_202A_200C_200B_200F_200F_206F_206C_206B_206F_206F_202A_206E_202E_202A_206A_202B_206C_206B_200E_200D_206C_206A_206E_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_206E_200F_200C_206F_200D_200D_200F_202D_202C_206A_206D_202A_206C_200F_206C_200B_202A_200B_206F_200E_206E_206F_206C_202B_200F_206E_202B_202E_200E_206B_200C_202E_202E_200C_202B_200E_202A_202C_202B_200F_202E(current), null),
|
||||
Type = EIssueType.InstantQuestWithMultipleSteps,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1806487031)
|
||||
};
|
||||
_003C_003E1__state = 2;
|
||||
return true;
|
||||
case 20:
|
||||
goto IL_0340;
|
||||
case 5:
|
||||
_003C_003E2__current = validationIssue2;
|
||||
_003C_003E1__state = 3;
|
||||
return true;
|
||||
case 9:
|
||||
goto IL_03c4;
|
||||
case 10:
|
||||
_003CmaxSequence_003E5__5 = (from x in _003Csequences_003E5__2
|
||||
select _003C_003Ec._206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) into x
|
||||
where x != byte.MaxValue
|
||||
select x).Max();
|
||||
_003C_003E8__1 = new _003C_003Ec__DisplayClass0_0();
|
||||
_003C_003E8__1.i = 0;
|
||||
num = -218365456;
|
||||
break;
|
||||
case 11:
|
||||
num = -218365441;
|
||||
break;
|
||||
case 14:
|
||||
goto IL_0484;
|
||||
case 13:
|
||||
goto IL_04ac;
|
||||
case 8:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _206B_206C_202D_206D_202B_202B_202E_202B_200C_206F_202A_200E_206B_202B_200F_200F_202E_202A_200C_200B_200F_200F_206F_206C_206B_206F_206F_202A_206E_202E_202A_206A_202B_206C_206B_200E_200D_206C_206A_206E_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(0, null),
|
||||
Type = EIssueType.MissingSequence0,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1619010830)
|
||||
};
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
case 21:
|
||||
_003C_003E7__wrap3 = _003Csequences_003E5__2.GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num = -218365453;
|
||||
break;
|
||||
case 19:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap3 = default(List<QuestSequence>.Enumerator);
|
||||
num = -218365443;
|
||||
break;
|
||||
case 12:
|
||||
goto IL_0597;
|
||||
case 0:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_04ac:
|
||||
num = ((_003C_003E8__1.i <= _003CmaxSequence_003E5__5) ? (-218365463) : (-218365461));
|
||||
continue;
|
||||
IL_014f:
|
||||
num = ((!(quest.Info is QuestInfo)) ? (-218365443) : (-218365449));
|
||||
continue;
|
||||
IL_0340:
|
||||
List<QuestSequence> foundSequences = _003Csequences_003E5__2.Where((QuestSequence x) => _003C_003Ec__DisplayClass0_0._200B_206E_200F_200B_206B_200C_206A_206F_206C_202B_200B_202E_202E_200D_200D_206F_206C_200C_200F_202E_200E_200E_206D_206D_206A_200B_202A_202B_206A_202B_202A_206C_206D_202B_206F_202C_206B_202E_206B_200E_202E(x) == _003C_003E8__1.i).ToList();
|
||||
validationIssue2 = ValidateSequences(quest, _003C_003E8__1.i, foundSequences);
|
||||
num = ((!(validationIssue2 != null)) ? (-218365447) : (-218365448));
|
||||
continue;
|
||||
IL_0484:
|
||||
num = (_003C_003E7__wrap3.MoveNext() ? (-218365452) : (-218365458));
|
||||
continue;
|
||||
IL_00ad:
|
||||
_003C_003E8__1 = null;
|
||||
List<QuestSequence> foundSequences2 = _003Csequences_003E5__2.Where((QuestSequence x) => _003C_003Ec._206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == byte.MaxValue).ToList();
|
||||
validationIssue = ValidateSequences(quest, 255, foundSequences2);
|
||||
num = ((!(validationIssue != null)) ? (-218365443) : (-218365460));
|
||||
continue;
|
||||
IL_018f:
|
||||
questInfo = quest.Info as QuestInfo;
|
||||
num = ((questInfo == null) ? (-218365462) : (-218365444));
|
||||
continue;
|
||||
IL_03c4:
|
||||
current = _003C_003E7__wrap3.Current;
|
||||
num = ((current == _003CfoundStart_003E5__3) ? (-218365453) : (-218365446));
|
||||
continue;
|
||||
IL_0289:
|
||||
num = ((!questInfo.CompletesInstantly) ? (-218365462) : (-218365464));
|
||||
continue;
|
||||
end_IL_002d:
|
||||
break;
|
||||
}
|
||||
goto case 2;
|
||||
IL_0597:
|
||||
_003C_003E1__state = -1;
|
||||
num = -218365443;
|
||||
goto IL_002d;
|
||||
IL_02ac:
|
||||
_003C_003E1__state = -1;
|
||||
num = -218365447;
|
||||
goto IL_002d;
|
||||
IL_01f4:
|
||||
_003C_003E1__state = -1;
|
||||
_003Csequences_003E5__2 = _200C_200F_200F_202E_206E_202D_206F_202A_200B_200B_206F_206B_206A_206E_202B_200D_200D_200E_200E_206B_206C_200B_206A_206E_200E_202D_202E_202E_202C_206F_202C_202E_206C_200C_206C_202B_206E_202E_200C_200E_202E(quest.Root);
|
||||
_003CfoundStart_003E5__3 = _003Csequences_003E5__2.FirstOrDefault((QuestSequence x) => _003C_003Ec._206E_206E_206E_206C_206C_202D_200F_206A_202E_202D_206A_206E_202A_202D_200E_200B_206B_202E_200B_206A_202A_202C_202A_206E_202D_206C_202C_200D_206D_200E_200B_206E_200B_206D_206C_206D_206B_202A_200D_200F_202E(x) == 0);
|
||||
num = ((_003CfoundStart_003E5__3 != null) ? (-218365445) : (-218365451));
|
||||
goto IL_002d;
|
||||
end_IL_0008:
|
||||
break;
|
||||
}
|
||||
_003C_003E1__state = -1;
|
||||
return false;
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
((IDisposable)_003C_003E7__wrap3/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _200E_200E_206C_202A_206E_200B_202A_200C_200D_202E_200B_206A_202C_200D_202D_206E_202D_206B_206C_206A_200D_200E_206F_206A_200C_202B_206B_206E_202C_202C_206A_202C_202A_202B_206E_200D_206B_202E_200C_206D_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? (-1853104470) : (-1853104472));
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1853104471;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 4:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _202D_202D_202E_206D_200D_206B_200E_200B_202E_200E_206C_206E_200B_202E_206A_202C_202C_202C_206F_200F_200F_200F_206C_202D_200D_200C_202C_200C_202D_206A_202A_202C_200E_206A_206E_206D_202E_202E_206E_202A_202E()) ? (-1853104470) : (-1853104469));
|
||||
break;
|
||||
case 2:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = -1853104467;
|
||||
break;
|
||||
case 0:
|
||||
num = -1853104472;
|
||||
break;
|
||||
case 3:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = -1853104467;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _202D_202D_202E_206D_200D_206B_200E_200B_202E_200E_206C_206E_200B_202E_206A_202C_202C_202C_206F_200F_200F_200F_206C_202D_200D_200C_202C_200C_202D_206A_202A_202C_200E_206A_206E_206D_202E_202E_206E_202A_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static List<QuestSequence> _200C_200F_200F_202E_206E_202D_206F_202A_200B_200B_206F_206B_206A_206E_202B_200D_200D_200E_200E_206B_206C_200B_206A_206E_200E_202D_202E_202E_202C_206F_202C_202E_206C_200C_206C_202B_206E_202E_200C_200E_202E(QuestRoot P_0)
|
||||
{
|
||||
return P_0.QuestSequence;
|
||||
}
|
||||
|
||||
static string _206B_206C_202D_206D_202B_202B_202E_202B_200C_206F_202A_200E_206B_202B_200F_200F_202E_202A_200C_200B_200F_200F_206F_206C_206B_206F_206F_202A_206E_202E_202A_206A_202B_206C_206B_200E_200D_206C_206A_206E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static byte _206E_200F_200C_206F_200D_200D_200F_202D_202C_206A_206D_202A_206C_200F_206C_200B_202A_200B_206F_200E_206E_206F_206C_202B_200F_206E_202B_202E_200E_206B_200C_202E_202E_200C_202B_200E_202A_202C_202B_200F_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static NotSupportedException _200E_200E_206C_202A_206E_200B_202A_200C_200D_202E_200B_206A_202C_200D_202D_206E_202D_206B_206C_206A_200D_200E_206F_206A_200C_202B_206B_206E_202C_202C_206A_202C_202A_202B_206E_200D_206B_202E_200C_206D_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__0))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__0(-2)
|
||||
List<QuestSequence> sequences = quest.Root.QuestSequence;
|
||||
QuestSequence foundStart = sequences.FirstOrDefault((QuestSequence x) => x.Sequence == 0);
|
||||
if (foundStart == null)
|
||||
{
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private static ValidationIssue? ValidateSequences(Quest quest, int sequenceNo, List<QuestSequence> foundSequences)
|
||||
{
|
||||
int num = ((foundSequences.Count != 0) ? (-2063346227) : (-2063346230));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2063346231;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
case 0:
|
||||
num = -2063346230;
|
||||
break;
|
||||
case 3:
|
||||
return new ValidationIssue
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(0, null),
|
||||
Type = EIssueType.MissingSequence0,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Missing quest start"
|
||||
};
|
||||
}
|
||||
else if (quest.Info is QuestInfo { CompletesInstantly: not false })
|
||||
{
|
||||
foreach (QuestSequence item in sequences)
|
||||
{
|
||||
if (item != foundStart)
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _206D_206D_206D_206D_202B_202D_202C_202A_206C_206A_206C_202B_206E_200B_202E_200C_202C_206E_206B_202A_206F_200F_206D_206F_202D_206F_200E_206B_206D_200C_202A_200B_202C_200B_202B_202D_206A_206E_202D_202B_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null),
|
||||
Type = EIssueType.MissingSequence,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1578841753)
|
||||
};
|
||||
case 4:
|
||||
num = ((foundSequences.Count < 2) ? (-2063346229) : (-2063346232));
|
||||
break;
|
||||
case 1:
|
||||
return new ValidationIssue
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(item.Sequence, null),
|
||||
Type = EIssueType.InstantQuestWithMultipleSteps,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Instant quest should not have any sequences after the start"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(quest.Info is QuestInfo))
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
int maxSequence = (from x in sequences
|
||||
select x.Sequence into x
|
||||
where x != byte.MaxValue
|
||||
select x).Max();
|
||||
int i;
|
||||
for (i = 0; i <= maxSequence; i++)
|
||||
{
|
||||
List<QuestSequence> foundSequences = sequences.Where((QuestSequence x) => x.Sequence == i).ToList();
|
||||
ValidationIssue validationIssue = ValidateSequences(quest, i, foundSequences);
|
||||
if (validationIssue != null)
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _206D_206D_206D_206D_202B_202D_202C_202A_206C_206A_206C_202B_206E_200B_202E_200C_202C_206E_206B_202A_206F_200F_206D_206F_202D_206F_200E_206B_206D_200C_202A_200B_202C_200B_202B_202D_206A_206E_202D_202B_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null),
|
||||
Type = EIssueType.DuplicateSequence,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-312193419)
|
||||
};
|
||||
case 2:
|
||||
return null;
|
||||
yield return validationIssue;
|
||||
}
|
||||
}
|
||||
List<QuestSequence> foundSequences2 = sequences.Where((QuestSequence x) => x.Sequence == byte.MaxValue).ToList();
|
||||
ValidationIssue validationIssue2 = ValidateSequences(quest, 255, foundSequences2);
|
||||
if (validationIssue2 != null)
|
||||
{
|
||||
yield return validationIssue2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static string _206D_206D_206D_206D_202B_202D_202C_202A_206C_206A_206C_202B_206E_200B_202E_200C_202C_206E_206B_202A_206F_200F_206D_206F_202D_206F_200E_206B_206D_200C_202A_200B_202C_200B_202B_202D_206A_206E_202D_202B_202E(object P_0)
|
||||
private static ValidationIssue? ValidateSequences(Quest quest, int sequenceNo, List<QuestSequence> foundSequences)
|
||||
{
|
||||
return P_0.ToString();
|
||||
if (foundSequences.Count == 0)
|
||||
{
|
||||
return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null),
|
||||
Type = EIssueType.MissingSequence,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Missing sequence"
|
||||
};
|
||||
}
|
||||
if (foundSequences.Count >= 2)
|
||||
{
|
||||
return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)sequenceNo, null),
|
||||
Type = EIssueType.DuplicateSequence,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Duplicate sequence"
|
||||
};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Controller.Utils;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
|
@ -13,523 +9,38 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class CompletionFlagsValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<QuestStep, long> _003C_003E9__0_0;
|
||||
|
||||
internal long _003CValidate_003Eb__0_0(QuestStep x)
|
||||
{
|
||||
_003C_003Ec__DisplayClass0_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass0_0
|
||||
{
|
||||
x = x
|
||||
};
|
||||
int num = ((!QuestWorkUtils.HasCompletionFlags(_202E_206D_202E_200E_202B_200E_202A_202B_206C_200B_200E_200D_200B_200C_206B_206B_206E_206B_202E_202E_200F_200C_202B_200F_200F_200B_202C_206F_202E_202A_206A_202B_200F_200F_202A_200C_206F_200B_202D_200E_202E(CS_0024_003C_003E8__locals2.x))) ? 1047291959 : 1047291956);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1047291957;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
return 0L;
|
||||
case 1:
|
||||
return _202B_202E_206B_206B_200C_206D_202A_202B_200B_206B_206B_200D_200F_202A_206D_200F_206F_200B_206D_202B_200E_206D_200C_202C_206C_200E_200B_202A_202B_200C_200F_200B_200D_202B_200D_202C_206C_200F_206E_206D_202E(_200D_200F_202E_200F_200C_202D_202E_200E_202A_200B_200B_200E_206A_206D_206E_200C_202A_200D_202A_206D_202C_200E_206F_206E_206E_202A_202D_206F_202C_200E_206E_206E_200E_206C_202D_206F_206D_206B_200F_200E_202E(0, 6).Select(delegate(int y)
|
||||
{
|
||||
QuestWorkValue questWorkValue = _003C_003Ec__DisplayClass0_0._200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(CS_0024_003C_003E8__locals2.x)[y];
|
||||
int num5 = ((questWorkValue != null) ? 1457577313 : 1457577314);
|
||||
while (true)
|
||||
{
|
||||
int num6 = num5;
|
||||
int num7 = 1457577315;
|
||||
int num8 = num6;
|
||||
switch ((num8 | num7) - (num8 & num7))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0056;
|
||||
case 2:
|
||||
return (long)_003C_003Ec__DisplayClass0_0._200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E((ulong)(_003C_003Ec__DisplayClass0_0._202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(questWorkValue).GetValueOrDefault() * 16 + _003C_003Ec__DisplayClass0_0._200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(questWorkValue).GetValueOrDefault()), 8 * y);
|
||||
case 1:
|
||||
return 0L;
|
||||
}
|
||||
continue;
|
||||
IL_0056:
|
||||
num5 = 1457577314;
|
||||
}
|
||||
}));
|
||||
case 0:
|
||||
goto IL_007e;
|
||||
}
|
||||
continue;
|
||||
IL_007e:
|
||||
num = 1047291956;
|
||||
}
|
||||
}
|
||||
|
||||
static List<QuestWorkValue> _202E_206D_202E_200E_202B_200E_202A_202B_206C_200B_200E_200D_200B_200C_206B_206B_206E_206B_202E_202E_200F_200C_202B_200F_200F_200B_202C_206F_202E_202A_206A_202B_200F_200F_202A_200C_206F_200B_202D_200E_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.CompletionQuestVariablesFlags;
|
||||
}
|
||||
|
||||
static IEnumerable<int> _200D_200F_202E_200F_200C_202D_202E_200E_202A_200B_200B_200E_206A_206D_206E_200C_202A_200D_202A_206D_202C_200E_206F_206E_206E_202A_202D_206F_202C_200E_206E_206E_200E_206C_202D_206F_206D_206B_200F_200E_202E(int P_0, int P_1)
|
||||
{
|
||||
return Enumerable.Range(P_0, P_1);
|
||||
}
|
||||
|
||||
static long _202B_202E_206B_206B_200C_206D_202A_202B_200B_206B_206B_200D_200F_202A_206D_200F_206F_200B_206D_202B_200E_206D_200C_202C_206C_200E_200B_202A_202B_200C_200F_200B_200D_202B_200D_202C_206C_200F_206E_206D_202E(IEnumerable<long> P_0)
|
||||
{
|
||||
return P_0.Sum();
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass0_0
|
||||
{
|
||||
public QuestStep x;
|
||||
|
||||
internal long _003CValidate_003Eb__1(int y)
|
||||
{
|
||||
QuestWorkValue questWorkValue = _200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(x)[y];
|
||||
int num = ((questWorkValue != null) ? 1457577313 : 1457577314);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1457577315;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0056;
|
||||
case 2:
|
||||
return (long)_200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E((ulong)(_202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(questWorkValue).GetValueOrDefault() * 16 + _200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(questWorkValue).GetValueOrDefault()), 8 * y);
|
||||
case 1:
|
||||
return 0L;
|
||||
}
|
||||
continue;
|
||||
IL_0056:
|
||||
num = 1457577314;
|
||||
}
|
||||
}
|
||||
|
||||
static List<QuestWorkValue> _200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.CompletionQuestVariablesFlags;
|
||||
}
|
||||
|
||||
static byte? _202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(QuestWorkValue P_0)
|
||||
{
|
||||
return P_0.High;
|
||||
}
|
||||
|
||||
static byte? _200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(QuestWorkValue P_0)
|
||||
{
|
||||
return P_0.Low;
|
||||
}
|
||||
|
||||
static ulong _200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E(ulong P_0, int P_1)
|
||||
{
|
||||
return BitOperations.RotateLeft(P_0, P_1);
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass0_1
|
||||
{
|
||||
public long flags;
|
||||
|
||||
internal bool _003CValidate_003Eb__2(long x)
|
||||
{
|
||||
return x == flags;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private IEnumerator<QuestSequence> _003C_003E7__wrap1;
|
||||
|
||||
private QuestSequence _003Csequence_003E5__3;
|
||||
|
||||
private List<long> _003CmappedCompletionFlags_003E5__4;
|
||||
|
||||
private int _003Ci_003E5__5;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _200D_200B_200C_206D_200D_202E_200D_200F_206F_202B_206A_206C_202A_206B_206D_200B_202A_200F_206B_200D_202B_202B_206F_200E_200C_206A_202C_206A_200B_202E_200C_202E_200D_206E_206C_206C_206E_200F_200E_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? 403293009 : 403293008);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 403293009;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 2:
|
||||
num2 = 403293008;
|
||||
continue;
|
||||
case 1:
|
||||
if (num == 1)
|
||||
{
|
||||
num2 = 403293009;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = null;
|
||||
_003Csequence_003E5__3 = null;
|
||||
_003CmappedCompletionFlags_003E5__4 = null;
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == 0) ? 107528743 : 107528748);
|
||||
_003C_003Ec__DisplayClass0_1 _003C_003Ec__DisplayClass0_ = default(_003C_003Ec__DisplayClass0_1);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 107528743;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 13:
|
||||
num2 = 107528748;
|
||||
break;
|
||||
case 10:
|
||||
{
|
||||
int num8 = _003Ci_003E5__5;
|
||||
num4 = 1;
|
||||
num5 = num8;
|
||||
int num9 = num5 ^ num4;
|
||||
int num10 = num5 & num4;
|
||||
int num11 = num9 + (num10 + num10);
|
||||
_003Ci_003E5__5 = num11;
|
||||
num2 = 107528751;
|
||||
break;
|
||||
}
|
||||
case 8:
|
||||
num2 = ((_003Ci_003E5__5 < _206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(_003Csequence_003E5__3).Count) ? 107528736 : 107528741);
|
||||
break;
|
||||
case 6:
|
||||
_003C_003E7__wrap1 = quest.AllSequences().GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = 107528738;
|
||||
break;
|
||||
case 2:
|
||||
_003CmappedCompletionFlags_003E5__4 = null;
|
||||
_003Csequence_003E5__3 = null;
|
||||
num2 = 107528738;
|
||||
break;
|
||||
case 5:
|
||||
num2 = (_202B_202D_200C_206B_206E_200C_206C_202E_206C_200F_202D_206E_200D_206B_202C_206C_206A_202A_200C_202D_206E_206C_206C_206E_200C_200B_200E_202A_202D_202D_206A_202D_206F_206F_206B_200E_206F_200C_206C_206D_202E((IEnumerator)_003C_003E7__wrap1) ? 107528747 : 107528739);
|
||||
break;
|
||||
case 7:
|
||||
_003C_003Ec__DisplayClass0_ = new _003C_003Ec__DisplayClass0_1
|
||||
{
|
||||
flags = _003CmappedCompletionFlags_003E5__4[_003Ci_003E5__5]
|
||||
};
|
||||
num2 = ((_003C_003Ec__DisplayClass0_.flags == 0L) ? 107528749 : 107528742);
|
||||
break;
|
||||
case 11:
|
||||
num2 = ((num == 1) ? 107528745 : 107528740);
|
||||
break;
|
||||
case 15:
|
||||
return false;
|
||||
case 0:
|
||||
_003C_003E1__state = -1;
|
||||
num2 = ((_202A_206F_206D_202E_206F_202B_200B_206C_200B_206C_202C_202B_200F_202A_206C_206D_206A_202E_202E_202E_200F_202B_202E_200B_206A_206E_206F_200E_200B_202B_206D_202A_202B_200B_202B_202D_202B_206E_202B_206B_202E(quest.Id) != 5149) ? 107528737 : 107528744);
|
||||
break;
|
||||
case 14:
|
||||
_003C_003E1__state = -3;
|
||||
num2 = 107528749;
|
||||
break;
|
||||
case 9:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _202D_200B_202B_206B_200B_200F_206B_200C_200C_200C_200C_206C_206B_202C_202D_200B_206B_206B_202B_200C_206C_206C_206F_200E_202D_200F_202C_206B_206C_202E_202E_202B_202A_200F_200D_200C_202E_202B_202A_206D_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_202C_202C_206D_202A_206F_206B_206B_200C_206A_206D_202D_200F_200D_200E_206D_206F_202C_200E_206D_206E_202B_202E_202A_202A_200B_206A_206A_206A_206C_202B_200D_202B_200D_202C_202A_200C_200C_200F_200C_202E(_003Csequence_003E5__3), _003Ci_003E5__5),
|
||||
Type = EIssueType.DuplicateCompletionFlags,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = _206F_200C_206C_202E_200D_206C_202D_206F_200B_206E_202C_206D_202B_206E_206E_200E_206E_206F_200E_202C_200E_200C_202E_202C_202A_202A_206E_202E_206E_206F_200E_200E_206F_200B_202A_206C_206E_200F_202B_200E_202E(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1906420188), string.Join(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1403263077), _200C_202E_202C_202B_202A_202A_206F_200C_200B_200B_206A_200E_200C_202D_200C_206C_206A_202B_200C_202D_200C_202D_206A_206A_202A_200F_206F_200C_206E_202C_202B_200B_202A_200B_206E_200C_206C_202C_200F_206E_202E(_206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(_003Csequence_003E5__3)[_003Ci_003E5__5])))
|
||||
};
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
case 12:
|
||||
_003Csequence_003E5__3 = _003C_003E7__wrap1.Current;
|
||||
_003CmappedCompletionFlags_003E5__4 = _206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(_003Csequence_003E5__3).Select(delegate(QuestStep x)
|
||||
{
|
||||
_003C_003Ec__DisplayClass0_0 CS_0024_003C_003E8__locals2 = new _003C_003Ec__DisplayClass0_0
|
||||
{
|
||||
x = x
|
||||
};
|
||||
int num12 = ((!QuestWorkUtils.HasCompletionFlags(_003C_003Ec._202E_206D_202E_200E_202B_200E_202A_202B_206C_200B_200E_200D_200B_200C_206B_206B_206E_206B_202E_202E_200F_200C_202B_200F_200F_200B_202C_206F_202E_202A_206A_202B_200F_200F_202A_200C_206F_200B_202D_200E_202E(CS_0024_003C_003E8__locals2.x))) ? 1047291959 : 1047291956);
|
||||
while (true)
|
||||
{
|
||||
int num13 = num12;
|
||||
int num14 = 1047291957;
|
||||
int num15 = num13;
|
||||
switch ((num15 | num14) - (num15 & num14))
|
||||
{
|
||||
case 2:
|
||||
return 0L;
|
||||
case 1:
|
||||
return _003C_003Ec._202B_202E_206B_206B_200C_206D_202A_202B_200B_206B_206B_200D_200F_202A_206D_200F_206F_200B_206D_202B_200E_206D_200C_202C_206C_200E_200B_202A_202B_200C_200F_200B_200D_202B_200D_202C_206C_200F_206E_206D_202E(_003C_003Ec._200D_200F_202E_200F_200C_202D_202E_200E_202A_200B_200B_200E_206A_206D_206E_200C_202A_200D_202A_206D_202C_200E_206F_206E_206E_202A_202D_206F_202C_200E_206E_206E_200E_206C_202D_206F_206D_206B_200F_200E_202E(0, 6).Select(delegate(int y)
|
||||
{
|
||||
QuestWorkValue questWorkValue = _003C_003Ec__DisplayClass0_0._200D_200B_206D_206B_200B_202C_202E_202B_206C_206E_206E_206C_206F_200B_206A_206D_200C_200B_200F_202C_200D_202D_200D_200D_206E_202E_206B_200B_200E_206B_206A_200D_202B_206A_202D_206E_202B_200D_206E_206D_202E(CS_0024_003C_003E8__locals2.x)[y];
|
||||
int num16 = ((questWorkValue != null) ? 1457577313 : 1457577314);
|
||||
while (true)
|
||||
{
|
||||
int num17 = num16;
|
||||
int num18 = 1457577315;
|
||||
int num19 = num17;
|
||||
switch ((num19 | num18) - (num19 & num18))
|
||||
{
|
||||
case 0:
|
||||
goto IL_0056;
|
||||
case 2:
|
||||
return (long)_003C_003Ec__DisplayClass0_0._200C_206F_202B_202D_206C_202A_202B_200C_206B_206E_202D_206C_202D_206E_202D_200B_202D_200E_206C_206C_200F_202E_206D_202C_200F_202D_206C_202E_206E_200C_206C_202C_202E_200E_206A_200E_202D_206A_202A_200D_202E((ulong)(_003C_003Ec__DisplayClass0_0._202D_202C_206D_206D_202A_206E_206A_206D_206B_206A_202D_202D_202E_202A_206C_200B_202D_202C_202A_206E_200E_200C_200E_202E_206C_202E_206A_202E_202B_202B_200F_200E_200B_200D_202B_202A_200F_202C_206D_206F_202E(questWorkValue).GetValueOrDefault() * 16 + _003C_003Ec__DisplayClass0_0._200C_202A_200D_200E_202B_206F_206D_206C_206B_200E_202C_206D_202A_200E_202B_202E_202D_206D_206D_206E_200F_200F_202A_206A_200D_206A_206D_206C_206F_202A_202D_206B_206A_206D_202B_200E_202A_200B_202C_202E(questWorkValue).GetValueOrDefault()), 8 * y);
|
||||
case 1:
|
||||
return 0L;
|
||||
}
|
||||
continue;
|
||||
IL_0056:
|
||||
num16 = 1457577314;
|
||||
}
|
||||
}));
|
||||
case 0:
|
||||
goto IL_007e;
|
||||
}
|
||||
continue;
|
||||
IL_007e:
|
||||
num12 = 1047291956;
|
||||
}
|
||||
}).ToList();
|
||||
_003Ci_003E5__5 = 0;
|
||||
num2 = 107528751;
|
||||
break;
|
||||
case 1:
|
||||
num2 = ((_003CmappedCompletionFlags_003E5__4.Count(_003C_003Ec__DisplayClass0_._003CValidate_003Eb__2) < 2) ? 107528749 : 107528750);
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 4:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
int num = ((_003C_003E7__wrap1 == null) ? (-2045904747) : (-2045904746));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2045904745;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = -2045904746;
|
||||
break;
|
||||
case 1:
|
||||
_200F_206E_206F_202D_200B_202B_206A_202E_202E_200D_202D_200F_202D_202C_202B_202C_200F_202D_206E_202C_200D_200F_206D_200C_200F_200C_206D_202A_206A_202A_200C_200D_202D_200C_200C_200C_200F_200B_200D_200E_202E((IDisposable)_003C_003E7__wrap1);
|
||||
num = -2045904747;
|
||||
break;
|
||||
case 2:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _206D_206B_206A_202B_206C_200C_200C_206C_202D_200F_202A_200F_206C_200D_206E_206C_206C_200B_206A_200B_202D_202C_206F_206D_200B_200B_200E_200B_202D_206E_202A_206D_200E_206A_200F_202C_202D_202C_206E_202E_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? (-2052019382) : (-2052019379));
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -2052019383;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 3:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = -2052019381;
|
||||
break;
|
||||
case 4:
|
||||
num = ((_003C_003El__initialThreadId != _200D_200B_200C_206D_200D_202E_200D_200F_206F_202B_206A_206C_202A_206B_206D_200B_202A_200F_206B_200D_202B_202B_206F_200E_200C_206A_202C_206A_200B_202E_200C_202E_200D_206E_206C_206C_206E_200F_200E_202E()) ? (-2052019382) : (-2052019384));
|
||||
break;
|
||||
case 1:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = -2052019381;
|
||||
break;
|
||||
case 0:
|
||||
num = -2052019379;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _200D_200B_200C_206D_200D_202E_200D_200F_206F_202B_206A_206C_202A_206B_206D_200B_202A_200F_206B_200D_202B_202B_206F_200E_200C_206A_202C_206A_200B_202E_200C_202E_200D_206E_206C_206C_206E_200F_200E_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static ushort _202A_206F_206D_202E_206F_202B_200B_206C_200B_206C_202C_202B_200F_202A_206C_206D_206A_202E_202E_202E_200F_202B_202E_200B_206A_206E_206F_200E_200B_202B_206D_202A_202B_200B_202B_202D_202B_206E_202B_206B_202E(ElementId P_0)
|
||||
{
|
||||
return P_0.Value;
|
||||
}
|
||||
|
||||
static List<QuestStep> _206E_206D_202E_202C_200D_200E_202D_206C_200F_206F_202A_202B_200B_202E_206D_206E_200F_206B_202C_206C_206E_200D_202C_206F_206D_206A_200C_200B_202D_206A_200F_200C_202A_200C_202D_200D_202A_200C_200E_206C_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Steps;
|
||||
}
|
||||
|
||||
static string _202D_200B_202B_206B_200B_200F_206B_200C_200C_200C_200C_206C_206B_202C_202D_200B_206B_206B_202B_200C_206C_206C_206F_200E_202D_200F_202C_206B_206C_202E_202E_202B_202A_200F_200D_200C_202E_202B_202A_206D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static byte _202C_202C_206D_202A_206F_206B_206B_200C_206A_206D_202D_200F_200D_200E_206D_206F_202C_200E_206D_206E_202B_202E_202A_202A_200B_206A_206A_206A_206C_202B_200D_202B_200D_202C_202A_200C_200C_200F_200C_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static List<QuestWorkValue> _200C_202E_202C_202B_202A_202A_206F_200C_200B_200B_206A_200E_200C_202D_200C_206C_206A_202B_200C_202D_200C_202D_206A_206A_202A_200F_206F_200C_206E_202C_202B_200B_202A_200B_206E_200C_206C_202C_200F_206E_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.CompletionQuestVariablesFlags;
|
||||
}
|
||||
|
||||
static string _206F_200C_206C_202E_200D_206C_202D_206F_200B_206E_202C_206D_202B_206E_206E_200E_206E_206F_200E_202C_200E_200C_202E_202C_202A_202A_206E_202E_206E_206F_200E_200E_206F_200B_202A_206C_206E_200F_202B_200E_202E(string P_0, string P_1)
|
||||
{
|
||||
return P_0 + P_1;
|
||||
}
|
||||
|
||||
static bool _202B_202D_200C_206B_206E_200C_206C_202E_206C_200F_202D_206E_200D_206B_202C_206C_206A_202A_200C_202D_206E_206C_206C_206E_200C_200B_200E_202A_202D_202D_206A_202D_206F_206F_206B_200E_206F_200C_206C_206D_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200F_206E_206F_202D_200B_202B_206A_202E_202E_200D_202D_200F_202D_202C_202B_202C_200F_202D_206E_202C_200D_200F_206D_200C_200F_200C_206D_202A_206A_202A_200C_200D_202D_200C_200C_200C_200F_200B_200D_200E_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static NotSupportedException _206D_206B_206A_202B_206C_200C_200C_206C_202D_200F_202A_200F_206C_200D_206E_206C_206C_200B_206A_200B_202D_202C_206F_206D_200B_200B_200E_200B_202D_206E_202A_206D_200E_206A_200F_202C_202D_202C_206E_202E_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__0))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__0(-2)
|
||||
if (quest.Id.Value == 5149)
|
||||
{
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
yield break;
|
||||
}
|
||||
foreach (QuestSequence sequence in quest.AllSequences())
|
||||
{
|
||||
List<long> mappedCompletionFlags = sequence.Steps.Select((QuestStep x) => QuestWorkUtils.HasCompletionFlags(x.CompletionQuestVariablesFlags) ? Enumerable.Range(0, 6).Select(delegate(int y)
|
||||
{
|
||||
QuestWorkValue questWorkValue = x.CompletionQuestVariablesFlags[y];
|
||||
return (long)((questWorkValue == null) ? 0 : BitOperations.RotateLeft((ulong)(questWorkValue.High.GetValueOrDefault() * 16 + questWorkValue.Low.GetValueOrDefault()), 8 * y));
|
||||
}).Sum() : 0).ToList();
|
||||
int i = 0;
|
||||
while (i < sequence.Steps.Count)
|
||||
{
|
||||
long flags = mappedCompletionFlags[i];
|
||||
if (flags != 0L && mappedCompletionFlags.Count((long x) => x == flags) >= 2)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(sequence.Sequence, i),
|
||||
Type = EIssueType.DuplicateCompletionFlags,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Duplicate completion flags: " + string.Join(", ", sequence.Steps[i].CompletionQuestVariablesFlags)
|
||||
};
|
||||
}
|
||||
int num = i + 1;
|
||||
i = num;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Nodes;
|
||||
|
|
@ -14,324 +10,6 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal abstract class DefinitionSchemaValidator : IDefinitionSchemaValidator
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass12_0
|
||||
{
|
||||
public DefinitionSchemaValidator _003C_003E4__this;
|
||||
|
||||
public ushort id;
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
internal ValidationIssue _003CValidateImmediate_003Eb__0(SchemaValidationHelper.ParsedError error)
|
||||
{
|
||||
return new ValidationIssue
|
||||
{
|
||||
PathType = _003C_003E4__this.PathType,
|
||||
Id = id.ToString(_206F_200B_202C_200B_200B_202D_200F_206F_202C_206C_200D_202C_206C_200E_200D_202B_206B_206D_200F_206D_200F_202E_202E_202E_202C_200E_200D_200F_206C_200C_202E_206B_202E_206D_200D_206F_200C_206E_200F_202A_202E()),
|
||||
Location = (_206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? null : error.PropertyPath),
|
||||
Type = EIssueType.InvalidJsonSchema,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = (_206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? error.Message : _202C_200C_200C_202E_206D_200F_200F_206C_202C_200E_200E_200F_202B_202C_206B_202D_202E_200D_206E_206E_200B_202D_200D_202E_200F_202D_206B_202C_206C_202C_202E_200D_200D_202A_200F_200E_200B_206F_202A_206E_202E(error.PropertyPath, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-437343681), error.Message))
|
||||
};
|
||||
}
|
||||
|
||||
static CultureInfo _206F_200B_202C_200B_200B_202D_200F_206F_202C_206C_200D_202C_206C_200E_200D_202B_206B_206D_200F_206D_200F_202E_202E_202E_202C_200E_200D_200F_206C_200C_202E_206B_202E_206D_200D_206F_200C_206E_200F_202A_202E()
|
||||
{
|
||||
return CultureInfo.InvariantCulture;
|
||||
}
|
||||
|
||||
static bool _206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(string P_0)
|
||||
{
|
||||
return string.IsNullOrEmpty(P_0);
|
||||
}
|
||||
|
||||
static string _202C_200C_200C_202E_206D_200F_200F_206C_202C_200E_200E_200F_202B_202C_206B_202D_202E_200D_206E_206E_200B_202D_200D_202E_200F_202D_206B_202C_206C_202C_202E_200D_200D_202A_200F_200E_200B_206F_202A_206E_202E(string P_0, string P_1, string P_2)
|
||||
{
|
||||
return P_0 + P_1 + P_2;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__11 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
public DefinitionSchemaValidator _003C_003E4__this;
|
||||
|
||||
private Dictionary<ushort, JsonNode>.Enumerator _003C_003E7__wrap1;
|
||||
|
||||
private List<ValidationIssue>.Enumerator _003C_003E7__wrap2;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__11(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _206C_206E_202E_200D_200C_202A_206A_202A_206C_202D_206F_202A_206E_206D_206B_206E_202C_200F_202B_206C_200B_200D_206E_206E_206A_206A_200D_206F_202D_206D_200B_202D_200B_200C_206C_202D_206E_206C_200E_200D_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = -4;
|
||||
int num3 = num;
|
||||
int num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 755205306 : 755205307);
|
||||
while (true)
|
||||
{
|
||||
int num5 = num4;
|
||||
num2 = 755205306;
|
||||
num3 = num5;
|
||||
switch ((num3 | num2) - (num3 & num2))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 2:
|
||||
num4 = 755205307;
|
||||
continue;
|
||||
case 1:
|
||||
if (num == 1)
|
||||
{
|
||||
num4 = 755205306;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
try
|
||||
{
|
||||
num4 = ((num == -4) ? (-1716476280) : (-1716476279));
|
||||
while (true)
|
||||
{
|
||||
int num6 = num4;
|
||||
num2 = -1716476278;
|
||||
num3 = num6;
|
||||
int num7 = num3 + num2;
|
||||
int num8 = num3 & num2;
|
||||
switch (num7 - (num8 + num8))
|
||||
{
|
||||
case 0:
|
||||
num4 = -1716476279;
|
||||
break;
|
||||
case 3:
|
||||
num4 = ((num == 1) ? (-1716476280) : (-1716476277));
|
||||
break;
|
||||
case 1:
|
||||
goto end_IL_008e;
|
||||
case 2:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally2();
|
||||
}
|
||||
goto end_IL_008e;
|
||||
}
|
||||
continue;
|
||||
end_IL_008e:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = default(Dictionary<ushort, JsonNode>.Enumerator);
|
||||
_003C_003E7__wrap2 = default(List<ValidationIssue>.Enumerator);
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
DefinitionSchemaValidator definitionSchemaValidator = _003C_003E4__this;
|
||||
int num2 = ((num == 0) ? 946151668 : 946151666);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 946151672;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 11:
|
||||
_003C_003E1__state = -4;
|
||||
num2 = 946151670;
|
||||
break;
|
||||
case 14:
|
||||
num2 = (_003C_003E7__wrap2.MoveNext() ? 946151664 : 946151677);
|
||||
break;
|
||||
case 7:
|
||||
num2 = (_003C_003E7__wrap1.MoveNext() ? 946151675 : 946151678);
|
||||
break;
|
||||
case 2:
|
||||
num2 = 946151666;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
_003C_003E7__wrap1.Current.Deconstruct(out ushort key, out JsonNode value);
|
||||
ushort id = key;
|
||||
JsonNode node = value;
|
||||
_003C_003E7__wrap2 = definitionSchemaValidator.ValidateImmediate(id, node).GetEnumerator();
|
||||
_003C_003E1__state = -4;
|
||||
num2 = 946151670;
|
||||
break;
|
||||
}
|
||||
case 4:
|
||||
return false;
|
||||
case 12:
|
||||
_003C_003E1__state = -1;
|
||||
num2 = ((definitionSchemaValidator._nodes.Count != 0) ? 946151669 : 946151676);
|
||||
break;
|
||||
case 13:
|
||||
num2 = ((definitionSchemaValidator._schema != null) ? 946151672 : 946151673);
|
||||
break;
|
||||
case 9:
|
||||
return false;
|
||||
case 0:
|
||||
_003C_003E7__wrap1 = definitionSchemaValidator._nodes.GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = 946151679;
|
||||
break;
|
||||
case 8:
|
||||
{
|
||||
ValidationIssue current = _003C_003E7__wrap2.Current;
|
||||
_003C_003E2__current = current;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 10:
|
||||
num2 = ((num == 1) ? 946151667 : 946151665);
|
||||
break;
|
||||
case 1:
|
||||
definitionSchemaValidator._schema = definitionSchemaValidator._schemaRegistrar.Get(definitionSchemaValidator.MainSchemaUri);
|
||||
num2 = 946151672;
|
||||
break;
|
||||
case 5:
|
||||
_003C_003Em__Finally2();
|
||||
_003C_003E7__wrap2 = default(List<ValidationIssue>.Enumerator);
|
||||
num2 = 946151679;
|
||||
break;
|
||||
case 6:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = default(Dictionary<ushort, JsonNode>.Enumerator);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally2()
|
||||
{
|
||||
_003C_003E1__state = -3;
|
||||
((IDisposable)_003C_003E7__wrap2/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _200E_200B_206D_206B_200D_206C_202A_202A_202C_206D_206D_202B_200F_202E_202D_206A_202B_202D_206B_200B_202E_200F_200D_202C_202A_206C_206A_202A_202E_202C_202A_202D_200C_206F_206B_202A_200D_206B_206C_206E_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? 1575118820 : 1575118817);
|
||||
_003CValidate_003Ed__11 result = default(_003CValidate_003Ed__11);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1575118816;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 3:
|
||||
_003C_003E1__state = 0;
|
||||
result = this;
|
||||
num = 1575118816;
|
||||
break;
|
||||
case 4:
|
||||
result = new _003CValidate_003Ed__11(0)
|
||||
{
|
||||
_003C_003E4__this = _003C_003E4__this
|
||||
};
|
||||
num = 1575118816;
|
||||
break;
|
||||
case 2:
|
||||
num = 1575118817;
|
||||
break;
|
||||
case 0:
|
||||
return result;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _206C_206E_202E_200D_200C_202A_206A_202A_206C_202D_206F_202A_206E_206D_206B_206E_202C_200F_202B_206C_200B_200D_206E_206E_206A_206A_200D_206F_202D_206D_200B_202D_200B_200C_206C_202D_206E_206C_200E_200D_202E()) ? 1575118820 : 1575118819);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _206C_206E_202E_200D_200C_202A_206A_202A_206C_202D_206F_202A_206E_206D_206B_206E_202C_200F_202B_206C_200B_200D_206E_206E_206A_206A_200D_206F_202D_206D_200B_202D_200B_200C_206C_202D_206E_206C_200E_200D_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static NotSupportedException _200E_200B_206D_206B_200D_206C_202A_202A_202C_206D_206D_202B_200F_202E_202D_206A_202B_202D_206B_200B_202E_200F_200D_202C_202A_206C_206A_202A_202E_202C_202A_202D_200C_206F_206B_202A_200D_206B_206C_206E_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
protected const string BaseUri = "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main";
|
||||
|
||||
private readonly SchemaRegistrar _schemaRegistrar;
|
||||
|
|
@ -354,134 +32,71 @@ internal abstract class DefinitionSchemaValidator : IDefinitionSchemaValidator
|
|||
_nodes[id] = node;
|
||||
}
|
||||
|
||||
void IDefinitionSchemaValidator.Enqueue(ushort id, JsonNode node)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Enqueue
|
||||
this.Enqueue(id, node);
|
||||
}
|
||||
|
||||
public void Reset()
|
||||
{
|
||||
_nodes.Clear();
|
||||
}
|
||||
|
||||
void IDefinitionSchemaValidator.Reset()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Reset
|
||||
this.Reset();
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__11))]
|
||||
public IEnumerable<ValidationIssue> Validate()
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__11(-2)
|
||||
if (_nodes.Count == 0)
|
||||
{
|
||||
_003C_003E4__this = this
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IDefinitionSchemaValidator.Validate()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate();
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
public List<ValidationIssue> ValidateImmediate(ushort id, JsonNode node)
|
||||
{
|
||||
int num = ((_schema != null) ? 2044491341 : 2044491340);
|
||||
EvaluationResults evaluationResults = default(EvaluationResults);
|
||||
List<SchemaValidationHelper.ParsedError> list = default(List<SchemaValidationHelper.ParsedError>);
|
||||
while (true)
|
||||
yield break;
|
||||
}
|
||||
if (_schema == null)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 2044491341;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
_schema = _schemaRegistrar.Get(MainSchemaUri);
|
||||
}
|
||||
foreach (var (id, node) in _nodes)
|
||||
{
|
||||
foreach (ValidationIssue item in ValidateImmediate(id, node))
|
||||
{
|
||||
case 4:
|
||||
num = 2044491340;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
int num5 = 1;
|
||||
List<ValidationIssue> list2 = new List<ValidationIssue>(num5);
|
||||
CollectionsMarshal.SetCount(list2, num5);
|
||||
CollectionsMarshal.AsSpan(list2)[0] = new ValidationIssue
|
||||
{
|
||||
PathType = PathType,
|
||||
Id = id.ToString(_206B_202D_202D_200F_200F_206C_202D_202D_200D_202C_202A_206B_206C_202D_202E_200E_202A_206E_202D_202B_206B_200C_200E_206B_206F_200F_200F_202B_200D_206D_206A_200D_206E_200D_206D_202E_200F_200F_200D_206B_202E()),
|
||||
Location = null,
|
||||
Type = EIssueType.InvalidJsonSchema,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(213210949)
|
||||
};
|
||||
return list2;
|
||||
}
|
||||
case 0:
|
||||
{
|
||||
JsonSchema? schema = _schema;
|
||||
JsonElement jsonElement = JsonSerializer.SerializeToElement(node);
|
||||
EvaluationOptions evaluationOptions = _202B_202C_206F_206D_206C_200C_200D_206B_206F_206A_206E_200B_200E_200D_202C_206F_202E_200C_206A_206A_200C_206D_206C_206B_200C_206C_202E_200E_200B_202B_206F_202A_206F_206B_200C_200F_206E_206B_202C_200E_202E();
|
||||
_200D_206C_200E_206D_200E_200D_200D_206A_206E_202A_206B_206C_202A_206A_202B_206F_200F_206E_202E_200E_200F_200B_206A_206F_202C_200C_206B_206F_206F_200E_206B_200E_200E_206B_206E_202C_200D_206B_202D_200D_202E(evaluationOptions, _206B_202D_202D_200F_200F_206C_202D_202D_200D_202C_202A_206B_206C_202D_202E_200E_202A_206E_202D_202B_206B_200C_200E_206B_206F_200F_200F_202B_200D_206D_206A_200D_206E_200D_206D_202E_200F_200F_200D_206B_202E());
|
||||
_206D_200E_200E_202E_200E_200F_206E_206A_206C_200F_200E_206B_206B_200D_206C_200B_202D_200B_200B_206A_202D_200E_200E_206D_200D_206B_200C_206F_202C_202C_202E_206A_200E_200C_206A_200E_206E_206E_200C_202A_202E(evaluationOptions, OutputFormat.Hierarchical);
|
||||
evaluationResults = _200B_202C_202B_202C_206E_200D_206D_202E_202A_200C_200F_202C_206D_206F_202C_200F_200F_202D_200C_202A_206A_200B_206B_202C_206C_200B_202E_206C_202A_202D_206E_202E_200E_206C_202C_206A_206C_206C_206B_206E_202E(schema, jsonElement, evaluationOptions);
|
||||
num = ((!_202E_206B_206D_200D_200D_206C_202A_206A_206D_206F_206C_202A_206A_200E_206D_206F_206F_206E_206D_206E_206F_206E_206B_202A_202D_206C_200E_206B_206C_200F_206E_202A_200E_206F_200F_202E_202B_206A_202A_206A_202E(evaluationResults)) ? 2044491336 : 2044491339);
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
list = new List<SchemaValidationHelper.ParsedError>();
|
||||
SchemaValidationHelper.CollectLeafErrors(evaluationResults, list);
|
||||
num = ((list.Count != 0) ? 2044491342 : 2044491343);
|
||||
break;
|
||||
case 1:
|
||||
_schema = _schemaRegistrar.Get(MainSchemaUri);
|
||||
num = 2044491341;
|
||||
break;
|
||||
case 3:
|
||||
return list.Select([MethodImpl(MethodImplOptions.NoInlining)] (SchemaValidationHelper.ParsedError error) => new ValidationIssue
|
||||
{
|
||||
PathType = PathType,
|
||||
Id = id.ToString(_003C_003Ec__DisplayClass12_0._206F_200B_202C_200B_200B_202D_200F_206F_202C_206C_200D_202C_206C_200E_200D_202B_206B_206D_200F_206D_200F_202E_202E_202E_202C_200E_200D_200F_206C_200C_202E_206B_202E_206D_200D_206F_200C_206E_200F_202A_202E()),
|
||||
Location = (_003C_003Ec__DisplayClass12_0._206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? null : error.PropertyPath),
|
||||
Type = EIssueType.InvalidJsonSchema,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = (_003C_003Ec__DisplayClass12_0._206E_202D_206D_202A_200F_206A_206D_206A_206C_202E_200B_206C_202D_202B_200E_206A_200B_202A_206E_206B_206C_200E_202C_202D_206B_200E_206A_206F_206C_202D_200C_206D_206D_200D_202E_206C_200C_200D_206B_202E_202E(error.PropertyPath) ? error.Message : _003C_003Ec__DisplayClass12_0._202C_200C_200C_202E_206D_200F_200F_206C_202C_200E_200E_200F_202B_202C_206B_202D_202E_200D_206E_206E_200B_202D_200D_202E_200F_202D_206B_202C_206C_202C_202E_200D_200D_202A_200F_200E_200B_206F_202A_206E_202E(error.PropertyPath, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-437343681), error.Message))
|
||||
}).ToList();
|
||||
case 6:
|
||||
return new List<ValidationIssue>();
|
||||
yield return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static EvaluationOptions _202B_202C_206F_206D_206C_200C_200D_206B_206F_206A_206E_200B_200E_200D_202C_206F_202E_200C_206A_206A_200C_206D_206C_206B_200C_206C_202E_200E_200B_202B_206F_202A_206F_206B_200C_200F_206E_206B_202C_200E_202E()
|
||||
public List<ValidationIssue> ValidateImmediate(ushort id, JsonNode node)
|
||||
{
|
||||
return new EvaluationOptions();
|
||||
}
|
||||
|
||||
static CultureInfo _206B_202D_202D_200F_200F_206C_202D_202D_200D_202C_202A_206B_206C_202D_202E_200E_202A_206E_202D_202B_206B_200C_200E_206B_206F_200F_200F_202B_200D_206D_206A_200D_206E_200D_206D_202E_200F_200F_200D_206B_202E()
|
||||
{
|
||||
return CultureInfo.InvariantCulture;
|
||||
}
|
||||
|
||||
static void _200D_206C_200E_206D_200E_200D_200D_206A_206E_202A_206B_206C_202A_206A_202B_206F_200F_206E_202E_200E_200F_200B_206A_206F_202C_200C_206B_206F_206F_200E_206B_200E_200E_206B_206E_202C_200D_206B_202D_200D_202E(EvaluationOptions P_0, CultureInfo P_1)
|
||||
{
|
||||
P_0.Culture = P_1;
|
||||
}
|
||||
|
||||
static void _206D_200E_200E_202E_200E_200F_206E_206A_206C_200F_200E_206B_206B_200D_206C_200B_202D_200B_200B_206A_202D_200E_200E_206D_200D_206B_200C_206F_202C_202C_202E_206A_200E_200C_206A_200E_206E_206E_200C_202A_202E(EvaluationOptions P_0, OutputFormat P_1)
|
||||
{
|
||||
P_0.OutputFormat = P_1;
|
||||
}
|
||||
|
||||
static EvaluationResults _200B_202C_202B_202C_206E_200D_206D_202E_202A_200C_200F_202C_206D_206F_202C_200F_200F_202D_200C_202A_206A_200B_206B_202C_206C_200B_202E_206C_202A_202D_206E_202E_200E_206C_202C_206A_206C_206C_206B_206E_202E(JsonSchema P_0, JsonElement P_1, EvaluationOptions P_2)
|
||||
{
|
||||
return P_0.Evaluate(P_1, P_2);
|
||||
}
|
||||
|
||||
static bool _202E_206B_206D_200D_200D_206C_202A_206A_206D_206F_206C_202A_206A_200E_206D_206F_206F_206E_206D_206E_206F_206E_206B_202A_202D_206C_200E_206B_206C_200F_206E_202A_200E_206F_200F_202E_202B_206A_202A_206A_202E(EvaluationResults P_0)
|
||||
{
|
||||
return P_0.IsValid;
|
||||
if (_schema == null)
|
||||
{
|
||||
_schema = _schemaRegistrar.Get(MainSchemaUri);
|
||||
}
|
||||
EvaluationResults evaluationResults = _schema.Evaluate(JsonSerializer.SerializeToElement(node), new EvaluationOptions
|
||||
{
|
||||
Culture = CultureInfo.InvariantCulture,
|
||||
OutputFormat = OutputFormat.Hierarchical
|
||||
});
|
||||
if (evaluationResults.IsValid)
|
||||
{
|
||||
return new List<ValidationIssue>();
|
||||
}
|
||||
List<SchemaValidationHelper.ParsedError> list = new List<SchemaValidationHelper.ParsedError>();
|
||||
SchemaValidationHelper.CollectLeafErrors(evaluationResults, list);
|
||||
if (list.Count == 0)
|
||||
{
|
||||
int num = 1;
|
||||
List<ValidationIssue> list2 = new List<ValidationIssue>(num);
|
||||
CollectionsMarshal.SetCount(list2, num);
|
||||
CollectionsMarshal.AsSpan(list2)[0] = new ValidationIssue
|
||||
{
|
||||
PathType = PathType,
|
||||
Id = id.ToString(CultureInfo.InvariantCulture),
|
||||
Location = null,
|
||||
Type = EIssueType.InvalidJsonSchema,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "JSON schema validation failed"
|
||||
};
|
||||
return list2;
|
||||
}
|
||||
return list.Select((SchemaValidationHelper.ParsedError error) => new ValidationIssue
|
||||
{
|
||||
PathType = PathType,
|
||||
Id = id.ToString(CultureInfo.InvariantCulture),
|
||||
Location = (string.IsNullOrEmpty(error.PropertyPath) ? null : error.PropertyPath),
|
||||
Type = EIssueType.InvalidJsonSchema,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = (string.IsNullOrEmpty(error.PropertyPath) ? error.Message : (error.PropertyPath + ": " + error.Message))
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,4 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Functions;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
|
@ -11,403 +7,6 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class DialogueChoiceValidator : IQuestValidator
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__2 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
public DialogueChoiceValidator _003C_003E4__this;
|
||||
|
||||
private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1;
|
||||
|
||||
private (QuestSequence Sequence, int StepId, QuestStep Step) _003Cx_003E5__3;
|
||||
|
||||
private List<DialogueChoice>.Enumerator _003C_003E7__wrap3;
|
||||
|
||||
private DialogueChoice _003CdialogueChoice_003E5__5;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__2(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _200D_202C_200B_202A_200C_200F_206B_200E_202E_202E_200B_206C_200E_202A_200E_202D_200B_206E_202D_202E_200F_202E_206D_200B_202E_202C_202E_206B_200D_200E_202C_202E_200D_202A_206E_206F_200D_200C_206E_206D_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = -4;
|
||||
int num3 = num;
|
||||
int num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 1829827120 : 1829827123);
|
||||
while (true)
|
||||
{
|
||||
int num5 = num4;
|
||||
num2 = 1829827122;
|
||||
num3 = num5;
|
||||
int num6 = num3 + num2;
|
||||
int num7 = num3 & num2;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
num4 = 1829827123;
|
||||
continue;
|
||||
case 1:
|
||||
num2 = 1;
|
||||
num3 = num;
|
||||
if ((uint)(~(~num3 + num2)) <= 1u)
|
||||
{
|
||||
num4 = 1829827120;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
try
|
||||
{
|
||||
num4 = ((num == -4) ? 1185253003 : 1185253002);
|
||||
while (true)
|
||||
{
|
||||
int num8 = num4;
|
||||
num2 = 1185253003;
|
||||
num3 = num8;
|
||||
int num9 = num3 + num2;
|
||||
int num10 = num3 & num2;
|
||||
switch (num9 - (num10 + num10))
|
||||
{
|
||||
case 3:
|
||||
goto end_IL_0098;
|
||||
case 1:
|
||||
num2 = 1;
|
||||
num3 = num;
|
||||
num4 = (((uint)(~(~num3 + num2)) <= 1u) ? 1185253003 : 1185253000);
|
||||
break;
|
||||
case 2:
|
||||
num4 = 1185253002;
|
||||
break;
|
||||
case 0:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally2();
|
||||
}
|
||||
goto end_IL_0098;
|
||||
}
|
||||
continue;
|
||||
end_IL_0098:
|
||||
break;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = null;
|
||||
_003Cx_003E5__3 = default((QuestSequence, int, QuestStep));
|
||||
_003C_003E7__wrap3 = default(List<DialogueChoice>.Enumerator);
|
||||
_003CdialogueChoice_003E5__5 = null;
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
DialogueChoiceValidator dialogueChoiceValidator = _003C_003E4__this;
|
||||
int num2;
|
||||
ValidationIssue validationIssue2 = default(ValidationIssue);
|
||||
ValidationIssue validationIssue = default(ValidationIssue);
|
||||
ExcelRef excelRef = default(ExcelRef);
|
||||
ExcelRef excelRef2 = default(ExcelRef);
|
||||
switch (num)
|
||||
{
|
||||
default:
|
||||
num2 = -658626702;
|
||||
goto IL_002c;
|
||||
case 0:
|
||||
_003C_003E1__state = -1;
|
||||
_003C_003E7__wrap1 = quest.AllSteps().GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -658626698;
|
||||
goto IL_002c;
|
||||
case 1:
|
||||
goto IL_0298;
|
||||
case 2:
|
||||
goto IL_02ac;
|
||||
IL_002c:
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -658626697;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 2:
|
||||
goto IL_0094;
|
||||
case 1:
|
||||
goto IL_00f3;
|
||||
case 4:
|
||||
goto end_IL_002c;
|
||||
case 11:
|
||||
_003CdialogueChoice_003E5__5 = null;
|
||||
num2 = -658626704;
|
||||
break;
|
||||
case 15:
|
||||
_003C_003E2__current = validationIssue2;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
case 9:
|
||||
goto IL_0181;
|
||||
case 17:
|
||||
_003C_003E2__current = validationIssue;
|
||||
_003C_003E1__state = 2;
|
||||
return true;
|
||||
case 12:
|
||||
goto IL_01e6;
|
||||
case 7:
|
||||
goto IL_0246;
|
||||
case 0:
|
||||
_003C_003Em__Finally2();
|
||||
_003C_003E7__wrap3 = default(List<DialogueChoice>.Enumerator);
|
||||
_003Cx_003E5__3 = default((QuestSequence, int, QuestStep));
|
||||
num2 = -658626698;
|
||||
break;
|
||||
case 3:
|
||||
goto IL_0298;
|
||||
case 13:
|
||||
goto IL_02ac;
|
||||
case 14:
|
||||
num2 = -658626702;
|
||||
break;
|
||||
case 5:
|
||||
return false;
|
||||
case 10:
|
||||
_003C_003E7__wrap3 = _206F_206E_200D_206E_200D_200C_202B_200F_206B_200E_202E_206B_202D_206D_200D_206F_200B_202E_206C_206C_200E_202E_206C_206C_206E_200E_202A_206B_202D_206E_200E_206E_206A_202B_200D_206A_206A_206A_200E_200F_202E(_003Cx_003E5__3.Step).GetEnumerator();
|
||||
_003C_003E1__state = -4;
|
||||
num2 = -658626704;
|
||||
break;
|
||||
case 6:
|
||||
goto IL_030e;
|
||||
case 16:
|
||||
goto IL_033a;
|
||||
case 8:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = null;
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_033a:
|
||||
_003CdialogueChoice_003E5__5 = _003C_003E7__wrap3.Current;
|
||||
excelRef = _206A_200C_200C_200F_202A_200C_206A_206C_206A_202D_206D_200B_206F_202C_202A_206E_200E_206E_206C_206B_206F_200F_200F_206B_206D_202D_202E_206A_206C_202E_202A_206E_206C_200C_202B_206D_206E_206C_202E_200F_202E(_003CdialogueChoice_003E5__5);
|
||||
num2 = ((excelRef == null) ? (-658626703) : (-658626699));
|
||||
continue;
|
||||
IL_0094:
|
||||
validationIssue2 = dialogueChoiceValidator.Validate(quest, _003Cx_003E5__3.Sequence, _003Cx_003E5__3.StepId, _200F_202B_206D_202D_200D_202E_206C_206D_202B_202E_202B_206A_202E_206B_202A_206A_202C_206A_206C_200E_206C_200F_206C_206F_202A_200C_202D_200B_202E_206D_202B_206E_202E_200D_202E_200E_202C_202A_200F_202C_202E(_003CdialogueChoice_003E5__5), excelRef, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(-633511800));
|
||||
num2 = ((!(validationIssue2 != null)) ? (-658626703) : (-658626696));
|
||||
continue;
|
||||
IL_0181:
|
||||
_003Cx_003E5__3 = _003C_003E7__wrap1.Current;
|
||||
num2 = ((_206F_206E_200D_206E_200D_200C_202B_200F_206B_200E_202E_206B_202D_206D_200D_206F_200B_202E_206C_206C_200E_202E_206C_206C_206E_200E_202A_206B_202D_206E_200E_206E_206A_202B_200D_206A_206A_206A_200E_200F_202E(_003Cx_003E5__3.Step).Count == 0) ? (-658626698) : (-658626691));
|
||||
continue;
|
||||
IL_030e:
|
||||
excelRef2 = _206E_200D_206D_200D_206B_202A_202A_200D_206F_200E_202E_202D_202E_202A_206D_200F_200B_202E_200D_202E_206D_200E_200C_206E_202B_206B_202A_200B_206A_206E_206F_206A_200B_206A_202C_202E_206E_200C_202A_202C_202E(_003CdialogueChoice_003E5__5);
|
||||
num2 = ((excelRef2 == null) ? (-658626692) : (-658626693));
|
||||
continue;
|
||||
IL_01e6:
|
||||
validationIssue = dialogueChoiceValidator.Validate(quest, _003Cx_003E5__3.Sequence, _003Cx_003E5__3.StepId, _200F_202B_206D_202D_200D_202E_206C_206D_202B_202E_202B_206A_202E_206B_202A_206A_202C_206A_206C_200E_206C_200F_206C_206F_202A_200C_202D_200B_202E_206D_202B_206E_202E_200D_202E_200E_202C_202A_200F_202C_202E(_003CdialogueChoice_003E5__5), excelRef2, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(726153876));
|
||||
num2 = ((!(validationIssue != null)) ? (-658626692) : (-658626714));
|
||||
continue;
|
||||
IL_00f3:
|
||||
num2 = (_202D_200B_206D_200F_202C_202D_200B_206E_202A_206A_200D_200E_200F_202A_202D_206C_200F_200E_206C_202B_200D_206F_200E_206C_202D_206F_206A_202C_206E_206A_200B_200B_206E_206E_200C_206E_200E_206B_206A_202B_202E((IEnumerator)_003C_003E7__wrap1) ? (-658626690) : (-658626689));
|
||||
continue;
|
||||
IL_0246:
|
||||
num2 = (_003C_003E7__wrap3.MoveNext() ? (-658626713) : (-658626697));
|
||||
continue;
|
||||
end_IL_002c:
|
||||
break;
|
||||
}
|
||||
goto case 0;
|
||||
IL_02ac:
|
||||
_003C_003E1__state = -4;
|
||||
num2 = -658626692;
|
||||
goto IL_002c;
|
||||
IL_0298:
|
||||
_003C_003E1__state = -4;
|
||||
num2 = -658626703;
|
||||
goto IL_002c;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
int num = ((_003C_003E7__wrap1 == null) ? 1730549734 : 1730549733);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1730549732;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
num = 1730549733;
|
||||
break;
|
||||
case 1:
|
||||
_200B_202B_202B_202C_200B_202D_206A_200B_206A_206D_202D_202D_202D_202A_202C_202D_200F_200E_200B_200C_200B_202B_200D_202A_206F_200E_202B_202B_200B_206C_206A_200B_200C_206F_202C_206C_202D_202C_202D_206D_202E((IDisposable)_003C_003E7__wrap1);
|
||||
num = 1730549734;
|
||||
break;
|
||||
case 2:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally2()
|
||||
{
|
||||
_003C_003E1__state = -3;
|
||||
((IDisposable)_003C_003E7__wrap3/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _202E_200F_202B_206D_206C_202B_202C_202B_206C_202D_206B_206F_200F_206E_200F_202B_200E_202A_202C_202D_200B_206A_206C_206F_206C_202D_206A_206B_206C_202E_206F_206C_202D_206A_206D_200E_200F_200B_202A_202E_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? 890630818 : 890630816);
|
||||
_003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 890630817;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _200D_202C_200B_202A_200C_200F_206B_200E_202E_202E_200B_206C_200E_202A_200E_202D_200B_206E_202D_202E_200F_202E_206D_200B_202E_202C_202E_206B_200D_200E_202C_202E_200D_202A_206E_206F_200D_200C_206E_206D_202E()) ? 890630818 : 890630817);
|
||||
break;
|
||||
case 3:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__2(0)
|
||||
{
|
||||
_003C_003E4__this = _003C_003E4__this
|
||||
};
|
||||
num = 890630821;
|
||||
break;
|
||||
case 0:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = 890630821;
|
||||
break;
|
||||
case 2:
|
||||
num = 890630816;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _200D_202C_200B_202A_200C_200F_206B_200E_202E_202E_200B_206C_200E_202A_200E_202D_200B_206E_202D_202E_200F_202E_206D_200B_202E_202C_202E_206B_200D_200E_202C_202E_200D_202A_206E_206F_200D_200C_206E_206D_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static List<DialogueChoice> _206F_206E_200D_206E_200D_200C_202B_200F_206B_200E_202E_206B_202D_206D_200D_206F_200B_202E_206C_206C_200E_202E_206C_206C_206E_200E_202A_206B_202D_206E_200E_206E_206A_202B_200D_206A_206A_206A_200E_200F_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.DialogueChoices;
|
||||
}
|
||||
|
||||
static ExcelRef _206A_200C_200C_200F_202A_200C_206A_206C_206A_202D_206D_200B_206F_202C_202A_206E_200E_206E_206C_206B_206F_200F_200F_206B_206D_202D_202E_206A_206C_202E_202A_206E_206C_200C_202B_206D_206E_206C_202E_200F_202E(DialogueChoice P_0)
|
||||
{
|
||||
return P_0.Prompt;
|
||||
}
|
||||
|
||||
static string _200F_202B_206D_202D_200D_202E_206C_206D_202B_202E_202B_206A_202E_206B_202A_206A_202C_206A_206C_200E_206C_200F_206C_206F_202A_200C_202D_200B_202E_206D_202B_206E_202E_200D_202E_200E_202C_202A_200F_202C_202E(DialogueChoice P_0)
|
||||
{
|
||||
return P_0.ExcelSheet;
|
||||
}
|
||||
|
||||
static ExcelRef _206E_200D_206D_200D_206B_202A_202A_200D_206F_200E_202E_202D_202E_202A_206D_200F_200B_202E_200D_202E_206D_200E_200C_206E_202B_206B_202A_200B_206A_206E_206F_206A_200B_206A_202C_202E_206E_200C_202A_202C_202E(DialogueChoice P_0)
|
||||
{
|
||||
return P_0.Answer;
|
||||
}
|
||||
|
||||
static bool _202D_200B_206D_200F_202C_202D_200B_206E_202A_206A_200D_200E_200F_202A_202D_206C_200F_200E_206C_202B_200D_206F_200E_206C_202D_206F_206A_202C_206E_206A_200B_200B_206E_206E_200C_206E_200E_206B_206A_202B_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200B_202B_202B_202C_200B_202D_206A_200B_206A_206D_202D_202D_202D_202A_202C_202D_200F_200E_200B_200C_200B_202B_200D_202A_206F_200E_202B_202B_200B_206C_206A_200B_200C_206F_202C_206C_202D_202C_202D_206D_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static NotSupportedException _202E_200F_202B_206D_206C_202B_202C_202B_206C_202D_206B_206F_200F_206E_200F_202B_200E_202A_202C_202D_200B_206A_206C_206F_206C_202D_206A_206B_206C_202E_206F_206C_202D_206A_206D_200E_200F_200B_202A_202E_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly ExcelFunctions _excelFunctions;
|
||||
|
||||
public DialogueChoiceValidator(ExcelFunctions excelFunctions)
|
||||
|
|
@ -415,112 +14,67 @@ internal sealed class DialogueChoiceValidator : IQuestValidator
|
|||
_excelFunctions = excelFunctions;
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__2))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__2(-2)
|
||||
foreach (var x in quest.AllSteps())
|
||||
{
|
||||
_003C_003E4__this = this,
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private ValidationIssue? Validate(Quest quest, QuestSequence sequence, int stepId, string? excelSheet, ExcelRef excelRef, string label)
|
||||
{
|
||||
int num = ((_200E_200C_206D_206D_202C_200E_200F_206E_202E_200E_202D_206D_200E_202C_206C_200B_200B_206A_202A_200F_200C_202A_202B_206F_200C_206B_206E_206D_206C_206E_202C_206B_202E_200F_206F_200B_206D_200B_206C_206E_202E(excelRef) != ExcelRef.EType.Key) ? 784349212 : 784349211);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 784349210;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
if (x.Step.DialogueChoices.Count == 0)
|
||||
{
|
||||
case 5:
|
||||
num = 784349211;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
ValidationIssue obj = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200F_206F_200D_206A_206F_200D_206A_206A_206A_206F_206E_202A_200C_202C_200F_202A_202C_200C_202A_200F_202D_202E_200E_206C_206A_200C_206F_200B_206E_206A_206D_200B_200E_202C_206A_202D_202E_200C_202C_202C_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_206E_206B_202D_206C_206A_200B_202C_206E_200B_206B_200F_200E_206D_206D_200F_200D_202E_200E_202B_202C_200C_202C_202A_206F_202A_200F_206F_200C_206A_206C_206C_202E_200F_202B_200C_206D_206E_202A_202B_202C_202E(sequence), stepId),
|
||||
Type = EIssueType.InvalidExcelRef,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(13, 3);
|
||||
defaultInterpolatedStringHandler.AppendFormatted(label);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1993753271));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(excelSheet);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-545088367));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(_206D_200C_200F_202C_206D_202E_206A_206E_206F_202B_200E_206D_206D_206E_200D_206B_202E_202B_206D_206B_202D_200B_202C_200C_206B_202C_200F_206E_200E_206D_200B_200B_206B_206A_202B_200B_206B_202C_206D_202C_202E(excelRef));
|
||||
obj.Description = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
return obj;
|
||||
continue;
|
||||
}
|
||||
case 0:
|
||||
return null;
|
||||
case 6:
|
||||
num = ((_200E_200C_206D_206D_202C_200E_200F_206E_202E_200E_202D_206D_200E_202C_206C_200B_200B_206A_202A_200F_200C_202A_202B_206F_200C_206B_206E_206D_206C_206E_202C_206B_202E_200F_206F_200B_206D_200B_206C_206E_202E(excelRef) != ExcelRef.EType.RowId) ? 784349210 : 784349208);
|
||||
break;
|
||||
case 4:
|
||||
foreach (DialogueChoice dialogueChoice in x.Step.DialogueChoices)
|
||||
{
|
||||
ValidationIssue obj2 = new ValidationIssue
|
||||
ExcelRef prompt = dialogueChoice.Prompt;
|
||||
if (prompt != null)
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200F_206F_200D_206A_206F_200D_206A_206A_206A_206F_206E_202A_200C_202C_200F_202A_202C_200C_202A_200F_202D_202E_200E_206C_206A_200C_206F_200B_206E_206A_206D_200B_200E_202C_206A_202D_202E_200C_202C_202C_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_206E_206B_202D_206C_206A_200B_202C_206E_200B_206B_200F_200E_206D_206D_200F_200D_202E_200E_202B_202C_200C_202C_202A_206F_202A_200F_206F_200C_206A_206C_206C_202E_200F_202B_200C_206D_206E_202A_202B_202C_202E(sequence), stepId),
|
||||
Type = EIssueType.InvalidExcelRef,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(13, 3);
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(label);
|
||||
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-1993753271));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(excelSheet);
|
||||
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-485019730));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(_202B_206D_206E_206C_200E_202E_206F_200F_202B_202A_206F_206E_206D_202A_202D_202E_202D_202A_200F_206E_200C_202A_206E_206A_202C_206C_206B_206C_200E_206B_202D_202A_206A_206C_206C_202A_206F_206D_206E_202E_202E(excelRef));
|
||||
obj2.Description = defaultInterpolatedStringHandler2.ToStringAndClear();
|
||||
return obj2;
|
||||
}
|
||||
case 2:
|
||||
num = (_excelFunctions.GetRawDialogueTextByRowId(excelSheet, _206D_200C_200F_202C_206D_202E_206A_206E_206F_202B_200E_206D_206D_206E_200D_206B_202E_202B_206D_206B_202D_200B_202C_200C_206B_202C_200F_206E_200E_206D_200B_200B_206B_206A_202B_200B_206B_202C_206D_202C_202E(excelRef)).HasValue ? 784349210 : 784349209);
|
||||
break;
|
||||
case 1:
|
||||
num = (_excelFunctions.GetRawDialogueText(quest, excelSheet, _202B_206D_206E_206C_200E_202E_206F_200F_202B_202A_206F_206E_206D_202A_202D_202E_202D_202A_200F_206E_200C_202A_206E_206A_202C_206C_206B_206C_200E_206B_202D_202A_206A_206C_206C_202A_206F_206D_206E_202E_202E(excelRef)).HasValue ? 784349210 : 784349214);
|
||||
break;
|
||||
ValidationIssue validationIssue = Validate(quest, x.Sequence, x.StepId, dialogueChoice.ExcelSheet, prompt, "Prompt");
|
||||
if (validationIssue != null)
|
||||
{
|
||||
yield return validationIssue;
|
||||
}
|
||||
}
|
||||
ExcelRef answer = dialogueChoice.Answer;
|
||||
if (answer != null)
|
||||
{
|
||||
ValidationIssue validationIssue2 = Validate(quest, x.Sequence, x.StepId, dialogueChoice.ExcelSheet, answer, "Answer");
|
||||
if (validationIssue2 != null)
|
||||
{
|
||||
yield return validationIssue2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static ExcelRef.EType _200E_200C_206D_206D_202C_200E_200F_206E_202E_200E_202D_206D_200E_202C_206C_200B_200B_206A_202A_200F_200C_202A_202B_206F_200C_206B_206E_206D_206C_206E_202C_206B_202E_200F_206F_200B_206D_200B_206C_206E_202E(ExcelRef P_0)
|
||||
private ValidationIssue? Validate(Quest quest, QuestSequence sequence, int stepId, string? excelSheet, ExcelRef excelRef, string label)
|
||||
{
|
||||
return P_0.Type;
|
||||
}
|
||||
|
||||
static string _202B_206D_206E_206C_200E_202E_206F_200F_202B_202A_206F_206E_206D_202A_202D_202E_202D_202A_200F_206E_200C_202A_206E_206A_202C_206C_206B_206C_200E_206B_202D_202A_206A_206C_206C_202A_206F_206D_206E_202E_202E(ExcelRef P_0)
|
||||
{
|
||||
return P_0.AsKey();
|
||||
}
|
||||
|
||||
static string _200F_206F_200D_206A_206F_200D_206A_206A_206A_206F_206E_202A_200C_202C_200F_202A_202C_200C_202A_200F_202D_202E_200E_206C_206A_200C_206F_200B_206E_206A_206D_200B_200E_202C_206A_202D_202E_200C_202C_202C_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static byte _206E_206B_202D_206C_206A_200B_202C_206E_200B_206B_200F_200E_206D_206D_200F_200D_202E_200E_202B_202C_200C_202C_202A_206F_202A_200F_206F_200C_206A_206C_206C_202E_200F_202B_200C_206D_206E_202A_202B_202C_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static uint _206D_200C_200F_202C_206D_202E_206A_206E_206F_202B_200E_206D_206D_206E_200D_206B_202E_202B_206D_206B_202D_200B_202C_200C_206B_202C_200F_206E_200E_206D_200B_200B_206B_206A_202B_200B_206B_202C_206D_202C_202E(ExcelRef P_0)
|
||||
{
|
||||
return P_0.AsRowId();
|
||||
if (excelRef.Type == ExcelRef.EType.Key)
|
||||
{
|
||||
if (!_excelFunctions.GetRawDialogueText(quest, excelSheet, excelRef.AsKey()).HasValue)
|
||||
{
|
||||
return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(sequence.Sequence, stepId),
|
||||
Type = EIssueType.InvalidExcelRef,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"{label} invalid: {excelSheet} → {excelRef.AsKey()}"
|
||||
};
|
||||
}
|
||||
}
|
||||
else if (excelRef.Type == ExcelRef.EType.RowId && !_excelFunctions.GetRawDialogueTextByRowId(excelSheet, excelRef.AsRowId()).HasValue)
|
||||
{
|
||||
return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(sequence.Sequence, stepId),
|
||||
Type = EIssueType.InvalidExcelRef,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"{label} invalid: {excelSheet} → {excelRef.AsRowId()}"
|
||||
};
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,10 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Questionable.Validation.Validators;
|
||||
|
||||
internal sealed class FateSchemaValidator : DefinitionSchemaValidator
|
||||
{
|
||||
protected override EPathType PathType => EPathType.Fate;
|
||||
|
||||
protected override string MainSchemaUri
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E<string>(-1643882609);
|
||||
}
|
||||
}
|
||||
protected override string MainSchemaUri => "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/FatePaths/fatedefinition-v1.json";
|
||||
|
||||
public FateSchemaValidator(SchemaRegistrar schemaRegistrar)
|
||||
: base(schemaRegistrar)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Plugin.Services;
|
||||
using Questionable.Data;
|
||||
using Questionable.Model;
|
||||
|
|
@ -13,321 +10,6 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class GameSequenceCoverageValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<QuestSequence, int> _003C_003E9__2_0;
|
||||
|
||||
internal int _003CValidate_003Eb__2_0(QuestSequence x)
|
||||
{
|
||||
return _202A_200F_206E_206E_206F_202A_202D_200D_200E_202D_202E_206B_206B_202C_206F_206F_200B_206B_200C_202C_200D_202B_206A_202E_206B_202A_200F_206D_202A_200D_202B_206F_202E_200F_200D_206E_206B_206F_200B_206F_202E(x);
|
||||
}
|
||||
|
||||
static byte _202A_200F_206E_206E_206F_202A_202D_200D_200E_202D_202E_206B_206B_202C_206F_206F_200B_206B_200C_202C_200D_202B_206A_202E_206B_202A_200F_206D_202A_200D_202B_206F_202E_200F_200D_206E_206B_206F_200B_206F_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass2_0
|
||||
{
|
||||
public HashSet<int> authored;
|
||||
|
||||
internal bool _003CValidate_003Eb__1(int seq)
|
||||
{
|
||||
return !authored.Contains(seq);
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__2 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
public GameSequenceCoverageValidator _003C_003E4__this;
|
||||
|
||||
private IEnumerator<int> _003C_003E7__wrap1;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__2(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _206A_200F_206B_202D_206F_202D_206B_202E_200F_206D_200B_206D_202B_206E_206C_206E_206E_206E_206A_206F_202B_200E_206E_202E_200C_202D_200C_200C_206C_202A_200C_202B_200B_200D_200B_202E_202E_200C_206D_202D_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? (-1463378025) : (-1463378026));
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1463378025;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 2:
|
||||
num2 = -1463378026;
|
||||
continue;
|
||||
case 1:
|
||||
if (num == 1)
|
||||
{
|
||||
num2 = -1463378025;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = null;
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
GameSequenceCoverageValidator gameSequenceCoverageValidator = _003C_003E4__this;
|
||||
int num2 = ((num == 0) ? (-1251389121) : (-1251389133));
|
||||
_003C_003Ec__DisplayClass2_0 _003C_003Ec__DisplayClass2_ = default(_003C_003Ec__DisplayClass2_0);
|
||||
QuestId questId = default(QuestId);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1251389125;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 5:
|
||||
return false;
|
||||
case 8:
|
||||
num2 = ((num == 1) ? (-1251389124) : (-1251389122));
|
||||
break;
|
||||
case 6:
|
||||
return false;
|
||||
case 4:
|
||||
_003C_003E1__state = -1;
|
||||
_003C_003Ec__DisplayClass2_ = new _003C_003Ec__DisplayClass2_0();
|
||||
questId = quest.Id as QuestId;
|
||||
num2 = (((object)questId != null) ? (-1251389125) : (-1251389123));
|
||||
break;
|
||||
case 3:
|
||||
num2 = -1251389133;
|
||||
break;
|
||||
case 0:
|
||||
{
|
||||
_003C_003Ec__DisplayClass2_.authored = ((IEnumerable<QuestSequence>)_202C_202A_206D_206A_206B_202E_206F_200C_200B_202A_206C_206B_206A_202E_206B_200C_206B_200C_200F_200F_200B_206D_200E_202C_200E_206A_200B_202C_206D_200F_200E_200F_200C_202D_200C_202A_200D_202E_206E_200E_202E(quest.Root)).Select((Func<QuestSequence, int>)((QuestSequence x) => _003C_003Ec._202A_200F_206E_206E_206F_202A_202D_200D_200E_202D_202E_206B_206B_202C_206F_206F_200B_206B_200C_202C_200D_202B_206A_202E_206B_202A_200F_206D_202A_200D_202B_206F_202E_200F_200D_206E_206B_206F_200B_206F_202E(x))).ToHashSet();
|
||||
IEnumerable<int> enumerable = GameQuestSequences.GetCompletionSequences(gameSequenceCoverageValidator._dataManager, questId).Where(_003C_003Ec__DisplayClass2_._003CValidate_003Eb__1);
|
||||
_003C_003E7__wrap1 = enumerable.GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -1251389134;
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
{
|
||||
int current = _003C_003E7__wrap1.Current;
|
||||
ValidationIssue obj = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _206F_206C_206E_202A_200F_206D_200B_202E_206C_200C_200B_200F_200C_202B_202B_206D_206B_202C_200D_200F_200F_200D_206B_200B_202E_200C_200D_202C_200F_206D_200D_200E_202C_206E_200B_206B_206E_202A_206B_200C_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)current, null),
|
||||
Type = EIssueType.MissingPostInstanceSequence,
|
||||
Severity = EIssueSeverity.Warning
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(76, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(1038269044));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(current);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1871308311));
|
||||
obj.Description = _206B_202C_206E_206A_200F_206E_202A_202C_206F_200D_200C_206E_202E_200B_206B_206E_202B_202D_202E_206E_202B_206C_206B_206F_200E_206F_202B_200E_206B_206C_202C_202A_202E_202A_202D_202D_200C_206D_202E_202D_202E(defaultInterpolatedStringHandler.ToStringAndClear(), global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(1742548975));
|
||||
_003C_003E2__current = obj;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 7:
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -1251389134;
|
||||
break;
|
||||
case 9:
|
||||
num2 = (_202A_206D_206A_200B_200B_202A_202E_202A_200B_206E_202A_202E_202D_200B_206B_200B_206B_200D_206E_202B_200B_200F_206C_200C_200E_206E_206B_206C_202E_202A_200B_202C_202E_200C_202B_206E_206F_206F_206F_200C_202E((IEnumerator)_003C_003E7__wrap1) ? (-1251389127) : (-1251389126));
|
||||
break;
|
||||
case 1:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
int num = ((_003C_003E7__wrap1 == null) ? (-1668424457) : (-1668424458));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1668424457;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 2:
|
||||
num = -1668424458;
|
||||
break;
|
||||
case 1:
|
||||
_200F_206D_206A_206E_202C_206E_200E_200C_202C_206C_206D_206F_202C_202C_200F_202A_202A_202D_206C_206E_202A_206A_200B_206A_206C_206E_206D_200C_200B_202A_206B_200C_206B_200F_200E_202C_206A_206C_202C_206A_202E((IDisposable)_003C_003E7__wrap1);
|
||||
num = -1668424457;
|
||||
break;
|
||||
case 0:
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _206E_206F_200C_200C_206F_200C_202E_202A_206E_206D_200D_206F_202D_206E_202E_200F_206C_206B_200F_200E_200B_202B_206F_206F_202D_202D_200C_202C_202A_200F_200D_202D_200B_202C_202E_200D_202D_206C_202C_200F_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? (-272048312) : (-272048307));
|
||||
_003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -272048308;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 2:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = -272048308;
|
||||
break;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _206A_200F_206B_202D_206F_202D_206B_202E_200F_206D_200B_206D_202B_206E_206C_206E_206E_206E_206A_206F_202B_200E_206E_202E_200C_202D_200C_200C_206C_202A_200C_202B_200B_200D_200B_202E_202E_200C_206D_202D_202E()) ? (-272048312) : (-272048306));
|
||||
break;
|
||||
case 4:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__2(0)
|
||||
{
|
||||
_003C_003E4__this = _003C_003E4__this
|
||||
};
|
||||
num = -272048308;
|
||||
break;
|
||||
case 3:
|
||||
num = -272048307;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _206A_200F_206B_202D_206F_202D_206B_202E_200F_206D_200B_206D_202B_206E_206C_206E_206E_206E_206A_206F_202B_200E_206E_202E_200C_202D_200C_200C_206C_202A_200C_202B_200B_200D_200B_202E_202E_200C_206D_202D_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static List<QuestSequence> _202C_202A_206D_206A_206B_202E_206F_200C_200B_202A_206C_206B_206A_202E_206B_200C_206B_200C_200F_200F_200B_206D_200E_202C_200E_206A_200B_202C_206D_200F_200E_200F_200C_202D_200C_202A_200D_202E_206E_200E_202E(QuestRoot P_0)
|
||||
{
|
||||
return P_0.QuestSequence;
|
||||
}
|
||||
|
||||
static string _206F_206C_206E_202A_200F_206D_200B_202E_206C_200C_200B_200F_200C_202B_202B_206D_206B_202C_200D_200F_200F_200D_206B_200B_202E_200C_200D_202C_200F_206D_200D_200E_202C_206E_200B_206B_206E_202A_206B_200C_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static string _206B_202C_206E_206A_200F_206E_202A_202C_206F_200D_200C_206E_202E_200B_206B_206E_202B_202D_202E_206E_202B_206C_206B_206F_200E_206F_202B_200E_206B_206C_202C_202A_202E_202A_202D_202D_200C_206D_202E_202D_202E(string P_0, string P_1)
|
||||
{
|
||||
return P_0 + P_1;
|
||||
}
|
||||
|
||||
static bool _202A_206D_206A_200B_200B_202A_202E_202A_200B_206E_202A_202E_202D_200B_206B_200B_206B_200D_206E_202B_200B_200F_206C_200C_200E_206E_206B_206C_202E_202A_200B_202C_202E_200C_202B_206E_206F_206F_206F_200C_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200F_206D_206A_206E_202C_206E_200E_200C_202C_206C_206D_206F_202C_202C_200F_202A_202A_202D_206C_206E_202A_206A_200B_206A_206C_206E_206D_200C_200B_202A_206B_200C_206B_200F_200E_202C_206A_206C_202C_206A_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static NotSupportedException _206E_206F_200C_200C_206F_200C_202E_202A_206E_206D_200D_206F_202D_206E_202E_200F_206C_206B_200F_200E_200B_202B_206F_206F_202D_202D_200C_202C_202A_200F_200D_202D_200B_202C_202E_200D_202D_206C_202C_200F_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly IDataManager _dataManager;
|
||||
|
||||
public GameSequenceCoverageValidator(IDataManager dataManager)
|
||||
|
|
@ -335,20 +17,27 @@ internal sealed class GameSequenceCoverageValidator : IQuestValidator
|
|||
_dataManager = dataManager;
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__2))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__2(-2)
|
||||
if (!(quest.Id is QuestId questId))
|
||||
{
|
||||
_003C_003E4__this = this,
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
yield break;
|
||||
}
|
||||
HashSet<int> authored = ((IEnumerable<QuestSequence>)quest.Root.QuestSequence).Select((Func<QuestSequence, int>)((QuestSequence x) => x.Sequence)).ToHashSet();
|
||||
IEnumerable<int> enumerable = from seq in GameQuestSequences.GetCompletionSequences(_dataManager, questId)
|
||||
where !authored.Contains(seq)
|
||||
select seq;
|
||||
foreach (int item in enumerable)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)item, null),
|
||||
Type = EIssueType.MissingPostInstanceSequence,
|
||||
Severity = EIssueSeverity.Warning,
|
||||
Description = $"The game uses sequence {item}, but the quest path doesn't define it. Add an empty " + "placeholder sequence (or steps, if the sequence requires player action)."
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,10 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Questionable.Validation.Validators;
|
||||
|
||||
internal sealed class GatheringSchemaValidator : DefinitionSchemaValidator
|
||||
{
|
||||
protected override EPathType PathType => EPathType.Gathering;
|
||||
|
||||
protected override string MainSchemaUri
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-945562084);
|
||||
}
|
||||
}
|
||||
protected override string MainSchemaUri => "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/GatheringPaths/gatheringlocation-v1.json";
|
||||
|
||||
public GatheringSchemaValidator(SchemaRegistrar schemaRegistrar)
|
||||
: base(schemaRegistrar)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,10 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
|
|
@ -12,476 +7,55 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class LandingZoneValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_0;
|
||||
|
||||
internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
List<LandingZone> list = _200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(x.Step);
|
||||
int num = ((list == null) ? 293008772 : 293008775);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 293008773;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return list.Count > 0;
|
||||
case 0:
|
||||
goto IL_0059;
|
||||
}
|
||||
continue;
|
||||
IL_0059:
|
||||
num = 293008775;
|
||||
}
|
||||
}
|
||||
|
||||
static List<LandingZone> _200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.LandingZones;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1;
|
||||
|
||||
private (QuestSequence Sequence, int StepId, QuestStep Step) _003CstepInfo_003E5__3;
|
||||
|
||||
private int _003Cz_003E5__4;
|
||||
|
||||
private LandingZone _003Czone_003E5__5;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? (-301580919) : (-301580918));
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -301580920;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
num2 = -301580918;
|
||||
continue;
|
||||
case 2:
|
||||
num4 = 1;
|
||||
num5 = num;
|
||||
if ((uint)(~(~num5 + num4)) <= 2u)
|
||||
{
|
||||
num2 = -301580919;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = null;
|
||||
_003CstepInfo_003E5__3 = default((QuestSequence, int, QuestStep));
|
||||
_003Czone_003E5__5 = null;
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num;
|
||||
switch (_003C_003E1__state)
|
||||
{
|
||||
default:
|
||||
num = 1353765120;
|
||||
goto IL_0029;
|
||||
case 2:
|
||||
_003C_003E1__state = -3;
|
||||
num = 1353765123;
|
||||
goto IL_0029;
|
||||
case 1:
|
||||
goto IL_02fa;
|
||||
case 0:
|
||||
goto IL_0497;
|
||||
case 3:
|
||||
goto IL_04ef;
|
||||
IL_0029:
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1353765133;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 15:
|
||||
num = 1353765120;
|
||||
break;
|
||||
case 14:
|
||||
goto IL_00a1;
|
||||
case 7:
|
||||
goto IL_00d3;
|
||||
case 11:
|
||||
goto IL_0100;
|
||||
case 5:
|
||||
_003CstepInfo_003E5__3 = _003C_003E7__wrap1.Current;
|
||||
_003Cz_003E5__4 = 0;
|
||||
num = 1353765151;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
int num5 = _003Cz_003E5__4;
|
||||
num3 = 1;
|
||||
num4 = num5;
|
||||
_003Cz_003E5__4 = (num4 | num3) + (num4 & num3);
|
||||
num = 1353765151;
|
||||
break;
|
||||
}
|
||||
case 18:
|
||||
goto IL_0178;
|
||||
case 0:
|
||||
goto IL_01b0;
|
||||
case 6:
|
||||
_003CstepInfo_003E5__3 = default((QuestSequence, int, QuestStep));
|
||||
num = 1353765126;
|
||||
break;
|
||||
case 9:
|
||||
goto end_IL_0029;
|
||||
case 1:
|
||||
_003Czone_003E5__5 = null;
|
||||
num = 1353765135;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
ValidationIssue obj3 = new ValidationIssue
|
||||
{
|
||||
ElementId = quest.Id,
|
||||
Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence),
|
||||
Step = _003CstepInfo_003E5__3.StepId,
|
||||
Type = EIssueType.InvalidLandingZone,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler3 = new DefaultInterpolatedStringHandler(48, 1);
|
||||
defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(763106568));
|
||||
defaultInterpolatedStringHandler3.AppendFormatted(_003Cz_003E5__4);
|
||||
defaultInterpolatedStringHandler3.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-317713008));
|
||||
obj3.Description = defaultInterpolatedStringHandler3.ToStringAndClear();
|
||||
_003C_003E2__current = obj3;
|
||||
_003C_003E1__state = 3;
|
||||
return true;
|
||||
}
|
||||
case 10:
|
||||
goto IL_02fa;
|
||||
case 13:
|
||||
return false;
|
||||
case 17:
|
||||
{
|
||||
ValidationIssue obj2 = new ValidationIssue
|
||||
{
|
||||
ElementId = quest.Id,
|
||||
Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence),
|
||||
Step = _003CstepInfo_003E5__3.StepId,
|
||||
Type = EIssueType.InvalidLandingZone,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler2 = new DefaultInterpolatedStringHandler(39, 1);
|
||||
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1041108262));
|
||||
defaultInterpolatedStringHandler2.AppendFormatted(_003Cz_003E5__4);
|
||||
defaultInterpolatedStringHandler2.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1470671526));
|
||||
obj2.Description = defaultInterpolatedStringHandler2.ToStringAndClear();
|
||||
_003C_003E2__current = obj2;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 16:
|
||||
{
|
||||
ValidationIssue obj = new ValidationIssue
|
||||
{
|
||||
ElementId = quest.Id,
|
||||
Sequence = _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(_003CstepInfo_003E5__3.Sequence),
|
||||
Step = _003CstepInfo_003E5__3.StepId,
|
||||
Type = EIssueType.InvalidLandingZone,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(27, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(430923307));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(_003Cz_003E5__4);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1557501855));
|
||||
obj.Description = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
_003C_003E2__current = obj;
|
||||
_003C_003E1__state = 2;
|
||||
return true;
|
||||
}
|
||||
case 8:
|
||||
goto IL_0497;
|
||||
case 12:
|
||||
goto IL_04ef;
|
||||
case 4:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = null;
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_01b0:
|
||||
_003Czone_003E5__5 = _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(_003CstepInfo_003E5__3.Step)[_003Cz_003E5__4];
|
||||
num = ((_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5).Count >= 3) ? 1353765130 : 1353765148);
|
||||
continue;
|
||||
IL_00a1:
|
||||
num = ((!(_200C_202A_206D_202A_206F_200E_200C_206A_202C_202E_202D_206A_206A_206B_200F_202D_202A_200D_206F_202D_200C_200D_200E_206E_200E_200B_202E_200C_202C_206D_200C_200C_200F_200B_202B_200C_206C_202C_202A_206A_202E((IReadOnlyList<Vector3>)_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5)) < 0.01f)) ? 1353765132 : 1353765134);
|
||||
continue;
|
||||
IL_0100:
|
||||
num = (_202B_206E_206E_206C_202A_200C_200C_202D_202B_202D_200E_202C_200D_202A_200C_206C_202A_200D_202C_206A_200D_200D_206B_200D_200E_206F_206A_200D_202C_202A_206D_206E_200D_206E_206B_206C_206E_200D_202A_202A_202E((IEnumerator)_003C_003E7__wrap1) ? 1353765128 : 1353765129);
|
||||
continue;
|
||||
IL_0178:
|
||||
num = ((_003Cz_003E5__4 < _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(_003CstepInfo_003E5__3.Step).Count) ? 1353765133 : 1353765131);
|
||||
continue;
|
||||
IL_00d3:
|
||||
num = (_206A_206D_200F_202E_202D_202A_202B_206C_206D_202A_202A_202C_200D_206C_206F_206D_200C_200B_206B_200F_202C_206A_200D_206A_206D_202D_202E_206F_206B_202A_202C_200E_200E_206F_202C_202A_200E_202E_200C_202A_202E((IReadOnlyList<Vector3>)_206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(_003Czone_003E5__5)) ? 1353765123 : 1353765149);
|
||||
continue;
|
||||
end_IL_0029:
|
||||
break;
|
||||
}
|
||||
goto case 2;
|
||||
IL_04ef:
|
||||
_003C_003E1__state = -3;
|
||||
num = 1353765132;
|
||||
goto IL_0029;
|
||||
IL_0497:
|
||||
_003C_003E1__state = -1;
|
||||
_003C_003E7__wrap1 = quest.AllSteps().Where<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
List<LandingZone> list = _003C_003Ec._200D_202B_206F_200E_202E_206A_202A_206B_200D_206F_200C_202D_200F_202D_206E_202D_202E_202C_206D_202B_202B_200C_202D_202E_206E_206E_206F_202A_200B_202C_206B_200F_206D_200E_202E_202C_200C_202E_206B_206A_202E(x.Step);
|
||||
int num6 = ((list == null) ? 293008772 : 293008775);
|
||||
while (true)
|
||||
{
|
||||
int num7 = num6;
|
||||
int num8 = 293008773;
|
||||
int num9 = num7;
|
||||
switch ((num9 | num8) - (num9 & num8))
|
||||
{
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return list.Count > 0;
|
||||
case 0:
|
||||
goto IL_0059;
|
||||
}
|
||||
continue;
|
||||
IL_0059:
|
||||
num6 = 293008775;
|
||||
}
|
||||
}).GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num = 1353765126;
|
||||
goto IL_0029;
|
||||
IL_02fa:
|
||||
_003C_003E1__state = -3;
|
||||
num = 1353765135;
|
||||
goto IL_0029;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
int num = ((_003C_003E7__wrap1 == null) ? 849893968 : 849893971);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 849893970;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
return;
|
||||
case 1:
|
||||
_202B_200B_206D_202B_206E_202A_206A_200D_200E_200F_206C_202A_206D_206D_206C_206F_202D_206F_202D_206B_202A_206F_200F_202A_200E_206F_206E_202D_200B_206D_200E_200F_200C_202D_202D_200F_206B_202E_206E_202C_202E((IDisposable)_003C_003E7__wrap1);
|
||||
num = 849893968;
|
||||
break;
|
||||
case 0:
|
||||
num = 849893971;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _200E_202D_200D_200B_202E_206F_206C_206D_206C_206F_206F_206F_202B_202E_202C_206B_206A_206D_202A_206F_206B_202A_202B_200D_202D_200C_202E_202D_202C_200F_202B_200E_206B_200D_206C_200F_202A_202C_206D_202A_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? 1118277465 : 1118277470);
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1118277469;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 1118277470;
|
||||
break;
|
||||
case 4:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = 1118277468;
|
||||
break;
|
||||
case 1:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 2:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = 1118277468;
|
||||
break;
|
||||
case 3:
|
||||
num = ((_003C_003El__initialThreadId != _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E()) ? 1118277465 : 1118277471);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _206B_202C_206F_206D_202E_202E_206D_206F_200C_200D_206C_200C_206A_206F_206D_206E_202D_202A_200C_202E_202E_206D_200F_200B_200F_200B_200E_200B_202A_200F_206E_206A_202E_206B_206B_202E_206F_200B_206B_202A_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static List<LandingZone> _202E_200C_202A_200B_206B_206C_206A_206D_202B_206C_200C_202E_202A_200E_202B_206A_202D_206E_202D_200B_200F_200E_206B_200C_202A_206A_202B_206C_202D_206C_200F_202C_202B_206B_202B_206C_202C_200B_202E_200C_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.LandingZones;
|
||||
}
|
||||
|
||||
static List<Vector3> _206B_200F_200D_202D_202D_206E_202B_206E_206B_200C_200C_206D_206D_202B_206F_202B_206D_200C_202D_200D_206B_202E_200F_206E_202E_206B_206C_200E_200E_206B_200D_202B_206D_206D_206D_206A_206C_206C_206F_202D_202E(LandingZone P_0)
|
||||
{
|
||||
return P_0.Vertices;
|
||||
}
|
||||
|
||||
static byte _200B_202B_202B_206D_206D_200C_202E_206A_200B_206F_206A_206C_202B_202D_200C_200C_206F_200C_206D_200B_200E_200D_202A_206D_202B_202A_200C_206B_206A_202B_200F_206E_200C_206B_200D_206F_206B_206F_202A_202B_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static bool _206A_206D_200F_202E_202D_202A_202B_206C_206D_202A_202A_202C_200D_206C_206F_206D_200C_200B_206B_200F_202C_206A_200D_206A_206D_202D_202E_206F_206B_202A_202C_200E_200E_206F_202C_202A_200E_202E_200C_202A_202E(IReadOnlyList<Vector3> P_0)
|
||||
{
|
||||
return LandingZoneMath.IsConvex(P_0);
|
||||
}
|
||||
|
||||
static float _200C_202A_206D_202A_206F_200E_200C_206A_202C_202E_202D_206A_206A_206B_200F_202D_202A_200D_206F_202D_200C_200D_200E_206E_200E_200B_202E_200C_202C_206D_200C_200C_200F_200B_202B_200C_206C_202C_202A_206A_202E(IReadOnlyList<Vector3> P_0)
|
||||
{
|
||||
return LandingZoneMath.CalculatePolygonArea(P_0);
|
||||
}
|
||||
|
||||
static bool _202B_206E_206E_206C_202A_200C_200C_202D_202B_202D_200E_202C_200D_202A_200C_206C_202A_200D_202C_206A_200D_200D_206B_200D_200E_206F_206A_200D_202C_202A_206D_206E_200D_206E_206B_206C_206E_200D_202A_202A_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _202B_200B_206D_202B_206E_202A_206A_200D_200E_200F_206C_202A_206D_206D_206C_206F_202D_206F_202D_206B_202A_206F_200F_202A_200E_206F_206E_202D_200B_206D_200E_200F_200C_202D_202D_200F_206B_202E_206E_202C_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static NotSupportedException _200E_202D_200D_200B_202E_206F_206C_206D_206C_206F_206F_206F_202B_202E_202C_206B_206A_206D_202A_206F_206B_202A_202B_200D_202D_200C_202E_202D_202C_200F_202B_200E_206B_200D_206C_200F_202A_202C_206D_202A_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__0))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__0(-2)
|
||||
foreach (var stepInfo in quest.AllSteps().Where<(QuestSequence, int, QuestStep)>(delegate((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
List<LandingZone> landingZones = x.Step.LandingZones;
|
||||
return landingZones != null && landingZones.Count > 0;
|
||||
}))
|
||||
{
|
||||
for (int z = 0; z < stepInfo.Item3.LandingZones.Count; z++)
|
||||
{
|
||||
LandingZone zone = stepInfo.Item3.LandingZones[z];
|
||||
if (zone.Vertices.Count < 3)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
ElementId = quest.Id,
|
||||
Sequence = stepInfo.Item1.Sequence,
|
||||
Step = stepInfo.Item2,
|
||||
Type = EIssueType.InvalidLandingZone,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"Landing zone {z} has fewer than 3 vertices"
|
||||
};
|
||||
continue;
|
||||
}
|
||||
if (!LandingZoneMath.IsConvex(zone.Vertices))
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
ElementId = quest.Id,
|
||||
Sequence = stepInfo.Item1.Sequence,
|
||||
Step = stepInfo.Item2,
|
||||
Type = EIssueType.InvalidLandingZone,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"Landing zone {z} is not convex"
|
||||
};
|
||||
}
|
||||
if (LandingZoneMath.CalculatePolygonArea(zone.Vertices) < 0.01f)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
ElementId = quest.Id,
|
||||
Sequence = stepInfo.Item1.Sequence,
|
||||
Step = stepInfo.Item2,
|
||||
Type = EIssueType.InvalidLandingZone,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"Landing zone {z} has zero area (collinear vertices)"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
|
|
@ -11,305 +7,21 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class NextQuestValidator : IQuestValidator
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass0_0
|
||||
{
|
||||
public Quest quest;
|
||||
|
||||
public Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0;
|
||||
|
||||
internal bool _003CValidate_003Eb__0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return _200E_200D_202E_206B_206C_202A_200E_206C_202B_200B_206A_206C_206C_200F_206A_202B_206D_200E_206E_200B_202D_202A_202C_206C_202B_206C_206C_200B_202D_200F_200B_202B_200E_206B_206A_202D_206D_202E_206C_200E_202E(_202A_200E_206B_202C_202D_200E_200D_206E_200E_206C_206A_200F_202E_200E_200C_206E_202C_200D_200E_202B_200C_206C_202A_202D_202D_200B_202B_202A_200B_200C_202E_202A_206F_206E_202A_202C_202B_200F_202D_206A_202E(x.Step), quest.Id);
|
||||
}
|
||||
|
||||
static ElementId _202A_200E_206B_202C_202D_200E_200D_206E_200E_206C_206A_200F_202E_200E_200C_206E_202C_200D_200E_202B_200C_206C_202A_202D_202D_200B_202B_202A_200B_200C_202E_202A_206F_206E_202A_202C_202B_200F_202D_206A_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.NextQuestId;
|
||||
}
|
||||
|
||||
static bool _200E_200D_202E_206B_206C_202A_200E_206C_202B_200B_206A_206C_206C_200F_206A_202B_206D_200E_206E_200B_202D_202A_202C_206C_202B_206C_206C_200B_202D_200F_200B_202B_200E_206B_206A_202D_206D_202E_206C_200E_202E(ElementId P_0, ElementId P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private _003C_003Ec__DisplayClass0_0 _003C_003E8__1;
|
||||
|
||||
private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _206C_206C_206D_200E_206B_200C_206D_200E_200D_206E_202B_200F_202C_200D_206A_202D_206F_206B_206A_200E_202D_200D_206D_200F_202C_202D_206E_206A_200F_206F_200D_206F_202D_202E_202E_200E_200C_206A_206D_206F_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? (-177611004) : (-177611003));
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -177611004;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 2:
|
||||
num2 = -177611003;
|
||||
continue;
|
||||
case 1:
|
||||
if (num == 1)
|
||||
{
|
||||
num2 = -177611004;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E8__1 = null;
|
||||
_003C_003E7__wrap1 = null;
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == 0) ? 204267570 : 204267569);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 204267573;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 7:
|
||||
_003C_003E1__state = -1;
|
||||
_003C_003E8__1 = new _003C_003Ec__DisplayClass0_0();
|
||||
_003C_003E8__1.quest = quest;
|
||||
_003C_003E7__wrap1 = (from x in _003C_003E8__1.quest.AllSteps()
|
||||
where _003C_003Ec__DisplayClass0_0._200E_200D_202E_206B_206C_202A_200E_206C_202B_200B_206A_206C_206C_200F_206A_202B_206D_200E_206E_200B_202D_202A_202C_206C_202B_206C_206C_200B_202D_200F_200B_202B_200E_206B_206A_202D_206D_202E_206C_200E_202E(_003C_003Ec__DisplayClass0_0._202A_200E_206B_202C_202D_200E_200D_206E_200E_206C_206A_200F_202E_200E_200C_206E_202C_200D_200E_202B_200C_206C_202A_202D_202D_200B_202B_202A_200B_200C_202E_202A_206F_206E_202A_202C_202B_200F_202D_206A_202E(x.Step), _003C_003E8__1.quest.Id)
|
||||
select x).GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = 204267574;
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
(QuestSequence, int, QuestStep) current = _003C_003E7__wrap1.Current;
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _202E_206D_200B_200B_202D_202E_206B_200B_202E_206A_202E_202D_202A_202E_202C_206E_202C_202E_202B_202E_200C_200E_202E_206D_206B_200D_202A_206F_202A_206A_202C_206D_200B_206E_200D_202C_200F_202B_206A_200D_202E((object)_003C_003E8__1.quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_200B_202E_206E_202E_200D_202A_200D_200E_200E_200F_200E_206E_206A_206A_202D_200E_206D_202B_200E_200D_206E_202D_206C_206B_200F_200F_202B_200C_206B_202B_206D_200E_200D_200B_206F_206A_200B_202B_206E_200F_202E(current.Item1), current.Item2),
|
||||
Type = EIssueType.InvalidNextQuestId,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-552631953)
|
||||
};
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 4:
|
||||
num2 = ((num == 1) ? 204267573 : 204267568);
|
||||
break;
|
||||
case 3:
|
||||
num2 = (_202D_200C_202D_206D_206A_200F_200D_202D_200F_206D_206F_206E_200E_200D_202A_200C_202D_200F_202D_206C_202B_202D_206C_202C_202D_202B_202D_206A_202B_200E_200F_206E_200D_200D_200D_202A_202E_200C_200B_206D_202E((IEnumerator)_003C_003E7__wrap1) ? 204267572 : 204267571);
|
||||
break;
|
||||
case 5:
|
||||
return false;
|
||||
case 2:
|
||||
num2 = 204267569;
|
||||
break;
|
||||
case 0:
|
||||
_003C_003E1__state = -3;
|
||||
num2 = 204267574;
|
||||
break;
|
||||
case 6:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
int num = ((_003C_003E7__wrap1 == null) ? (-1138121483) : (-1138121484));
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1138121483;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
return;
|
||||
case 1:
|
||||
_200D_206A_202A_200D_200E_202C_200B_202C_200F_200B_200E_200D_200F_200B_206E_206B_200F_200C_200E_206A_202B_200C_202E_206F_200B_206B_206B_200C_200C_206A_200D_206C_202E_200C_206B_202C_200D_206D_202D_202E((IDisposable)_003C_003E7__wrap1);
|
||||
num = -1138121483;
|
||||
break;
|
||||
case 2:
|
||||
num = -1138121484;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _206A_200E_202A_202D_202A_206C_202D_202A_206D_206A_200E_202A_206C_206C_200C_206B_206A_206B_206F_200E_202A_200F_200C_206F_202A_206F_206E_206D_200E_200F_200B_206D_206C_202D_202A_200D_206B_202C_202B_200C_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? (-561173402) : (-561173406));
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -561173402;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 3:
|
||||
num = -561173406;
|
||||
break;
|
||||
case 0:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = -561173404;
|
||||
break;
|
||||
case 2:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 1:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = -561173404;
|
||||
break;
|
||||
case 4:
|
||||
num = ((_003C_003El__initialThreadId != _206C_206C_206D_200E_206B_200C_206D_200E_200D_206E_202B_200F_202C_200D_206A_202D_206F_206B_206A_200E_202D_200D_206D_200F_202C_202D_206E_206A_200F_206F_200D_206F_202D_202E_202E_200E_200C_206A_206D_206F_202E()) ? (-561173402) : (-561173401));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _206C_206C_206D_200E_206B_200C_206D_200E_200D_206E_202B_200F_202C_200D_206A_202D_206F_206B_206A_200E_202D_200D_206D_200F_202C_202D_206E_206A_200F_206F_200D_206F_202D_202E_202E_200E_200C_206A_206D_206F_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static string _202E_206D_200B_200B_202D_202E_206B_200B_202E_206A_202E_202D_202A_202E_202C_206E_202C_202E_202B_202E_200C_200E_202E_206D_206B_200D_202A_206F_202A_206A_202C_206D_200B_206E_200D_202C_200F_202B_206A_200D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static byte _200B_202E_206E_202E_200D_202A_200D_200E_200E_200F_200E_206E_206A_206A_202D_200E_206D_202B_200E_200D_206E_202D_206C_206B_200F_200F_202B_200C_206B_202B_206D_200E_200D_200B_206F_206A_200B_202B_206E_200F_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static bool _202D_200C_202D_206D_206A_200F_200D_202D_200F_206D_206F_206E_200E_200D_202A_200C_202D_200F_202D_206C_202B_202D_206C_202C_202D_202B_202D_206A_202B_200E_200F_206E_200D_200D_200D_202A_202E_200C_200B_206D_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200D_206A_202A_200D_200E_202C_200B_202C_200F_200B_200E_200D_200F_200B_206E_206B_200F_200C_200E_206A_202B_200C_202E_206F_200B_206B_206B_200C_200C_206A_200D_206C_202E_200C_206B_202C_200D_206D_202D_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static NotSupportedException _206A_200E_202A_202D_202A_206C_202D_202A_206D_206A_200E_202A_206C_206C_200C_206B_206A_206B_206F_200E_202A_200F_200C_206F_202A_206F_206E_206D_200E_200F_200B_206D_206C_202D_202A_200D_206B_202C_202B_200C_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__0))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__0(-2)
|
||||
foreach (var item in from x in quest.AllSteps()
|
||||
where x.Step.NextQuestId == quest.Id
|
||||
select x)
|
||||
{
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(item.Item1.Sequence, item.Item2),
|
||||
Type = EIssueType.InvalidNextQuestId,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Next quest should not reference itself"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,230 +1,23 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
namespace Questionable.Validation.Validators;
|
||||
|
||||
internal sealed class QuestDisabledValidator : IQuestValidator
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _202C_206D_202D_200B_206F_206B_200D_202B_202A_206E_206F_202C_202E_202C_200C_200C_206D_206E_200F_206A_206E_200E_206C_202A_206A_202B_202E_202B_206F_200B_206B_206B_206F_206A_202D_200C_206F_200B_206A_200C_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == 0) ? 995898240 : 995898242);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 995898241;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 4:
|
||||
return false;
|
||||
case 0:
|
||||
return false;
|
||||
case 6:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _206E_200D_200D_200D_206D_202A_200F_206A_200C_200F_200D_206F_202E_202D_206E_200F_206E_206B_200D_206C_200B_202D_206D_200C_206C_206E_202D_206E_202A_200C_206D_202E_206F_202A_206D_206F_200C_202A_206F_202D_202E((object)quest.Id),
|
||||
Location = null,
|
||||
Type = EIssueType.QuestDisabled,
|
||||
Severity = EIssueSeverity.None,
|
||||
Description = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(562118672)
|
||||
};
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
case 1:
|
||||
_003C_003E1__state = -1;
|
||||
num2 = ((!_200C_202A_206F_206B_206D_200D_202C_200F_200C_200D_200C_200E_206A_206F_200F_202E_206D_206E_206C_202A_200C_202E_200E_202B_200E_200D_206C_202A_202A_200F_202B_200F_200D_206F_202D_206E_200F_202E_200E_200F_202E(quest.Root)) ? 995898241 : 995898247);
|
||||
break;
|
||||
case 2:
|
||||
_003C_003E1__state = -1;
|
||||
num2 = 995898241;
|
||||
break;
|
||||
case 5:
|
||||
num2 = 995898242;
|
||||
break;
|
||||
case 3:
|
||||
num2 = ((num == 1) ? 995898243 : 995898245);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _206D_206D_200B_202D_206A_200D_200B_200B_200C_202D_200C_200E_200E_206D_206C_206F_206D_200F_206F_206E_200D_206D_200F_206E_206E_200F_206A_202C_206A_200F_206A_206C_206D_202B_200C_200E_206D_202B_200D_202A_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? 1288599093 : 1288599094);
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1288599095;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = 1288599092;
|
||||
break;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _202C_206D_202D_200B_206F_206B_200D_202B_202A_206E_206F_202C_202E_202C_200C_200C_206D_206E_200F_206A_206E_200E_206C_202A_206A_202B_202E_202B_206F_200B_206B_206B_206F_206A_202D_200C_206F_200B_206A_200C_202E()) ? 1288599093 : 1288599091);
|
||||
break;
|
||||
case 0:
|
||||
num = 1288599094;
|
||||
break;
|
||||
case 3:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 2:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = 1288599092;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _202C_206D_202D_200B_206F_206B_200D_202B_202A_206E_206F_202C_202E_202C_200C_200C_206D_206E_200F_206A_206E_200E_206C_202A_206A_202B_202E_202B_206F_200B_206B_206B_206F_206A_202D_200C_206F_200B_206A_200C_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static bool _200C_202A_206F_206B_206D_200D_202C_200F_200C_200D_200C_200E_206A_206F_200F_202E_206D_206E_206C_202A_200C_202E_200E_202B_200E_200D_206C_202A_202A_200F_202B_200F_200D_206F_202D_206E_200F_202E_200E_200F_202E(QuestRoot P_0)
|
||||
{
|
||||
return P_0.Disabled;
|
||||
}
|
||||
|
||||
static string _206E_200D_200D_200D_206D_202A_200F_206A_200C_200F_200D_206F_202E_202D_206E_200F_206E_206B_200D_206C_200B_202D_206D_200C_206C_206E_202D_206E_202A_200C_206D_202E_206F_202A_206D_206F_200C_202A_206F_202D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static NotSupportedException _206D_206D_200B_202D_206A_200D_200B_200B_200C_202D_200C_200E_200E_206D_206C_206F_206D_200F_206F_206E_200D_206D_200F_206E_206E_200F_206A_202C_206A_200F_206A_206C_206D_202B_200C_200E_206D_202B_200D_202A_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
int num = 995898240;
|
||||
while (true)
|
||||
if (quest.Root.Disabled)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 995898241;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
case 4:
|
||||
yield break;
|
||||
case 0:
|
||||
yield break;
|
||||
case 6:
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _003CValidate_003Ed__0._206E_200D_200D_200D_206D_202A_200F_206A_200C_200F_200D_206F_202E_202D_206E_200F_206E_206B_200D_206C_200B_202D_206D_200C_206C_206E_202D_206E_202A_200C_206D_202E_206F_202A_206D_206F_200C_202A_206F_202D_202E((object)quest.Id),
|
||||
Location = null,
|
||||
Type = EIssueType.QuestDisabled,
|
||||
Severity = EIssueSeverity.None,
|
||||
Description = global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(562118672)
|
||||
};
|
||||
num = 995898242;
|
||||
break;
|
||||
case 1:
|
||||
num = ((!_003CValidate_003Ed__0._200C_202A_206F_206B_206D_200D_202C_200F_200C_200D_200C_200E_206A_206F_200F_202E_206D_206E_206C_202A_200C_202E_200E_202B_200E_200D_206C_202A_202A_200F_202B_200F_200D_206F_202D_206E_200F_202E_200E_200F_202E(quest.Root)) ? 995898241 : 995898247);
|
||||
break;
|
||||
case 2:
|
||||
num = 995898241;
|
||||
break;
|
||||
case 5:
|
||||
num = 995898242;
|
||||
break;
|
||||
case 3:
|
||||
{
|
||||
int num7;
|
||||
num = ((num7 == 1) ? 995898243 : 995898245);
|
||||
break;
|
||||
}
|
||||
}
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = null,
|
||||
Type = EIssueType.QuestDisabled,
|
||||
Severity = EIssueSeverity.None,
|
||||
Description = "Quest is disabled"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Lumina.Text.ReadOnly;
|
||||
using Questionable.Functions;
|
||||
using Questionable.Model;
|
||||
|
|
@ -13,320 +9,6 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class SayValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__2_0;
|
||||
|
||||
internal bool _003CValidate_003Eb__2_0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return _206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(x.Step) == EInteractionType.Say;
|
||||
}
|
||||
|
||||
static EInteractionType _206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.InteractionType;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__2 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
public SayValidator _003C_003E4__this;
|
||||
|
||||
private IEnumerator<(QuestSequence Sequence, int StepId, QuestStep Step)> _003C_003E7__wrap1;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__2(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? 413952866 : 413952865);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 413952867;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
num2 = 413952865;
|
||||
continue;
|
||||
case 2:
|
||||
if (num == 1)
|
||||
{
|
||||
num2 = 413952866;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = null;
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
SayValidator sayValidator = _003C_003E4__this;
|
||||
int num2 = ((num == 0) ? (-1358153620) : (-1358153627));
|
||||
(QuestSequence, int, QuestStep) current = default((QuestSequence, int, QuestStep));
|
||||
ChatMessage chatMessage = default(ChatMessage);
|
||||
ReadOnlySeString? rawDialogueText = default(ReadOnlySeString?);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1358153628;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 2:
|
||||
current = _003C_003E7__wrap1.Current;
|
||||
chatMessage = _206E_206C_200D_202A_206C_200C_206E_200F_200E_200F_206B_200D_206A_202D_206C_202D_202A_206E_202C_206C_200E_206A_200E_202A_202D_202E_206E_200F_202E_206C_200E_206B_206E_202E_206A_202A_200F_206B_202C_206F_202E(current.Item3);
|
||||
num2 = ((chatMessage == null) ? (-1358153619) : (-1358153632));
|
||||
break;
|
||||
case 4:
|
||||
rawDialogueText = sayValidator._excelFunctions.GetRawDialogueText(quest, _206A_202A_200B_202C_202A_206A_200E_206F_206F_200D_206C_200C_202A_206F_202C_206B_206B_202C_200F_202A_206C_206F_202E_200D_200C_200E_200F_206A_206C_202C_206A_200C_206E_200C_206F_200B_200F_200B_206C_206C_202E(chatMessage), _200E_206C_200C_202D_200C_200E_200D_200E_202A_200C_206A_200E_202A_206A_206B_200E_206C_202C_200D_206D_202B_202C_200F_206B_206B_202D_202D_202B_206C_206B_200D_200F_200E_200F_200F_200B_202A_200E_202D_206E_202E(chatMessage));
|
||||
num2 = ((!rawDialogueText.HasValue) ? (-1358153619) : (-1358153629));
|
||||
break;
|
||||
case 5:
|
||||
{
|
||||
ValidationIssue obj = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200D_202C_202B_200E_206B_206D_200D_206A_200B_206B_206A_206D_202C_206C_206D_200E_200F_200C_200B_202A_202A_200F_206B_206A_206F_206F_200E_202E_206F_202A_200D_202D_206D_200B_206D_200B_206C_202B_200B_206F_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_206E_202E_206F_202C_200B_200D_202A_206A_206B_206E_206D_200D_200D_200C_202E_202C_202B_200E_206D_200D_202E_206B_202E_202A_200C_200B_206D_200F_206D_206F_206B_206A_202D_206E_202E_206B_206A_206E_202E_206A_202E(current.Item1), current.Item2),
|
||||
Type = EIssueType.InvalidChatMessage,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(22, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(1570396042));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(rawDialogueText.Value);
|
||||
obj.Description = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
_003C_003E2__current = obj;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 1:
|
||||
num2 = ((num == 1) ? (-1358153618) : (-1358153625));
|
||||
break;
|
||||
case 9:
|
||||
num2 = (_200E_206A_202C_206B_200C_206E_200E_202E_206B_206A_206F_206B_202A_202B_206E_202C_202B_200F_206D_206E_206A_206A_202A_206F_206A_206D_200B_200B_200B_202C_200B_206F_202D_206A_202C_206C_202B_206F_206C_202D_202E((IEnumerator)_003C_003E7__wrap1) ? (-1358153626) : (-1358153628));
|
||||
break;
|
||||
case 8:
|
||||
_003C_003E1__state = -1;
|
||||
_003C_003E7__wrap1 = (from x in quest.AllSteps()
|
||||
where _003C_003Ec._206B_200C_206E_200C_200F_206F_200E_202E_206D_206F_200B_206B_206F_202C_200B_200B_206D_206E_206E_202A_200C_202B_206C_202B_200C_200F_202D_206F_206A_200F_206F_202A_202A_202B_200D_206C_200B_206C_200B_206F_202E(x.Step) == EInteractionType.Say
|
||||
select x).GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -1358153619;
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 7:
|
||||
num2 = ((rawDialogueText.Value.PayloadCount == 1) ? (-1358153619) : (-1358153631));
|
||||
break;
|
||||
case 6:
|
||||
num2 = -1358153627;
|
||||
break;
|
||||
case 10:
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -1358153619;
|
||||
break;
|
||||
case 0:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = null;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
int num = ((_003C_003E7__wrap1 == null) ? 859629855 : 859629852);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 859629854;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 1:
|
||||
return;
|
||||
case 2:
|
||||
_200C_206D_206F_200C_206C_200E_202D_206F_206F_206B_206A_206E_206A_202B_202A_206A_202B_200E_206C_202A_202D_200B_206F_202B_202D_202C_200D_206E_206C_200D_202B_200B_206A_206D_200C_200B_200B_202B_206D_206B_202E((IDisposable)_003C_003E7__wrap1);
|
||||
num = 859629855;
|
||||
break;
|
||||
case 0:
|
||||
num = 859629852;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _200F_202B_206B_206C_206F_200F_206D_202D_206A_200F_206A_206D_206B_200E_200F_200F_200C_200F_202A_202B_200F_202D_200D_206D_206B_202E_202E_206A_206F_206E_200B_206D_200E_200F_206A_200F_206F_202A_202D_200C_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? 847025892 : 847025894);
|
||||
_003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 847025893;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 4:
|
||||
num = 847025894;
|
||||
break;
|
||||
case 3:
|
||||
num = ((_003C_003El__initialThreadId != _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E()) ? 847025892 : 847025895);
|
||||
break;
|
||||
case 1:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__2(0)
|
||||
{
|
||||
_003C_003E4__this = _003C_003E4__this
|
||||
};
|
||||
num = 847025893;
|
||||
break;
|
||||
case 0:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 2:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = 847025893;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _202D_206C_206C_200B_206C_200B_206A_206E_206F_206A_200B_206E_206E_206D_200D_206B_200C_206E_206C_206C_206F_206E_202A_200E_202D_206F_202E_202A_202C_202E_200B_200F_202B_200D_200B_202D_206A_202D_200F_200F_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static ChatMessage _206E_206C_200D_202A_206C_200C_206E_200F_200E_200F_206B_200D_206A_202D_206C_202D_202A_206E_202C_206C_200E_206A_200E_202A_202D_202E_206E_200F_202E_206C_200E_206B_206E_202E_206A_202A_200F_206B_202C_206F_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.ChatMessage;
|
||||
}
|
||||
|
||||
static string _206A_202A_200B_202C_202A_206A_200E_206F_206F_200D_206C_200C_202A_206F_202C_206B_206B_202C_200F_202A_206C_206F_202E_200D_200C_200E_200F_206A_206C_202C_206A_200C_206E_200C_206F_200B_200F_200B_206C_206C_202E(ChatMessage P_0)
|
||||
{
|
||||
return P_0.ExcelSheet;
|
||||
}
|
||||
|
||||
static string _200E_206C_200C_202D_200C_200E_200D_200E_202A_200C_206A_200E_202A_206A_206B_200E_206C_202C_200D_206D_202B_202C_200F_206B_206B_202D_202D_202B_206C_206B_200D_200F_200E_200F_200F_200B_202A_200E_202D_206E_202E(ChatMessage P_0)
|
||||
{
|
||||
return P_0.Key;
|
||||
}
|
||||
|
||||
static string _200D_202C_202B_200E_206B_206D_200D_206A_200B_206B_206A_206D_202C_206C_206D_200E_200F_200C_200B_202A_202A_200F_206B_206A_206F_206F_200E_202E_206F_202A_200D_202D_206D_200B_206D_200B_206C_202B_200B_206F_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static byte _206E_202E_206F_202C_200B_200D_202A_206A_206B_206E_206D_200D_200D_200C_202E_202C_202B_200E_206D_200D_202E_206B_202E_202A_200C_200B_206D_200F_206D_206F_206B_206A_202D_206E_202E_206B_206A_206E_202E_206A_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static bool _200E_206A_202C_206B_200C_206E_200E_202E_206B_206A_206F_206B_202A_202B_206E_202C_202B_200F_206D_206E_206A_206A_202A_206F_206A_206D_200B_200B_200B_202C_200B_206F_202D_206A_202C_206C_202B_206F_206C_202D_202E(IEnumerator P_0)
|
||||
{
|
||||
return P_0.MoveNext();
|
||||
}
|
||||
|
||||
static void _200C_206D_206F_200C_206C_200E_202D_206F_206F_206B_206A_206E_206A_202B_202A_206A_202B_200E_206C_202A_202D_200B_206F_202B_202D_202C_200D_206E_206C_200D_202B_200B_206A_206D_200C_200B_200B_202B_206D_206B_202E(IDisposable P_0)
|
||||
{
|
||||
P_0.Dispose();
|
||||
}
|
||||
|
||||
static NotSupportedException _200F_202B_206B_206C_206F_200F_206D_202D_206A_200F_206A_206D_206B_200E_200F_200F_200C_200F_202A_202B_200F_202D_200D_206D_206B_202E_202E_206A_206F_206E_200B_206D_200E_200F_206A_200F_206F_202A_202D_200C_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly ExcelFunctions _excelFunctions;
|
||||
|
||||
public SayValidator(ExcelFunctions excelFunctions)
|
||||
|
|
@ -334,20 +16,29 @@ internal sealed class SayValidator : IQuestValidator
|
|||
_excelFunctions = excelFunctions;
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__2))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__2(-2)
|
||||
foreach (var item in from x in quest.AllSteps()
|
||||
where x.Step.InteractionType == EInteractionType.Say
|
||||
select x)
|
||||
{
|
||||
_003C_003E4__this = this,
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
ChatMessage chatMessage = item.Item3.ChatMessage;
|
||||
if (chatMessage != null)
|
||||
{
|
||||
ReadOnlySeString? rawDialogueText = _excelFunctions.GetRawDialogueText(quest, chatMessage.ExcelSheet, chatMessage.Key);
|
||||
if (rawDialogueText.HasValue && rawDialogueText.Value.PayloadCount != 1)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(item.Item1.Sequence, item.Item2),
|
||||
Type = EIssueType.InvalidChatMessage,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"Invalid chat message: {rawDialogueText.Value}"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,10 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Questionable.Validation.Validators;
|
||||
|
||||
internal sealed class SeasonalDutySchemaValidator : DefinitionSchemaValidator
|
||||
{
|
||||
protected override EPathType PathType => EPathType.SeasonalDuty;
|
||||
|
||||
protected override string MainSchemaUri
|
||||
{
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
get
|
||||
{
|
||||
return global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-912722245);
|
||||
}
|
||||
}
|
||||
protected override string MainSchemaUri => "https://github.com/WigglyMuffin/Questionable/raw/refs/heads/main/SeasonalDutyPaths/seasonaldutydefinition-v1.json";
|
||||
|
||||
public SeasonalDutySchemaValidator(SchemaRegistrar schemaRegistrar)
|
||||
: base(schemaRegistrar)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Data;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
|
@ -12,297 +8,6 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class SinglePlayerInstanceValidator : IQuestValidator
|
||||
{
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass2_0
|
||||
{
|
||||
public byte index;
|
||||
|
||||
internal bool _003CValidate_003Eb__0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
int num = ((_202B_200B_200C_200C_202D_202A_202E_200B_202B_202C_202B_202C_200D_200E_200B_202E_206E_206C_200B_200C_206A_202E_200F_206D_200F_202D_202B_202E_206A_200D_202A_206D_206F_206C_206D_202E_202E_206B_200C_202E(x.Step) != EInteractionType.SinglePlayerDuty) ? 393057114 : 393057113);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 393057115;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 0:
|
||||
goto IL_004f;
|
||||
case 1:
|
||||
return false;
|
||||
case 2:
|
||||
return _202C_206E_206C_206F_206F_206A_202D_206C_206D_200E_200F_202A_202A_200D_206D_206E_202D_202C_202D_206D_202D_206A_200E_202B_206B_202C_200F_202B_202E_200D_206C_200E_202E_202C_206B_202D_206D_200B_202D_202E(x.Step) == index;
|
||||
}
|
||||
continue;
|
||||
IL_004f:
|
||||
num = 393057113;
|
||||
}
|
||||
}
|
||||
|
||||
static EInteractionType _202B_200B_200C_200C_202D_202A_202E_200B_202B_202C_202B_202C_200D_200E_200B_202E_206E_206C_200B_200C_206A_202E_200F_206D_200F_202D_202B_202E_206A_200D_202A_206D_206F_206C_206D_202E_202E_206B_200C_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.InteractionType;
|
||||
}
|
||||
|
||||
static byte _202C_206E_206C_206F_206F_206A_202D_206C_206D_200E_200F_202A_202A_200D_206D_206E_202D_202C_202D_206D_202D_206A_200E_202B_206B_202C_200F_202B_202E_200D_206C_200E_202E_202C_206B_202D_206D_200B_202D_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.SinglePlayerDutyIndex;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__2 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
public SinglePlayerInstanceValidator _003C_003E4__this;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private List<byte>.Enumerator _003C_003E7__wrap1;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__2(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _202E_202B_206A_200E_206D_206E_206E_206E_202B_200F_206B_200F_202E_200C_206B_202B_200B_206C_206E_206C_200D_202C_206C_206C_200D_202A_202E_202E_202A_206B_202B_206E_202D_200C_206A_206C_206B_202A_202C_206A_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? (-1938689052) : (-1938689051));
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1938689052;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 2:
|
||||
num2 = -1938689051;
|
||||
continue;
|
||||
case 1:
|
||||
if (num == 1)
|
||||
{
|
||||
num2 = -1938689052;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = default(List<byte>.Enumerator);
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
SinglePlayerInstanceValidator singlePlayerInstanceValidator = _003C_003E4__this;
|
||||
int num2 = ((num == 0) ? (-217172285) : (-217172288));
|
||||
List<byte> value = default(List<byte>);
|
||||
_003C_003Ec__DisplayClass2_0 _003C_003Ec__DisplayClass2_ = default(_003C_003Ec__DisplayClass2_0);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -217172283;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
case 8:
|
||||
num2 = (_003C_003E7__wrap1.MoveNext() ? (-217172286) : (-217172283));
|
||||
break;
|
||||
case 9:
|
||||
_003C_003E7__wrap1 = value.GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -217172275;
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 7:
|
||||
_003C_003Ec__DisplayClass2_ = new _003C_003Ec__DisplayClass2_0
|
||||
{
|
||||
index = _003C_003E7__wrap1.Current
|
||||
};
|
||||
num2 = (quest.AllSteps().Any(_003C_003Ec__DisplayClass2_._003CValidate_003Eb__0) ? (-217172275) : (-217172281));
|
||||
break;
|
||||
case 6:
|
||||
_003C_003E1__state = -1;
|
||||
num2 = ((!singlePlayerInstanceValidator._questIdToDutyIndexes.TryGetValue(quest.Id, out value)) ? (-217172273) : (-217172276));
|
||||
break;
|
||||
case 0:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = default(List<byte>.Enumerator);
|
||||
num2 = -217172273;
|
||||
break;
|
||||
case 3:
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -217172275;
|
||||
break;
|
||||
case 4:
|
||||
num2 = -217172288;
|
||||
break;
|
||||
case 2:
|
||||
{
|
||||
ValidationIssue obj = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _202D_206F_206C_206D_202C_200D_202E_206A_206D_206F_200C_202C_206D_202E_202A_200E_200F_202A_206A_200C_200C_202C_200D_200C_206B_206F_202E_200F_206A_200D_202E_206B_206F_200E_206D_202E_202D_200C_206F_200D_202E((object)quest.Id),
|
||||
Location = null,
|
||||
Type = EIssueType.UnusedSinglePlayerInstance,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(32, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-1732898265));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(_003C_003Ec__DisplayClass2_.index);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1502904909));
|
||||
obj.Description = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
_003C_003E2__current = obj;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 5:
|
||||
num2 = ((num == 1) ? (-217172282) : (-217172284));
|
||||
break;
|
||||
case 10:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _200B_200D_202A_202C_200F_200F_206D_202C_200C_200E_200D_202B_206D_206F_202E_206F_200E_202D_200E_202C_206C_206D_200C_202D_206D_200D_200B_206C_202B_200E_202E_200D_202A_202E_200E_200B_206D_202C_202A_202A_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? (-105732161) : (-105732163));
|
||||
_003CValidate_003Ed__2 _003CValidate_003Ed__ = default(_003CValidate_003Ed__2);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -105732162;
|
||||
int num4 = num2;
|
||||
int num5 = num4 + num3;
|
||||
int num6 = num4 & num3;
|
||||
switch (num5 - (num6 + num6))
|
||||
{
|
||||
case 2:
|
||||
num = -105732163;
|
||||
break;
|
||||
case 3:
|
||||
num = ((_003C_003El__initialThreadId != _202E_202B_206A_200E_206D_206E_206E_206E_202B_200F_206B_200F_202E_200C_206B_202B_200B_206C_206E_206C_200D_202C_206C_206C_200D_202A_202E_202E_202A_206B_202B_206E_202D_200C_206A_206C_206B_202A_202C_206A_202E()) ? (-105732161) : (-105732166));
|
||||
break;
|
||||
case 1:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__2(0)
|
||||
{
|
||||
_003C_003E4__this = _003C_003E4__this
|
||||
};
|
||||
num = -105732162;
|
||||
break;
|
||||
case 0:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 4:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = -105732162;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _202E_202B_206A_200E_206D_206E_206E_206E_202B_200F_206B_200F_202E_200C_206B_202B_200B_206C_206E_206C_200D_202C_206C_206C_200D_202A_202E_202E_202A_206B_202B_206E_202D_200C_206A_206C_206B_202A_202C_206A_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static string _202D_206F_206C_206D_202C_200D_202E_206A_206D_206F_200C_202C_206D_202E_202A_200E_200F_202A_206A_200C_200C_202C_200D_200C_206B_206F_202E_200F_206A_200D_202E_206B_206F_200E_206D_202E_202D_200C_206F_200D_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static NotSupportedException _200B_200D_202A_202C_200F_200F_206D_202C_200C_200E_200D_202B_206D_206F_202E_206F_200E_202D_200E_202C_206C_206D_200C_202D_206D_200D_200B_206C_202B_200E_202E_200D_202A_202E_200E_200B_206D_202C_202A_202A_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
private readonly Dictionary<ElementId, List<byte>> _questIdToDutyIndexes;
|
||||
|
||||
public SinglePlayerInstanceValidator(TerritoryData territoryData)
|
||||
|
|
@ -311,20 +16,26 @@ internal sealed class SinglePlayerInstanceValidator : IQuestValidator
|
|||
group x by x.QuestId).ToDictionary((IGrouping<ElementId, (ElementId QuestId, byte Index, TerritoryData.ContentFinderConditionData Data)> x) => x.Key, (IGrouping<ElementId, (ElementId QuestId, byte Index, TerritoryData.ContentFinderConditionData Data)> x) => x.Select(((ElementId QuestId, byte Index, TerritoryData.ContentFinderConditionData Data) y) => y.Index).ToList());
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__2))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__2(-2)
|
||||
if (!_questIdToDutyIndexes.TryGetValue(quest.Id, out List<byte> value))
|
||||
{
|
||||
_003C_003E4__this = this,
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
yield break;
|
||||
}
|
||||
foreach (byte index in value)
|
||||
{
|
||||
if (!quest.AllSteps().Any<(QuestSequence, int, QuestStep)>(((QuestSequence Sequence, int StepId, QuestStep Step) x) => x.Step.InteractionType == EInteractionType.SinglePlayerDuty && x.Step.SinglePlayerDutyIndex == index))
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = null,
|
||||
Type = EIssueType.UnusedSinglePlayerInstance,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"Single player instance {index} not used"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
|
|
@ -11,297 +7,26 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class UniqueSinglePlayerInstanceValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_0;
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), (QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex)> _003C_003E9__0_1;
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex), byte> _003C_003E9__0_2;
|
||||
|
||||
internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return _206D_200E_202B_206B_200E_206F_202C_206B_206D_200C_206F_200F_206E_206F_202D_202D_200E_200F_202A_200C_206C_206A_206F_200C_206E_202C_200F_200B_200C_202B_200F_202C_200B_202E_202A_200D_206B_202C_200F_206B_202E(x.Step) == EInteractionType.SinglePlayerDuty;
|
||||
}
|
||||
|
||||
internal (QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) _003CValidate_003Eb__0_1((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return (Sequence: x.Sequence, StepId: x.StepId, SinglePlayerDutyIndex: _206E_206D_202A_206D_200E_202A_206E_206A_200D_206B_206A_202D_202A_200D_200F_200B_200F_206B_206D_206D_202B_202B_200E_202C_200E_202D_202C_206B_206A_200C_206F_202E_202C_200E_202D_200D_202A_202B_200D_206F_202E(x.Step));
|
||||
}
|
||||
|
||||
internal byte _003CValidate_003Eb__0_2((QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) x)
|
||||
{
|
||||
return x.SinglePlayerDutyIndex;
|
||||
}
|
||||
|
||||
static EInteractionType _206D_200E_202B_206B_200E_206F_202C_206B_206D_200C_206F_200F_206E_206F_202D_202D_200E_200F_202A_200C_206C_206A_206F_200C_206E_202C_200F_200B_200C_202B_200F_202C_200B_202E_202A_200D_206B_202C_200F_206B_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.InteractionType;
|
||||
}
|
||||
|
||||
static byte _206E_206D_202A_206D_200E_202A_206E_206A_200D_206B_206A_202D_202A_200D_200F_200B_200F_206B_206D_206D_202B_202B_200E_202C_200E_202D_202C_206B_206A_200C_206F_202E_202C_200E_202D_200D_202A_202B_200D_206F_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.SinglePlayerDutyIndex;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private List<(QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex)>.Enumerator _003C_003E7__wrap1;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _206A_202A_202D_206E_202B_206A_206B_200C_200C_202C_202B_200F_202D_200D_206E_202C_206D_202E_200C_206B_200F_202B_200B_206E_200F_202E_202C_202B_200D_202C_206F_206B_202E_206D_206E_206E_200B_206E_200B_202D_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == -3) ? (-490829547) : (-490829546));
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -490829548;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 0:
|
||||
num2 = -490829546;
|
||||
continue;
|
||||
case 2:
|
||||
if (num == 1)
|
||||
{
|
||||
num2 = -490829547;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003C_003E7__wrap1 = default(List<(QuestSequence, int, byte)>.Enumerator);
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num == 0) ? (-1518519538) : (-1518519550));
|
||||
List<(QuestSequence, int, byte)> list = default(List<(QuestSequence, int, byte)>);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = -1518519542;
|
||||
int num5 = num3;
|
||||
switch ((num5 | num4) - (num5 & num4))
|
||||
{
|
||||
case 2:
|
||||
{
|
||||
(QuestSequence, int, byte) current = _003C_003E7__wrap1.Current;
|
||||
ValidationIssue obj = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200E_202D_200B_202C_200C_200F_200F_202A_202A_200C_206C_202B_200C_202C_200C_200C_200D_202A_202D_206B_200C_202C_202E_200E_206E_200E_206A_206D_206A_202E_200B_202D_202B_200E_206B_200D_200B_206E_200D_200E_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_200D_206D_206B_202C_206D_202A_202A_206D_206F_206A_202A_206B_206B_200C_200E_202C_200B_206B_206E_206D_200E_206E_206E_202E_202E_200B_202D_200F_206A_200B_200E_200E_202A_206B_206C_206A_206D_202B_200B_200C_202E(current.Item1), current.Item2),
|
||||
Type = EIssueType.DuplicateSinglePlayerInstance,
|
||||
Severity = EIssueSeverity.Error
|
||||
};
|
||||
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(35, 1);
|
||||
defaultInterpolatedStringHandler.AppendLiteral(global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E<string>(-618147640));
|
||||
defaultInterpolatedStringHandler.AppendFormatted(current.Item3);
|
||||
obj.Description = defaultInterpolatedStringHandler.ToStringAndClear();
|
||||
_003C_003E2__current = obj;
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
}
|
||||
case 1:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap1 = default(List<(QuestSequence, int, byte)>.Enumerator);
|
||||
num2 = -1518519549;
|
||||
break;
|
||||
case 3:
|
||||
return false;
|
||||
case 8:
|
||||
num2 = ((num == 1) ? (-1518519539) : (-1518519543));
|
||||
break;
|
||||
case 7:
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -1518519537;
|
||||
break;
|
||||
case 0:
|
||||
num2 = -1518519550;
|
||||
break;
|
||||
case 6:
|
||||
_003C_003E7__wrap1 = list.GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num2 = -1518519537;
|
||||
break;
|
||||
case 5:
|
||||
num2 = (_003C_003E7__wrap1.MoveNext() ? (-1518519544) : (-1518519541));
|
||||
break;
|
||||
case 4:
|
||||
_003C_003E1__state = -1;
|
||||
list = (from x in quest.AllSteps()
|
||||
where _003C_003Ec._206D_200E_202B_206B_200E_206F_202C_206B_206D_200C_206F_200F_206E_206F_202D_202D_200E_200F_202A_200C_206C_206A_206F_200C_206E_202C_200F_200B_200C_202B_200F_202C_200B_202E_202A_200D_206B_202C_200F_206B_202E(x.Step) == EInteractionType.SinglePlayerDuty
|
||||
select (Sequence: x.Sequence, StepId: x.StepId, SinglePlayerDutyIndex: _003C_003Ec._206E_206D_202A_206D_200E_202A_206E_206A_200D_206B_206A_202D_202A_200D_200F_200B_200F_206B_206D_206D_202B_202B_200E_202C_200E_202D_202C_206B_206A_200C_206F_202E_202C_200E_202D_200D_202A_202B_200D_206F_202E(x.Step))).ToList();
|
||||
num2 = ((list.DistinctBy<(QuestSequence, int, byte), byte>(((QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) x) => x.SinglePlayerDutyIndex).Count() >= list.Count) ? (-1518519549) : (-1518519540));
|
||||
break;
|
||||
case 9:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
((IDisposable)_003C_003E7__wrap1/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _206D_202C_200E_202D_200C_206B_202B_206D_202E_200B_200C_206A_206A_206F_206D_202A_206C_206D_200F_200E_206E_206E_200D_202C_202C_206B_206B_206E_206E_200F_200B_200C_200D_202D_206E_202C_206B_206E_200B_202D_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? (-1918141123) : (-1918141122));
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -1918141121;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 2:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = -1918141121;
|
||||
break;
|
||||
case 3:
|
||||
num = -1918141122;
|
||||
break;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _206A_202A_202D_206E_202B_206A_206B_200C_200C_202C_202B_200F_202D_200D_206E_202C_206D_202E_200C_206B_200F_202B_200B_206E_200F_202E_202C_202B_200D_202C_206F_206B_202E_206D_206E_206E_200B_206E_200B_202D_202E()) ? (-1918141123) : (-1918141125));
|
||||
break;
|
||||
case 4:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = -1918141121;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _206A_202A_202D_206E_202B_206A_206B_200C_200C_202C_202B_200F_202D_200D_206E_202C_206D_202E_200C_206B_200F_202B_200B_206E_200F_202E_202C_202B_200D_202C_206F_206B_202E_206D_206E_206E_200B_206E_200B_202D_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static string _200E_202D_200B_202C_200C_200F_200F_202A_202A_200C_206C_202B_200C_202C_200C_200C_200D_202A_202D_206B_200C_202C_202E_200E_206E_200E_206A_206D_206A_202E_200B_202D_202B_200E_206B_200D_200B_206E_200D_200E_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static byte _200D_206D_206B_202C_206D_202A_202A_206D_206F_206A_202A_206B_206B_200C_200E_202C_200B_206B_206E_206D_200E_206E_206E_202E_202E_200B_202D_200F_206A_200B_200E_200E_202A_206B_206C_206A_206D_202B_200B_200C_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static NotSupportedException _206D_202C_200E_202D_200C_206B_202B_206D_202E_200B_200C_206A_206A_206F_206D_202A_206C_206D_200F_200E_206E_206E_200D_202C_202C_206B_206B_206E_206E_200F_200B_200C_200D_202D_206E_202C_206B_206E_200B_202D_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__0))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__0(-2)
|
||||
List<(QuestSequence, int, byte)> list = (from x in quest.AllSteps()
|
||||
where x.Step.InteractionType == EInteractionType.SinglePlayerDuty
|
||||
select (Sequence: x.Sequence, StepId: x.StepId, SinglePlayerDutyIndex: x.Step.SinglePlayerDutyIndex)).ToList();
|
||||
if (list.DistinctBy<(QuestSequence, int, byte), byte>(((QuestSequence Sequence, int StepId, byte SinglePlayerDutyIndex) x) => x.SinglePlayerDutyIndex).Count() >= list.Count)
|
||||
{
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
yield break;
|
||||
}
|
||||
foreach (var item in list)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(item.Item1.Sequence, item.Item2),
|
||||
Type = EIssueType.DuplicateSinglePlayerInstance,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = $"Duplicate singleplayer duty index: {item.Item3}"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Questionable.Model;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
|
|
@ -11,493 +7,75 @@ namespace Questionable.Validation.Validators;
|
|||
|
||||
internal sealed class UniqueStartStopValidator : IQuestValidator
|
||||
{
|
||||
[Serializable]
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec
|
||||
{
|
||||
public static readonly _003C_003Ec _003C_003E9 = new _003C_003Ec();
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_0;
|
||||
|
||||
public static Func<(QuestSequence Sequence, int StepId, QuestStep Step), bool> _003C_003E9__0_1;
|
||||
|
||||
internal bool _003CValidate_003Eb__0_0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return _200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_202B_200E_202A_200E_206E_202A_206B_206B_206D_200D_206B_202D_202D_200D_200D_206C_200C_200C_206E_206E_202E_206C_206E_202E_206D_200B_206D_206F_200F_202A_206A_200F_206E_202D_202A_200C_206B_206B_200E_200E_202E(x.Step), (ElementId)null);
|
||||
}
|
||||
|
||||
internal bool _003CValidate_003Eb__0_1((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return _200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_200D_200D_202A_202E_200D_202E_206E_200C_206A_206C_202A_200B_206A_200F_206E_202B_206B_200F_200D_206D_202E_200E_202A_206B_206F_206D_202D_206A_202B_200D_206B_200F_206C_200E_200C_206C_206C_202C_202E_206D_202E(x.Step), (ElementId)null);
|
||||
}
|
||||
|
||||
static ElementId _202B_200E_202A_200E_206E_202A_206B_206B_206D_200D_206B_202D_202D_200D_200D_206C_200C_200C_206E_206E_202E_206C_206E_202E_206D_200B_206D_206F_200F_202A_206A_200F_206E_202D_202A_200C_206B_206B_200E_200E_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.PickUpQuestId;
|
||||
}
|
||||
|
||||
static bool _200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(ElementId P_0, ElementId P_1)
|
||||
{
|
||||
return P_0 == P_1;
|
||||
}
|
||||
|
||||
static ElementId _200D_200D_202A_202E_200D_202E_206E_200C_206A_206C_202A_200B_206A_200F_206E_202B_206B_200F_200D_206D_202E_200E_202A_206B_206F_206D_202D_206A_202B_200D_206B_200F_206C_200E_200C_206C_206C_202C_202E_206D_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.TurnInQuestId;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003C_003Ec__DisplayClass1_0
|
||||
{
|
||||
public List<EInteractionType> interactionType;
|
||||
|
||||
internal bool _003CFindQuestStepsWithInteractionType_003Eb__0((QuestSequence Sequence, int StepId, QuestStep Step) x)
|
||||
{
|
||||
return interactionType.Contains(_200B_202A_206B_200B_200E_202D_206F_202A_202B_202B_206E_202B_206B_202D_206E_200E_200B_206F_200D_200F_202A_202C_206A_202C_200B_200F_206A_200B_206D_200D_206D_202D_200B_200B_202C_202B_200E_206F_202D_206A_202E(x.Step));
|
||||
}
|
||||
|
||||
static EInteractionType _200B_202A_206B_200B_200E_202D_206F_202A_202B_202B_206E_202B_206B_202D_206E_200E_200B_206F_200D_200F_202A_202C_206A_202C_200B_200F_206A_200B_206D_200D_206D_202D_200B_200B_202C_202B_200E_206F_202D_206A_202E(QuestStep P_0)
|
||||
{
|
||||
return P_0.InteractionType;
|
||||
}
|
||||
}
|
||||
|
||||
[CompilerGenerated]
|
||||
private sealed class _003CValidate_003Ed__0 : IEnumerable<ValidationIssue>, IEnumerable, IEnumerator<ValidationIssue>, IEnumerator, IDisposable
|
||||
{
|
||||
private int _003C_003E1__state;
|
||||
|
||||
private ValidationIssue _003C_003E2__current;
|
||||
|
||||
private int _003C_003El__initialThreadId;
|
||||
|
||||
private Quest quest;
|
||||
|
||||
public Quest _003C_003E3__quest;
|
||||
|
||||
private bool _003CskipMissingStartStop_003E5__2;
|
||||
|
||||
private List<(QuestSequence Sequence, int StepId, QuestStep Step)> _003CquestAccepts_003E5__3;
|
||||
|
||||
private List<(QuestSequence Sequence, int StepId, QuestStep Step)> _003CquestCompletes_003E5__4;
|
||||
|
||||
private List<(QuestSequence Sequence, int StepId, QuestStep Step)>.Enumerator _003C_003E7__wrap4;
|
||||
|
||||
ValidationIssue IEnumerator<ValidationIssue>.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
object IEnumerator.Current
|
||||
{
|
||||
[DebuggerHidden]
|
||||
get
|
||||
{
|
||||
return _003C_003E2__current;
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
public _003CValidate_003Ed__0(int _003C_003E1__state)
|
||||
{
|
||||
this._003C_003E1__state = _003C_003E1__state;
|
||||
_003C_003El__initialThreadId = _202B_200B_202C_206C_206B_200C_206E_206E_202A_206F_200E_202A_202B_206E_202B_202D_206F_200E_200F_206A_202D_206A_200C_206B_200D_202A_200E_200D_202D_200E_200C_202B_206F_206B_200F_200B_200D_206C_200C_200E_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IDisposable.Dispose()
|
||||
{
|
||||
int num = _003C_003E1__state;
|
||||
int num2 = ((num > -3) ? 654863638 : 654863634);
|
||||
while (true)
|
||||
{
|
||||
int num3 = num2;
|
||||
int num4 = 654863632;
|
||||
int num5 = num3;
|
||||
int num6 = num5 + num4;
|
||||
int num7 = num5 & num4;
|
||||
switch (num6 - (num7 + num7))
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case 3:
|
||||
num2 = 654863634;
|
||||
continue;
|
||||
case 1:
|
||||
num2 = ((num == -3) ? 654863639 : 654863637);
|
||||
continue;
|
||||
case 6:
|
||||
num2 = ((num == 1) ? 654863639 : 654863632);
|
||||
continue;
|
||||
case 0:
|
||||
if (num != 3)
|
||||
{
|
||||
num2 = 654863636;
|
||||
continue;
|
||||
}
|
||||
goto IL_00f9;
|
||||
case 2:
|
||||
if (num != -4)
|
||||
{
|
||||
num2 = 654863633;
|
||||
continue;
|
||||
}
|
||||
goto IL_00f9;
|
||||
case 7:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally1();
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
break;
|
||||
IL_00f9:
|
||||
try
|
||||
{
|
||||
}
|
||||
finally
|
||||
{
|
||||
_003C_003Em__Finally2();
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
_003CquestAccepts_003E5__3 = null;
|
||||
_003CquestCompletes_003E5__4 = null;
|
||||
_003C_003E7__wrap4 = default(List<(QuestSequence, int, QuestStep)>.Enumerator);
|
||||
_003C_003E1__state = -2;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||
private bool MoveNext()
|
||||
{
|
||||
try
|
||||
{
|
||||
int num;
|
||||
(QuestSequence, int, QuestStep) current2 = default((QuestSequence, int, QuestStep));
|
||||
(QuestSequence, int, QuestStep) current = default((QuestSequence, int, QuestStep));
|
||||
switch (_003C_003E1__state)
|
||||
{
|
||||
default:
|
||||
num = -177960474;
|
||||
goto IL_002d;
|
||||
case 3:
|
||||
_003C_003E1__state = -4;
|
||||
num = -177960463;
|
||||
goto IL_002d;
|
||||
case 0:
|
||||
goto IL_0189;
|
||||
case 2:
|
||||
goto IL_021b;
|
||||
case 1:
|
||||
goto IL_022e;
|
||||
case 4:
|
||||
goto IL_042d;
|
||||
IL_002d:
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = -177960473;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 3:
|
||||
num = -177960474;
|
||||
break;
|
||||
case 23:
|
||||
goto IL_00bd;
|
||||
case 5:
|
||||
goto IL_00f8;
|
||||
case 14:
|
||||
goto end_IL_002d;
|
||||
case 17:
|
||||
goto IL_0139;
|
||||
case 6:
|
||||
goto IL_0161;
|
||||
case 11:
|
||||
goto IL_0189;
|
||||
case 20:
|
||||
goto IL_021b;
|
||||
case 12:
|
||||
goto IL_022e;
|
||||
case 4:
|
||||
goto IL_0242;
|
||||
case 19:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(0, null),
|
||||
Type = EIssueType.MissingQuestAccept,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E<string>(-1425508003)
|
||||
};
|
||||
_003C_003E1__state = 2;
|
||||
return true;
|
||||
case 2:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current2.Item1), current2.Item2),
|
||||
Type = EIssueType.UnexpectedCompleteQuestStep,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1505174393)
|
||||
};
|
||||
_003C_003E1__state = 3;
|
||||
return true;
|
||||
case 9:
|
||||
goto IL_0379;
|
||||
case 8:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)byte.MaxValue, null),
|
||||
Type = EIssueType.MissingQuestComplete,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E<string>(1217373352)
|
||||
};
|
||||
_003C_003E1__state = 4;
|
||||
return true;
|
||||
case 15:
|
||||
goto IL_042d;
|
||||
case 21:
|
||||
goto IL_0440;
|
||||
case 13:
|
||||
_003CquestCompletes_003E5__4 = (from x in FindQuestStepsWithInteractionType(quest, new List<EInteractionType> { EInteractionType.CompleteQuest })
|
||||
where _003C_003Ec._200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_003C_003Ec._200D_200D_202A_202E_200D_202E_206E_200C_206A_206C_202A_200B_206A_200F_206E_202B_206B_200F_200D_206D_202E_200E_202A_206B_206F_206D_202D_206A_202B_200D_206B_200F_206C_200E_200C_206C_206C_202C_202E_206D_202E(x.Step), (ElementId)null)
|
||||
select x).ToList();
|
||||
_003C_003E7__wrap4 = _003CquestCompletes_003E5__4.GetEnumerator();
|
||||
_003C_003E1__state = -4;
|
||||
num = -177960463;
|
||||
break;
|
||||
case 1:
|
||||
return false;
|
||||
case 24:
|
||||
_003C_003E2__current = new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E((object)quest.Id),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current.Item1), current.Item2),
|
||||
Type = EIssueType.UnexpectedAcceptQuestStep,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E<string>(-230957138)
|
||||
};
|
||||
_003C_003E1__state = 1;
|
||||
return true;
|
||||
case 22:
|
||||
goto IL_0572;
|
||||
case 10:
|
||||
goto IL_059a;
|
||||
case 18:
|
||||
goto IL_05da;
|
||||
case 7:
|
||||
goto IL_0615;
|
||||
case 0:
|
||||
goto IL_063d;
|
||||
case 16:
|
||||
return false;
|
||||
}
|
||||
continue;
|
||||
IL_063d:
|
||||
_003C_003Em__Finally2();
|
||||
_003C_003E7__wrap4 = default(List<(QuestSequence, int, QuestStep)>.Enumerator);
|
||||
num = (_003CskipMissingStartStop_003E5__2 ? (-177960457) : (-177960478));
|
||||
continue;
|
||||
IL_0572:
|
||||
num = (_003C_003E7__wrap4.MoveNext() ? (-177960459) : (-177960473));
|
||||
continue;
|
||||
IL_00f8:
|
||||
num = ((quest.FindSequence(byte.MaxValue) == null) ? (-177960457) : (-177960480));
|
||||
continue;
|
||||
IL_0615:
|
||||
num = ((_003CquestCompletes_003E5__4.Count != 0) ? (-177960457) : (-177960465));
|
||||
continue;
|
||||
IL_0242:
|
||||
current = _003C_003E7__wrap4.Current;
|
||||
num = ((_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current.Item1) != 0) ? (-177960449) : (-177960464));
|
||||
continue;
|
||||
IL_0440:
|
||||
num = ((quest.FindSequence(0) == null) ? (-177960470) : (-177960458));
|
||||
continue;
|
||||
IL_05da:
|
||||
current2 = _003C_003E7__wrap4.Current;
|
||||
num = ((_200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(current2.Item1) != byte.MaxValue) ? (-177960475) : (-177960467));
|
||||
continue;
|
||||
IL_00bd:
|
||||
num = ((current.Item2 == _200E_202C_200D_202C_200D_202B_202E_206B_202E_200C_200C_206F_202E_206C_202C_202D_206C_202C_202B_206C_202C_206B_200C_206E_206E_200C_206D_202A_200F_206F_202B_202C_200E_206D_206F_206D_206E_202B_202B_206F_202E(quest.FindSequence(0)).Count - 1) ? (-177960479) : (-177960449));
|
||||
continue;
|
||||
IL_0139:
|
||||
num = ((_003CquestAccepts_003E5__3.Count != 0) ? (-177960470) : (-177960460));
|
||||
continue;
|
||||
IL_059a:
|
||||
num = ((current2.Item2 == _200E_202C_200D_202C_200D_202B_202E_206B_202E_200C_200C_206F_202E_206C_202C_202D_206C_202C_202B_206C_202C_206B_200C_206E_206E_200C_206D_202A_200F_206F_202B_202C_200E_206D_206F_206D_206E_202B_202B_206F_202E(quest.FindSequence(byte.MaxValue)).Count - 1) ? (-177960463) : (-177960475));
|
||||
continue;
|
||||
IL_0379:
|
||||
_003C_003Em__Finally1();
|
||||
_003C_003E7__wrap4 = default(List<(QuestSequence, int, QuestStep)>.Enumerator);
|
||||
num = (_003CskipMissingStartStop_003E5__2 ? (-177960470) : (-177960462));
|
||||
continue;
|
||||
IL_0161:
|
||||
num = (_003C_003E7__wrap4.MoveNext() ? (-177960477) : (-177960466));
|
||||
continue;
|
||||
end_IL_002d:
|
||||
break;
|
||||
}
|
||||
goto case 3;
|
||||
IL_042d:
|
||||
_003C_003E1__state = -1;
|
||||
num = -177960457;
|
||||
goto IL_002d;
|
||||
IL_022e:
|
||||
_003C_003E1__state = -3;
|
||||
num = -177960479;
|
||||
goto IL_002d;
|
||||
IL_021b:
|
||||
_003C_003E1__state = -1;
|
||||
num = -177960470;
|
||||
goto IL_002d;
|
||||
IL_0189:
|
||||
_003C_003E1__state = -1;
|
||||
_003CskipMissingStartStop_003E5__2 = !(quest.Id is QuestId);
|
||||
_003CquestAccepts_003E5__3 = (from x in FindQuestStepsWithInteractionType(quest, new List<EInteractionType> { EInteractionType.AcceptQuest })
|
||||
where _003C_003Ec._200B_202D_206F_202E_202C_202A_202E_200C_200F_200F_202C_202D_206F_206B_200C_206A_206F_202E_202D_202D_206E_200D_202A_202A_206E_206C_206B_200B_206B_200D_206E_206D_202B_200D_200C_202A_206C_202C_206D_202A_202E(_003C_003Ec._202B_200E_202A_200E_206E_202A_206B_206B_206D_200D_206B_202D_202D_200D_200D_206C_200C_200C_206E_206E_202E_206C_206E_202E_206D_200B_206D_206F_200F_202A_206A_200F_206E_202D_202A_200C_206B_206B_200E_200E_202E(x.Step), (ElementId)null)
|
||||
select x).ToList();
|
||||
_003C_003E7__wrap4 = _003CquestAccepts_003E5__3.GetEnumerator();
|
||||
_003C_003E1__state = -3;
|
||||
num = -177960479;
|
||||
goto IL_002d;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
//try-fault
|
||||
((IDisposable)this).Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
bool IEnumerator.MoveNext()
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in MoveNext
|
||||
return this.MoveNext();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally1()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
((IDisposable)_003C_003E7__wrap4/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
private void _003C_003Em__Finally2()
|
||||
{
|
||||
_003C_003E1__state = -1;
|
||||
((IDisposable)_003C_003E7__wrap4/*cast due to .constrained prefix*/).Dispose();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
void IEnumerator.Reset()
|
||||
{
|
||||
throw _206F_202E_206A_202E_206E_200D_202A_206F_200D_202A_200E_202A_202E_200E_202C_206B_200C_206C_200B_206A_202C_202C_202D_206F_202C_200C_206B_206D_206F_200D_200D_200E_202C_206C_200F_202C_200C_206F_202E_202E_202E();
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator<ValidationIssue> IEnumerable<ValidationIssue>.GetEnumerator()
|
||||
{
|
||||
int num = ((_003C_003E1__state != -2) ? 1591254497 : 1591254499);
|
||||
_003CValidate_003Ed__0 _003CValidate_003Ed__ = default(_003CValidate_003Ed__0);
|
||||
while (true)
|
||||
{
|
||||
int num2 = num;
|
||||
int num3 = 1591254498;
|
||||
int num4 = num2;
|
||||
switch ((num4 | num3) - (num4 & num3))
|
||||
{
|
||||
case 0:
|
||||
num = 1591254499;
|
||||
break;
|
||||
case 2:
|
||||
_003CValidate_003Ed__.quest = _003C_003E3__quest;
|
||||
return _003CValidate_003Ed__;
|
||||
case 1:
|
||||
num = ((_003C_003El__initialThreadId != _202B_200B_202C_206C_206B_200C_206E_206E_202A_206F_200E_202A_202B_206E_202B_202D_206F_200E_200F_206A_202D_206A_200C_206B_200D_202A_200E_200D_202D_200E_200C_202B_206F_206B_200F_200B_200D_206C_200C_200E_202E()) ? 1591254497 : 1591254502);
|
||||
break;
|
||||
case 3:
|
||||
_003CValidate_003Ed__ = new _003CValidate_003Ed__0(0);
|
||||
num = 1591254496;
|
||||
break;
|
||||
case 4:
|
||||
_003C_003E1__state = 0;
|
||||
_003CValidate_003Ed__ = this;
|
||||
num = 1591254496;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[DebuggerHidden]
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return ((IEnumerable<ValidationIssue>)this).GetEnumerator();
|
||||
}
|
||||
|
||||
static int _202B_200B_202C_206C_206B_200C_206E_206E_202A_206F_200E_202A_202B_206E_202B_202D_206F_200E_200F_206A_202D_206A_200C_206B_200D_202A_200E_200D_202D_200E_200C_202B_206F_206B_200F_200B_200D_206C_200C_200E_202E()
|
||||
{
|
||||
return Environment.CurrentManagedThreadId;
|
||||
}
|
||||
|
||||
static byte _200C_200D_206A_200B_200E_202D_200E_206C_200B_200D_202C_200F_200C_202C_206E_206F_200B_202D_206C_200B_202D_206C_206B_200E_200B_200D_200B_200E_206E_206D_202C_202C_206F_202D_200D_202D_202A_200E_206C_202D_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Sequence;
|
||||
}
|
||||
|
||||
static List<QuestStep> _200E_202C_200D_202C_200D_202B_202E_206B_202E_200C_200C_206F_202E_206C_202C_202D_206C_202C_202B_206C_202C_206B_200C_206E_206E_200C_206D_202A_200F_206F_202B_202C_200E_206D_206F_206D_206E_202B_202B_206F_202E(QuestSequence P_0)
|
||||
{
|
||||
return P_0.Steps;
|
||||
}
|
||||
|
||||
static string _200B_206B_200B_202A_202E_200B_202C_200B_200B_206D_206C_206E_206C_200F_202A_206C_206D_202A_206F_202A_206E_202B_200B_202D_206C_202A_206F_206E_206B_206E_206E_206F_200C_202B_206E_202A_206C_206B_200B_202B_202E(object P_0)
|
||||
{
|
||||
return P_0.ToString();
|
||||
}
|
||||
|
||||
static NotSupportedException _206F_202E_206A_202E_206E_200D_202A_206F_200D_202A_200E_202A_202E_200E_202C_206B_200C_206C_200B_206A_202C_202C_202D_206F_202C_200C_206B_206D_206F_200D_200D_200E_202C_206C_200F_202C_200C_206F_202E_202E_202E()
|
||||
{
|
||||
return new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
[IteratorStateMachine(typeof(_003CValidate_003Ed__0))]
|
||||
public IEnumerable<ValidationIssue> Validate(Quest quest)
|
||||
{
|
||||
//yield-return decompiler failed: Unexpected instruction in Iterator.Dispose()
|
||||
return new _003CValidate_003Ed__0(-2)
|
||||
bool skipMissingStartStop = !(quest.Id is QuestId);
|
||||
List<(QuestSequence Sequence, int StepId, QuestStep Step)> questAccepts = (from x in FindQuestStepsWithInteractionType(quest, new List<EInteractionType> { EInteractionType.AcceptQuest })
|
||||
where x.Step.PickUpQuestId == null
|
||||
select x).ToList();
|
||||
foreach (var item in questAccepts)
|
||||
{
|
||||
_003C_003E3__quest = quest
|
||||
};
|
||||
}
|
||||
|
||||
IEnumerable<ValidationIssue> IQuestValidator.Validate(Quest quest)
|
||||
{
|
||||
//ILSpy generated this explicit interface implementation from .override directive in Validate
|
||||
return this.Validate(quest);
|
||||
if (item.Sequence.Sequence != 0 || item.StepId != quest.FindSequence(0).Steps.Count - 1)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(item.Sequence.Sequence, item.StepId),
|
||||
Type = EIssueType.UnexpectedAcceptQuestStep,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Unexpected AcceptQuest step"
|
||||
};
|
||||
}
|
||||
}
|
||||
if (!skipMissingStartStop && quest.FindSequence(0) != null && questAccepts.Count == 0)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(0, null),
|
||||
Type = EIssueType.MissingQuestAccept,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "No AcceptQuest step"
|
||||
};
|
||||
}
|
||||
List<(QuestSequence Sequence, int StepId, QuestStep Step)> questCompletes = (from x in FindQuestStepsWithInteractionType(quest, new List<EInteractionType> { EInteractionType.CompleteQuest })
|
||||
where x.Step.TurnInQuestId == null
|
||||
select x).ToList();
|
||||
foreach (var item2 in questCompletes)
|
||||
{
|
||||
if (item2.Sequence.Sequence != byte.MaxValue || item2.StepId != quest.FindSequence(byte.MaxValue).Steps.Count - 1)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation(item2.Sequence.Sequence, item2.StepId),
|
||||
Type = EIssueType.UnexpectedCompleteQuestStep,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "Unexpected CompleteQuest step"
|
||||
};
|
||||
}
|
||||
}
|
||||
if (!skipMissingStartStop && quest.FindSequence(byte.MaxValue) != null && questCompletes.Count == 0)
|
||||
{
|
||||
yield return new ValidationIssue
|
||||
{
|
||||
PathType = EPathType.Quest,
|
||||
Id = quest.Id.ToString(),
|
||||
Location = SchemaValidationHelper.FormatQuestLocation((byte)byte.MaxValue, null),
|
||||
Type = EIssueType.MissingQuestComplete,
|
||||
Severity = EIssueSeverity.Error,
|
||||
Description = "No CompleteQuest step"
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private static IEnumerable<(QuestSequence Sequence, int StepId, QuestStep Step)> FindQuestStepsWithInteractionType(Quest quest, List<EInteractionType> interactionType)
|
||||
{
|
||||
return from x in quest.AllSteps()
|
||||
where interactionType.Contains(_003C_003Ec__DisplayClass1_0._200B_202A_206B_200B_200E_202D_206F_202A_202B_202B_206E_202B_206B_202D_206E_200E_200B_206F_200D_200F_202A_202C_206A_202C_200B_200F_206A_200B_206D_200D_206D_202D_200B_200B_202C_202B_200E_206F_202D_206A_202E(x.Step))
|
||||
where interactionType.Contains(x.Step.InteractionType)
|
||||
select x;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue