mirror of
https://github.com/MikuLeaks/KianaBH3.git
synced 2025-12-12 21:04:41 +01:00
feat: add stigmata to inventory & giveall command
This commit is contained in:
@@ -16,7 +16,19 @@ public class CommandGiveall : ICommands
|
||||
{
|
||||
var item = await arg.Target!.Player!.InventoryManager!.AddItem(conf.ID, 1, ItemMainTypeEnum.Weapon, conf.MaxLv, sync:false);
|
||||
}
|
||||
await arg.Target!.Player!.SyncWeapon();
|
||||
await arg.Target!.Player!.SyncInventory();
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems", I18NManager.Translate("Word.Weapon")));
|
||||
}
|
||||
|
||||
[CommandMethod("stigmata")]
|
||||
public async ValueTask GiveStigmata(CommandArg arg)
|
||||
{
|
||||
if (!await arg.CheckOnlineTarget()) return;
|
||||
foreach (var conf in GameData.StigmataData.Values.Where(stigmata => stigmata.Rarity == stigmata.MaxRarity))
|
||||
{
|
||||
var item = await arg.Target!.Player!.InventoryManager!.AddItem(conf.ID, 1, ItemMainTypeEnum.Stigmata, conf.MaxLv, sync: false);
|
||||
}
|
||||
await arg.Target!.Player!.SyncInventory();
|
||||
await arg.SendMsg(I18NManager.Translate("Game.Command.GiveAll.GiveAllItems", I18NManager.Translate("Word.Stigmata")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,10 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player)
|
||||
if (weaponConfig == null) return null;
|
||||
itemData = await PutItem(itemId, 1, type, level, equipAvatar: equipAvatar, uniqueId: ++Data.NextUniqueId);
|
||||
break;
|
||||
case ItemMainTypeEnum.Stigmata:
|
||||
GameData.StigmataData.TryGetValue(itemId, out var stigmataConfig);
|
||||
itemData = await PutItem(itemId, 1, type, level, uniqueId: ++Data.NextUniqueId);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -63,7 +67,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player)
|
||||
item = oldItem;
|
||||
break;
|
||||
}
|
||||
|
||||
Data.MaterialItems.Add(item);
|
||||
break;
|
||||
case ItemMainTypeEnum.Weapon:
|
||||
@@ -71,7 +74,6 @@ public class InventoryManager(PlayerInstance player) : BasePlayerManager(player)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
|
||||
Data.WeaponItems.Add(item);
|
||||
break;
|
||||
case ItemMainTypeEnum.Stigmata:
|
||||
|
||||
@@ -111,7 +111,7 @@ public class PlayerInstance(PlayerData data)
|
||||
return Data.ToProto();
|
||||
}
|
||||
|
||||
public async ValueTask SyncWeapon()
|
||||
public async ValueTask SyncInventory()
|
||||
{
|
||||
await SendPacket(new PacketGetEquipmentDataRsp(this));
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ using Google.Protobuf.Collections;
|
||||
using KianaBH.Data;
|
||||
using KianaBH.KcpSharp;
|
||||
using KianaBH.Proto;
|
||||
using KianaBH.Util.Extensions;
|
||||
|
||||
namespace KianaBH.GameServer.Server.Packet.Send.Activity;
|
||||
|
||||
@@ -31,8 +30,6 @@ public class PacketGeneralActivityGetMainInfoRsp : BasePacket
|
||||
ExchangeTimes = 1,
|
||||
};
|
||||
|
||||
|
||||
|
||||
return activity;
|
||||
});
|
||||
|
||||
|
||||
@@ -10,7 +10,9 @@ public class PacketGetEquipmentDataRsp : BasePacket
|
||||
{
|
||||
var proto = new GetEquipmentDataRsp
|
||||
{
|
||||
WeaponList = { player.InventoryManager!.Data.WeaponItems.Select(weapon => weapon.ToWeaponProto()) }
|
||||
WeaponList = { player.InventoryManager!.Data.WeaponItems.Select(weapon => weapon.ToWeaponProto()) },
|
||||
StigmataList = { player.InventoryManager!.Data.StigmataItems.Select(stigmata => stigmata.ToStigmataProto()) },
|
||||
MaterialList = { player.InventoryManager!.Data.MaterialItems.Select(material => material.ToMaterialProto()) }
|
||||
};
|
||||
|
||||
SetData(proto);
|
||||
|
||||
Reference in New Issue
Block a user