mirror of
https://github.com/4sval/FModel.git
synced 2026-03-21 17:24:26 -05:00
actual reward has priority over xp reward
This commit is contained in:
parent
127af65b82
commit
1a3b2935f0
|
|
@ -35,22 +35,7 @@ namespace FModel.Creator.Bundles
|
|||
Count = count.Value;
|
||||
}
|
||||
|
||||
if (obj.TryGetValue("RewardsTable", out var v4) && v4 is ObjectProperty rewardsTable && rewardsTable.Value.Resource.OuterIndex.Resource != null)
|
||||
{
|
||||
Package p = Utils.GetPropertyPakPackage(rewardsTable.Value.Resource.OuterIndex.Resource?.ObjectName.String);
|
||||
if (p != null && p.HasExport() && !p.Equals(default))
|
||||
{
|
||||
var u = p.GetExport<UDataTable>();
|
||||
if (u != null && u.TryGetValue("Default", out var i) && i is UObject r &&
|
||||
r.TryGetValue("TemplateId", out var i1) && i1 is NameProperty templateId &&
|
||||
r.TryGetValue("Quantity", out var i2) && i2 is IntProperty quantity)
|
||||
{
|
||||
Reward = new Reward(quantity, templateId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Reward == null && obj.TryGetValue("Rewards", out var v2) && v2 is ArrayProperty rewards)
|
||||
if (obj.TryGetValue("Rewards", out var v2) && v2 is ArrayProperty rewards)
|
||||
{
|
||||
foreach (StructProperty reward in rewards.Value)
|
||||
{
|
||||
|
|
@ -76,6 +61,21 @@ namespace FModel.Creator.Bundles
|
|||
}
|
||||
}
|
||||
|
||||
if (Reward == null && obj.TryGetValue("RewardsTable", out var v4) && v4 is ObjectProperty rewardsTable && rewardsTable.Value.Resource.OuterIndex.Resource != null)
|
||||
{
|
||||
Package p = Utils.GetPropertyPakPackage(rewardsTable.Value.Resource.OuterIndex.Resource?.ObjectName.String);
|
||||
if (p != null && p.HasExport() && !p.Equals(default))
|
||||
{
|
||||
var u = p.GetExport<UDataTable>();
|
||||
if (u != null && u.TryGetValue("Default", out var i) && i is UObject r &&
|
||||
r.TryGetValue("TemplateId", out var i1) && i1 is NameProperty templateId &&
|
||||
r.TryGetValue("Quantity", out var i2) && i2 is IntProperty quantity)
|
||||
{
|
||||
Reward = new Reward(quantity, templateId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Reward == null && obj.TryGetValue("HiddenRewards", out var v3) && v3 is ArrayProperty hiddenRewards)
|
||||
{
|
||||
foreach (StructProperty reward in hiddenRewards.Value)
|
||||
|
|
|
|||
|
|
@ -176,24 +176,17 @@ namespace FModel.PakReader.Parsers
|
|||
{
|
||||
_dataExports[i] = new UObject();
|
||||
#if DEBUG
|
||||
try
|
||||
{
|
||||
var header = new FUnversionedHeader(this);
|
||||
if (!header.HasValues)
|
||||
continue;
|
||||
using var it = new FIterator(header);
|
||||
FConsole.AppendText(string.Concat("\n", exportType.String, ": ", Summary.Name.String), "#CA6C6C", true);
|
||||
|
||||
do
|
||||
{
|
||||
FConsole.AppendText($"Val: {it.Current.Val} (IsNonZero: {it.Current.IsNonZero})", FColors.Yellow, true);
|
||||
}
|
||||
while (it.MoveNext());
|
||||
}
|
||||
catch (FileLoadException)
|
||||
{
|
||||
var header = new FUnversionedHeader(this);
|
||||
if (!header.HasValues)
|
||||
continue;
|
||||
using var it = new FIterator(header);
|
||||
FConsole.AppendText(string.Concat("\n", exportType.String, ": ", Summary.Name.String), "#CA6C6C", true);
|
||||
|
||||
do
|
||||
{
|
||||
FConsole.AppendText($"Val: {it.Current.Val} (IsNonZero: {it.Current.IsNonZero})", FColors.Yellow, true);
|
||||
}
|
||||
while (it.MoveNext());
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user