mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 07:24:52 +01:00
update packages, inventory fix
This commit is contained in:
@@ -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>
|
||||
|
||||
20
EpinelPS/LobbyServer/Msgs/Inventory/UsePiece.cs
Normal file
20
EpinelPS/LobbyServer/Msgs/Inventory/UsePiece.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -203,14 +203,39 @@ namespace EpinelPS.LobbyServer.Msgs.Stage
|
||||
}
|
||||
else if (item.reward_type == "Item")
|
||||
{
|
||||
var id = user.GenerateUniqueItemId();
|
||||
user.Items.Add(new ItemData() { ItemType = item.reward_id, Isn = id, Level = 1, Exp = 0, Count = 1 });
|
||||
ret.Item.Add(new NetItemData()
|
||||
// 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())
|
||||
{
|
||||
Count = item.reward_value,
|
||||
Tid = item.reward_id,
|
||||
Isn = id
|
||||
});
|
||||
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 = item.reward_value });
|
||||
ret.Item.Add(new NetItemData()
|
||||
{
|
||||
Count = item.reward_value,
|
||||
Tid = item.reward_id,
|
||||
Isn = id
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (item.reward_type == "Memorial")
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.1.3" />
|
||||
<PackageReference Include="Avalonia.Desktop" Version="11.2.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user