[FIX] Damage-Bug

06/09/2019 14:02 AfterLife-#1
The Damage-Bug currently used on most Server is done by using the Guri 300 8023 Packet (Open-Box Packet) to Equip Items to the Partner-Inventory.
Just check the Item you are trying to open.. If it is no (ItemType.)Box then don't use the UseItem Packet.

Change the Code in the BasicPacketHandler.cs -> Guri Function from
Code:
                else if (guriPacket.Type == 300)
                {
                    if (guriPacket.Argument == 8023 && short.TryParse(guriPacket.User.ToString(), out short slot))
                    {
                        ItemInstance box = Session.Character.Inventory.LoadBySlotAndType(slot, InventoryType.Equipment);
                        if (box != null)
                        {
                            box.Item.Use(Session, ref box, 1, new[] { guriPacket.Data.ToString() });
                        }
                    }
                }
To
Code:
                else if (guriPacket.Type == 300)
                {
                    if (guriPacket.Argument == 8023 && short.TryParse(guriPacket.User.ToString(), out short slot))
                    {
                        ItemInstance box = Session.Character.Inventory.LoadBySlotAndType(slot, InventoryType.Equipment);
                        if (box != null && box.Item.ItemType == ItemType.Box)
                        {
                            box.Item.Use(Session, ref box, 1, new[] { guriPacket.Data.ToString() });
                        }
                    }
                }
06/28/2019 02:08 AfterLife-#2
In case you're using a source with a different MoveItem Packet-Handle don't forget to insert the following check:

Code:
                    if (mviPacket.InventoryType == InventoryType.Wear)
                    {
                        return;
                    }