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); } } }
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(); }