muffin v7.4.12

This commit is contained in:
alydev 2026-02-27 22:50:51 +10:00
parent e3e5a401c3
commit 0f9f445830
38 changed files with 13646 additions and 10442 deletions

View file

@ -202,6 +202,22 @@ public sealed class ActionConverter : EnumConverter<EAction>
{
EAction.TreatersTrick,
"Treater's Trick"
},
{
EAction.CheerRhythmRed,
"Cheer Rhythm: Red"
},
{
EAction.CheerRhythmBlue,
"Cheer Rhythm: Blue"
},
{
EAction.CheerRhythmGreen,
"Cheer Rhythm: Green"
},
{
EAction.CheerRhythmYellow,
"Cheer Rhythm: Yellow"
}
};

View file

@ -126,6 +126,10 @@ public sealed class InteractionTypeConverter : EnumConverter<EInteractionType>
{
EInteractionType.CompleteQuest,
"CompleteQuest"
},
{
EInteractionType.FateAction,
"FateAction"
}
};

View file

@ -5,11 +5,17 @@ namespace Questionable.Model.Questing.Converter;
public sealed class StatusConverter : EnumConverter<EStatus>
{
private static readonly Dictionary<EStatus, string> Values = new Dictionary<EStatus, string> {
private static readonly Dictionary<EStatus, string> Values = new Dictionary<EStatus, string>
{
EStatus.Hidden,
"Hidden"
} };
{
EStatus.Hidden,
"Hidden"
},
{
EStatus.FaceInTheCrowd,
"FaceInTheCrowd"
}
};
public StatusConverter()
: base((IReadOnlyDictionary<EStatus, string>)Values)

View file

@ -62,6 +62,10 @@ public enum EAction
BigSneeze = 1765,
TrickstersTreat = 44517,
TreatersTrick = 44518,
CheerRhythmRed = 44501,
CheerRhythmBlue = 44502,
CheerRhythmGreen = 44503,
CheerRhythmYellow = 44504,
Prospect = 227,
CollectMiner = 240,
LuckOfTheMountaineer = 4081,

View file

@ -35,5 +35,6 @@ public enum EInteractionType
UnlockTaxiStand,
Instruction,
AcceptQuest,
CompleteQuest
CompleteQuest,
FateAction
}

View file

@ -10,6 +10,7 @@ public enum EStatus : uint
GatheringRateUp = 218u,
Prospect = 225u,
Hidden = 614u,
FaceInTheCrowd = 1494u,
Eukrasia = 2606u,
Jog = 4209u
}

View file

@ -0,0 +1,8 @@
namespace Questionable.Model.Questing;
public sealed class FateActionTarget
{
public uint DataId { get; set; }
public EAction Action { get; set; }
}

View file

@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Numerics;
using System.Text.Json.Serialization;
using Questionable.Model.Common;
using Questionable.Model.Common.Converter;
namespace Questionable.Model.Questing;
public sealed class FateDefinition
{
public string Name { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public ushort TerritoryId { get; set; }
public EAetheryteLocation Aetheryte { get; set; }
[JsonConverter(typeof(VectorConverter))]
public Vector3 Position { get; set; }
public List<FateActionTarget> Targets { get; set; } = new List<FateActionTarget>();
public EStatus? RequiredStatusId { get; set; }
public uint? TransformNpcDataId { get; set; }
[JsonConverter(typeof(VectorConverter))]
public Vector3? TransformNpcPosition { get; set; }
public List<DialogueChoice>? TransformDialogueChoices { get; set; }
public DateTime? EventExpiry { get; set; }
}

View file

@ -49,6 +49,8 @@ public sealed class QuestStep
public bool? RestartNavigationIfCancelled { get; set; }
public bool IgnoreQuestMarker { get; set; }
public string? Comment { get; set; }
public EAetheryteLocation? Aetheryte { get; set; }
@ -88,6 +90,8 @@ public sealed class QuestStep
public List<ComplexCombatData> ComplexCombatData { get; set; } = new List<ComplexCombatData>();
public List<FateActionTarget> FateActionTargets { get; set; } = new List<FateActionTarget>();
public CombatItemUse? CombatItemUse { get; set; }
public float? CombatDelaySecondsAtStart { get; set; }