Example #1
0
 public OreType(string oreName, Color oreColor, float oreMinSkill, float oreMaxSkill, int oreMaxFound, float oreRarity, SkillUsed oreSkillUsed, int oreID)
 {
     id = oreID;
     name = oreName;
     color = oreColor;
     minSkill = oreMinSkill;
     maxSkill = oreMaxSkill;
     maxFound = oreMaxFound;
     rarity = oreRarity;
     skillUsed = oreSkillUsed;
 }
Example #2
0
 public OreType(string oreName, Color oreColor, float oreMinSkill, float oreMaxSkill, int oreMaxFound, float oreRarity, SkillUsed oreSkillUsed, int oreID)
 {
     id        = oreID;
     name      = oreName;
     color     = oreColor;
     minSkill  = oreMinSkill;
     maxSkill  = oreMaxSkill;
     maxFound  = oreMaxFound;
     rarity    = oreRarity;
     skillUsed = oreSkillUsed;
 }
        private bool Analyze()
        {
            using (var screenShot = _screenShotStorage.Shoot())
            {
                // 解析可能か確認
                if (!_preRecognizer.Recognize(screenShot.Image))
                {
                    return(false);
                }

                // 戦争の状況を登録
                _warStateRecognizer.Report(screenShot.Image);

                // 現在のPow・スキル・デバフ・キープダメージ・倍書の使用状況を取得
                var pow        = _powRecognizer.Recognize(screenShot.Image);
                var hp         = _hpRecognizer.Recognize(screenShot.Image);
                var skills     = _skillArrayRecognizer.Recognize(screenShot.Image);
                var powDebuffs = _powDebuffArrayRecognizer.Recognize(screenShot.Image);
                var keepDamage = _keepDamageRecognizer.Recognize(screenShot.Image);
                var isBookUsed = _bookUseRecognizer.Recognize(screenShot.Image);

                // 取得失敗していれば終了
                //   キープダメージ・倍書の使用状況は取得有無がスキル使用に影響がないためチェックしない
                if (hp == HpRecognizer.InvalidHp ||
                    pow == PowRecognizer.InvalidPow ||
                    powDebuffs == PowDebuffArrayRecognizer.InvalidPowDebuffs)
                {
                    return(false);
                }

                // スキルを使ったかどうかチェック
                var usedSkill = _skillCountAlgorithm.RecognizeUsedSkill(
                    screenShot.TimeStamp,
                    pow,
                    skills,
                    powDebuffs);

                // スキルを使っていれば更新通知
                if (usedSkill != null)
                {
                    SkillUsed?.BeginInvoke(
                        this,
                        new SkillUsedEventArgs(usedSkill),
                        null,
                        null);
                }
            }

            return(true);
        }
 public Craftable(float itemMinSkill, float itemMaxSkill, SkillUsed itemSkill)
 {
     minSkill  = itemMinSkill;
     maxSkill  = itemMaxSkill;
     skillUsed = itemSkill;
 }
Example #5
0
        public override void Select(MainForm frm)
        {
            if (frm.grpItem.Text == ToString() && frm.MainTab.SelectedTab == frm.tabItem)
            {
                return;
            }
            Program.MakeSelected(frm.tabItem, frm.lstItem, this);

            frm.grpItem.Text = ToString();
            frm.grpItem.Show();
#if DEBUG
            frm.grpItem.Text += $" - ID: {Id}";
#endif
            frm.lblItemDescription.Text      = Description;
            frm.lblItemCoords.Text           = Coords.IsEmpty ? "Off Map" : Coords.ToString();
            frm.lblItemMaker.Data            = Maker;
            frm.lblItemMasterpieceEvent.Data = MasterpieceEvent;
            frm.lblItemMat.Text     = Mat.HasValue ? Materials[Mat.Value].ToTitleCase() : "";
            frm.lblItemType.Text    = ItemTypeId.HasValue ? ItemTypes[ItemTypeId.Value].ToTitleCase() : "";
            frm.lblItemSubType.Text = ItemSubTypeId.HasValue ? ItemSubTypes[ItemSubTypeId.Value].ToTitleCase() : "";
            frm.lblItemName.Text    = Name;
            frm.lblItemQuality.Text = Quality.ToString();
            frm.lblItemWeight.Text  = Weight.ToString();
            frm.lblItemSkill.Text   = SkillUsed.ToString();
            var AgeTime = new WorldTime(0, Age).ToString().Split('.').Select(x => Convert.ToInt32(x)).ToArray();

            if (AgeTime[2] > 0)
            {
                frm.lblItemAge.Text = AgeTime[2] + @" year" + (AgeTime[2] > 0 ? "s" : "");
            }
            else if (AgeTime[1] > 1)
            {
                frm.lblItemAge.Text = AgeTime[1] - 1 + @" month" + (AgeTime[1] > 1 ? "s" : "");
            }
            else if (AgeTime[0] > 1)
            {
                frm.lblItemAge.Text = AgeTime[0] - 1 + @" day" + (AgeTime[0] > 1 ? "s" : "");
            }
            else if (Age.HasValue)
            {
                frm.lblItemAge.Text = Age + @" seconds";
            }
            else
            {
                frm.lblItemAge.Text = "";
            }

            frm.lblItemWear.Text   = Wear.ToString();
            frm.lblItemHand.Text   = Handedness.ToString();
            frm.lblItemShape.Text  = Shape.ToString();
            frm.lblItemDyeMat.Text = DyeMat.HasValue ? Materials[DyeMat.Value] : "";
            frm.lblItemUnit.Data   = UnitId.HasValue && World.Units.ContainsKey(UnitId.Value)
                ? World.Units[UnitId.Value]
                : null;
            frm.lblItemHF.Data = HistFigureId.HasValue && World.HistoricalFigures.ContainsKey(HistFigureId.Value)
                ? World.HistoricalFigures[HistFigureId.Value]
                : null;
            frm.lblItemBoneMat.Text = BoneMat.HasValue ? Materials[BoneMat.Value] : "";

            frm.lblItemStockpile.Text       = StockpileId.ToString();
            frm.lblItemStockpileCoords.Text = StockpileCoords.IsEmpty ? "" : StockpileCoords.ToString();

            frm.grpItemImage.Visible = ImageId.HasValue;
            if (ImageId.HasValue)
            {
                frm.lblItemImageID.Text    = ImageId.ToString();
                frm.lblItemImageSubID.Text = ImageSubId.ToString();
                frm.lblItemImageCiv.Data   = ImageCivId.HasValue && World.Entities.ContainsKey(ImageCivId.Value)
                    ? World.Entities[ImageCivId.Value]
                    : null;
                frm.lblItemImageSIte.Data = ImageSiteId.HasValue && World.Sites.ContainsKey(ImageSiteId.Value)
                    ? World.Sites[ImageSiteId.Value]
                    : null;
            }

            frm.grpItemIngredient.FillListboxWith(frm.lstItemIngredient, Ingredients);
            frm.grpItemImprovement.FillListboxWith(frm.lstItemImprovement, Improvements);
            frm.grpItemReferences.FillListboxWith(frm.lstItemReferences, References);
        }
 public Craftable(float itemMinSkill, float itemMaxSkill, SkillUsed itemSkill)
 {
     minSkill = itemMinSkill;
     maxSkill = itemMaxSkill;
     skillUsed = itemSkill;
 }