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>
|
<ItemGroup>
|
||||||
<PackageReference Include="ASodium" Version="0.6.1" />
|
<PackageReference Include="ASodium" Version="0.6.1" />
|
||||||
<PackageReference Include="DnsClient" Version="1.8.0" />
|
<PackageReference Include="DnsClient" Version="1.8.0" />
|
||||||
<PackageReference Include="Google.Api.CommonProtos" Version="2.15.0" />
|
<PackageReference Include="Google.Api.CommonProtos" Version="2.16.0" />
|
||||||
<PackageReference Include="Google.Protobuf.Tools" Version="3.27.3" />
|
<PackageReference Include="Google.Protobuf.Tools" Version="3.29.1" />
|
||||||
<PackageReference Include="Grpc.AspNetCore" Version="2.65.0" />
|
<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="Newtonsoft.Json" Version="13.0.3" />
|
||||||
<PackageReference Include="Paseto.Core" Version="1.3.0" />
|
<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="SharpZipLib" Version="1.4.2" />
|
||||||
<PackageReference Include="Sodium.Core" Version="1.4.0-preview.1" />
|
<PackageReference Include="Sodium.Core" Version="1.3.5" />
|
||||||
<PackageReference Include="System.Net.Http.Formatting.Extension" Version="5.2.3" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<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")
|
else if (item.reward_type == "Item")
|
||||||
{
|
{
|
||||||
var id = user.GenerateUniqueItemId();
|
// Check if user already has said item. If it is level 1, increase item count.
|
||||||
user.Items.Add(new ItemData() { ItemType = item.reward_id, Isn = id, Level = 1, Exp = 0, Count = 1 });
|
// If user does not have item, generate a new item ID
|
||||||
ret.Item.Add(new NetItemData()
|
if (user.Items.Where(x => x.ItemType == item.reward_id && x.Level == 1).Any())
|
||||||
{
|
{
|
||||||
Count = item.reward_value,
|
ItemData? newItem = user.Items.Where(x => x.ItemType == item.reward_id && x.Level == 1).FirstOrDefault();
|
||||||
Tid = item.reward_id,
|
if (newItem != null)
|
||||||
Isn = id
|
{
|
||||||
});
|
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")
|
else if (item.reward_type == "Memorial")
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,10 +19,11 @@ namespace EpinelPS.LobbyServer.Msgs.Trigger
|
|||||||
var user = GetUser();
|
var user = GetUser();
|
||||||
|
|
||||||
ResObtainMainQuestReward response = new();
|
ResObtainMainQuestReward response = new();
|
||||||
List<NetRewardData> rewards = new();
|
List<NetRewardData> rewards = [];
|
||||||
|
|
||||||
foreach (var item in user.MainQuestData)
|
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))
|
if (!item.Value && req.TidList.Contains(item.Key))
|
||||||
{
|
{
|
||||||
user.MainQuestData[item.Key] = true;
|
user.MainQuestData[item.Key] = true;
|
||||||
@@ -37,6 +38,12 @@ namespace EpinelPS.LobbyServer.Msgs.Trigger
|
|||||||
}
|
}
|
||||||
|
|
||||||
response.Reward = NetUtils.MergeRewards(rewards, user);
|
response.Reward = NetUtils.MergeRewards(rewards, user);
|
||||||
|
|
||||||
|
foreach (var item in response.Reward.Item)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"item: {item.Tid} {item.Isn} {item.Count}");
|
||||||
|
}
|
||||||
|
|
||||||
JsonDb.Save();
|
JsonDb.Save();
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
await WriteDataAsync(response);
|
||||||
|
|||||||
@@ -108,8 +108,8 @@ namespace EpinelPS.Utils
|
|||||||
{
|
{
|
||||||
NetRewardData result = new();
|
NetRewardData result = new();
|
||||||
|
|
||||||
Dictionary<int, long> currencyDict = new Dictionary<int, long>();
|
Dictionary<int, long> currencyDict = [];
|
||||||
List<NetItemData> items = new List<NetItemData>();
|
List<NetItemData> items = [];
|
||||||
|
|
||||||
foreach (NetRewardData reward in rewards)
|
foreach (NetRewardData reward in rewards)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia.Desktop" Version="11.1.3" />
|
<PackageReference Include="Avalonia.Desktop" Version="11.2.2" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -11,11 +11,11 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Avalonia" Version="11.1.3" />
|
<PackageReference Include="Avalonia" Version="11.2.2" />
|
||||||
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.1.3" />
|
<PackageReference Include="Avalonia.Fonts.Inter" Version="11.2.2" />
|
||||||
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
|
<!--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 Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="11.2.2" />
|
||||||
<PackageReference Include="FluentAvaloniaUI" Version="2.1.0" />
|
<PackageReference Include="FluentAvaloniaUI" Version="2.2.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
Reference in New Issue
Block a user