private void EnemyDropItems(object sender, ExecutedRoutedEventArgs e) { var enemyIds = SelectedEnemyRows.Select(x => x.Id).ToList(); GnomanEmpire.Instance.EntityManager.Entities .Where(x => x.Value.TypeID() == (int)GameEntityType.Character && enemyIds.Contains(x.Value.ID)) .Select(x => x.Value) .Cast <Character>() .Where(x => EnemyFactions.Any(y => y.ID == x.FactionID)) .ToList() .ForEach(x => { x.DropEverythingEquipped(); x.DropItem(EquipmentType.LeftHand); x.DropItem(EquipmentType.RightHand); }); }
private void LoaderLoad(object sender, DoWorkEventArgs doWorkEventArgs) { GnomanEmpire.Instance.LoadGame(File.Name); if (File.Directory != null) { File.CopyTo(Path.Combine(File.Directory.FullName, Path.GetFileNameWithoutExtension(File.Name)) + ".backup", true); } UpdateGame(); foreach (var profession in GnomanEmpire.Instance.Fortress.Professions) { Professions.Add(profession); } LoadGnomes(); EnemyFactions = GnomanEmpire.Instance.World.AIDirector.Factions.Where( x => x.Value.IsHostile(GnomanEmpire.Instance.World.AIDirector.PlayerFaction.ID)).Select(x => x.Value); GnomanEmpire.Instance.EntityManager.Entities .Where(x => x.Value.TypeID() == (int)GameEntityType.Character) .Select(x => x.Value) .Cast <Character>() .Where(x => EnemyFactions.Any(y => y.ID == x.FactionID)) .Select(x => new EnemyRow(x)) .ToList() .ForEach(Enemies.Add); var axes = GnomanEmpire.Instance.EntityManager.Entities .Where(x => x.Value.TypeID() == (int)GameEntityType.Item) .Select(x => x.Value) .Cast <Item>() .Where(x => x.ItemID == ItemID.FellingAxe.ToString()) .ToList(); axes.ToList(); itemCreator = new ItemCreator(); }