void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item)
 {
     if (dispenser.GetComponent <BaseEntity>() is TreeEntity)
     {
         if (Oxide.Core.Random.Range(0, 100) < appleChance)
         {
             if (Oxide.Core.Random.Range(0, 100) < rAppleChance)
             {
                 ItemManager.CreateByName("apple.spoiled", 1).Drop(new Vector3(entity.transform.position.x, entity.transform.position.y + 20f, entity.transform.position.z), Vector3.zero);
             }
             else
             {
                 ItemManager.CreateByName("apple", 1).Drop(new Vector3(entity.transform.position.x, entity.transform.position.y + 20f, entity.transform.position.z), Vector3.zero);
             }
             if (enableBroadcast)
             {
                 SendReply(entity as BasePlayer, String.Format(msg("Apple")));
             }
         }
     }
     if (Oxide.Core.Random.Range(0, 100) < toolBreak && !permission.UserHasPermission((entity as BasePlayer).net.connection.userid.ToString(), unbreakPerm))
     {
         (entity as BasePlayer).GetActiveItem().condition = (entity as BasePlayer).GetActiveItem().condition / 3;
         SendReply(entity as BasePlayer, String.Format(msg("ToolBreak")));
     }
 }
Exemple #2
0
 //Get apple from Tree
 void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item)
 {
     if (entity is BasePlayer)
     {
         if (dispenser.GetComponent <BaseEntity>() is TreeEntity)
         {
             if (UnityEngine.Random.Range(0, 100) < AppleChance)
             {
                 ItemManager.CreateByName(AppleItem, 1).Drop(new Vector3(entity.transform.position.x, entity.transform.position.y + 20f, entity.transform.position.z), Vector3.zero);
                 if (enableBroadcast)
                 {
                     SendReply(entity as BasePlayer, String.Format(msg("Apple")));
                 }
             }
             if (UnityEngine.Random.Range(0, 100) < SpoiledAppleChance)
             {
                 ItemManager.CreateByName(SpoiledAppleItem, 1).Drop(new Vector3(entity.transform.position.x, entity.transform.position.y + 20f, entity.transform.position.z), Vector3.zero);
                 if (enableBroadcast)
                 {
                     SendReply(entity as BasePlayer, String.Format(msg("SpoiledApple")));
                 }
             }
         }
     }
 }
Exemple #3
0
 private void OnDispenserGather(ResourceDispenser dispenser, BasePlayer entity)
 {
     if (!dispenser.name.Contains("cactus"))
     {
         return;
     }
     Hurt(entity, _config.harvestingDamage, dispenser.GetComponent <BaseEntity>() ?? entity);
 }
Exemple #4
0
        private void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item)
        {
            var gatherType     = dispenser.gatherType.ToString("G");
            var fallDefined    = dispenser.GetComponent <FallControl>() != null;
            var despawnDefined = dispenser.GetComponent <DespawnControl>() != null;

            // Does not change cacti when disabled.
            if (dispenser.containedItems.Count == 0)
            {
                return;
            }

            // Changes the harvest amount in objects that are falling or despawning.
            if (fallDefined || despawnDefined)
            {
                item.amount = (int)(item.amount * configs.options.harvestFallen);
            }
            else if (dispenser.gatherType == ResourceDispenser.GatherType.Tree)
            {
                item.amount = (int)(item.amount * configs.options.harvestStanding);
            }
        }
 //Get apple from Tree
 void OnDispenserGather(ResourceDispenser dispenser, BaseEntity entity, Item item)
 {
     if (dispenser.GetComponent <BaseEntity>() is TreeEntity)
     {
         if (Oxide.Core.Random.Range(0, 100) < appleChance)
         {
             if (Oxide.Core.Random.Range(0, 100) < rAppleChance)
             {
                 ItemManager.CreateByName("apple.spoiled", 1).Drop(new Vector3(entity.transform.position.x, entity.transform.position.y + 20f, entity.transform.position.z), Vector3.zero);
             }
             else
             {
                 ItemManager.CreateByName("apple", 1).Drop(new Vector3(entity.transform.position.x, entity.transform.position.y + 20f, entity.transform.position.z), Vector3.zero);
             }
             if (enableBroadcast)
             {
                 SendReply(entity as BasePlayer, String.Format(msg("Apple")));
             }
         }
     }
 }