Add basic treasure chest drop

This commit is contained in:
WatchAndyTW
2024-05-22 23:16:54 +08:00
parent f28e9717fd
commit cc0e118205
2 changed files with 36 additions and 1 deletions

View File

@@ -0,0 +1,32 @@
using EggLink.DanhengServer.Database.Inventory;
using EggLink.DanhengServer.Proto;
namespace EggLink.DanhengServer.Game.Drop
{
public class DropService
{
public static List<ItemData> CalculateDropsFromProp()
{
List<ItemData> drops =
[
new ItemData()
{
ItemId = 1,
Count = 5
},
new ItemData()
{
ItemId = 22,
Count = 5
},
new ItemData()
{
ItemId = 2,
Count = new Random().Next(20, 100)
},
];
return drops;
}
}
}

View File

@@ -30,6 +30,7 @@ using EggLink.DanhengServer.Util;
using EggLink.DanhengServer.Enums.Avatar;
using EggLink.DanhengServer.Server.Packet.Send.Avatar;
using EggLink.DanhengServer.Game.Challenge;
using EggLink.DanhengServer.Game.Drop;
namespace EggLink.DanhengServer.Game.Player
{
@@ -335,7 +336,9 @@ namespace EggLink.DanhengServer.Game.Player
case PropTypeEnum.PROP_TREASURE_CHEST:
if (oldState == PropStateEnum.ChestClosed && newState == PropStateEnum.ChestUsed)
{
// TODO: Add treasure chest handling
// TODO: Filter treasure chest
var items = DropService.CalculateDropsFromProp();
SceneInstance.Player.InventoryManager!.AddItems(items);
}
break;
case PropTypeEnum.PROP_DESTRUCT: