update packages, inventory fix

This commit is contained in:
Mikhail
2024-12-20 11:37:33 -05:00
parent 9877d29e79
commit 6c58b3e137
7 changed files with 73 additions and 21 deletions

View File

@@ -15,15 +15,15 @@
<ItemGroup>
<PackageReference Include="ASodium" Version="0.6.1" />
<PackageReference Include="DnsClient" Version="1.8.0" />
<PackageReference Include="Google.Api.CommonProtos" Version="2.15.0" />
<PackageReference Include="Google.Protobuf.Tools" Version="3.27.3" />
<PackageReference Include="Grpc.AspNetCore" Version="2.65.0" />
<PackageReference Include="Google.Api.CommonProtos" Version="2.16.0" />
<PackageReference Include="Google.Protobuf.Tools" Version="3.29.1" />
<PackageReference Include="Grpc.AspNetCore" Version="2.67.0" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="6.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Paseto.Core" Version="1.3.0" />
<PackageReference Include="PeterO.Cbor" Version="5.0.0-alpha1" />
<PackageReference Include="PeterO.Cbor" Version="4.5.5" />
<PackageReference Include="SharpZipLib" Version="1.4.2" />
<PackageReference Include="Sodium.Core" Version="1.4.0-preview.1" />
<PackageReference Include="System.Net.Http.Formatting.Extension" Version="5.2.3" />
<PackageReference Include="Sodium.Core" Version="1.3.5" />
</ItemGroup>
<ItemGroup>

View File

@@ -0,0 +1,20 @@
using EpinelPS.Utils;
namespace EpinelPS.LobbyServer.Msgs.Inventory
{
[PacketPath("/inventory/usepiece")]
public class UsePiece : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqUsePiece>();
var user = GetUser();
var response = new ResUsePiece();
// TODO
await WriteDataAsync(response);
}
}
}

View File

@@ -203,8 +203,32 @@ namespace EpinelPS.LobbyServer.Msgs.Stage
}
else if (item.reward_type == "Item")
{
// Check if user already has said item. If it is level 1, increase item count.
// If user does not have item, generate a new item ID
if (user.Items.Where(x => x.ItemType == item.reward_id && x.Level == 1).Any())
{
ItemData? newItem = user.Items.Where(x => x.ItemType == item.reward_id && x.Level == 1).FirstOrDefault();
if (newItem != null)
{
newItem.Count += item.reward_value;
ret.Item.Add(new NetItemData()
{
Count = item.reward_value,
Tid = item.reward_id,
Isn = newItem.Isn
});
}
else
{
throw new Exception("should not occur");
}
}
else
{
var id = user.GenerateUniqueItemId();
user.Items.Add(new ItemData() { ItemType = item.reward_id, Isn = id, Level = 1, Exp = 0, Count = 1 });
user.Items.Add(new ItemData() { ItemType = item.reward_id, Isn = id, Level = 1, Exp = 0, Count = item.reward_value });
ret.Item.Add(new NetItemData()
{
Count = item.reward_value,
@@ -212,6 +236,7 @@ namespace EpinelPS.LobbyServer.Msgs.Stage
Isn = id
});
}
}
else if (item.reward_type == "Memorial")
{
if (!user.Memorial.Contains(item.reward_id))

View File

@@ -19,10 +19,11 @@ namespace EpinelPS.LobbyServer.Msgs.Trigger
var user = GetUser();
ResObtainMainQuestReward response = new();
List<NetRewardData> rewards = new();
List<NetRewardData> rewards = [];
foreach (var item in user.MainQuestData)
{
// give only rewards for things that were completed and not claimed already
if (!item.Value && req.TidList.Contains(item.Key))
{
user.MainQuestData[item.Key] = true;
@@ -37,6 +38,12 @@ namespace EpinelPS.LobbyServer.Msgs.Trigger
}
response.Reward = NetUtils.MergeRewards(rewards, user);
foreach (var item in response.Reward.Item)
{
Console.WriteLine($"item: {item.Tid} {item.Isn} {item.Count}");
}
JsonDb.Save();
await WriteDataAsync(response);

View File

@@ -108,8 +108,8 @@ namespace EpinelPS.Utils
{
NetRewardData result = new();
Dictionary<int, long> currencyDict = new Dictionary<int, long>();
List<NetItemData> items = new List<NetItemData>();
Dictionary<int, long> currencyDict = [];
List<NetItemData> items = [];
foreach (NetRewardData reward in rewards)
{

View File

@@ -13,7 +13,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Avalonia.Desktop" Version="11.1.3" />
<PackageReference Include="Avalonia.Desktop" Version="11.2.2" />
</ItemGroup>
<ItemGroup>

View File

@@ -11,11 +11,11 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Avalonia" Version="11.1.3" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.1.3" />
<PackageReference Include="Avalonia" Version="11.2.2" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.2" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.1.3" />
<PackageReference Include="FluentAvaloniaUI" Version="2.1.0" />
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.2" />
<PackageReference Include="FluentAvaloniaUI" Version="2.2.0" />
</ItemGroup>
<ItemGroup>