Esempio n. 1
0
        private void RandomiseBtn_Click(object sender, EventArgs e)
        {
            if (this.fParcel.MagicItemID != Guid.Empty)
            {
                MagicItem magicItem = Treasure.RandomMagicItem(this.fParcel.FindItemLevel());
                if (magicItem != null)
                {
                    this.fParcel.SetAsMagicItem(magicItem);
                }
                this.set_controls();
                return;
            }
            if (this.fParcel.ArtifactID != Guid.Empty)
            {
                Artifact artifact = Treasure.RandomArtifact(this.fParcel.FindItemTier());
                if (artifact != null)
                {
                    this.fParcel.SetAsArtifact(artifact);
                }
                this.set_controls();
                return;
            }
            int value = this.fParcel.Value;

            if (value == 0)
            {
                value = Treasure.GetItemValue(Session.Project.Party.Level);
            }
            this.fParcel         = Treasure.CreateParcel(value, false);
            this.NameBox.Text    = this.fParcel.Name;
            this.DetailsBox.Text = this.fParcel.Details;
            this.set_controls();
        }
Esempio n. 2
0
        public int FindItemLevel()
        {
            MagicItem magicItem = Session.FindMagicItem(this.fMagicItemID, SearchType.Global);

            if (magicItem != null)
            {
                return(magicItem.Level);
            }
            int num = Treasure.PlaceholderIDs.IndexOf(this.fMagicItemID);

            if (num != -1)
            {
                return(num + 1);
            }
            if (this.fValue > 0)
            {
                for (int i = 30; i >= 1; i--)
                {
                    if (Treasure.GetItemValue(i) < this.fValue)
                    {
                        return(i);
                    }
                }
            }
            return(-1);
        }
Esempio n. 3
0
        /// <summary>
        /// Calculates the level of the contained magic item.
        /// </summary>
        /// <returns>Returns the level.</returns>
        public int FindItemLevel()
        {
            MagicItem item = Session.FindMagicItem(fMagicItemID, SearchType.Global);

            if (item != null)
            {
                return(item.Level);
            }

            int index = Treasure.PlaceholderIDs.IndexOf(fMagicItemID);

            if (index != -1)
            {
                return(index + 1);
            }

            if (fValue > 0)
            {
                for (int level = 30; level >= 1; --level)
                {
                    int value = Treasure.GetItemValue(level);
                    if (value < fValue)
                    {
                        return(level);
                    }
                }
            }

            return(-1);
        }
Esempio n. 4
0
 public void SetAsMagicItem(MagicItem item)
 {
     this.fName        = item.Name;
     this.fDetails     = item.Description;
     this.fMagicItemID = item.ID;
     this.fArtifactID  = Guid.Empty;
     this.fValue       = Treasure.GetItemValue(item.Level);
 }
Esempio n. 5
0
        private void RandomiseBtn_Click(object sender, EventArgs e)
        {
            if (fParcel.MagicItemID != Guid.Empty)
            {
                // Select a random item
                MagicItem item = Treasure.RandomMagicItem(fParcel.FindItemLevel());
                if (item != null)
                {
                    fParcel.SetAsMagicItem(item);
                }

                set_controls();
            }
            else if (fParcel.ArtifactID != Guid.Empty)
            {
                // Select a random artifact
                Artifact item = Treasure.RandomArtifact(fParcel.FindItemTier());
                if (item != null)
                {
                    fParcel.SetAsArtifact(item);
                }

                set_controls();
            }
            else
            {
                int value = fParcel.Value;
                if (value == 0)
                {
                    value = Treasure.GetItemValue(Session.Project.Party.Level);
                }

                // Create random parcel of this value
                fParcel = Treasure.CreateParcel(value, false);

                NameBox.Text    = fParcel.Name;
                DetailsBox.Text = fParcel.Details;

                set_controls();
            }
        }