private CommandResult RespawnItemsCommand(ICommandSource src, ICommandArgs args) { for (byte x = 0; x < Regions.WORLD_SIZE; x++) { for (byte y = 0; y < Regions.WORLD_SIZE; y++) { var itemsCount = LevelItems.spawns[x, y].Count; if (itemsCount <= 0) { continue; } for (var i = 0; i < itemsCount; i++) { var itemSpawnpoint = LevelItems.spawns[x, y][i]; var itemId = LevelItems.getItem(itemSpawnpoint); if (itemId == 0) { continue; } var item = new Item(itemId, true); ItemManager.dropItem(item, itemSpawnpoint.point, false, false, false); } } } EssLang.Send(src, "RESPAWNED_ITEMS"); return(CommandResult.Success()); }
CommandResult RespawnItemsCommand(ICommandSource src, ICommandArgs args) { for (byte b = 0; b < Regions.WORLD_SIZE; b += 1) { for (byte b2 = 0; b2 < Regions.WORLD_SIZE; b2 += 1) { if (LevelItems.spawns[b, b2].Count <= 0) { continue; } for (var i = 0; i < LevelItems.spawns[b, b2].Count; i++) { var itemSpawnpoint = LevelItems.spawns[b, b2][i]; var item = LevelItems.getItem(itemSpawnpoint); if (item == 0) { continue; } var item2 = new Item(item, true); ItemManager.dropItem(item2, itemSpawnpoint.point, false, false, false); } } } EssLang.RESPAWNED_ITEMS.SendTo(src); return(CommandResult.Success()); }
public void Execute(IRocketPlayer caller, string[] command) { for (byte b = 0; b < Regions.WORLD_SIZE; b += 1) { for (byte b2 = 0; b2 < Regions.WORLD_SIZE; b2 += 1) { if (LevelItems.spawns[b, b2].Count <= 0) { continue; } for (var i = 0; i < LevelItems.spawns[b, b2].Count; i++) { var itemSpawnpoint = LevelItems.spawns[b, b2][i]; var item = LevelItems.getItem(itemSpawnpoint); if (item == 0) { continue; } var item2 = new Item(item, true); ItemManager.dropItem(item2, itemSpawnpoint.point, false, false, false); } } } UnturnedChat.Say(caller, "Respawned all items.", Color.green); }
private void RefreshItems() { for (byte x = 0; x < Regions.WORLD_SIZE; x++) { for (byte y = 0; y < Regions.WORLD_SIZE; y++) { ItemRegion currentItemRegion = ItemManager.regions[x, y]; List <ItemData> droppedItems = new List <ItemData>(); if (!Configuration.Instance.clearPlayerItems) { if (currentItemRegion.items.Count > 0) { for (int i = 0; i < currentItemRegion.items.Count; i++) { if (currentItemRegion.items[i].isDropped) { droppedItems.Add(currentItemRegion.items[i]); } } } } List <int> currentRegionSpawnsIndexes = new List <int>(); for (int i = 0; i < LevelItems.spawns[x, y].Count; i++) { currentRegionSpawnsIndexes.Add(i); } ItemManager.askClearRegionItems(x, y); long itemsSpawnedCount = 0; if (!Configuration.Instance.clearPlayerItems) { for (var i = 0; i < droppedItems.Count; i++) { ItemManager.dropItem(droppedItems[i].item, droppedItems[i].point, false, true, false); } } if (currentRegionSpawnsIndexes.Count <= 0) { continue; } while (currentRegionSpawnsIndexes.Count > 0 && (double)LevelItems.spawns[(int)x, (int)y].Count * spawnChance > (double)itemsSpawnedCount) { int randomIndex = UnityEngine.Random.Range(0, currentRegionSpawnsIndexes.Count); ItemSpawnpoint randomSpawn = LevelItems.spawns[x, y][currentRegionSpawnsIndexes[randomIndex]]; currentRegionSpawnsIndexes.RemoveAt(randomIndex); ushort itemId = LevelItems.getItem(randomSpawn); if (itemId == 0) { continue; } var newItem = new Item(itemId, false); ItemManager.dropItem(newItem, randomSpawn.point, false, false, false); itemsSpawnedCount++; } } } }