示例#1
0
 public override void ServerCommand(Item item, string command, BasePlayer player)
 {
     if (command == "unwrap" && item.amount > 0)
     {
         item.UseItem();
         int num = Random.Range(minTries, maxTries + 1);
         for (int i = 0; i < num; i++)
         {
             revealList.SpawnIntoContainer(player.inventory.containerMain);
         }
         if (successEffect.isValid)
         {
             Effect.server.Run(successEffect.resourcePath, player.eyes.position);
         }
     }
 }
示例#2
0
 public virtual void PopulateLoot()
 {
     if (LootSpawnSlots.Length != 0)
     {
         LootSpawnSlot[] lootSpawnSlots = LootSpawnSlots;
         for (int i = 0; i < lootSpawnSlots.Length; i++)
         {
             LootSpawnSlot lootSpawnSlot = lootSpawnSlots[i];
             for (int j = 0; j < lootSpawnSlot.numberToSpawn; j++)
             {
                 if (UnityEngine.Random.Range(0f, 1f) <= lootSpawnSlot.probability)
                 {
                     lootSpawnSlot.definition.SpawnIntoContainer(base.inventory);
                 }
             }
         }
     }
     else if (lootDefinition != null)
     {
         for (int k = 0; k < maxDefinitionsToSpawn; k++)
         {
             lootDefinition.SpawnIntoContainer(base.inventory);
         }
     }
     if (SpawnType == spawnType.ROADSIDE || SpawnType == spawnType.TOWN)
     {
         foreach (Item item in base.inventory.itemList)
         {
             if (item.hasCondition)
             {
                 item.condition = UnityEngine.Random.Range(item.info.condition.foundCondition.fractionMin, item.info.condition.foundCondition.fractionMax) * item.info.condition.max;
             }
         }
     }
     GenerateScrap();
 }