Exemplo n.º 1
0
        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);
            });
        }
Exemplo n.º 2
0
        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();
        }