Esempio n. 1
0
        public override void Deserialize(GenericReader reader)
        {
            base.Deserialize(reader);

            int version = reader.ReadInt();

            m_Identified = reader.ReadBool();
            m_rarete     = (RareteItem)reader.ReadInt();
        }
Esempio n. 2
0
 public BaseWearable(int itemID)
     : base(itemID)
 {
     m_Identified = false;
     m_rarete     = RareteItem.Normal;
 }
Esempio n. 3
0
        public override void GetProperties(ObjectPropertyList list)
        {
            //base.GetProperties( list );

            string     couleur = "";
            RareteItem rarete  = RareteItem.Normal;

            switch (Rarete)
            {
            case RareteItem.Mediocre:
                rarete  = RareteItem.Mediocre;
                couleur = "333333";
                break;

            case RareteItem.Normal:
                rarete  = RareteItem.Normal;
                couleur = "999999";
                break;

            case RareteItem.Magique:
                rarete  = RareteItem.Magique;
                couleur = "003366";
                break;

            case RareteItem.Rare:
                rarete  = RareteItem.Rare;
                couleur = "993300";
                break;

            case RareteItem.Legendaire:
                rarete  = RareteItem.Legendaire;
                couleur = "5A4A31";
                break;

            default: couleur = "999999"; break;
            }

            if (Identified)
            {
                string[] s = Regex.Split(GetType().ToString(), @"\.");
                string   t = s[s.Length - 1];
                if (Name == null)
                {
                    list.Add(1060393, "{0}\t{1}", couleur, t);
                }
                else
                {
                    list.Add(1060393, "{0}\t{1}", couleur, Name);
                }
                //list.Add(1060394, "{0}\t{1}", couleur, rarete.ToString());
                list.Add(1060394, "{0}\t{1}", couleur, Quality.ToString());

                if (m_Crafter != null && m_Crafter.Name != null)
                {
                    list.Add(1060394, "{0}\t{1}", couleur, "Fabriqué par: " + m_Crafter.Name); // Fabriqué par: ~1_NAME~
                }
                AddARProperties(list, couleur);

                int prop;

                if ((prop = ComputeStatReq(StatType.Str)) > 0)
                {
                    list.Add(1061170, "{0}\t{1}", couleur, prop.ToString()); // strength requirement ~1_val~
                }
                if ((prop = GetDurabilityBonus()) > 0)
                {
                    list.Add(1060410, "{0}\t{1}", couleur, prop.ToString()); // durability ~1_val~%
                }
                if (m_Durability >= 0 && m_MaxDurability > 0)
                {
                    list.Add(1060639, "{0}\t{1}\t{2}", couleur, m_Durability, m_MaxDurability); // durability ~1_val~ / ~2_val~
                }
            }
            else
            {
                string[] s = Regex.Split(GetType().ToString(), @"\.");
                string   t = s[s.Length - 1];
                if (Name == null)
                {
                    list.Add(1060393, "{0}\t{1}", couleur, t);
                }
                else
                {
                    list.Add(1060393, "{0}\t{1}", couleur, Name);
                }
                //list.Add(1060394, "{0}\t{1}", couleur, rarete.ToString());
                list.Add(1060395, couleur);
            }
        }
Esempio n. 4
0
        public override void GetProperties(ObjectPropertyList list)
        {
            //base.GetProperties( list );

            string     couleur = "";
            RareteItem rarete  = RareteItem.Normal;

            switch (Rarete)
            {
            case RareteItem.Mediocre:
                rarete  = RareteItem.Mediocre;
                couleur = "333333";
                break;

            case RareteItem.Normal:
                rarete  = RareteItem.Normal;
                couleur = "999999";
                break;

            case RareteItem.Magique:
                rarete  = RareteItem.Magique;
                couleur = "003366";
                break;

            case RareteItem.Rare:
                rarete  = RareteItem.Rare;
                couleur = "993300";
                break;

            case RareteItem.Legendaire:
                rarete  = RareteItem.Legendaire;
                couleur = "5A4A31";
                break;

            default: couleur = "999999"; break;
            }

            if (Identified)
            {
                string[] s = Regex.Split(GetType().ToString(), @"\.");
                string   t = s[s.Length - 1];
                if (Name == null)
                {
                    list.Add(1060393, "{0}\t{1}", couleur, t);
                }
                else
                {
                    list.Add(1060393, "{0}\t{1}", couleur, Name);
                }
                list.Add(1060394, "{0}\t{1}", couleur, rarete.ToString());

                AddARProperties(list, couleur);

                if (m_Durability >= 0 && m_MaxDurability > 0)
                {
                    list.Add(1060639, "{0}\t{1}\t{2}", couleur, m_Durability, m_MaxDurability); // durability ~1_val~ / ~2_val~
                }
            }
            else
            {
                string[] s = Regex.Split(GetType().ToString(), @"\.");
                string   t = s[s.Length - 1];
                if (Name == null)
                {
                    list.Add(1060393, "{0}\t{1}", couleur, t);
                }
                else
                {
                    list.Add(1060393, "{0}\t{1}", couleur, Name);
                }
                list.Add(1060394, "{0}\t{1}", couleur, rarete.ToString());
                list.Add(1060395, couleur);
            }
        }
Esempio n. 5
0
        private static void InitWeapon(BaseWeapon item, int Quality, Mobile Crafter)
        {
            Random rand   = new Random();
            double chance = 0;
            int    scale  = 0;
            int    repeat = 0;
            List <ItemAttributes> effects = new List <ItemAttributes>();
            RareteItem            rarete  = RareteItem.Normal;

            switch (Quality)
            {
            case (int)WeaponQuality.Low:
            {
                switch (m_ChanceTable[0] > Utility.RandomDouble())
                {
                case true:
                    effects.Add(ItemAttributes.Attributes);
                    rarete = RareteItem.Mediocre;
                    chance = 0.70;
                    scale  = rand.Next(1, 10);
                    break;

                case false:
                    rarete = RareteItem.Normal;
                    chance = 0;
                    break;
                }
                break;
            }

            case (int)WeaponQuality.Regular:
            {
                switch (m_ChanceTable[1] < Utility.RandomDouble())
                {
                case true:
                    rarete = RareteItem.Normal;
                    chance = 0;
                    break;

                case false:
                    effects.Add(ItemAttributes.Attributes);
                    effects.Add(ItemAttributes.SkillsAttributes);
                    rarete = RareteItem.Magique;
                    chance = 0.50;
                    scale  = rand.Next(1, 3);
                    break;
                }
                break;
            }

            case (int)WeaponQuality.Exceptional:
            {
                if (m_ChanceTable[2] > Utility.RandomDouble())
                {
                    effects.Add(ItemAttributes.Attributes);
                    effects.Add(ItemAttributes.SkillsAttributes);
                    rarete = RareteItem.Magique;
                    chance = 0.50;
                    scale  = rand.Next(1, 3);
                }
                if (m_ChanceTable[3] > Utility.RandomDouble())
                {
                    effects.Add(ItemAttributes.Attributes);
                    effects.Add(ItemAttributes.SkillsAttributes);
                    effects.Add(ItemAttributes.ItemAttributes);
                    rarete = RareteItem.Rare;
                    chance = 0.30;
                    scale  = rand.Next(1, 4);
                }
                if (m_ChanceTable[4] > Utility.RandomDouble())
                {
                    effects.Add(ItemAttributes.Attributes);
                    effects.Add(ItemAttributes.SkillsAttributes);
                    effects.Add(ItemAttributes.ItemAttributes);
                    rarete = RareteItem.Legendaire;
                    chance = 0.30;
                    repeat = rand.Next(1, 3);
                    scale  = rand.Next(1, 5);
                }
            }
            break;
            }

            item.Rarete = rarete;
        }