예제 #1
0
 public override void OnEvent(PlayerAddItem evnt)
 {
     if (BoltNetwork.isServer && evnt.Player != null && evnt.Player != LocalPlayer.Entity)
     {
         PlayerAddItem playerAddItem = PlayerAddItem.Create(evnt.Player.source);
         playerAddItem.ItemId             = evnt.ItemId;
         playerAddItem.Amount             = evnt.Amount;
         playerAddItem.ActiveBonus        = evnt.ActiveBonus;
         playerAddItem.ActiveBonusValue   = evnt.ActiveBonusValue;
         playerAddItem.IntVal1            = evnt.IntVal1;
         playerAddItem.FloatVal1          = evnt.FloatVal1;
         playerAddItem.ItemPropertiesType = evnt.ItemPropertiesType;
         playerAddItem.Send();
     }
     else
     {
         int num = (evnt.Amount <= 1) ? 1 : evnt.Amount;
         if (!LocalPlayer.Inventory.AddItem(evnt.ItemId, num, false, false, ItemProperties.CreateFrom(evnt)))
         {
             for (int i = 0; i < num; i++)
             {
                 LocalPlayer.Inventory.FakeDrop(evnt.ItemId, null);
             }
         }
     }
 }