private void GenericPickupController_AttemptGrant(On.RoR2.GenericPickupController.orig_AttemptGrant orig, RoR2.GenericPickupController self, RoR2.CharacterBody body) { if (PickupCatalog.GetPickupDef(self.pickupIndex).equipmentIndex != EquipmentIndex.None) { orig(self, body); return; } InventoryLimits limits = null; limits = body.master.gameObject.GetComponent <InventoryLimits>(); if (limits != null && PickupCatalog.GetPickupDef(self.pickupIndex).itemIndex != ItemIndex.None) { if (limits.Limited) { /* * Chat.AddMessage($"<color=#FFFF00>Inventory full: {limits.amount}/{limits.limit}. Gain experience to gain free space.</color>"); */ return; } } orig(self, body); if (limits != null && PickupCatalog.GetPickupDef(self.pickupIndex).itemIndex != ItemIndex.None) { if (NetworkServer.active) { DropperChat.ItemCountMessage(body.GetUserName(), limits.amount, limits.limit); } } }
public static void DropEquipment(CharacterMaster master, EquipmentIndex equipmentIndex) { var transform = master.GetBodyObject().transform; var dropVector = UnityEngine.Random.insideUnitCircle; PickupDropletController.CreatePickupDroplet(PickupCatalog.FindPickupIndex(equipmentIndex), transform.position, new Vector3(dropVector.x, 0, dropVector.y) * 5f); master.inventory.SetEquipmentIndex(EquipmentIndex.None); DropperChat.EquipmentDropMessage(master.GetBody().GetUserName(), equipmentIndex); }
public static void DropItem(CharacterMaster master, ItemIndex itemIndex) { var transform = master.GetBodyObject().transform; var dropVector = UnityEngine.Random.insideUnitCircle; PickupDropletController.CreatePickupDroplet(PickupCatalog.FindPickupIndex(itemIndex), transform.position, new Vector3(dropVector.x, 0, dropVector.y) * 5f); master.inventory.RemoveItem(itemIndex); DropperChat.ItemDropMessage(master.GetBody().GetUserName(), itemIndex); var limits = master.GetComponent <InventoryLimits>(); DropperChat.ItemCountMessage(master.GetBody().GetUserName(), limits.amount, limits.limit); }