punish v6.8.18.0
This commit is contained in:
commit
e786325cda
322 changed files with 554232 additions and 0 deletions
52
Questionable/Questionable.Model/ItemReward.cs
Normal file
52
Questionable/Questionable.Model/ItemReward.cs
Normal file
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using Lumina.Excel.Sheets;
|
||||
using Questionable.Model.Questing;
|
||||
|
||||
namespace Questionable.Model;
|
||||
|
||||
public abstract record ItemReward(ItemRewardDetails Item)
|
||||
{
|
||||
public uint ItemId => Item.ItemId;
|
||||
|
||||
public string Name => Item.Name;
|
||||
|
||||
public ElementId ElementId => Item.ElementId;
|
||||
|
||||
public TimeSpan CastTime => Item.CastTime;
|
||||
|
||||
public abstract EItemRewardType Type { get; }
|
||||
|
||||
internal static ItemReward? CreateFromItem(Item item, ElementId elementId)
|
||||
{
|
||||
ushort? num = item.ItemAction.ValueNullable?.Type;
|
||||
if (num.HasValue && num == 1322)
|
||||
{
|
||||
return new MountReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]);
|
||||
}
|
||||
num = item.ItemAction.ValueNullable?.Type;
|
||||
if (num.HasValue && num == 853)
|
||||
{
|
||||
return new MinionReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]);
|
||||
}
|
||||
Orchestrion? valueOrDefault = item.AdditionalData.GetValueOrDefault<Orchestrion>();
|
||||
if (valueOrDefault.HasValue)
|
||||
{
|
||||
Orchestrion valueOrDefault2 = valueOrDefault.GetValueOrDefault();
|
||||
return new OrchestrionRollReward(new ItemRewardDetails(item, elementId), valueOrDefault2.RowId);
|
||||
}
|
||||
TripleTriadCard? valueOrDefault3 = item.AdditionalData.GetValueOrDefault<TripleTriadCard>();
|
||||
if (valueOrDefault3.HasValue)
|
||||
{
|
||||
TripleTriadCard valueOrDefault4 = valueOrDefault3.GetValueOrDefault();
|
||||
return new TripleTriadCardReward(new ItemRewardDetails(item, elementId), (ushort)valueOrDefault4.RowId);
|
||||
}
|
||||
num = item.ItemAction.ValueNullable?.Type;
|
||||
if (num.HasValue && num == 20086)
|
||||
{
|
||||
return new FashionAccessoryReward(new ItemRewardDetails(item, elementId), item.ItemAction.Value.Data[0]);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public abstract bool IsUnlocked();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue